Files
manual_slop/conductor/tracks/directive_hotswap_harness_20260627/state.toml
T

110 lines
13 KiB
TOML

# Track state for directive_hotswap_harness_20260627
# Initialized by Tier 1 Orchestrator on 2026-06-27.
# Implementation delegated to Tier 2 (autonomous) or Tier 3 worker dispatch.
# This is Track 1 of Campaign A (Directive Encoding Campaign).
# Phase 2 + Phase 3 completed 2026-07-02 (manual verification §3.2 deferred to user).
[meta]
track_id = "directive_hotswap_harness_20260627"
name = "Directive Hot-Swap Harness (OpenCode Directive Presets)"
status = "active"
current_phase = 4
last_updated = "2026-07-02"
[blocked_by]
# None. Pure documentation/track-artifact work; no code changes, no tests,
# zero overlap with any running track.
[blocks]
directive_encoding_experiments = "planned (future; v2+ variant authoring)"
manual_slop_directive_lab = "planned (future; GUI integration)"
[phases]
phase_1 = { status = "completed", checkpointsha = "ce0564fe", name = "Directive Harvest (10 steps: 51 directives from doc tree into conductor/directives/)" }
phase_2 = { status = "completed", checkpointsha = "6ba4bdd", name = "Baseline Preset + Role-Prompt Bootstrap (8 steps: preset + 5 role-prompt warm with: updates)" }
phase_3 = { status = "completed", checkpointsha = "c9f30abf", name = "Verification + End-of-Track (4 steps: dir structure verify + manual LLM verify + report + commit)" }
phase_4 = { status = "completed", checkpointsha = "465433e0", name = "Directive Library Expansion (scope A back-fill + 15 new directives + aggregation script)" }
[tasks]
# Phase 1: directive harvest
t1_1 = { status = "completed", commit_sha = "f4dfb846", description = "Harvest 17.1-17.7 banned patterns (7 directives: ban_dict_any, ban_any_type, ban_optional_returns, ban_hasattr_dispatch, ban_getattr_dispatch, ban_dict_get_on_known_fields, boundary_layer_exception)" }
t1_2 = { status = "completed", commit_sha = "545ccee1", description = "Harvest 17.9 import/aliasing bans (3 directives: ban_local_imports, ban_prefix_aliasing, ban_repeated_from_dict)" }
t1_3 = { status = "completed", commit_sha = "0340925d", description = "Harvest error handling conventions (2 directives: result_error_pattern, nil_sentinel_pattern)" }
t1_4 = { status = "completed", commit_sha = "62fc04b1", description = "Harvest type/data-structure conventions (3 directives: typed_dataclass_fields, metadata_boundary_type, update boundary_layer_exception)" }
t1_5 = { status = "completed", commit_sha = "b5baaaaa", description = "Harvest code style directives (5 directives: one_space_indent, no_comments_in_body, no_diagnostic_noise, type_hints_required, sdm_dependency_tags)" }
t1_6 = { status = "completed", commit_sha = "fa488ccf", description = "Harvest file/taxonomy conventions (3 directives: file_naming_convention, no_new_src_files_without_permission, large_files_are_fine)" }
t1_7 = { status = "completed", commit_sha = "412494d2", description = "Harvest process/workflow directives (10 directives: atomic_per_task_commits, tdd_red_green_required, ban_arbitrary_core_mocking, live_gui_poll_not_sleep, batch_verification_not_isolation, git_hard_bans, ban_day_estimates, no_output_filtering, prefer_targeted_tier_runs, mandatory_research_first)" }
t1_8 = { status = "completed", commit_sha = "77ee0c68", description = "Harvest process anti-patterns (6 directives: no_skip_markers_as_avoidance, deduction_loop_limit, report_instead_of_fix_ban, scope_creep_track_doc_ban, inherited_cruft_ask_first, verbose_commit_message_ban)" }
t1_9 = { status = "completed", commit_sha = "fa3e5381", description = "Harvest GUI/architecture directives (5 directives: imgui_scope_verification, modular_controller_pattern, ui_delegation_for_hot_reload, strict_state_management, comprehensive_logging)" }
t1_10 = { status = "completed", commit_sha = "cdc0f140", description = "Harvest feature-flag + RAG + cache + knowledge directives + 4 new styleguides (8 directives: feature_flag_delete_to_turn_off, rag_six_rules, cache_stable_to_volatile, knowledge_harvest_pattern, config_state_owner, workspace_paths, test_sandbox, chroma_cache_path). Skipped code_path_audit.md (descriptive)." }
t1_11 = { status = "completed", commit_sha = "ce0564fe", description = "Commit the directive harvest summary (51 v1.md files; +1 meta-summary HARVEST_SUMMARY.md)" }
# Phase 2: baseline preset + role-prompt bootstrap
t2_1 = { status = "completed", commit_sha = "2ddaeb52", description = "Create conductor/directives/presets/current_baseline.md (51 directives listed; not the 48 in the plan)" }
t2_2 = { status = "completed", commit_sha = "2ddaeb52", description = "Commit the baseline preset (combined with t2_1 in a single atomic commit; commit includes 1-line state.toml scope drift setting phase_2 to in_progress)" }
t2_3 = { status = "completed", commit_sha = "35831084", description = "Create .opencode/agents/tier1-orchestrator.warm.md duplicate with warm with: bootstrap (Session Start Checklist items 6-9 replaced)" }
t2_4 = { status = "completed", commit_sha = "b082cb15", description = "Create .opencode/agents/tier2-tech-lead.warm.md duplicate with warm with: bootstrap (TWO sections: CRITICAL: Read the canonical docs FIRST + Session Start Checklist; items 6-9 replaced in both)" }
t2_5 = { status = "completed", commit_sha = "40764252", description = "Create .opencode/agents/tier3-worker.warm.md duplicate with warm with: bootstrap (Task Start Checklist items 2-3 replaced)" }
t2_6 = { status = "completed", commit_sha = "b2aebbc9", description = "Create .opencode/agents/tier4-qa.warm.md duplicate with warm with: bootstrap (Context Amnesia 'must read' sentence replaced)" }
t2_7 = { status = "completed", commit_sha = "7b0d1164", description = "Create conductor/tier2/agents/tier2-autonomous.warm.md duplicate with warm with: bootstrap (Pre-Action Required Reading items 7-10 replaced)" }
t2_8 = { status = "completed", commit_sha = "6ba4bdd", description = "Combined summary meta-commit (empty -- all 5 .warm.md files were committed atomically in t2_3..t2_7)" }
# Phase 3: verification + end-of-track
t3_1 = { status = "completed", commit_sha = "bbbfbd39", description = "Verify directory structure (53 entries, 51 v1.md files, preset exists, 5 .warm.md role-prompt duplicates exist, 5 originals untouched) -- all 5 criteria PASS" }
t3_2 = { status = "deferred", commit_sha = "", description = "Manual verification: does the LLM follow the warm with: instruction? DEFERRED to user per directive (requires live OpenCode session)" }
t3_3 = { status = "completed", commit_sha = "PENDING", description = "Write docs/reports/TRACK_COMPLETION_directive_hotswap_harness_20260627.md" }
t3_4 = { status = "in_progress", commit_sha = "PENDING", description = "Commit the end-of-track report + this state.toml update atomically" }
# Phase 4: directive library expansion (2026-07-02 user directive)
t4_1 = { status = "completed", commit_sha = "e9a19523", description = "E.1 Back-fill batch 1/5: atomic_per_task_commits, ban_any_type, ban_arbitrary_core_mocking, ban_day_estimates, ban_dict_any, ban_dict_get_on_known_fields, ban_getattr_dispatch, ban_hasattr_dispatch (8 directives)" }
t4_2 = { status = "completed", commit_sha = "71e01dfe", description = "E.1 Back-fill batch 2/5: ban_local_imports, ban_optional_returns, ban_prefix_aliasing, ban_repeated_from_dict, batch_verification_not_isolation, boundary_layer_exception, cache_stable_to_volatile, chroma_cache_path, comprehensive_logging (9 directives)" }
t4_3 = { status = "completed", commit_sha = "83149962", description = "E.1 Back-fill batch 3/5: config_state_owner, deduction_loop_limit, feature_flag_delete_to_turn_off, file_naming_convention, git_hard_bans, imgui_scope_verification, inherited_cruft_ask_first, knowledge_harvest_pattern, large_files_are_fine (9 directives)" }
t4_4 = { status = "completed", commit_sha = "68352ee2", description = "E.1 Back-fill batch 4/5: live_gui_poll_not_sleep, mandatory_research_first, metadata_boundary_type, modular_controller_pattern, nil_sentinel_pattern, no_comments_in_body, no_diagnostic_noise, no_new_src_files_without_permission, no_output_filtering (9 directives)" }
t4_5 = { status = "completed", commit_sha = "5b0f932c", description = "E.1 Back-fill batch 5a/5: no_skip_markers_as_avoidance, one_space_indent, prefer_targeted_tier_runs, rag_six_rules, report_instead_of_fix_ban, result_error_pattern, scope_creep_track_doc_ban, sdm_dependency_tags, strict_state_management (9 directives)" }
t4_6 = { status = "completed", commit_sha = "559db09c", description = "E.1 Back-fill batch 5b/5: tdd_red_green_required, test_sandbox, type_hints_required, typed_dataclass_fields, ui_delegation_for_hot_reload, verbose_commit_message_ban, workspace_paths (7 directives; total back-fill: 51)" }
t4_7 = { status = "completed", commit_sha = "8407742a", description = "E.2 Harvest from docs/AGENTS.md (2 directives): core_value_read_first, convention_enforcement_4_mechanisms" }
t4_8 = { status = "completed", commit_sha = "782530ba", description = "E.2 Harvest from conductor/edit_workflow.md (6 directives): edit_small_incremental, verify_before_editing, decorator_orphan_pitfall, ast_parse_insufficient, contract_change_audit, preserve_line_endings" }
t4_9 = { status = "completed", commit_sha = "a758f0a4", description = "E.2 Harvest from docs/guide_testing.md (5 directives): no_real_io_during_tests, live_gui_session_scoped_no_restart, defer_not_catch_for_native_crashes, test_narrow_not_kitchen_sink, ast_verify_class_methods_after_edit" }
t4_10 = { status = "completed", commit_sha = "454fac1b", description = "E.2 Harvest from docs/guide_state_lifecycle.md (2 directives): undo_redo_100_snapshot_capacity, reset_session_preserves_project_path (total scope A: 15 directives)" }
t4_11 = { status = "completed", commit_sha = "9d3222dd", description = "E.3 Write scripts/aggregate_directives.py + 5 pytest tests (stdlib-only; reads v1.md only, never meta.md; supports stdout and -o)" }
t4_12 = { status = "completed", commit_sha = "465433e0", description = "E.4 Update current_baseline preset with 15 new directives (total 66; alphabetical order preserved)" }
t4_13 = { status = "completed", commit_sha = "8ef66e02", description = "E.5 Update state.toml with task records e_1..e_4 and phase_4 entry; archive throwaway expansion helpers under scripts/tier2/artifacts/" }
t5_1 = { status = "completed", commit_sha = "PENDING", description = "Every v1.md starts with an explicit '# <rule-statement>' header (63 back-filled in 8 batches; 3 already-titled: chroma_cache_path, config_state_owner, workspace_paths). New pytest test asserts the header on all 66." }
[verification]
phase_1_complete = true
phase_2_complete = true
phase_3_complete = true # §3.1 + §3.3 + §3.4 done; §3.2 deferred to user
phase_4_complete = true # scope A back-fill + 15 new directives + aggregation script + preset update
directive_count = 66
back_fill_meta_md_count = 66 # every v1.md (51 back-filled + 15 new) has a corresponding meta.md
preset_exists = true
role_prompts_updated = true # the 5 .warm.md duplicates exist; originals are intact as rollback
end_of_track_report_exists = true
manual_verification_deferred = true # §3.2 deferred to user
aggregation_script_exists = true # scripts/aggregate_directives.py
aggregation_tests_pass = true # 5 tests in tests/test_aggregate_directives.py
[campaign_context]
campaign_name = "Directive Encoding Campaign (Campaign A)"
track_1 = "directive_hotswap_harness_20260627 (THIS; harvest + scaffold + baseline preset + role-prompt bootstrap + Phase A expansion) — Phase 4 complete"
track_2 = "directive_encoding_experiments (future; v2+ variant authoring + preset experimentation)"
track_3 = "manual_slop_directive_lab (future; GUI integration)"
sibling_campaign = "Video Analysis Campaign 2 (Campaign B; 4 new videos; separate track)"
cross_campaign_relationship = "Intellectual cross-pollination; no hard dependency."
[expansion_20260702]
# Phase 4 expansion: scope A back-fill + new directives + aggregation script
directives_before = 51
directives_after = 66
new_directives_count = 15
new_directive_sources = "docs/AGENTS.md (2), conductor/edit_workflow.md (6), docs/guide_testing.md (5), docs/guide_state_lifecycle.md (2)"
metadata_convention = "Per user directive 2026-07-02: v1.md holds pure body; meta.md holds provenance (why/source/lifted). Aggregator NEVER reads meta.md."
aggregation_script = "scripts/aggregate_directives.py (stdlib-only; 5 pytest tests in tests/test_aggregate_directives.py)"
[titles_20260702]
# Per user directive 2026-07-02: every v1.md must open with an explicit '# <rule-statement>' heading.
# Complaint: "banned local imports doesn't explicitly state in its content that local imports is banned."
directives_total = 66
titles_back_filled = 63
already_titled = 3 # chroma_cache_path, config_state_owner, workspace_paths (top-level '# ' heading already present)
batches = 8 # 8 back-fill commits (~8 files each) + 1 test/state commit
test_added = "tests/test_aggregate_directives.py::test_every_v1_has_top_level_heading (+ test_v1_heading_is_not_meta_provenance_format)"
aggregation_pollution_preserved = true # scripts/aggregate_directives.py output has no meta.md leakage after header back-fill