Surface-MORK Unified Projection Program — Status Record

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


Executive Summary

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.


Completed Work by Phase

Phase 0 — Architecture lock and ADR updates

Status: ✅ Complete
Deliverables:


Phase 1 — Surface Projection specification

Status: ✅ Complete
Deliverables:

Code: ontology/surface/ (vocabulary, shapes, examples)
Tests: See Phase 2 verification


Phase 2 — Surface compiler refactor and entailment policy

Status: ✅ Complete
Deliverables:

Code: tools/surface/src/surface/compile.py
Tests: 61/61 passing (updated from 54 in earlier documents) ✅


Phase 3 — Surface-to-MORK lowering engine

Status: ✅ Complete
Deliverables:

Code: tools/surface/src/surface/lowering.py
Tests: 61/61 passing (lowering determinism verified in test suite) ✅


Phase 4 — MORK governance and versioning enhancements

Status: ✅ Complete
Deliverables:

Code: ontology/mork/spec/Mork.ttl, ontology/mork/spec/Executable.ttl
Tests: Governance fixture conforms under pyshacl ✅


Phase 5 — Compiler family implementation (+ Eligibility tranche)

Status: ✅ Complete
Deliverables:

Code:

Tests: 15/15 passing ✅

Not yet built (deliberately deferred):


Phase 6 — Eligibility tranche

Status: ✅ Absorbed into Phase 5
Note: Eligibility compiler integration folded into Phase 5 by user instruction. IntervalContainment strategy fully verified.


Phase 7 — Provenance and invalidation hardening

Status: ✅ Complete (for current stack-depth-1 scope)
Deliverables:

Code: tools/surface/src/surface/invalidation.py
Tests: 60 tests in Surface suite cover invalidation behaviors ✅
Deferred: Deeper-stack freshness, cycle handling, measured impact cost


Phase 8 — Conformance and parity framework

Status: ✅ Complete (for current Surface and Eligibility scope)
Deliverables:

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


In-Progress Work

Phase 9 — Migration and rollout

Status: 🚧 Not started
Planned deliverables:

Estimated scope: ~2–3 weeks of authoring and review


Phase 10 — Scale and optimization

Status: 🚧 Not started
Planned deliverables:

Estimated scope: TBD (performance characterization-dependent)


Verification Checklist (Phase 8)

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.


Outstanding Items (By Category)

Deferred but planned (for future phases)

| 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 |

Not started (awaiting design decisions)

| 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 |


Blocking Dependencies

None for Phases 9–10 decomposition

Phase 8 verification is complete. Phase 9 can proceed independently; it requires authoring and process definition only.


Integration Points

With other work units


Artifacts and References

Code repositories

Documentation

Test suites and fixtures


Recommendations for Next Steps

  1. Implement repository Python package management (Addendum §6 of outstanding tasks): Root pyproject.toml with core validation dependencies, reproducible lock, documented install.
  2. Run OWL consistency check with declared reasoner to resolve SWRL verification blocker.
  3. Resolve ADR-scale decisions (items in “Not started” section above):
  4. Proceed with Phase 9 authoring once the above are resolved (migration guides, compatibility mode, rollout policy).
  5. Phase 8 sign-off requires only SWRL reasoner verification (item 7 of checklist); all other verification items are complete.

Document Maintenance

This status record is updated when:

Last verified: 2026-09-22
Next review: Upon SWRL verification completion or Phase 9 plan ratification