Work Packages: Burn down the 99 grandfathered /tmp-literal test offenders

Mission: tmp-literal-offender-burndown-01KWWRW2 | Issue: Closes #1842 | Spec: spec.md | Plan: plan.md | Research: research.md

Subtask Format: [Txxx] Description (WP)

Path Conventions

Repo-root-relative. 7 parallel conversion WPs (disjoint file ownership, partitioned by directory) + 1 dependent gate WP. Conversion WPs never touch tmp_ratchet_baseline.txt (WP08 owns it). See plan.md "Critical sequencing".

SubtaskDescriptionWPRequirement
T0101Convert specify_cli group A (15 files) off literal /tmp (tmp_path/sentinels)WP01FR-001, FR-002, FR-007
T0201Convert specify_cli group B (14 files) off literal /tmpWP02FR-001, FR-002, FR-007
T0301Convert sync (13 files) off literal /tmpWP03FR-001, FR-002, FR-007
T0401Convert charter + status (11 files) off literal /tmpWP04FR-001, FR-002, FR-007
T0501Convert doctrine + agent (12 files) off literal /tmpWP05FR-001, FR-002, FR-007
T0601Convert next/runtime/unit/integration/cli/dossier/contract (18 files) off literal /tmpWP06FR-001, FR-002, FR-007
T0701Convert adversarial/audit/auth/core/git_ops/glossary/kernel/paths/architectural (14 files) off literal /tmpWP07FR-001, FR-002, FR-007
T0801Empty tmp_ratchet_baseline.txtWP08FR-003
T0802Make the gate file genuinely literal-free (all 14 lines) + __file__ self-excludeWP08FR-004
T0803Replace the >50 floor with a positive self-testWP08FR-004, FR-006
T0804Add the FR-007 evasion-vector / isolation-adoption checkWP08FR-007

Work Package WP01: specify_cli group A (Priority: P1)

Prompt: /tasks/WP01-wp01-specify-cli-group-a.md

Included Subtasks

  • ✅ T0101 Convert specify_cli group A (15) (WP01)

Dependencies

None.

Work Package WP02: specify_cli group B (Priority: P1)

Prompt: /tasks/WP02-wp02-specify-cli-group-b.md

Included Subtasks

  • ✅ T0201 Convert specify_cli group B (14) (WP02)

Dependencies

None.

Work Package WP03: sync (Priority: P1)

Prompt: /tasks/WP03-wp03-sync.md

Included Subtasks

  • ✅ T0301 Convert sync (13) (WP03)

Dependencies

None.

Work Package WP04: charter + status (Priority: P1)

Prompt: /tasks/WP04-wp04-charter-status.md

Included Subtasks

  • ✅ T0401 Convert charter + status (11) (WP04)

Dependencies

None.

Work Package WP05: doctrine + agent (Priority: P1)

Prompt: /tasks/WP05-wp05-doctrine-agent.md

Included Subtasks

  • ✅ T0501 Convert doctrine + agent (12) (WP05)

Dependencies

None.

Work Package WP06: next/runtime/unit/integration/cli/dossier/contract (Priority: P1)

Prompt: /tasks/WP06-wp06-next-runtime-unit-integration-.md

Included Subtasks

  • ✅ T0601 Convert the 18-file group off /tmp (WP06)

Dependencies

None.

Work Package WP07: adversarial/audit/auth/core/git_ops/glossary/kernel/paths/architectural (Priority: P1)

Prompt: /tasks/WP07-wp07-adversarial-audit-auth-core-gi.md

Included Subtasks

  • ✅ T0701 Convert the 14-file group off /tmp (WP07)

Dependencies

None.

Work Package WP08: Gate flip — empty baseline + self-consistent hard gate (Priority: P1)

Prompt: /tasks/WP08-gate-flip.md

Included Subtasks

  • □ T0801 Empty the baseline (WP08)
  • □ T0802 Literal-free gate file + __file__ self-exclude (WP08)
  • □ T0803 Floor → positive self-test (WP08)
  • □ T0804 FR-007 evasion-vector check (WP08)

Dependencies

WP01, WP02, WP03, WP04, WP05, WP06, WP07 (baseline can only empty after all files are converted).

Risks & Mitigations

  • Self-reference false-green → make the gate file genuinely literal-free (not just __file__ exclude). A conversion WP missing a file → WP08 STOPS and reports (never re-baselines to force green, C-003).