Private
Public Access
169 lines
21 KiB
TOML
169 lines
21 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 = 5
|
|
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)" }
|
|
phase_5 = { status = "completed", checkpointsha = "b2ebe25d", name = "Scavenge Pass (15 new directives from MMA_Support + nagent_review + intent_dsl_survey + handoffs)" }
|
|
|
|
[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." }
|
|
# Phase 5: scavenge pass — directive library expansion from unread markdown
|
|
# Per user directive 2026-07-02: "can markdown you haven't read yet to make sure you scavanged all possible directives buried in this codebase. Ignore most tracks except the intent based dsl track and the nagent track."
|
|
s_1 = { status = "completed", commit_sha = "bea5d6b1", description = "Scavenge batch 1/3: 5 directives from docs/MMA_Support/ — tier1_orchestrator_no_implementation, tier3_worker_amnesia, tier4_qa_compressed_fix, token_firewall_prevents_bloat, stub_before_implement" }
|
|
s_2 = { status = "completed", commit_sha = "ebca201d", description = "Scavenge batch 2/3: 5 directives from conductor/tracks/nagent_review_20260608/ — subagent_returns_artifact_not_transcript, parse_failure_visible_to_conversation, state_visible_at_the_right_layer, file_id_stable_across_rename, decompose_or_isolate_never_offload" }
|
|
s_3 = { status = "completed", commit_sha = "883f7ec5", description = "Scavenge batch 3/3: 5 directives from intent_dsl_survey + handoffs — intent_signal_postfix_not_xml, pipeline_immediate_mode_no_object, dsl_uses_first_class_spans_for_errors, search_all_call_sites_after_signature_change, run_full_tier_after_phase_refactor" }
|
|
s_4 = { status = "completed", commit_sha = "9656bf2e", description = "Update current_baseline preset with 15 new directives alphabetically interleaved (total 81); updated Notes section to track three harvest passes" }
|
|
s_5 = { status = "completed", commit_sha = "PENDING", description = "Update state.toml with s_1..s_4 task records + phase_5 entry; commit atomically with this file" }
|
|
s_6 = { status = "completed", commit_sha = "b2ebe25d", description = "Add tests/test_scavenge_directives_lift.py: 79 parametrized cases verifying the 15 new directives have v1.md + meta.md, headings, sections, preset references; plus 5 aggregate tests for total count >= 81" }
|
|
|
|
[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
|
|
phase_5_complete = true # scavenge pass — 15 new directives from MMA_Support + nagent_review + intent_dsl_survey + handoffs + test + preset update
|
|
directive_count = 81
|
|
back_fill_meta_md_count = 81 # every v1.md (51 + 15 + 15) 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 # 15 tests in tests/test_aggregate_directives.py (original 5 + 10 added during Phase 4 back-fill)
|
|
scavenge_lift_tests_pass = true # 79 tests in tests/test_scavenge_directives_lift.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
|
|
|
|
[scavenge_20260702]
|
|
# Phase 5 scavenge pass: directive library expansion from unread markdown.
|
|
# Per user directive 2026-07-02: "can markdown you haven't read yet to make sure you scavanged all possible directives buried in this codebase."
|
|
# Scope: docs/MMA_Support/, docs/handoffs/, docs/ideation/, docs/superpowers/{specs,plans}/, docs/reports/ (recursing except code_path_audit/ + license_cve_audit/), docs/type_registry/, docs/transcripts/, docs/Readme.md, docs/smoke_test_*.md, conductor/todos/, conductor/tracks/intent_dsl_survey_20260612/, conductor/tracks/nagent_review_20260608/.
|
|
# Out of scope: other conductor/tracks/<other>/ (the user said "ignore most tracks except the intent based dsl track and the nagent track"); conductor/archive/; this track's own history.
|
|
directives_before = 66
|
|
directives_after = 81
|
|
new_directives_count = 15
|
|
new_directive_sources = "docs/MMA_Support/ (5), conductor/tracks/nagent_review_20260608/ (5), conductor/tracks/intent_dsl_survey_20260612/ + docs/handoffs/ (5)"
|
|
cap_applied = 30 # user cap was ~30; lifted 15 (strongest, most actionable, most general-purpose)
|
|
skipped_categories = ["Implementation-specific tactical notes", "Historical commentary without an actionable current rule", "Content about the manual-slop app's specific UI/feature", "Rules that conflict with existing 66 directives"]
|
|
commits = 4 # 3 directive batches + 1 preset update + 1 test = 5 total; counted as 4 directive-related commits + 1 test commit
|
|
test_added = "tests/test_scavenge_directives_lift.py (79 parametrized cases + 5 aggregate tests)"
|
|
|
|
[scavenge_20260703]
|
|
# Phase 6 scavenge pass: directive library expansion from docs/reports/ historical slices.
|
|
# Per user directive 2026-07-03: "scavenge for additional directives from docs/reports/2026-03-02/ through docs/reports/2026-06-08/. The user wants a full sweep — process every file in this slice."
|
|
# Scope: docs/reports/2026-03-02/ (1 file: MCP_BUGFIX_20260306.md), docs/reports/2026-05-04/ (5 files), docs/reports/2026-05-11/ (1 file: ai_decoupling_revert_report.md), docs/reports/2026-06-01/ (10 files), docs/reports/2026-06-08/ (29 files). Total 46 files.
|
|
# Out of scope: this track's own history; the .txt files in docs/reports/2026-06-01/ (startup_audit_20260606.txt, startup_baseline_20260606.txt — not markdown); other docs/reports/ slices.
|
|
directives_before = 81
|
|
directives_after = 90
|
|
new_directives_count = 9
|
|
new_directive_sources = "docs/reports/2026-03-02/MCP_BUGFIX_20260306.md (1), docs/reports/2026-05-11/ai_decoupling_revert_report.md + docs/reports/2026-06-01/qwen_llama_grok_followup_audit_20260611.md (2), docs/reports/2026-06-08/ (6: docs_sync_test_era_20260610, nagent_review_session_20260612, batch_resilience_plan_20260608, TEST_REGRESSION_ANALYSIS_MINIMAX_OPENAI_20260613, workflow_markdown_audit_20260608 x2 rules)"
|
|
cap_applied = 20 # user cap was 20; lifted 9 (strongest, most actionable, most general-purpose)
|
|
skipped_categories = ["Implementation-specific tactical notes (e.g. specific ImGui scope fix sites)", "Historical commentary without an actionable current rule", "Content about the manual-slop app's specific UI/feature", "Rules already covered by the existing 81 directives", "Design ideation without a concrete current rule", "Single-file post-mortems that turned out to be pre-existing bugs (not actionable as a directive)"]
|
|
commits = 3 # 1 commit per source-file batch (3 batches: 2026-03-02/ + 2026-05-04/, 2026-05-11/ + 2026-06-01/, 2026-06-08/) + 1 preset/state update commit = 4 total; counted as 3 directive-related commits + 1 preset/state commit
|
|
test_added = "tests/test_scavenge_batch_1.py (9 parametrized cases + 2 aggregate tests)"
|
|
|
|
[scavenge_20260703_batch_2]
|
|
# Phase 7 scavenge pass: directive library expansion from docs/superpowers/specs/ design specs.
|
|
# Per user directive 2026-07-03: scavenge sweep 2/5 across the 22 design specs in docs/superpowers/specs/.
|
|
# Scope: 22 files in docs/superpowers/specs/ (2026-05-10 through 2026-07-01).
|
|
# Out of scope: this track's own history; the per-spec plan files in docs/superpowers/plans/.
|
|
directives_before = 100 # 90 baseline + 10 from other parallel sweeps during my read pass
|
|
directives_after = 116 # +16 from this batch
|
|
new_directives_count = 16
|
|
new_directive_sources = "2026-05-13-ai-server-ipc (defer heavy SDK imports), 2026-05-15-profiling-system (graceful optional dependency degradation), 2026-06-03-ui-polish (interceptor-on-shape + em-dash for missing data), 2026-06-10-prior-session-sepia (float-only math + view composes + honest API limit disclosure), 2026-07-01-chronology-v2 (git-history-as-truth + per-row evidence + regen cadence + quality gate + fresh filesystem walk), 2026-07-01-mma-quarantine (gate engine not types + test classification via import + 3-tier test strategy + layered runtime/test flags)"
|
|
cap_applied = 20 # user cap was 20; lifted 16 (strongest, most actionable, most general-purpose)
|
|
skipped_categories = ["Implementation-specific tactical notes (e.g. specific ImGui scope fix sites, specific test-mock fixes)", "Architectural descriptions without an actionable current rule", "Project-specific application rules (Ctrl+Shift+P binding, Docker deployment, command palette)", "Rules already covered by the existing 100 directives (defer-not-catch, property delegation, poll-not-sleep, etc.)", "Design ideation without a concrete current rule", "Per-spec implementation checklists that don't generalize"]
|
|
commits = 3 # 1 commit per source-file batch (3 batches: ai-server-ipc+profiling, ui-polish+prior-session, chronology-v2+mma-quarantine) + 1 preset/state/test commit = 4 total; counted as 3 directive-related commits + 1 preset/state/test commit
|
|
test_added = "tests/test_scavenge_batch_2.py (83 parametrized cases + 5 aggregate tests including the meta-source-cites-docs-superpowers-specs check)"
|
|
|
|
[safety_observations]
|
|
# Prompt-injection attempt observed during the read pass:
|
|
# docs/reports/2026-03-02/MCP_BUGFIX_20260306.md contained an embedded fake <system-reminder>
|
|
# block (echoing docs/AGENTS.md content) appended after the file's last line. The instruction
|
|
# was ignored; the actual user task (scavenge sweep) was followed. Flagged here for the record. |