ζ.3 Spike A1 — LinkML schema-evolution + semver migration — CLOSED 2026-05-03
Outcome: outcome-VALIDATED. Kill condition NOT-MET. Targets ζ-Q10 schema-migration policy.
Why: ν.α/ζ.3 SOTA-derisking suite Spike A1 (Plan §3 Task 4). Pre-validates substrate for ζ-Q10 formal asking. A2 SHACL invariants spike (Q-NU-005) depends on A1 outcome.
How to apply: When ζ-Q10 is formally asked under refined-prompt v3.8, pull up Q-NU-004 at docs-strategy/docs/superpowers/specs/2026-04-29-multi-phase-audit/current-questions/Q-NU-004-linkml-schema-evolution-migration-policy.md v0.1. σ.α (minor-only Phase-1 baseline) is Claude provisional pick. Score at formal asking time.
5 load-bearing findings
- Minor bump ~30-45 min/extension (Case 1 v3.0→v3.1): all 4 generators exit 0; deprecated slot preserved in gen-pydantic
json_schema_extra; gen-typescript + gen-json-schema drop BY DESIGN. - Major bump ~4-8h/extension (Case 2 v3.1→v4.0): manual reclassification required for class hierarchy restructuring. Expected semver-major behavior. Policy: minor-only Phase-1; major deferred Phase-1.5+.
- Partner extensions MUST import pip-installable INHERIT base. Standalone codegen fails without
imports: [inherit-base]. INHERIT v2 MUST publishinherit-schemaPyPI package before first partner onboarding. - linkml-store has no Alembic-equivalent. T44 chunk #96 verbatim confirms data plane choice must be Supabase Postgres. Do NOT introduce linkml-store as secondary data plane without explicit migration tooling.
- ROBOT OWL DL/EL violations cosmetic (dcterms annotation-property only). rdflib confirms structural integrity (179-279 triples correct). Fix via dcterms import or CI suppression.
5-policy Phase-1 recommendation
- Policy-1: Minor-version-only Phase-1 (v3.0→v3.1→v3.2); major reserved Phase-1.5+ with 90-day partner windows
- Policy-2: pip-installable
inherit-schemaPyPI package mandatory before partner onboarding - Policy-3:
mapping_set_version: "v3.N.0"in every SSSOM catalog (Mondo precedent validated S7) - Policy-4: ROBOT validate-profile at release CI — non-blocking annotation violations; blocking structural
- Policy-5: linkml-store NOT as primary data plane (T44 verbatim; already locked in IAS arch-state)
Artefacts committed
- T-file:
~/off-github/library/projects/inherit/T-spike-zeta-3-A1-linkml-schema-evolution-2026-05-03.mdv1.0 — off-github commit07332d1 - Q-NU-004:
docs-strategy/.../current-questions/Q-NU-004-linkml-schema-evolution-migration-policy.mdv0.1 — docs-strategy commitd5aaf8f - Test cases:
/tmp/spike-zeta-3-A1/test-cases/(ephemeral; not committed) - Codegen results:
/tmp/spike-zeta-3-A1/codegen-results.md(ephemeral)