Mission Run Overview
Mission Run: Command-skill regeneration follow-ups (#6155)
init/upgrade/agent config sync name regenerated command skills, read the DERIVED/IGNORED surface class from the state contract at runtime, and prune a retired command's drifted projection
Three follow-ups deferred from the landing of PR #6113 (#702). The shared command-skill projection .agents/skills/spec-kitty.<command>/SKILL.md is a DERIVED, git-ignored surface (shared_skills_projection in src/specify_cli/state/contract.py) that #6113 began regenerating on drift. #6155 asks that: (1) each regenerated path is named once in human and --json output under surface_repair, without changing the exit code or outcome kind; (2) the regenerate branch reads shared_skills_projection from STATE_SURFACES at runtime and regenerates only while it is DERIVED and IGNORED, otherwise falling through to the existing consent branch; (3) _CommandBatch.remove_entry applies the same rule to prune a retired command's drifted, manifest-owned projection and its manifest entry, still refusing a directory and never touching an unowned path.