Demiton · Schema
overstaffing_verdict contract v1
Whether a project's actual crew exceeds its tendered labour schedule.
CompanyConstructionCivil EngineeringProject ManagementComplianceMCPArtificial IntelligenceOpen Contracting
Properties
| Name | Type | Description |
|---|---|---|
| verdict | string | The outcome: `OVERSTAFFED`, `ON_TRACK` or `UNDERSTAFFED`. `BUDGET_ONLY` is *not* a stored value — the writer returns without writing (`:410-411`). |
| burn_pct | number | `actual_hours / budget_hours`. |
| confidence | number | Producer confidence in the judgement. |
| source_uri | string | Canonical URI of the verdict fact (`demiton://project/{code}/overstaffing-verdict`). |
| assessed_at | string | When the judgement was taken. |
| elapsed_pct | number | Fraction of project duration elapsed at assessment time. |
| project_ref | string | The Demiton project the verdict is about (the `project_code` the writer already keys on). |
| source_file | string | Name of the resource-schedule workbook the budget side came from. |
| actual_hours | number | Labour hours actually charged to the project at assessment time. |
| budget_hours | number | Tendered labour hours the actual is measured against (parsed schedule total or override). |
| run_rate_pct | number | `burn_pct / elapsed_pct` — headcount run-rate against expected pace; the value the verdict thresholds are applied to. |
| verdict_thresholds | object | The `overstaffed_at` / `understaffed_at` cut-offs used for this assessment. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://docs.demiton.io/registers/overstaffing_verdict/v1.json",
"title": "overstaffing_verdict contract v1",
"type": "object",
"required": [
"actual_hours",
"assessed_at",
"budget_hours",
"burn_pct",
"elapsed_pct",
"project_ref",
"run_rate_pct",
"verdict"
],
"properties": {
"verdict": {
"type": "string",
"description": "The outcome: `OVERSTAFFED`, `ON_TRACK` or `UNDERSTAFFED`. `BUDGET_ONLY` is *not* a stored value — the writer returns without writing (`:410-411`).",
"x-demiton-requiredness": "required"
},
"burn_pct": {
"type": "number",
"description": "`actual_hours / budget_hours`.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "ratio (0–1+)"
},
"confidence": {
"type": "number",
"description": "Producer confidence in the judgement.",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "0–1"
},
"source_uri": {
"type": "string",
"description": "Canonical URI of the verdict fact (`demiton://project/{code}/overstaffing-verdict`).",
"x-demiton-requiredness": "optional"
},
"assessed_at": {
"type": "string",
"description": "When the judgement was taken.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "UTC",
"format": "date-time",
"x-demiton-type": "datetime"
},
"elapsed_pct": {
"type": "number",
"description": "Fraction of project duration elapsed at assessment time.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "fraction (0–1)"
},
"project_ref": {
"type": "string",
"description": "The Demiton project the verdict is about (the `project_code` the writer already keys on).",
"x-demiton-requiredness": "required"
},
"source_file": {
"type": "string",
"description": "Name of the resource-schedule workbook the budget side came from.",
"x-demiton-requiredness": "optional"
},
"actual_hours": {
"type": "number",
"description": "Labour hours actually charged to the project at assessment time.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "hours"
},
"budget_hours": {
"type": "number",
"description": "Tendered labour hours the actual is measured against (parsed schedule total or override).",
"x-demiton-requiredness": "required",
"x-demiton-unit": "hours"
},
"run_rate_pct": {
"type": "number",
"description": "`burn_pct / elapsed_pct` — headcount run-rate against expected pace; the value the verdict thresholds are applied to.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "ratio"
},
"verdict_thresholds": {
"type": "object",
"description": "The `overstaffed_at` / `understaffed_at` cut-offs used for this assessment.",
"x-demiton-requiredness": "tenant-specific"
}
},
"x-demiton-register-type": "overstaffing_verdict",
"x-demiton-contract-version": "1.0.2",
"x-demiton-store": "tenant",
"x-demiton-axes": [],
"x-demiton-measures": [],
"x-demiton-provenance": {
"standards": [
{
"code": "ISO 30414:2025",
"title": "Human resource management - Requirements and recommendations for human capital reporting and disclosure",
"access": "paywalled_secondary",
"region": "International",
"edition": "2025 (2nd ed.; 2018 1st ed. cancelled)",
"checked_on": "2026-09-14"
}
]
},
"description": "Whether a project's actual crew exceeds its tendered labour schedule.",
"x-demiton-contract-url": "https://docs.demiton.io/registers/overstaffing_verdict/",
"x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/demiton-io-overstaffing_verdict-v1"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.