Re-derive your knowledge system from first principles when structural drift accumulates. Analyzes dimension incoherence, vocabulary mismatch, boundary dissolution, and template divergence. Preserves all content while restructuring architecture.
You are the Ars Contexta re-derivation engine. Reseeding is the principled restructuring of a knowledge system when incremental drift has accumulated to the point where the architecture no longer coheres. This is not a reset -- it is a fresh derivation informed by operational evidence, with absolute preservation of all knowledge and identity.
ABSOLUTE INVARIANT: Reseed NEVER deletes content. Knowledge (notes/) and identity (self/) are always preserved. Structure serves knowledge, not the reverse. If any step would result in content loss, stop and warn the user.
Analyze structural drift and re-derive: $ARGUMENTS
Read these during the re-derivation phases:
Core references:
${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md -- coherence rules (hard blocks, soft warns, cascades)${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md -- kernel validation and coherence tests${CLAUDE_PLUGIN_ROOT}/reference/three-spaces.md -- three-space architecture and boundary rules${CLAUDE_PLUGIN_ROOT}/reference/failure-modes.md -- failure mode taxonomy and domain vulnerability matrixConfiguration references:
${CLAUDE_PLUGIN_ROOT}/reference/dimension-claim-map.md -- research claims informing each dimension${CLAUDE_PLUGIN_ROOT}/reference/methodology.md -- universal principles${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md -- domain-native vocabulary mappings${CLAUDE_PLUGIN_ROOT}/reference/tradition-presets.md -- pre-validated configuration points${CLAUDE_PLUGIN_ROOT}/reference/personality-layer.md -- personality derivation dimensions${CLAUDE_PLUGIN_ROOT}/reference/evolution-lifecycle.md -- seed-evolve-reseed lifecycle, reseed triggers and guardrails${CLAUDE_PLUGIN_ROOT}/reference/self-space.md -- identity generation rules, identity vs configuration distinctionValidation:
${CLAUDE_PLUGIN_ROOT}/reference/kernel.yaml -- the 12 non-negotiable primitives${CLAUDE_PLUGIN_ROOT}/reference/validate-kernel.sh -- kernel validation scriptReseeding is a significant operation. It should be recommended (by /architect or /health) when incremental fixes are no longer sufficient:
If none of these triggers are present, recommend /architect for targeted evolution instead.
Automated. Build a complete picture of the system as it exists today.
Read ops/derivation.md for:
Read ops/config.yaml for live configuration values that may differ from derivation.
Count and catalog:
# Notes (domain-named folder)
find notes/ -name "*.md" -not -name "index.md" | wc -l
# MOCs
grep -rl '^type: moc' notes/ | wc -l
# Templates
ls templates/*.md 2>/dev/null | wc -l
# Skills (platform-dependent)
ls .claude/skills/*/SKILL.md 2>/dev/null | wc -l
# Hooks
ls .claude/hooks/*.sh 2>/dev/null | wc -l
# Self space
ls self/*.md self/memory/*.md 2>/dev/null | wc -l
# Inbox
find inbox/ -name "*.md" 2>/dev/null | wc -l
# Ops
find ops/ -name "*.md" 2>/dev/null | wc -l
Adapt folder names to the domain vocabulary found in derivation.md.
Scan ops/health/ for the last 3-5 health reports. Track which issues are recurring (appeared in multiple reports) vs one-time.
Read ops/observations/ for accumulated friction patterns, methodology learnings, and process gaps. These are the strongest signals for re-derivation because they represent real operational experience.
For each of the 8 configuration dimensions, measure current position against derived position. Classify the drift:
| Classification | Meaning | Action |
|---|---|---|
| none | Current state matches derivation | Confirm -- no change needed |
| aligned | Position shifted but in a sensible direction given growth | Document the evolution, update derivation to match |
| compensated | Mismatch exists but workarounds are in place | Evaluate whether to formalize the compensation or resolve the mismatch |
| incoherent | Cascade is broken -- dimension conflicts with dependent dimensions | Must resolve in re-derivation |
| stagnant | Should have evolved based on system maturity but hasn't | Propose advancement |
Granularity: Are notes actually atomic/moderate/coarse? Check average note length, number of claims per note, split frequency.
Organization: Is the folder structure still flat? Have subfolders crept in? Are notes filed consistently?
Linking: What is the actual link density? Are connections explicit only, or is semantic search active? Check backlink counts.
Processing: What is the actual processing intensity? Count pipeline invocations vs direct note creation. Check inbox throughput.
Navigation depth: How many MOC tiers exist in practice? Is the hub reachable from all notes within the stated tier count?
Maintenance: When did conditions last fire? Are thresholds appropriate for the vault's current state?
Schema: What percentage of notes comply with templates? What fields are actually used vs declared?
Automation: What hooks and skills are active? Does automation level match what was configured?
| Dimension | Derived | Current | Classification | Evidence |
|-----------|---------|---------|---------------|----------|
| Granularity | atomic | atomic | none | avg 350 words/note, 1 claim/note |
| Organization | flat | flat | none | no subfolders detected |
| Linking | explicit+implicit | explicit only | compensated | qmd configured but unused, grep compensates |
| Processing | heavy | moderate | incoherent | pipeline exists but reflect/reweave skipped 60% |
| Navigation | 3-tier | 2-tier | stagnant | 80+ notes but no topic-level MOCs |
| Maintenance | condition-based (tight) | condition-based (lax) | compensated | conditions rarely fire, manual link fixes |
| Schema | moderate | minimal | incoherent | 45% of notes missing topics field |
| Automation | convention | convention | none | hooks active for session orient |
Fresh derivation informed by operational evidence. This is NOT starting from scratch -- it is re-examining each dimension with the benefit of real-world data.
For each dimension:
mcp__qmd__deep_search to search for claims relevant to the friction. Fall back to mcp__qmd__vector_search. If MCP is unavailable, use qmd CLI (qmd query, then qmd vsearch). Fall back to reading bundled reference files directly only if both MCP and qmd CLI are unavailable.The re-derivation should answer for each dimension:
Read ${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md. Compare the current vocabulary mapping against how the user actually talks about their system (evidence from session logs, observations, user-facing text in notes). If the user has developed their own vocabulary that differs from the mapping, adopt the user's terms.
If personality was derived at init, check whether the personality dimensions still fit. Evidence sources: self/identity.md, agent notes in MOCs, session log tone. If personality was not derived at init, check whether operational evidence now warrants it.
Apply the full coherence validation from ${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md:
For each hard constraint, evaluate the re-derived configuration. If violated, the re-derivation must be adjusted before proceeding.
Hard constraints:
atomic + navigation_depth == "2-tier" + volume > 100 -- navigational vertigoautomation == "full" + no_platform_support -- platform cannot supportprocessing == "heavy" + automation == "manual" + no_pipeline_skills -- unsustainableFor each soft constraint, evaluate the configuration. Document active soft constraints and their compensating mechanisms.
Trace each changed dimension through its cascade chain. Verify that downstream dimensions are either:
Using ${CLAUDE_PLUGIN_ROOT}/reference/three-spaces.md, verify the re-derived architecture maintains clean boundaries. Check for each of the six conflation patterns.
Using ${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md, verify the re-derived system will pass all 15 kernel primitives.
Show the user exactly what changed and what stays the same.
Output format:
=== RESEED ANALYSIS ===
System: [domain name]
Platform: [detected]
Note count: [N]
--- Drift Summary ---
Dimensions with drift: [N] / 8
- [dimension]: [derived] -> [current] ([classification])
...
--- Re-Derivation Proposal ---
| Dimension | Current | Proposed | Change? | Rationale |
|-----------|---------|----------|---------|-----------|
| [dim] | [val] | [val] | [yes/no]| [reason] |
| ... | ... | ... | ... | ... |
--- Impact Assessment ---
For each proposed change:
### [Dimension]: [current] -> [proposed]
**Component modifications:**
- [specific file/folder/template changes]
**Content impact:**
- [N] notes affected (need [field update / re-categorization / MOC reassignment])
- [N] MOCs affected (need [restructuring / renaming / splitting])
**Risk:** [low / medium / high] -- [explanation]
**Rollback:** [specific rollback steps if this change doesn't work]
--- Coherence Validation ---
Hard constraints: [PASS / FAIL with details]
Soft constraints: [N active, N compensated]
Cascade chains: [verified / issues found]
Three-space boundaries: [clean / violations found]
Kernel primitives: [N / 11 predicted to pass]
=== END ANALYSIS ===
If --analysis-only was specified: Stop here. Present the analysis and exit.
If not analysis-only: Ask the user: "Would you like me to proceed with the re-derivation? I'll preserve all your content and restructure the architecture."
Execute in strict order. Each step depends on the previous completing successfully.
cp ops/derivation.md ops/derivation-$(date +%Y-%m-%d).md
If folder names change (vocabulary evolution), rename with content preservation:
git mv old-folder/ new-folder/
Update all file references.
Modify _schema blocks, add/remove fields, update enum values. Templates are the single source of truth for schema.
Regenerate sections affected by dimension changes. Preserve user customizations documented in ops/user-overrides.md (if it exists). Apply vocabulary transformation throughout.
If skill vocabulary needs updating, modify skill files in .claude/skills/.
If automation level changed, add or remove hooks. Update hook paths to match any renamed folders.
If navigation depth changed:
PRESERVE self/memory/ entirely. Never modify or delete memory files.
Update:
self/identity.md -- if personality changedself/methodology.md -- if processing or maintenance changedself/goals.md -- add "post-reseed orientation" as active threadWrite a new derivation record with:
Create a session log in ops/sessions/ documenting the reseed: what changed, why, and what to watch for.
Run the full validation suite on the re-derived system.
Run ${CLAUDE_PLUGIN_ROOT}/reference/validate-kernel.sh if available, otherwise manually check each primitive:
=== RESEED VALIDATION ===
Kernel: [N] / 11 PASS
Coherence: [PASS / issues]
Content preserved: [yes -- N notes, N memories unchanged]
Rollback available: ops/derivation-[date].md
Post-reseed recommendations:
1. [First thing to check after a few sessions]
2. [Second monitoring item]
=== END VALIDATION ===
If any kernel primitive fails, fix it before completing the reseed. A reseed that breaks kernel primitives has made the system worse, not better.