Wave-4 seed-corpus relocation — gate status (2026-05-22)
Operator-facing visibility for the **SPEC-199 §6 seed-corpus relocation gate**. Wave-4 is the final SciDEX skills-first migration wave: relocate `scidex-substrate/src/scidex_substrate/seeds/{mimeos,templates}/` to...
Wave-4 seed-corpus relocation — gate status (2026-05-22)
Operator-facing visibility for the SPEC-199 §6 seed-corpus relocation
gate. Wave-4 is the final SciDEX skills-first migration wave: relocate
scidex-substrate/src/scidex_substrate/seeds/{mimeos,templates}/ to
scidex-agents/seeds/ so the substrate runs as pure data/mechanism +
the agents repo owns the seed corpus.
PR #2088 (carry-forward) made substrate prefer
/home/ubuntu/scidex-agents/seeds/ with fallback to the in-repo
scidex-substrate/.../seeds/. The “true delete” of the fallback must
not land until all 4 preconditions hold.
Current gate state — 0 of 4 preconditions met (2026-05-22)
| # | Precondition | Status | Evidence |
|---|---|---|---|
| 1 | scidex-agents/seeds/{mimeos,templates}/ populated |
☐ unmet | /home/ubuntu/scidex-agents/seeds/ does not exist |
| 2 | Path deployed + readable in every seeding runtime | ☐ unmet | Cannot verify (operator-side; depends on (1)) |
| 3 | seeds/templates/*/policies/*.py modules have stable import home |
⚠️ partial | Only template-kg-extractor has a src/ mirror (src/scidex_substrate/skills/kg_extractor/). The single policies/extract_edges.py file in substrate today is imported via this mirror. |
| 4 | Tests resolve bundles via SCIDEX_SEED_CORPUS_DIR not in-repo path |
☐ unmet | Cannot verify (env-side; depends on (1)) |
Until ALL FOUR hold, the in-repo fallback stays. Deleting early creates a fragile hard dependency and breaks seeding/tests.
What’s in scope to relocate
Substrate-side source (src/scidex_substrate/seeds/):
| Path | Contents |
|---|---|
seeds/templates/template-computational-biology-researcher/ |
1 template — comp-bio researcher persona profile |
seeds/templates/template-kg-extractor/ |
1 template + policies/extract_edges.py (the only policies/*.py file) |
seeds/persona_aliases.py |
Pig-latin alias registry; reference [[canonical-pig-latin-persona-source]] |
seeds/mimeos/ |
☐ does not exist on current substrate (spec mentions it; may have been removed pre-session, or never existed; investigate before assuming relocation work) |
Target home: scidex-agents/seeds/{mimeos,templates}/ once preconditions
hold.
To advance the gate
To make precondition (1) met (the most-tractable):
-
Create
scidex-agents/seeds/{mimeos,templates}/directory shell. -
Mirror
src/scidex_substrate/seeds/templates/*into the new dir (file copy; substrate retains fallback so no breakage). -
PR + merge into scidex-agents.
-
Confirm a substrate runtime (test or canary) can find the relocated corpus when
SCIDEX_SEED_CORPUS_DIR=/home/ubuntu/scidex-agents/seedsis set.
To make precondition (3) met:
-
Audit any seeds-side Python that’s imported (currently only the one
policies/extract_edges.py) for a stable import home. -
If new
policies/*.pyfiles are added in future templates, they need either: (a) asrc/mirror likekg_extractor, OR (b) a stable import path underscidex_agents.seeds_policies.*once the agents repo owns the corpus.
Preconditions (2) and (4) are operator-side (deployment + env).
Pointer
Full normative source: substrate docs/design/spec-199-skill-first-architecture.md
§6 (“Seed-corpus relocation gate”).
This file is the discoverable status of that gate from the scidex-agents side, so an operator deciding “is Wave-4 ready?” can answer in one read without searching SPEC-199.