Last updated: 2026-09-25 — ADR-A97 makes MORK OWL 2 DL (Mork 0.4.0). ADR-A83 reasoning harness delivered (eligibility-compiler Part B). applied-ontology-readiness AOR-10, AOR-11 and AOR-14 to AOR-17 implemented, ADRs A-83, A-86, A-93 to A-96 accepted. documentation-link-repair planned
Purpose: Single source of truth for all active units of work: sketches, plans, status, reviews, and validation packs.
Format: By unit identifier, with links to all related documents and current status.
Each work unit has:
Navigation: Use Ctrl/Cmd+F to search by topic (e.g., “RDF”, “MTP”, “housekeeping”) or by unit ID.
Is it complete? Almost. The documentation is complete and every review is closed. The compiler is five slices into a six-slice re-sync, and the sixth (documentation close-out) is in progress this session. Housekeeping has not started, and the identity decisions await ratification. Row by row (as of 2026-09-25):
| Unit | State | Remaining | Blocked on |
|---|---|---|---|
rdf-sparql-patterns-phase Slices 1–2 (guide, ontology/persistence, tools/persistence) |
✅ Complete | — | — |
rdf-sparql-patterns-remediation (first review of the guide) |
✅ Complete, closed | nothing; deferred items handed to the units below | — |
iri-patterns-post-3866b21-remediation (second review, plus template alignment) |
✅ Complete, closed | nothing; follow-ons listed in its status | — |
persistence-compiler-iri-sync (compiler catches up with the vocabulary) |
✅ Slices 1–5 done (Slice 5 human-validated 2026-09-25, 774 passed) | Slice 6 close-out, in progress. Gap table in its status | — |
rdf-sparql-patterns-phase Slice 3 / platform-housekeeping |
⏳ Not started | the whole slice, including the retention and audit changes noted in its plan | — |
P0.1.3: ADR-A82 and iri-identity-patterns.md |
📝 Drafted and revised, Proposed | human ratification, and the point 5 amendment proposed by identity-minting |
Phase 0 ratification pass |
identity-minting (minting recipes, conformance vectors, standalone Java and Python libraries, dal:claimsConstraint) |
🚧 M0–M3 of M0–M4 done: plan, status | M4 specification and human walk-through. One open question: default-ignorables in the upper- and lowercase pipelines | — |
toolchain-jdk25-python314 (JDK 25 LTS, Python 3.14, Unicode 16.0) |
✅ Complete: plan, status | — | — |
identity-minting-shared-core (one Rust minting engine, WebAssembly-hosted in each runtime) |
🅿️ Sketch, deferred | persistence-compiler-iri-sync is now complete (2026-09-25); this sketch can be revisited. M2 and M3 proceed with native libraries meanwhile |
none — the thing it was waiting on is done |
| Field | Value |
|---|---|
| Status | ✅ Slices 1 and 2 complete; compiler re-sync with the extended vocabulary in progress (unit 1a); Slice 3 not started |
| Unit ID | rdf-sparql-patterns-phase |
| Sketch | persistence-profile-substrate.md |
| Plan | rdf-sparql-patterns-phase-plan.md |
| Status Record | rdf-sparql-patterns-status.md |
| Architecture Guide | docs/architecture/rdf-sparql-patterns-guide.md (Slice 1) |
| ADRs | ADR-A78 (persistence substrate), ADR-A79 (compiler), ADR-A80 (housekeeping) — all Accepted |
| Implementation | ontology/persistence (Turtle vocabulary + SHACL shapes + 22 example fixtures, extended 2026-09-23), tools/persistence (Python compiler, 570 tests passing; privacy and claim-scheme profiles not yet wired, see unit 1a) |
| Validation Pack | persistence-substrate-and-compiler.md |
| Sync gap | See unit 1a below |
| Earlier review | rdf-sparql-patterns-remediation: plan, status — ✅ complete, closed |
| Slice | Deliverable | Status |
|——-|————|——–|
| 1 | rdf-sparql-patterns-guide.md — consolidated 4 source notes into authoritative reference (30 chapters covering K/O/C/T/QP patterns) | ✅ Complete |
| 2 | ontology/persistence + tools/persistence compiler + policy enforcement + doc deltas | ✅ Complete |
| 3 | platform/housekeeping module (scaffolding, not execution) | 🚧 Planned, not started |
(class, deployment) targets within each graph scope, added dal:coversClass property#PAYLOAD#, since persistence-compiler-iri-sync Slice 2 the Mustache slot })}} without breaking parsing. Extends to a full } tag quoted as prose inside a `` comment (found in persistence-compiler-iri-sync Slice 5’s key-claim-merge-rewrite.mustache) — describe a slot in words in template comments, never quote its Mustache syntax.allow_warnings=True needed for non-blocking sh:Warning severityEpic decomposition into phase plans is no longer blocked: the required Phase 2 (P2.1/P2.3/P2.4) revision integrating this compiler is complete — see Part II, §6.
| Field | Value |
|---|---|
| Status | ✅ Slices 1–5 complete (Slice 5 human-validated 2026-09-25: 774 passed). 🚧 Slice 6 (documentation close-out) in progress |
| Unit ID | persistence-compiler-iri-sync |
| Sketch (gap analysis) | persistence-compiler-iri-sync.md |
| Plan | persistence-compiler-iri-sync.md |
| Status Record | persistence-compiler-iri-sync.md |
| Validation Packs | Slice 1, Slice 2, Slice 3, Slice 4, Slice 5 |
| Triggering commit | c276afb “[iri-patterns] remediate docs and update persistence ontology vocabulary” |
Three new profile dimensions (dal:IdentityProfile, dal:EpochProfile, dal:PrivacyProfile), extensions to six existing ones, and eight new SHACL shapes were added to ontology/persistence, none consumed by tools/persistence. One finding (G1) is a live correctness issue, not just missing coverage: the compiler’s CAS/tombstone templates generate the epoch-guard shape the vocabulary now documents as unsafe (dal:RowLevelGuardOnly), unconditionally, with no way to configure the safe dal:DatasetLevelGuard alternative.
dal:epochGuardScope resolvable, dal:DatasetLevelGuard template variant for the three named write shapes, warning diagnostic fires even on the platform baseline default. See the VP.dal:PreCreatedRow emits bootstrap-version-row, request-time values as Mustache slots. See the VP.identity:<Role>), winning profile node as a unit, emitted to the compiled profile, five refusals and one warning. See the VP.dal:privacyClass/dal:erasureStrategy/dal:erasurePrecedence/dal:perSubjectScoped, one dimension each) plus the G3 remainder (dal:epochAuthority promoted to its own dimension, carrying the remaining restore-surface properties as its extras), two refusals mirroring dal:PersonalDataRequiresErasureShape and dal:PersonalDataReceiptCompatibilityShape, and Worked example 4’s privacy profile now resolving and emitting cleanly. See the VP.dal:onViolation selects a reconciler operation, never the guarded write itself (decision 1, Option A — guide §7.5, not §6): key-claim-duplicate-audit (dal:Reject, the default), key-claim-merge-rewrite (dal:Merge, with MergeRelationRequired), key-claim-quarantine (dal:Quarantine). dal:ClaimScheme dal:Dual rotation selects key-claim-write-dual.mustache. The registry-token digest-scheme relaxation (found in identity-minting M3) is also folded in: dal:DigestSchemeRequiredShape now exempts dal:PositionDerivedEvent + dal:RegistryTokenDerivation only. ontology/persistence bumped PATCH, 0.2.0 → 0.2.1. One issue found by the run itself, fixed: a mustache-comment quoted its own tag syntax as prose, which this compiler’s renderer does not treat as inert. See the VP.| Field | Value |
|---|---|
| Status | ✅ Documentation remediation complete, and tools/persistence templates aligned (2026-09-23), 471/471 tests passing |
| Unit ID | iri-patterns-post-3866b21-remediation |
| Review | iri-patterns-post-3866b21-review.md |
| Status Record | iri-patterns-post-3866b21-remediation.md |
| Documents | rdf-sparql-patterns-guide.md (Appendix D.3), iri-identity-patterns.md, iri-policy.md (body removed) |
All 7 critical (A), 14 major (B), 9 safety (C), 7 cross-document (D) and 10 editorial (E) findings are fixed in the documents. The main design choices (lazy epoch rebase, request digest, pinned heads, row-driven gap audit, NFKC_Casefold) are recorded once in the status record. The compiler templates now generate the corrected write shapes and audits. A pre-existing bug that wrote key claims into the txn graph is fixed.
| Field | Value |
|---|---|
| Status | ✅ Complete and production-ready |
| Unit ID | llm-training-mtp |
| Sketch | llm-training.md, MTP L2 Generator Sketch.md |
| Plan | mtp-implementation-plan.md → mtp-execution.md |
| Status Record | llm-training-mtp.md, mtp-execution.md |
| Implementation | tools/mork/src/mtp/ (Python package) |
| Tests | 346 tests passing under mise run check:mtp |
| Deliverables | L0-L5 curriculum: 258 terms, 895 axioms, 9 lenses, 30+ cassettes, 20 output files |
| Field | Value |
|---|---|
| Status | ✅ Accepted (ADR-A77) |
| Unit ID | repository-topology-a77 |
| Status Record | repository-topology-a77.md |
| ADR | ADR-A77 |
| Implementation | Relocation of semantic assets to ontology/, tools to tools/, restructuring of docs/developer/ |
| Doc Reference | .github/copilot-instructions.md — “Repository Topology and Documentation Governance” section |
mise remains sole orchestration entry point| Field | Value |
|---|---|
| Status | 🚧 A1, A3, A4 covered by check:mork-compilers. Part B delivered and A2’s reasoner half passes after ADR-A97’s Mork repairs. A5 verified for builtin-free rules (2026-09-25, VP) |
| Unit ID | eligibility-compiler |
| Plan | eligibility-compiler.md — verification (Part A) + shared test-only reasoning/rules-engine infrastructure (Part B) |
| Status Record | eligibility-compiler.md |
| Implementation | tools/mork_compilers/ — SPARQL, SHACL, SWRL, and the design-time OWL backend (ADR-A90). platform/reasoning-testkit (ADR-A83), test-only |
| Coverage | IntervalCondition only (other condition types deferred); positive-only per ADR-A24 |
| Tests | Unit tests present; need runtime validation. SPARQL (rdflib) and SHACL (pyshacl) validation need no new dependency; SWRL/OWL-reasoner validation is gated on Part B’s new shared test-only module |
swrlb builtins, which HermiT does not evaluate. They wait on an Openllet adapter (AGPL-3.0, usable only behind the ADR-A83 isolation, plan §B.4).| Field | Value |
|---|---|
| Status | 🟡 Skeleton UI complete; backend integration pending |
| Unit ID | governance-surfaces-integration |
| Sketch | governance-and-versioning-migration.md |
| Status Record | governance-surfaces.md |
| Plan | governance-surfaces-integration.md |
| Implementation | apps/mork-review-workbench/, apps/surface-contract-studio/ (Vite + React) |
| Field | Value |
|---|---|
| Status | ✅ Decomposed into 5 phase chunks (2026-09-22). Phase 0 ready to execute, pending one pre-execution decision (below) |
| Unit ID | lattice-platform-development (epic) |
| Plan | lattice-platform-agentic-development-v0.2.md |
| Description | Decomposed into Phase 0-4 plans with dependency DAG and milestones |
| Blockers | See “Pre-execution decision points” under Phase 0 below |
Part 6 (Phase 2) of the epic plan now integrates the persistence compiler instead of constructing SPARQL ad hoc:
writeTarget’s ontology/persistence profile and emits a dal:CompiledProfile plus instantiated (still-unbound) SPARQL Update text via tools/persistence, as part of CompiledMappingSet.assert step (P2.3.1) and commit step (P2.3.6) bind request-scoped parameters into those pre-instantiated templates — never construct SPARQL at request time. Deliberately scoped narrower than the still-deferred Request Query Mapping library (Part 13, open question 11).See rdf-sparql-patterns-phase-plan.md and persistence-profile-substrate.md for the underlying substrate; no new ADR was needed (refinement of ADR-A78/A79 within existing guardrail G5).
Per COORDINATION_REORG_HANDOFF.md, Phase 0 of the epic plan (Part 4) now carries a “Persistence-pattern coherence” note plus cross-references so its vocabulary is dal:-nameable from day one, without Phase 0 depending on tools/persistence:
dal:ConcurrencyStrategy, cross-referenced at P0.5.2 (conditionalWrite/guardSatisfied) and P0.5.6 (concurrency TCK).dal:MetaTopologyProfile/dal:ReceiptModel, cross-referenced at P0.1.5 (ADR-A65) and P0.3.6 (provenance.ttl).dal:UniquenessConstraint, cross-referenced at P0.1.3 through the configurable minting and identity profiles described by ADR-A82.dal:OrderingGrain/dal:DatasetTierModel, cross-referenced at P0.4.4 (canonicalisation) and P0.5.7 (CommitSequence + ordering TCK).ontology/persistence/docs/platform-vocabulary-alignment.md, proving no namespace/semantic collision between the six dal: dimensions and the platform vocabulary P0.3 defines.dal:-governed write path may hand-construct SPARQL, reserved at P0.2.7 and enforced in full once P0.5.2’s write surface exists.| Phase | Plan | Status | Sketch | Depth |
|---|---|---|---|---|
| 0 — Decisions and foundations | phase-0-plan.md | phase-0-status.md | phase-0-sketch.md | Full slice detail (epic Part 4, referenced not duplicated) |
| 1 — Graph-primary core and deployment plane | phase-1-plan.md | phase-1-status.md | phase-1-sketch.md | Full slice detail (epic Part 5) |
| 2 — Ingestion and query planes | phase-2-plan.md | phase-2-status.md | phase-2-sketch.md | Rolling-wave placeholder, expands at P1.11.3 |
| 3 — Operation plane | phase-3-plan.md | phase-3-status.md | phase-3-sketch.md | Rolling-wave placeholder, expands at P2.11.4 |
| 4 — Maturity | phase-4-plan.md | phase-4-status.md | phase-4-sketch.md | Placeholder, sized after Phase 3 measurement |
Each phase plan adds three obligations the epic’s slice tables name but never tabulate: a docs/architecture deliverables table, a subproject-README table, and a solution-design-specification.md delta table (which SDS section changes, and at which slice).
Three mechanical corrections made to the epic during decomposition (not architectural decisions — corrections against already-established convention): deploy/ → deployment/ (root already exists under that name), make/just → mise tasks (copilot-instructions mandates mise as sole orchestrator, ADR-A29 not superseded), docs/adr/ → docs/architecture/decisions/.
Pre-execution decision points surfaced, not resolved (see phase-0-plan.md §2):
platform/graph-spi family and the existing platform/semantic-dataset-spi/semantic-dataset-fuseki — blocks P0.5.1.apps/surface-studio/apps/mork-bench (epic’s Part 1 names) vs existing apps/surface-contract-studio/apps/mork-review-workbench — blocks P1.10, lower urgency.No code was written and no new Phase 0→Phase 2 dependency was introduced — this is cross-referencing and one new documentation-only slice.
The unratified universal IRI policy in ADR-A51 was superseded by ADR-A82. The new IRI and Identity Patterns guide treats entity, aggregate, component, lineage, content-revision, graph-locator, key-claim, and event-occurrence identities as independently configurable patterns. It crosswalks those choices to the K/O/C/T/QP RDF and SPARQL patterns and specifies the future dal: identity-profile vocabulary boundary. The dal:IdentityProfile vocabulary is specified in ontology/persistence, and the compiler resolves it per resource role (persistence-compiler-iri-sync Slice 3, complete). The guide and ADR-A82 were revised on 2026-09-23 by iri-patterns-post-3866b21-remediation and await ratification (P0.1.3). iri-policy.md is now a short historical record.
| Field | Value |
|---|---|
| Status | ✅ Phases 0–8 complete; Phases 9–10 planned |
| Unit ID | surface-mork-unified-projection (Epic) |
| Sketch | surface-projection.md |
| Plan | surface-mork-unified-projection-plan.md |
| Status Records | surface-mork-unified-projection.md, surface-outstanding-items.md |
| Implementation | tools/surface/ (compiler), tools/mork_compilers/ (backends), ontology/surface/ (vocabulary + shapes + examples) |
| ADRs | A16–A28 (13 decisions covering projection, lowering, governance, compilers, parity, conformance, invalidation) |
| Tests | 61/61 Surface tests; 15/15 MORK backend tests; 346/346 LLM/MTP tests |
| Phase | Scope | Status | Tests | Key Document |
|---|---|---|---|---|
| 0 | Vocabulary and layer semantics | ✅ Complete | ontology conforms | Status §0 |
| 1 | Projection, promotion, index contracts | ✅ Complete | all validate | Status §1 |
| 2 | Surface compiler architecture | ✅ Complete | 61/61 | Status §2 |
| 3 | Surface-to-MORK lowering | ✅ Complete | 61/61 | Status §3 |
| 4 | MORK governance and versioning | ✅ Complete | governance shapes | Status §4 |
| 5 | MORK compiler backends | ✅ Complete | 15/15 (SPARQL, SHACL, SWRL, Eligibility IR) | Status §5 |
| 6 | LLM training curriculum generation | ✅ Complete | 346/346 | Status §6 |
| 7 | Invalidation and minimal-scope regeneration | ✅ Complete | 60+ invalidation tests | Status §7 |
| 8 | Conformance, parity, and CI gates | ✅ Complete | parity ≥99%; 7/8 verification items; 1 SWRL integration pending | Status §8 |
| 9 | Migration guides and phased rollout | ⏳ Planned | — | Plan §9 |
| 10 | Scale, performance, optimization | ⏳ Planned | — | Plan §10 |
| Slice ID | Deliverable | Status | Reference |
|---|---|---|---|
surface-projection |
Design sketch + plan + status | ✅ | Status §§1–2 |
surface-to-mork-lowering |
Lowering engine (Phase 3) | ✅ | Plan §3 |
mork-governance-and-versioning |
Foundation integration (Phase 4) | ✅ | Plan §4 |
mork-compiler-family |
All backends (Phase 5) | ✅ | Plan §5 |
surface-invalidation-and-regeneration |
Read-set tracking (Phase 7) | ✅ | Plan §7 |
surface-conformance-and-parity |
CI gates (Phase 8) | ✅ | Plan §8 |
| Item | Status | Link |
|——|——–|——|
| Signature scope and law X6 | ✅ Closed | Outstanding items §3.1 |
| Foundation migration (srf:DerivedArtefact) | ✅ Done (ADR-A92) | Outstanding items §3.2 |
| Profile identity assertion | ⏳ Blocked | Outstanding items §3.3 |
| MORK toolchain join assumptions | ⏳ Needed | Outstanding items §3.4 |
srf:RangePartitionPopulation (bucketing) — blocked on Quantification layersrf:ExternalIndex — admitted but deferred, no criteria yet| Field | Value |
|---|---|
| Status | 🚧 Slice 3 of RDF patterns; scoped, not started |
| Unit ID | platform-housekeeping |
| Slice | Part 2, Slice 3 of rdf-sparql-patterns-phase-plan.md |
| ADR | ADR-A80 |
| Depends On | tools/persistence compiler (Slice 2) ✅ |
platform/housekeeping module scaffolding (not execution)| Field | Value |
|---|---|
| Status | ✅ Closed. Vocabulary suite, Surface, and Eligibility consumers all verified green. ADR-A85 Accepted |
| Unit ID | vocabulary-temporal-binding |
| Trigger | 65ac4a85e11cc1f8616e3e0c24efd59bf4ca410d ([vocabulary] time-bound binding) |
| Sketch | vocabulary-temporal-binding.md |
| Plan | vocabulary-temporal-fixes.md |
| Status Record | vocabulary-temporal-binding.md |
| Validation Pack | vocabulary-temporal-binding.md |
| ADR | ADR-A85, Accepted |
The conformance package (12 fixtures, populated Vocabulary SHACL files, a
deterministic reference resolver) is authored and verified: mise run
check:vocabulary passes 14/14. Both real consumers now resolve scoped
bindings instead of reading voc:boundScheme directly: Surface’s compiler
calls the resolver in enumerate_population, and Eligibility’s
HierarchyWellFoundednessShape checks every scheme a contract could resolve
to. python -m unittest surface.test_surface -q passes 62/62 (including a new
scoped-binding fixture and test), and mise run check:python-root passes
77/77 plus Phase 8 conformance. See the status record for exact findings.
A cross-reference of this unit’s Surface/Eligibility integration against docs/architecture/rdf-sparql-patterns-guide.md found the work internally consistent, with four follow-on hardening items and one accepted terminology note. None block closure. See Vocabulary Consumer Hardening below.
See the unit record above. This heading is intentionally a navigation anchor between active platform work and archived material.
| Field | Value |
|---|---|
| Status | ✅ Slices 1-4 implemented (human directed autonomous implementation, 2026-09-25). ADR-A86 remains Proposed pending ratification |
| Unit ID | ontology-semantic-versioning |
| Trigger | Human request, 2026-09-25 — adopt SemVer 2.0.0 for ontology documents |
| Sketch | ontology-semantic-versioning.md |
| Plan | ontology-semantic-versioning.md |
| Status Record | ontology-semantic-versioning.md |
| Policy | ontology-versioning-policy.md |
| ADR | ADR-A86, Proposed |
Every owl:Ontology document under ontology/ carried an ungoverned
owl:versionIRI, or none, with no documented rule for when it changed. The
sketch’s inventory found four distinct problems: no bump rule beyond one ad
hoc note in vocabulary/README.md; an already-inconsistent versioning unit
(spec/*.ttl vs vocab/*.ttl independently versioned and already drifted);
two ontologies (MORK, SPC) with no version identity at all; and one
(applied/insurance/contract.ttl) with two disagreeing version signals and a
namespace base outside the lattice/ tree. ADR-A86 adopted SemVer 2.0.0 per
owl:Ontology document, a MAJOR/MINOR/PATCH mapping table, a one-time
baseline reset to 0.2.0, and a narrow “changed but not bumped” check.
ontology-versioning-policy.md + CONTRIBUTING.md/ontology-architecture.md cross-references) — done0.2.0, lattice/ base-URI normalisation, full owl:imports cascade, one discovered non-ontology importer fixed: tools/surface’s SURFACE_ONTOLOGY constant) — done, with one recorded deviation (README⇄spec extraction was not re-run; see status record)tools/ontology_version_check.py, mise run check:ontology-versioning) — done, validated by mutation probeDiscovered while implementing, not yet acted on: tools/literate_extract.py --check
does not currently pass for any of the seven core literate-spec layers
(pre-existing README⇄spec drift, unrelated to this unit). Recorded in the
policy document as a candidate future remediation unit.
See the unit record above. This heading is intentionally a navigation anchor between active platform work and archived material.
| Field | Value |
|---|---|
| Status | ✅ All 4 findings implemented (human directed “proceed with the attached plan”, 2026-09-25). Not yet executed in this sandbox (no rdflib) — authored and statically verified, hand-off for mise run check:vocabulary / python -m unittest surface.test_surface |
| Unit ID | temporal-binding-consumer-hardening |
| Trigger | Cross-reference of vocabulary-temporal-binding’s Surface/Eligibility integration against rdf-sparql-patterns-guide.md |
| Plan | temporal-binding-consumer-hardening.md |
| Status Record | temporal-binding-consumer-hardening.md |
Four items carried forward from the vocabulary-temporal-binding closure
review, all implemented:
vvp:resolvedAt clarified as a valid-time “as-of”
point, not a transaction-time “recorded when” timestamp, in
ontology/vocabulary/shapes/constraints.ttl, tools/vocabulary/README.md,
and the validation pack.tools/vocabulary/tests/test_architecture.py: no
module under tools/vocabulary/src/vocabulary/ may call a wall-clock
function, mirroring tools/persistence. Mutation-probed in this session
(fails when a datetime.now() call is introduced, passes otherwise).tools/surface’s CLI
(command_compile/command_check/command_parity/command_mork) now
refuses to default produced_at to wall-clock time for any contract whose
population could resolve a caller-scoped voc:SchemeBinding
(contracts_needing_explicit_resolution_time in cli.py); srf:R1’s law
text and compile.py’s module docstring updated to state the
determinism guarantee precisely. The parity command’s --shared-corpus
path is not guarded (deliberate non-coverage; no scoped fixture is in that
corpus today).srf:resolvedAt,
srf:resolvedBindingScope, srf:resolvedBinding, srf:resolvedViaFallback
on srf:ReadSetEntry, populated on every BoundSchemeSource entry via a
vocabulary.Resolution object now threaded through enumerate_population
instead of discarded; a new srf:BoundSchemeSourceResolutionRecordedShape
SHACL-SPARQL check; new tests proving the recorded trace changes when the
caller’s context does.Finding 5 (terminology overload of “scope”) remains accepted, no action.
| Field | Value |
|---|---|
| Status | 🚧 AOR-2 to AOR-9, AOR-3b, AOR-12, AOR-13 committed. AOR-10, AOR-11, AOR-14 to AOR-17 implemented and self-validated, awaiting the human’s commands |
| Unit ID | applied-ontology-readiness |
| Trigger | Human request, 2026-09-25 — close the gaps an applied (domain) ontology meets when built on LATTICE |
| Sketch | applied-ontology-readiness.md |
| Plan | applied-ontology-readiness.md |
| Status Record | applied-ontology-readiness.md |
| Review | applied-ontology-readiness-review.md |
| ADRs | A-87, A-88, A-89, A-90, A-91, A-92, A-93 to A-96, A-83 and the A-86 addendum, all Accepted |
Thirteen gaps (AO1 to AO13) that any applied ontology meets: Eligibility
examples that warn or violate since 9a12da4, no reproducible way to load
LATTICE’s import closure, versioning guarantees not enforced in CI, compilers
limited to interval conditions and to candidates held on questions, no OWL
backend for design-time checks, provenance not aligned with PROV-O, and four
substrate extensions (derived rates, calendar binding, per-unit alternative
bounds, one obligation in several provisions).
| Field | Value |
|---|---|
| Status | ⏳ Pending. Not started |
| Unit ID | documentation-link-repair |
| Plan | documentation-link-repair.md |
| Status Record | documentation-link-repair.md |
mise run topology:links reports 419 broken links (340 distinct). 290 are in
the ignored Jekyll output docs/_site/, which the checker should not scan.
The other 50 are wrong relative depths, moved targets, and targets that no
longer exist. Five slices, about 180k tokens.
| Field | Value |
|---|---|
| Status | 🚧 Round 1 complete: AIR-3.1, AIR-1.1 and AIR-2.1 merged. Round 2 next (AIR-3.2, AIR-1.2). Phase 0 complete, AIR-0.1 merged (3377a71), A-98, A-99, A-100, A-102, A-103 Accepted. Review, VP |
| Unit ID | applied-insurance-reference (epic) |
| Sketches | peril-vocabulary.md, asset-exposure-ontology.md, term-parameters.md, mork-bridge.md, peril-structure-whitepaper.md |
| Plan | applied-insurance-reference.md, with phase plans 0 to 6, a substrate track, and lanes and merge order |
| Status Record | applied-insurance-reference.md |
| ADRs | A-98 (with addendum), A-99, A-100, A-102, A-103 Accepted. A-101 reserved for Phase 5 |
Reference implementation of the applied insurance domain: module split, reference peril vocabulary, Eligibility over flat lists and several values with reviewed crosswalks for flat or taxonomic peril lists, exposure ontology, term parameters with derived liability direction, and optional compilation into Capacity. Seven substrate items (L-P1 to L-P5, spatial guidance, evidence resolution) run as a non-blocking track.
| Phase | Status Record | Key Outcome |
|---|---|---|
| Phase 0-1 | phase-0-1-handoff.md | 🗄️ Archived; refer to individual status docs |
| Phase 2 | phase-2-handoff.md | 🗄️ Archived |
| Phase 3 | phase-3-handoff.md | 🗄️ Archived |
| Phase 4 | phase-4-handoff.md | 🗄️ Archived |
| Phase 5 | phase-5-handoff.md | 🗄️ Archived |
| Phase 6 | phase-6-handoff.md | 🗄️ Archived |
Reference: platform-continuation.md describes current platform state post-Phase-6.
| Unit | Status | Link |
|---|---|---|
| MORK Package Split | ✅ Complete | mork-package-split.md |
| SPC Package Split | ✅ Complete | spc-package-split.md |
| Ontology Root Relocation | ✅ Complete | ontology-root-relocation.md |
| Validation Pause Handover | ✅ Complete | validation-pause-handover.md |
| Validation Status | ✅ Track record | validation-status.md |
| Implementation Handover (Phases 0-6) | 🗄️ Archived | implementation-handover-historical.md |
| Design Sketches (earlier batch) | ✅ Catalogued | DESIGN_SKETCHES_INDEX.md and design-sketches-validation-summary.md |
tools/surface/ (compiler), tools/mork_compilers/ (backends), ontology/surface/ (vocab + shapes)ontology/persistence + tools/persistenceontology/vocabulary/shapes/, ontology/vocabulary/examples/ (12 fixtures), tools/vocabulary/ (reference resolver + pytest suite) — verified, 14/14 tests passingdocs/architecture/ontology-versioning-policy.md, tools/ontology_version_check.py (mise run check:ontology-versioning), every in-scope .ttl document reset to 0.2.0 — done, ADR ratification still pendingdocs/developer/validation/<unit-id>.mdpersistence-compiler-iri-sync’s Slices 1–5 (complete, human-validated 2026-09-25); that unit’s Slice 6 (documentation close-out) is its own final passpersistence-compiler-iri-sync) — Slices 1–5 of 6 done (774/774 passing, human-validated); Slice 6 (documentation close-out) in progresstemporal-binding-consumer-hardening) — implemented, not yet executed in this sandboxapplied-ontology-readiness) — AOR-2 to AOR-9, AOR-3b, AOR-12/13 committed, the rest implemented, review requesteddocumentation-link-repair) — pending| Item | What | Why | Next |
|---|---|---|---|
| Epic decomposition | Break lattice-platform-agentic-development-v0.2.md into Phase 0-9 plans |
Required Phase 2 (P2.1/P2.3/P2.4) revision and the optional Phase 0.2-0.4 coherence note are both complete (2026-09-22) | Begin Phase 0 decomposition |
| Surface MORK Phase 8 verification | SWRL rule load into OWL reasoner (final verification item) | 7/8 verification items complete; SWRL backend generates rules but integration needed | Resolve before Phase 9 sign-off |
| Surface MORK Phase 9 decomposition | Break migration and phased rollout into slices | Phase 8 complete (except SWRL integration); Phase 9 is planned but not decomposed | Decompose after Phase 8 verification complete |
| Housekeeping first cut (Slice 3) | Scaffold platform/housekeeping module |
Compiler ready; module contracts defined in ADR-A80; job duties extended by the 2026-09-23 guide remediation | Author Slice 3 (housekeeping scaffolding) |
| Store SPI | Design runtime SPI for query execution | Compiler produces templates; runtime binding TBD | Separate epic/phase after housekeeping |
| MTP backend integration (Phase 7) | Runtime API for LLM curriculum delivery | MTP generation complete; needs HTTP endpoint | Post-Phase-6 work |
| Vocabulary temporal binding conformance | Examples, SHACL, resolver, consumer provenance checks | Closed 2026-09-25: executed and verified, ADR-A85 Accepted | None. Follow-on hardening tracked as temporal-binding-consumer-hardening |
| Vocabulary consumer hardening | produced_at/hash conflation, missing resolution trace, vvp:resolvedAt naming, vocabulary architecture test |
Implemented 2026-09-25 (all 4 findings); not yet executed in this sandbox (no rdflib) | Run mise run check:vocabulary and python -m unittest surface.test_surface -v, then close out |
| Ontology semantic versioning | ADR-A86, versioning-policy doc, baseline reset, narrow enforcement check | Implemented (2026-09-25): policy doc, 0.2.0 baseline reset across 29 ontology documents, check:ontology-versioning tooling |
Decide whether the discovered literate_extract.py drift becomes its own unit |
| Applied ontology readiness | ADRs A-83, A-86 addendum, A-87 to A-96, 17 slices in three phases | Gaps any applied ontology meets when built on LATTICE (loading, examples, compilation, provenance, substrate extensions) | Run the review’s commands, record sign-off in LOG.md |
| Applied insurance reference | Epic: applied insurance module split, peril vocabulary, Eligibility readings and crosswalks, exposure, term parameters | Sketches consolidated into an epic, 2026-09-26. Legacy contract module dropped, new one deferred until Open CBAA integration | Round 0 of the lanes plan: create branches 1.1, 2.1 and 3.1 on the runtime machine |
| Unit | Tests | Command |
|——|——-|———|
| Surface compiler | 61 passing | pytest tools/surface/src/surface/test_surface.py -v |
| MORK compiler backends | 74 passing (2026-09-25) | mise run check:mork-compilers |
| LLM/MTP | 346 passing | mise run check:mtp |
| Persistence compiler | 774 passing (confirmed 2026-09-25, after Slice 5) | mise run check:persistence |
| Ontology tools (catalog, versioning, Eligibility examples, PROV-O alignment) | 35 passing | mise run check:ontology-catalog |
| Ontology versioning | tool run | mise run check:ontology-versioning |
tools/persistence/README.md, “Using the generated SPARQL directly”)dal: cross-references, new slice P0.3.9, and guardrail G11. See Part II, §6 and Part V.srf:DerivedArtefactThis index is updated when:
Last updated: 2026-09-25 — persistence-compiler-iri-sync Slices 4 and 5 human-validated (774/774 passing); Slice 6 documentation close-out in progress
Last reviewed: 2026-09-22
Next review: Upon Phase 8 SWRL verification completion and Phase 9 decomposition