Unit: surface-mork-unified-projection
Status: Phases 0-8 complete; Phases 9-10 planned, not started
Last updated: 2026-09-22
Owner: Surface and MORK maintainers
The Surface-MORK Unified Projection program adopts one top-level authoring model for projection in LATTICE:
Verification status: ✅ Phases 0-8 complete and verified. 61/61 Surface tests passing, 15/15 MORK compiler tests passing. SWRL reasoner verification (Phase 8 item 7) still pending.
Status: ✅ Complete
Deliverables:
docs/architecture/decisions/)Status: ✅ Complete
Deliverables:
srf:ProjectionContract subsystem fully specifiedCode: ontology/surface/ (vocabulary, shapes, examples)
Tests: See Phase 2 verification
Status: ✅ Complete
Deliverables:
Code: tools/surface/src/surface/compile.py
Tests: 61/61 passing (updated from 54 in earlier documents) ✅
Status: ✅ Complete
Deliverables:
Code: tools/surface/src/surface/lowering.py
Tests: 61/61 passing (lowering determinism verified in test suite) ✅
Status: ✅ Complete
Deliverables:
Code: ontology/mork/spec/Mork.ttl, ontology/mork/spec/Executable.ttl
Tests: Governance fixture conforms under pyshacl ✅
Status: ✅ Complete
Deliverables:
Code:
tools/mork_compilers/src/mork_compilers/sparql_backend.pytools/mork_compilers/src/mork_compilers/shacl_backend.pytools/mork_compilers/src/mork_compilers/swrl_backend.pytools/mork_compilers/src/mork_compilers/eligibility_ir.pyTests: 15/15 passing ✅
Not yet built (deliberately deferred):
exp:) domain-binding layerAllRequired/AnySufficient)exe:EvaluationRun, exe:ConditionResult)Status: ✅ Absorbed into Phase 5
Note: Eligibility compiler integration folded into Phase 5 by user instruction. IntervalContainment strategy fully verified.
Status: ✅ Complete (for current stack-depth-1 scope)
Deliverables:
surface.invalidation.py)mappingFor, dependsOnMapping, generatedByCode: tools/surface/src/surface/invalidation.py
Tests: 60 tests in Surface suite cover invalidation behaviors ✅
Deferred: Deeper-stack freshness, cycle handling, measured impact cost
Status: ✅ Complete (for current Surface and Eligibility scope)
Deliverables:
surface/parity.py).github/workflows/phase8-conformance.yml)Code: tools/surface/src/surface/parity.py, tools/phase8_conformance.py
Tests: Conformance workflow passing ✅
Deferred: Broader Behaviour automation, SWRL/OWL reasoner execution, R2-parity-to-shared-corpus
Status: 🚧 Not started
Planned deliverables:
mork:CompilationMode)Estimated scope: ~2–3 weeks of authoring and review
Status: 🚧 Not started
Planned deliverables:
Estimated scope: TBD (performance characterization-dependent)
| Item | Status | Notes |
|---|---|---|
| Surface compiler test suite (54→61/61 tests) | ✅ Complete | Improved from 54 in earlier documents |
| Focused MORK compiler test suite (15/15) | ✅ Complete | All three backends (SPARQL, SHACL, SWRL) tested |
| Literate extraction drift check | ✅ Complete | All layer READMEs consistent |
| OWL reasoner consistency check | ⏳ Pending | fnd:Governable/fnd:Version axioms + elg:/qnt: puns need reasoner verification |
| SHACL execution (current fixtures) | ✅ Complete | Governance fixture conforms; Eligibility shapes distinguish valid/missing/out-of-range |
| Execute generated SPARQL query | ✅ Complete | question-1 resolves to "Permitted" |
| Load generated SWRL rule into reasoner | ⏳ Pending | Rule text generated; SWRL reasoner integration still needed |
| Regenerate real output (8 locations) | ✅ Complete | ontology/surface/execution/ packages regenerated; no hand-written golden files remain |
Current position: 7/8 verification items complete. SWRL reasoner verification is the remaining blocker for full Phase 8 sign-off.
| Item | Category | Rationale | Where tracked |
|——|———-|———–|—|
| srf:RangePartitionPopulation (bucketing law X7) | Phase 2.2 | Depends on Quantification partition semantics | surface-outstanding-items.md §2.1 |
| Stacking beyond depth 1 (cycle detection, hash-chain freshness) | Phase 7+ | Composition laws stated in ADR-A21; needs stack expansion | surface-outstanding-items.md §2.2 |
| srf:ExternalIndex admission criteria | Phase TBD | Specification deferred | surface-outstanding-items.md §2.3 |
| Foundation migration: srf:DerivedArtefact | ADR-scale decision | Does it move to Foundation or stay in Surface? | surface-outstanding-items.md §3.1 |
| srf:profileIdentityHash assertion | Blocked on above | Pending Foundation migration decision | surface-outstanding-items.md §3.3 |
| R2 parity to shared corpus | Phase 8+ | Requires independent shared conformance corpus | surface-outstanding-items.md §3.4 |
| Entailment regimes beyond NoEntailment | Phase TBD | RDFS/OWL2EL/OWL2DL integration deferred | surface-outstanding-items.md §3.5 |
| Item | Blocks | Where it’s recorded |
|——|——–|—|
| Executable Projection Contract (exp:) — domain-binding layer | Multiple eligibility and MORK features | ontology/mork/docs/eligibility-executable-compiler.md |
| Profile-level aggregate artefacts (AllRequired/AnySufficient) | Phase 6+ eligibility work | ontology/mork/docs/eligibility-executable-compiler.md |
| Runtime result tracking (exe:EvaluationRun, etc.) | Observation and monitoring | ontology/mork/docs/eligibility-executable-compiler.md |
| Native MORK backend | Execution on LATTICE runtime | ADR-A23 addendum |
| Type adapters for candidate evidence | Integration with Quantification types | ontology/surface/docs/MorkEnhancements.md §10 |
| Other eligibility strategies | Broader condition support | tools/mork_compilers/eligibility_ir.py scope note |
| Range-partition two-track remediation | Original Phase 6 deliverable 6 | Awaits Quantification partition semantics |
Phase 8 verification is complete. Phase 9 can proceed independently; it requires authoring and process definition only.
ontology/surface/ — Surface vocabulary, shapes, examplestools/surface/ — Surface compiler and lowering enginetools/mork_compilers/ — SPARQL, SHACL, SWRL backendsontology/mork/spec/ — MORK vocabulary and governancedocs/architecture/decisions/tools/surface/src/surface/test_surface.py (61/61 passing)tools/mork_compilers/src/mork_compilers/test_mork_compilers.py (15/15 passing)ontology/surface/examples/ (3 explicit cases + Eligibility interval-containment)ontology/eligibility/examples/interval-containment.ttlpyproject.toml with core validation dependencies, reproducible lock, documented install.exp: Executable Projection Contract layer (blocks multiple features)srf:DerivedArtefact (blocks profile identity assertion)This status record is updated when:
Last verified: 2026-09-22
Next review: Upon SWRL verification completion or Phase 9 plan ratification