Repository navigation
feat(namespaces): stage-two dispositions and a NodeShape-aware guard - #164
Conversation
Stage two of the Intigraph namespace migration (aegis-m5s.1.1), additive to the frozen stage-one ledger. stage-two.json adds 45 hash-pinned pairs: 37 of the 39 retained declarations move to camayoc/core or camayoc/delivery with their local names, and 8 legacy NodeShapes that the stage-one guard could not see move to delivery, code-entities and core. closedAt and assignedTo stay legacy permanently; the Seeds profile owns any replacement. The builder treats sh:NodeShape as a declaration, requires one disposition for every retained term, keeps each local name inside a Camayoc pack, refuses stage-one collisions, and refuses a pair whose term no source declares. The manifest records the stage-two hash and 45 unpublished pairs. A new required CI job compares real quipu 0.16.1 validation reports for the legacy and stable packs. Mapped back, the reports are identical, the stable one names the new shape IRIs, and debt shapes stay warnings. No load, pin, data rewrite or installer change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0185RxTpLsPCQFB9ni72Nzac
The integration job permits zero skips. test_stable_namespace_reports.py skips without QUIPU_REPORT_BIN, so the job failed its verdict with 2 skipped. Fetch the same pinned quipu-ai-v0.16.1 CLI there too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0185RxTpLsPCQFB9ni72Nzac
|
Ian — source APPROVE after independent post-green review of all nine paths, exact The 45-row pinned stage-two ledger matches the approved 37 declarations + 8 NodeShapes, preserves local names and the two retained lifecycle terms, and adds no shape equivalence beyond Independent validation: 23 focused namespace/report/package tests passed, plus provided/unset/broken report-CLI controls (actual run / explicit skips rejected by integration / broken promise fails). Both HOME guards clean. Fresh exact-head CI: 8/8 completed success. Normal T3 classification Source only: bundle remains |
What
Stage two of the Intigraph namespace migration (aegis-m5s.1.1). It builds on #163 and leaves stage one's ledger byte-identical.
namespaces/intigraph/stage-two.jsonadds 45 reviewed pairs (hash-pinned like stage one):camayoc/core/ns#, 7 tocamayoc/delivery/ns#.owl:sameAsonly.closedAtandassignedTo. They describe the deprecated work-item type, so any replacement belongs to the Seeds profile, not Camayoc.sh:NodeShapenow counts as a declaration. That gap is why the 8 shapes were missed:code-entities.ttlbinds the legacy namespace asbobbin:, and the old guard checked only properties and classes.stage_two_sha256andunpublished_pairs(45).ontology/core.ttl:overnow reads "the alternatives visible when the decision was made" (naming review). This is a description change only; the IRI is unchanged.Not in this PR
automatic_loadstays false.published: false. Their namespaces already resolve through the registered w3id rule, but the published documents do not yet carry the 45 new terms, so no release or pin should rely on them until those documents are republished.Verification
sh:NodeShapefrom the declaration kinds, or disabling the vanished-declaration, coverage or local-name guard, turns its test red. The file was restored byte-identical after each case.tests/test_stable_namespace_reports.py):quipu validate --format jsonruns on the same fixtures twice, legacy shapes over legacy data and the stable pack over remapped data;ChangeEventShapeIRI, and the code-entities debt shapes stay warnings;namespace-reportsjob pins quipu-ai-v0.16.1 (sha256 checked). The existing 0.14.1 CLI has no JSON report. It refuses a run where everything skipped.🤖 Generated with Claude Code
https://claude.ai/code/session_0185RxTpLsPCQFB9ni72Nzac