Skip to content
Demiton

Margin watch learning

Lessons and observability gaps Margin Watch has found on a project, awaiting review.

Part of Projects in the register catalog.

Register ID
margin_watch_learningUse this name to ask for the register. The API calls it a shelf ID.
Each record is
A stateThe current value of something, replaced when it changes.
Status
DeclaredDefined, and fills when a source produces its first record.
Data
OrganisationPrivate to each organisation's own workspace.
Version
v1Current version.

Connectors

Connected today

Demiton keeps this register current from these systems now.

No system fills this register yet.

On the roadmap

Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.

None planned yet.

Fields

21 fields: 14 required, 7 optional.

Required

Every record carries these fields.

subject_entity_idWhole number

The project the learning is about; the semantic fact's subject and its supersede key.

Example: 8101

summaryText

One-line human summary for content search and list display.

Example: Emerald Street margin drifted -1.8pts in July on plant id…

lesson_candidatesList

Candidate lessons awaiting human promotion; empty array is valid.

lesson_candidates[].causeText

Attributed cause, one of the five code-defined values in, :86-131

Example: unrecovered_variation

lesson_candidates[].statementText

The candidate lesson, stated as cause + drift + period + project.

Example: Unrecovered variation work reduced margin by 1.8 points o…

lesson_candidates[].provenance.monthText

Claim-cycle month the drift is measured in.

Example: 2026-07

lesson_candidates[].provenance.drift_ptsNumberUnit: margin points

Signed margin movement that cycle.

Example: -1.8

lesson_candidates[].provenance.evidenceText

The observed signal behind the cause (e.g. a diary-flag count)

Example: 6 diary variation signals in 2026-07 vs 3 approved variat…

lesson_candidates[].promotion_gateText

Explicit "candidate only, human sign-off required" marker.

Example: candidate_only_human_signoff_required

observability_gaps_rankedList

Data gaps that made a cycle unattributable, ranked; empty array valid.

observability_gaps_ranked[].gapText

The named missing data (e.g. no diaries for a month)

Example: no site diaries recorded for June

observability_gaps_ranked[].margin_points_obscuredNumberUnit: margin points

Total absolute drift the gap obscures.

Example: 2.1

observability_gaps_ranked[].monthsList

The months in which that gap occurred.

promotion_gateText

Record-level candidate-only marker.

Example: candidate_only_human_signoff_required

Optional

Present when the source system records them.

lesson_candidates[].provenance.drift_dollarsNumberUnit: AUD

Points scaled by contract value; null when no contract value.

financial_periodText

Context coordinate declared OPTIONAL.

Example: 2026-07

job_noText

Producer's snapshot of the job number (duplicates the subject spine's canonical key)

Example: BWG-2025-001

project_nameText

Producer's snapshot of the project/client label (duplicates the entity label)

Example: Emerald Street Rejuvenation

tendered_margin_pctNumberUnit: percent

Tendered margin at attribution time.

Example: 13

margin_to_date_pctNumberUnit: percent

Margin to date at attribution time.

Example: 11.2

Example record

A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.

margin_watch_learning.example.json
{
"financial_period": "2026-07",
"job_no": "BWG-2025-001",
"legal_entity": "Bridgeworks Group Pty Ltd",
"lesson_candidates": [
{
"cause": "unrecovered_variation",
"promotion_gate": "candidate_only_human_signoff_required",
"provenance": {
"drift_pts": -1.8,
"evidence": "6 diary variation signals in 2026-07 vs 3 approved variations on record",
"month": "2026-07"
},
"statement": "Unrecovered variation work reduced margin by 1.8 points on Emerald Street in July 2026."
}
],
"margin_to_date_pct": 11.2,
"observability_gaps_ranked": [
{
"gap": "no site diaries recorded for June",
"margin_points_obscured": 2.1,
"months": [
"2026-06"
]
}
],
"project_name": "Emerald Street Rejuvenation",
"promotion_gate": "candidate_only_human_signoff_required",
"subject_entity_id": 8101,
"summary": "Emerald Street margin drifted -1.8pts in July on plant idle and unrecovered variation work.",
"tendered_margin_pct": 13
}

Use this contract

The contract is a standard JSON Schema (draft 2020-12) document, so any JSON Schema validator can check a record against it. Keywords starting with x-demiton- add Demiton's own meaning, such as units and requiredness, and validators ignore them.

Schema URL
https://docs.demiton.io/registers/margin_watch_learning/v1.json
Show the full JSON Schema

Loading the schema…

Talk to the team

Tell us what you run - your ERP, field, payroll and document systems - and we will show you the registers Demiton would keep current from them, on your data, in a 30-minute call.

Book a 30-minute callStart free