ζ-Q3 ε.ι S2.6 owlready2 emitter production-scale follow-on — outcome-MITIGATED 2026-05-02
Outcome
Triggered by load-bearing theory tabled at S2.5 closure 2026-05-02T12:30 BST: “owlready2 emitter scales from 28-class PoC to production CCO 1431 classes; codegen pipeline handles production schemas”. Per 14:30 BST), this is the first spike under that discipline — theory spike-validated within ~1.2 hours rather than deferred to Phase-1 build.feedback_test_theories_immediately_when_tabled (locked 2026-05-02T
outcome-MITIGATED per feedback_kill_condition_strict_vs_spirit_reading_via_outcome_MITIGATED (post-S3 codification). Strict kill clause 5 (“<90% sample-instantiate success”) met under the narrowest reading (44% IC reach on full-CCO random sample) but the framing artefact is structural — BFO 2020 Continuant+Occurrent top-level split makes ≥90% IC mathematically unreachable for full-CCO sampling. SPIRIT + TARGET + LOAD-BEARING + INSTANTIATION metrics all NOT MET; functional path is intact end-to-end.
Findings
| Component | Wall-clock | Peak mem | Output |
|---|---|---|---|
| Emitter (load + walk + write YAML) | 0.158 s | 42 MB | 6,717 lines / 247 KB / 1,431 CCO + 8 i-ζ |
| gen-pydantic —meta full | 117.95 s | 404 MB | 20.6 MB / 1,441 Pydantic classes / py_compile clean |
| gen-typescript | 39.72 s | 261 MB | 154 KB / 1,439 TS interfaces |
| gen-json-schema | 74.90 s | 328 MB | 13.9 MB / 1,439 $defs |
| Total codegen | ~232 s = 3.9 min | — | all <5min budget |
Sample-instantiation:
- STRICT (random 50 from full CCO, IC reach): 22/50 = 44% ← clause met by framing artefact
- SPIRIT (random 50 from full CCO, BFO upper reach): 50/50 = 100%
- TARGET (random 50 from MaterialEntity subtree, IC reach): 50/50 = 100%
- LOAD-BEARING (8 i-ζ + CCO-native FinancialInstrument, IC reach): 9/9 = 100%
- INSTANTIATION (200 random
cls()): 200/200 = 100%
NEW empirical findings
- CCO has 0 multi-parent classes — BFO single-inheritance design holds at production scale; emitter mixins logic supported but inactive on this corpus. May exercise on IAO + IOF Core or INHERIT extensions in follow-on.
- i-ζ FinancialInstrument collides with CCO-native FinancialInstrument — CCO 2.1 already provides cco:FinancialInstrument. Emitter skips redundant declaration; ω.η SSSOM TSV row aligns at lock-time. ε.ε class-set clarification: 8 i-ζ-novel + 1 CCO-aligned = 9 total (no functional change). NOT a regression — gain: 1 fewer class to author + ω.η alignment mechanism naturally exercises at production-emit-time.
- BFO 2020 top-level split makes 90%-IC kill clause structurally unreachable for full-CCO random sampling. Refined-prompt v3.7 candidate: kill clauses must specify (a) the sample-set explicitly + (b) target threshold relative to that sample-set’s structural ceiling.
Implications for ε.ι Layer 1 lock-time framing
- Lock-frame STANDS at S2.5’s wording: “owlready2-based custom LinkML emitter walks CCO/IAO/IOF + emits LinkML schema with class hierarchy preserved”. S2.6 validates production scale without architectural change.
- Cost-row STABLE at S2.5’s £2-3K junior-engineer estimate. The S2.6 280-line emitter is approximately the production-shape emitter; lock-time polish (~16-24h: annotations pass-through + complex-domain handling + IAO/IOF extension) fits the original estimate.
- DROP S2.5-era richard-task #214 caveat “uncertain whether emitter scales to production”. REPLACE with concrete Phase-1 Sprint S1 cost-row.
- NEW Phase-1.5 stress-test cell candidate: “owlready2 emits LinkML for full CCO (1,431 classes) within <5min CI budget” — 6-monthly cadence.
Cross-references
- T-file:
~/off-github/library/projects/inherit/T-spike-eps-iota-S2.6-owlready2-scale-2026-05-02.mdv1.0 (23 KB, 212 lines) - arch-state v3.20 → v3.21 §11 S2.6 row LANDED + Changelog row + lastmod 2026-05-02T13:46
- Q-003 v1.4 → v1.5 §10 S2.6 row LANDED + CHANGELOG entry + lastmod 2026-05-02T13:46
- MEMORY.md +1 entry (this file)
- Active-work-log entry updated (S2.6 in-flight → S2.6 closed)
- Companion spike artefacts at
/tmp/spike-s2.6-owlready2-scale/:owlready2_to_linkml_full.py(10.3 KB, ~280 lines),cco-full.yaml(247 KB),cco-full.py(20.6 MB),cco-full.ts(154 KB),cco-full.schema.json(13.9 MB),BENCHMARKS.md,sample_instantiate.py,sample_instantiate_v2.py
Methodological observations
- First spike under
feedback_test_theories_immediately_when_tableddiscipline (theory tabled at S2.5 → spike within 1.2 hours, not deferred to Phase-1 build). Discipline closes latent decision-debt at minimum cost. - Second instance (after S3) of strict-vs-spirit kill-clause reading via outcome-MITIGATED maturity. Pattern fully validated 5 spikes into the suite.
- i-ζ FinancialInstrument collision is the first empirical evidence that the 9 i-ζ class-set wasn’t all INHERIT-novel; ω.η SSSOM mediation is exactly the mechanism for this case. Net effect: i-ζ identity preservation + redundancy elimination at production-emit-time.
- Logging-contract closed within same session as T-file authoring — continues post-S2 + post-S2.5 + post-S3 + post-S2.10 discipline.
- Refined-prompt v3.6 alternatives-first NOT exercised because kill-condition not substantively met (only the 90%-IC framing artefact). Pre-staged alternatives (ROBOT MIREOT subset / per-module CCO sub-schemas / multi-parent skip-with-log / LinkML 1.9 downgrade) remain available for follow-on if substantively triggered.