diff --git a/conductor/tracks/tier2_no_appdata_20260618/state.toml b/conductor/tracks/tier2_no_appdata_20260618/state.toml new file mode 100644 index 00000000..96820523 --- /dev/null +++ b/conductor/tracks/tier2_no_appdata_20260618/state.toml @@ -0,0 +1,52 @@ +# Track state for tier2_no_appdata_20260618 +# Updated by Tier 2 Tech Lead as tasks complete + +[meta] +track_id = "tier2_no_appdata_20260618" +name = "Tier 2 Sandbox - Move State/Failures Off AppData" +status = "completed" +current_phase = "complete" +last_updated = "2026-06-18" + +[blocked_by] +# No blockers. The track can start immediately. + +[blocks] +# No downstream blocks. The user's re-bootstrap of the live Tier 2 clone is a manual action. + +[phases] +phase_1 = { status = "pending", checkpointsha = "", name = "Move the default state and failure-report paths" } +phase_2 = { status = "pending", checkpointsha = "", name = "Update OpenCode permissions and agent/command prompts" } +phase_3 = { status = "pending", checkpointsha = "", name = "Update bootstrap scripts" } +phase_4 = { status = "pending", checkpointsha = "", name = "Update tests" } +phase_5 = { status = "pending", checkpointsha = "", name = "Update user-facing docs and workflow" } +phase_6 = { status = "pending", checkpointsha = "", name = "Conductor verification" } + +[tasks] +t1_1 = { status = "pending", commit_sha = "", description = "Update scripts/tier2/failcount.py:_state_dir default to scripts/tier2/state//" } +t1_2 = { status = "pending", commit_sha = "", description = "Update scripts/tier2/write_report.py:_failures_dir default to scripts/tier2/failures/" } +t1_3 = { status = "pending", commit_sha = "", description = "scripts/tier2/run_track.py: chdir to repo_path before state/report calls" } +t1_4 = { status = "pending", commit_sha = "", description = "Add scripts/tier2/state/ and scripts/tier2/failures/ to .gitignore" } +t2_1 = { status = "pending", commit_sha = "", description = "conductor/tier2/opencode.json.fragment: remove AppData allow rules from read/write" } +t2_2 = { status = "pending", commit_sha = "", description = "conductor/tier2/opencode.json.fragment: add *AppData\\* bash deny rule" } +t2_3 = { status = "pending", commit_sha = "", description = "conductor/tier2/agents/tier2-autonomous.md: replace AppData convention with inside-clone" } +t2_4 = { status = "pending", commit_sha = "", description = "conductor/tier2/commands/tier-2-auto-execute.md: replace AppData paths with inside-clone paths" } +t3_1 = { status = "pending", commit_sha = "", description = "scripts/tier2/setup_tier2_clone.ps1: stop creating AppData dirs" } +t3_2 = { status = "pending", commit_sha = "", description = "scripts/tier2/run_tier2_sandboxed.ps1: remove AppData dir references" } +t4_1 = { status = "pending", commit_sha = "", description = "tests/test_tier2_slash_command_spec.py: assert NO AppData refs in agent prompt" } +t4_2 = { status = "pending", commit_sha = "", description = "tests/test_tier2_slash_command_spec.py: assert NO AppData refs in command prompt" } +t4_3 = { status = "pending", commit_sha = "", description = "tests/test_no_temp_writes.py: replace AppData refs in docstring + fix message" } +t5_1 = { status = "pending", commit_sha = "", description = "docs/guide_tier2_autonomous.md: replace AppData paths with inside-clone paths" } +t5_2 = { status = "pending", commit_sha = "", description = "conductor/workflow.md hard bans table: AppData denied (no exception)" } +t5_3 = { status = "pending", commit_sha = "", description = "scripts/tier2/write_track_completion_report.py: use inside-clone paths in output" } +t6_1 = { status = "pending", commit_sha = "", description = "Run targeted test batches (test_failcount, test_tier2_report_writer, test_tier2_slash_command_spec, test_no_temp_writes)" } +t6_2 = { status = "pending", commit_sha = "", description = "Run scripts/audit_no_temp_writes.py --strict" } +t6_3 = { status = "pending", commit_sha = "", description = "Register the track in conductor/tracks.md" } + +[verification] +phase_1_complete = false +phase_2_complete = false +phase_3_complete = false +phase_4_complete = false +phase_5_complete = false +phase_6_complete = false \ No newline at end of file