Tasks: Single STATUS_STATE read-dir resolver with phantom-coord degrade

Mission: status-state-read-dir-dedup-01M3HNNV · Issue: #5180 · Plan: plan.md

Subtask Index

IDDescriptionWPParallel
T001Red-first issue-pinned repro (ambient-ancestor phantom) for render + verdict readsWP01
T002Public resolve_partition_read_dir(feature_dir, kind) on the read-path ownerWP01
T003Focused unit tests for the resolver (flat self-home, phantom degrade, both-missing, coord materialised, deleted coord propagates)WP01
T004Repoint the post-merge gate, render and verdict paths; delete the private copiesWP02
T005Structural delegation guard with poison arm (FR-004)WP02
T006Convert the red-first repro into focused tests (drop regression marker)WP02

WP01 — Resolver authority + red-first repro

Goal: land the RED reproduction, then the one public resolver with its unit tests. Priority: P1 · Independent test: pytest tests/specify_cli/missions/test_partition_read_dir.py tests/agent/test_status_state_phantom_degrade.py Prompt: tasks/WP01-resolver-authority.md

T001 Red-first issue-pinned repro (WP01) T002 Public resolver on _read_path_resolver (WP01) T003 Resolver unit tests (WP01)

Risks: import cycle with mission_runtime.resolution (keep the resolve_artifact_surface import lazy).

WP02 — Repoint consumers + structural guard

Goal: the three consumers delegate to the resolver; the repro goes green; a non-vacuous guard stops a copy returning. Priority: P1 · Depends on: WP01 Independent test: repro + guard + existing tests/agent/test_workflow_review_cycle_pointer.py, tests/review/test_artifacts.py, tests/specify_cli/review/test_cycle_kind_flip.py, tests/specify_cli/cli/commands/agent/test_2959_override_partition.py Prompt: tasks/WP02-repoint-consumers.md

T004 Repoint consumers, delete private copies (WP02) T005 Structural delegation guard (WP02) T006 Convert repro to focused tests (WP02)

Risks: C-001 render split must hold (artifact-pointer resolution stays PRIMARY).