From cd272e5c8e2944697d0367a6f5598de5f7350aa4 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Fri, 3 Jul 2026 00:05:42 -0400 Subject: [PATCH] conductor(plan): mark Phase 4 expansion complete (E.1-E.5; 66 directives; aggregation script) --- .../state.toml | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/conductor/tracks/directive_hotswap_harness_20260627/state.toml b/conductor/tracks/directive_hotswap_harness_20260627/state.toml index a2f2d8e3..ff64de69 100644 --- a/conductor/tracks/directive_hotswap_harness_20260627/state.toml +++ b/conductor/tracks/directive_hotswap_harness_20260627/state.toml @@ -8,7 +8,7 @@ track_id = "directive_hotswap_harness_20260627" name = "Directive Hot-Swap Harness (OpenCode Directive Presets)" status = "active" -current_phase = 3 +current_phase = 4 last_updated = "2026-07-02" [blocked_by] @@ -22,7 +22,8 @@ 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 = "in_progress", checkpointsha = "", name = "Verification + End-of-Track (4 steps: dir structure verify + manual LLM verify + report + commit)" } +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 @@ -51,21 +52,48 @@ t3_1 = { status = "completed", commit_sha = "bbbfbd39", description = "Verify di 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/" } [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 -directive_count = 51 +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 3 complete (excluding §3.2 deferred)" +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." \ No newline at end of file +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)" \ No newline at end of file