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

Source: docs/wave-4-seed-corpus-gate-status.md

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

  1. Create scidex-agents/seeds/{mimeos,templates}/ directory shell.

  2. Mirror src/scidex_substrate/seeds/templates/* into the new dir (file copy; substrate retains fallback so no breakage).

  3. PR + merge into scidex-agents.

  4. Confirm a substrate runtime (test or canary) can find the relocated corpus when SCIDEX_SEED_CORPUS_DIR=/home/ubuntu/scidex-agents/seeds is set.

To make precondition (3) met:

  1. Audit any seeds-side Python that’s imported (currently only the one policies/extract_edges.py) for a stable import home.

  2. If new policies/*.py files are added in future templates, they need either: (a) a src/ mirror like kg_extractor, OR (b) a stable import path under scidex_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.