Zenith Ontology / Current release
v0.8.0
Source release date: October 5, 2026
Release notes
Todo progress v0.8.0
Adds shared Not started, In progress and Done across base Todo and all five subtypes. Archival is independent. Includes Work v2 signed operations and migration 28; historic signing domains and published releases remain unchanged. See todo-progress.md and compatibility.md. Source publication does not qualify installed native/browser signing.
Compatibility
Compatibility v0.8.0
Work v1 and Arena v1 canonical request bytes and signature vectors remain pinned. New Work v2 has a separate digest domain, authority operation suffix and endpoint. V1 responses retain their old envelopes and synthesize archived status for compatibility; these statuses cannot classify progress. Legacy status is retained as historical metadata, outside the canonical progress model. Updated consumers must use /todos/v2 and /monitor/kanban/v2. Unknown progress is absent, never an invented state.
Migration 28 writes explicit validated stage mappings and independent archive flags in one transaction with its journal. Ambiguous records retain absent progress plus a classification report. Work versions and timestamps are preserved so metadata mapping does not invalidate prior evidence revisions. Historical source values are retained in progress_migration_json. No backfilled approvals or decisions are created. Invalid canonical storage aborts with an operator hold; never force past a failed preflight.
New grants must explicitly admit v2 operation/resource pairs. Existing v1 grants confer no v2 write authority. Native bridge, SDK and Wallet builds must agree on protocol revision and progress capability; production policy changes and installed qualification are separate.
Changes since v0.7.0
Compares the exact published bundles. Expand an entry to inspect its before and after values. Term counts exclude the ontology metadata record. File comparisons use manifest checksums; prose and runtime rules can change without new terms.
Vocabulary terms
+3 added · 0 changed · −0 removed
Added
zn:progress
Before
Absent
After
{ "@id": "zn:progress", "@type": "owl:DatatypeProperty", "label": "Todo progress", "domain": "zn:Todo", "range": "xsd:string", "comment": "Exactly not_started, in_progress or done. Absent historical values require classification; absence is not a fourth state. See todo-progress.md." }zn:archived
Before
Absent
After
{ "@id": "zn:archived", "@type": "owl:DatatypeProperty", "label": "Archived", "domain": "zn:Todo", "range": "xsd:boolean", "comment": "Independent visibility attribute. Archive and restore preserve progress, stage, evidence and history." }zn:REJECTED_BY_DECISION
Before
Absent
After
{ "@id": "zn:REJECTED_BY_DECISION", "@type": "owl:ObjectProperty", "label": "Rejected by Decision", "domain": "zn:Proposal", "range": "zn:Decision", "comment": "Recorded rejection disposition. Does not complete any linked delivery work." }
Operations
+16 added · 0 changed · −0 removed
Added
urn:zenith:devgraph:operation:devgraph.work.create.v2
Before
Absent
After
{ "name": "devgraph.work.create.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.create.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.patch.v2
Before
Absent
After
{ "name": "devgraph.work.patch.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.patch.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.archive.v2
Before
Absent
After
{ "name": "devgraph.work.archive.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.archive.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.accept.v2
Before
Absent
After
{ "name": "devgraph.work.accept.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.accept.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.convert.v2
Before
Absent
After
{ "name": "devgraph.work.convert.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.convert.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.parent.set.v2
Before
Absent
After
{ "name": "devgraph.work.parent.set.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.parent.set.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.dependency.add.v2
Before
Absent
After
{ "name": "devgraph.work.dependency.add.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.dependency.add.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.dependency.remove.v2
Before
Absent
After
{ "name": "devgraph.work.dependency.remove.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.dependency.remove.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.blocker.add.v2
Before
Absent
After
{ "name": "devgraph.work.blocker.add.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.blocker.add.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.blocker.remove.v2
Before
Absent
After
{ "name": "devgraph.work.blocker.remove.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.blocker.remove.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.workflow.assign.v2
Before
Absent
After
{ "name": "devgraph.work.workflow.assign.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.workflow.assign.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.workflow.review.v2
Before
Absent
After
{ "name": "devgraph.work.workflow.review.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.workflow.review.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.workflow.transition.v2
Before
Absent
After
{ "name": "devgraph.work.workflow.transition.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.workflow.transition.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.progress.set.v2
Before
Absent
After
{ "name": "devgraph.work.progress.set.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.progress.set.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.restore.v2
Before
Absent
After
{ "name": "devgraph.work.restore.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.restore.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }urn:zenith:devgraph:operation:devgraph.work.proposal.reject.v2
Before
Absent
After
{ "name": "devgraph.work.proposal.reject.v2", "id": "urn:zenith:devgraph:operation:devgraph.work.proposal.reject.v2", "mutation": true, "required_scopes": [ "devgraph.write" ], "request_schema_id": "urn:zenith:devgraph:schema:devgraph-work-request:v2", "response_schema_id": "urn:zenith:devgraph:schema:work-result:v2" }
Bundle files
+1 added · 11 changed · −0 removed
Added
todo-progress.md
Before
Absent
After
{ "path": "todo-progress.md", "sha256": "33f016cb5e1d83eed086a6b8a948e13e281eb9b0575a13d6750daf052d646c9d" }
Changed
README.mdFields: sha256
Before
{ "path": "README.md", "sha256": "1bd9c085a7a667a1550916bfc18e6d217a4aa85259e23665c64497d05119f6c9" }After
{ "path": "README.md", "sha256": "badd707c694a3bcf67c9e9907c8b42020b8955ad347f71e0205f81c790cfd7de" }arena-contract.jsonFields: sha256
Before
{ "path": "arena-contract.json", "sha256": "19b657330d62f6bac640878382bc32b6423c3747540dd28107a5e95b1d92693d" }After
{ "path": "arena-contract.json", "sha256": "2c0774b5211fbdb3ad474cd7e7028af722704bdafadcadbab7b9ef119671c1d8" }classes.mdFields: sha256
Before
{ "path": "classes.md", "sha256": "57a79df367f531b93faa6d0923ecf57f1830a23c1afdcda9fee52a6917c3e980" }After
{ "path": "classes.md", "sha256": "7bb7cf8ae73573e4dbfd43d92dd1096450ef389f5359f492ad0b0503e23dfbbe" }compatibility.mdFields: sha256
Before
{ "path": "compatibility.md", "sha256": "2846bdaf8b57a0654c1c00e126178636d04efe7b2c747a9413c64f1c4159f672" }After
{ "path": "compatibility.md", "sha256": "0d301171aac8b5c21378970a31e031a78a02eca0e9d9d8a7f548604dcbd9e3dc" }invariants.mdFields: sha256
Before
{ "path": "invariants.md", "sha256": "63203e38d5ddc6f169901534bbb3625dfab49ae9947542421e9782de101d83bd" }After
{ "path": "invariants.md", "sha256": "6eb6ac4fb8aee0338f450db978249a589164376134b1351907672eb1505f6cdd" }ontology.jsonldFields: sha256
Before
{ "path": "ontology.jsonld", "sha256": "10c5a44b90b1321df3c1d0bc9a2a55c7025b8b7e2c44e6bcf12e8b98080592a9" }After
{ "path": "ontology.jsonld", "sha256": "afd935f58e1a0ec2af090cf4d09f5e14a83c62e1280d96390d2ec2a75d648c95" }operations.jsonFields: sha256
Before
{ "path": "operations.json", "sha256": "3aa4472175eb02a873ce12e5508a17b28555db15071967ffc69dad1ece71ac6f" }After
{ "path": "operations.json", "sha256": "80ea10143e437a54b4948422d49ba635aa1e9c4ece330b92c150a5852330e4ea" }predicates.mdFields: sha256
Before
{ "path": "predicates.md", "sha256": "2ab34282a058519bb9d44f01dc88bf78dfc963641a6841899aa8fc63cd9ce680" }After
{ "path": "predicates.md", "sha256": "7e51c5e01efe3e475d692d6f690f098f1067857bbd061f763b6de2fe230e48b4" }repository-contract.jsonFields: sha256
Before
{ "path": "repository-contract.json", "sha256": "4e5db7ceea7312b7c24d147c802f9fb580a0e3d2f339a4ceb5c5c0f5bd7e0a8d" }After
{ "path": "repository-contract.json", "sha256": "cd4fb3bc5360fe750e4aee6c68efe9ce948dab7e629c3b6f6e5df0cbb89494d5" }workflows.jsonFields: sha256
Before
{ "path": "workflows.json", "sha256": "775dc6d950b432028afc5a8aab0bad3fbcd023209bf4c90098c7d099c6fad5b5" }After
{ "path": "workflows.json", "sha256": "fa456aa7b5680ecf2305a16ebbbeebfc6d7eeecb23ac5ab0aec544b48382c7a1" }workflows.mdFields: sha256
Before
{ "path": "workflows.md", "sha256": "ce47293bf9571a1449ff5b5b7737391efbe2ef4bcca6022bfeec53a37b1098b6" }After
{ "path": "workflows.md", "sha256": "e736006637458e165c691fbee37b73134f86dcefb4032c8edd67e6928c09947a" }
Source history
These commits changed this release’s manifest in Devgraph. This history can include corrections made before website publication. Notes and history are pinned to source revision c72770e.
- Finish progress grant planning and keep Todo transport distinct (6547eff)
October 5, 2026
- Unify Todo progress and independent archive across API and UI (4ecf114)
October 5, 2026
Bundle SHA-256: 756fe78e49cd2e84baa100d61b0d448efdcd6ea6ce58244bf44021940d413006