Private
Public Access
0
0
Commit Graph

2274 Commits

Author SHA1 Message Date
ed fa488ccfc6 feat(directives): harvest 3 file/taxonomy directives from AGENTS.md + workflow.md 2026-07-02 22:02:35 -04:00
ed 462860de54 conductor(plan): Mark t1_5 complete 2026-07-02 22:01:25 -04:00
ed b5baaaaab7 feat(directives): harvest 5 code style directives from python.md + workflow.md + product-guidelines.md + AGENTS.md 2026-07-02 22:00:37 -04:00
ed a3e587280e conductor(plan): Mark t1_4 complete 2026-07-02 21:58:09 -04:00
ed 62fc04b172 feat(directives): harvest 3 type/data-structure directives + update boundary_layer_exception 2026-07-02 21:57:36 -04:00
ed 5ba69aaa6c conductor(plan): Mark t1_3 complete 2026-07-02 21:55:22 -04:00
ed 0340925d3e feat(directives): harvest 2 directives from error_handling.md (Result pattern + nil-sentinel) 2026-07-02 21:54:48 -04:00
ed ee36eaed9a conductor(plan): Mark t1_2 complete 2026-07-02 21:52:19 -04:00
ed 545ccee118 feat(directives): harvest 3 directives from tier3-worker.md §17.9 (import/aliasing/from_dict bans) 2026-07-02 21:51:48 -04:00
ed 64485a7859 conductor(plan): Mark t1_1 complete 2026-07-02 21:50:26 -04:00
ed f4dfb84681 feat(directives): harvest 7 directives from python.md §17.1-17.7 (banned patterns + boundary exception) 2026-07-02 21:49:13 -04:00
ed 41c8678b28 conductor(track): state.toml phase 0->1 + add Tier 3 dispatch prompt for Phase 1
state.toml: current_phase 0 -> 1; phase_1.status 'pending' -> 'in_progress';
last_updated 2026-06-27 -> 2026-07-02 (matches the drift-audit batch that
updated the plan/spec).

dispatch_tier3_phase1.md: surgical prompt for the Tier 3 worker that
will execute Phase 1 (lift 48 directives verbatim from the doc tree
into conductor/directives/ per the plan). Captures the 2026-07-02 drift-
audit findings so the harvester doesn't propagate stale refs (e.g.,
the corrected audit_optional_in_3_files.py naming; the corrected §17
line ranges; the corrected send() is canonical, not send_result()).
Includes STOP-AFTER-PHASE-1 rule so Phase 2 is NOT auto-dispatched.

Per conductor/workflow.md Tier 1 Orchestrator role: this is the
maximum responsibility I (Tier 1) take in this session — actual code
generation is delegated to Tier 2/3.
2026-07-02 21:35:18 -04:00
ed 3423cc35a0 docs(workflow): fix file sizes, provider count, mma_exec deprecation in TDD section
workflow.md Architecture Fallback section still claimed gui_2 260KB,
ai_client 116KB/5 providers, mcp_client 81KB, app_controller 166KB,
multi_agent_conductor 28KB+10KB, and 'src/models.py (132KB)
centralized registry'. All updated to current sizes + the shim
reality + 8-provider count + mcp_tool_specs split + the run_worker_
lifecycle subprocess template (not mma_exec.py).

Standard Task Workflow steps 4-5 (Delegate Test Creation / Delegate
Implementation) still used the deprecated 'python scripts/mma_exec.py
--role tier3-worker' invocation as the primary example. Updated to
'OpenCode Task tool with subagent_type: tier3-worker' as the canonical
mechanism, with mma_exec noted as DEPRECATED. Same fix applied to the
Phase Completion Verification step (Tier 4 QA Agent).
2026-07-02 19:35:27 -04:00
ed 8b7b8b96c7 docs(styleguides+harness-plan): fix stale models.py refs + harness plan line drift
Styleguides:
- agent_memory_dimensions.md: FileItem/ContextPreset line refs
  (src/models.py:510-559 / 909-937) -> src/project_files.py +
  src/context_presets.py (moved per module_taxonomy_refactor_20260627).
- config_state_owner.md: 'file I/O primitives in src/models.py' ->
  src/project_manager.py (the config-load/save helpers moved).
- python.md §10 NOT-exempt list: '12 per-aggregate types' -> ~19;
  'dataclass types in src/models.py' -> per-system files enumeration
  (mma.py, project_files.py, mcp_tool_specs.py, result_types.py,
  personas.py, workspace_manager.py, mcp_client.py).
- type_aliases.md: type-registry lookup examples updated to the
  per-system files (src_mma.md, src_project_files.md, etc.); the
  'src/models.py: 48 dataclass field types' worked-example line is
  flagged as historical (pre-refactor state).

Harness plan (directive_hotswap_harness_20260627/plan.md):
- §17 line refs corrected: 17.1 220-237 -> 247-264; 17.2 239-250 ->
  266-277; 17.3 252-272 -> 279-299; 17.4 274-299 -> 301-326; 17.5
  301-311 -> 328-338; 17.6 313-323 -> 340-350; 17.7 325-327 ->
  352-354; 17.9 336-409 -> 364-443.
- §17 master range 216-409 -> 243-473.
- §12 175-184 -> 202-211; §13 185-199 -> 212-224; §15 205-215 ->
  234-241.
- error_handling.md: hard rules 212-242 -> 212-264; boundary types
  274-311 -> 284-365.
- type_aliases.md: 40-81 -> 13-87 + 89-160 + 284-365 (the alias
  table + decision pattern 2.5 + boundary/anti-pattern sections).
2026-07-02 19:31:32 -04:00
ed 46f0ec152a docs(guides): fix stale src/models.py refs + line-number drift across 11 guides
Sweep of the per-source-file guides + Readme.md for stale references
to src/models.py as the data model home. models.py is now a ~1.5KB
re-export shim per module_taxonomy_refactor_20260627; dataclasses
moved to src/mma.py, src/project_files.py, src/type_aliases.py,
src/mcp_tool_specs.py, src/result_types.py, src/context_presets.py,
src/workspace_manager.py, src/personas.py.

- guide_gui_2.md: _gui_func line 754->1062; render_main_interface
  line 1259->1898.
- python.md §10 exemption table: App gui_2.py:307->314; AppController
  795->801; RAGEngine 123->125; HookServer 856->941;
  HookServerInstance 130->171; HookHandler 155->208;
  WebSocketServer 908->993.
- guide_multi_agent_conductor.md: Ticket now in src/mma.py (not
  models.py); ConductorEngine 116+->112+; WorkerPool 50-114->52-110.
- guide_agent_memory_dimensions.md: FileItem ref models.py:510-559
  -> src/project_files.py.
- guide_context_aggregation.md: FileItem + ContextPreset refs ->
  src/project_files.py + src/context_presets.py; ai_client _send_*
  count 5->8.
- guide_discussions.md: parse_history_entries now in src/mma.py;
  ContextPreset/FileItem cross-refs updated.
- guide_personas.md: Persona now in src/personas.py; import example
  updated.
- guide_rag.md: RAGConfig now in src/mcp_client.py.
- guide_workspace_profiles.md: WorkspaceProfile now in
  src/workspace_manager.py.
- guide_mma.md: Data Structures section notes src/mma.py as the live
  location.
- Readme.md: MMA Engine + Data Models rows updated for the
  models.py shim reality + 8 providers + mma_exec deprecation.
- guide_ai_client.md: '5 provider SDKs'->8 (added note); PROVIDERS
  line 56->62; __getattr__ re-export line 261->31; provider
  switching examples use real registered model names (claude-sonnet-
  4-5, MiniMax-M2, gemini-2.5-flash, qwen-plus, grok-2, llama-3.1);
  _provider union lists all 8 providers.
2026-07-02 19:25:33 -04:00
ed e80d2952bc docs(harness+conductor): cover 5 missing styleguides in harvest; cosmetic cleanups
directive_hotswap_harness_20260627/spec.md: added the 5 missing
conductor/code_styleguides/*.md files to the harvest source list
(config_state_owner, workspace_paths, test_sandbox, chroma_cache,
code_path_audit) — the original list named 9 of 14. Added note that
the harvester should verify each contains a harvestable directive
before creating v1.md. Also verified tier2-autonomous.md path
exists (17,940 bytes) for plan Step 2.7.

tech-stack.md: removed duplicate src/paths.py entry (the full
description at line 37 already covers it; the line-73 stub was
redundant).

edit_workflow.md: Key Files section now points to src/project_files.py
for FileItem (moved out of src/models.py per the module taxonomy
refactor) and notes the line ~2748 ref may drift.
2026-07-02 19:05:43 -04:00
ed e5a8a84381 docs(conductor): type_aliases count, tracks.md stale rows, index.md guide count
- product-guidelines.md: '10 aliases' -> core + extended per-aggregate
  dataclasses (Metadata, CommsLogEntry, ... PathInfo, FileItemsDiff,
  JsonPrimitive/JsonValue) reflecting the actual ~19 types in
  src/type_aliases.py.
- tracks.md: marked rows 2 (qwen_llama_grok), 3 (data_oriented_error
  handling), 17 (code_path_audit) as Completed per chronology.md
  (they were stale 'in progress' / 'ready to start'). Added cleanup
  note. data_structure_strengthening already dropped.
- index.md: '27 deep-dive guides' -> 41 (actual count in docs/);
  refreshed last doc-refresh date to 2026-07-02 with the drift-fix
  summary.
2026-07-02 19:02:35 -04:00
ed 84372a9ae0 docs(conductor): update provider count (8 not 5), file sizes, mcp_tool_specs split
product.md and tech-stack.md claimed 5 providers (missing qwen, grok,
llama), wrong file sizes (gui_2 260KB vs 437KB, ai_client 116KB vs
166KB, mcp_client 81KB vs 92KB, app_controller 166KB vs 240KB), and
described models.py as 132KB centralized registry. Updated to 8
providers, current sizes, and the mcp_tool_specs.py extraction.
Centralized Registry Management -> Per-System Registry Management
reflects the post-refactor reality (PROVIDERS in ai_client.py,
tool registry in mcp_tool_specs.py, models.py is a shim).
2026-07-02 18:59:54 -04:00
ed 9d1fef738a docs(styleguide): fix audit_optional_returns.py — script does not exist
python.md §17.8 and §17.10 listed audit_optional_returns.py as the
 implemented successor to audit_optional_in_3_files.py. Verified
via py_find_usages: audit_optional_returns does not exist in scripts/.
The live script is audit_optional_in_3_files.py (covers 4 baseline
files). Corrected the enforcement table + pre-commit workflow blocks.
2026-07-02 18:56:16 -04:00
ed 3ff759ad66 docs(api): fix backwards send_result claim — send() is canonical
product-guidelines.md claimed send_result() was canonical and send()
was removed. The reverse is true: send() is the live public API
returning Result[str, ErrorInfo]; send_result exists only as a local
var in _send_gemini_cli. Corrected the section and added a
reconciliation note. Also fixed guide_ai_client.md send() signature
to show -> Result[str] instead of -> str.
2026-07-02 18:55:20 -04:00
ed 2b4c6c7a56 conductor(chronology_v2): user sign-off recorded — track complete 2026-07-02 12:10:34 -04:00
ed a9b9cf3960 fix(chronology): final classifier — work commits OR 'complete' in messages = Completed; 0 evidence = Abandoned (200 Completed / 10 Abandoned / 0 Needs Review) 2026-07-02 09:33:02 -04:00
ed b803f56d58 fix(chronology): honest classifier — archive tracks without completion evidence are Needs Review (not completed, not abandoned) 2026-07-02 09:13:20 -04:00
ed 864100b4a7 fix(chronology): archive = completed (the git mv IS the completion signal; don't guess Abandoned) 2026-07-02 08:56:15 -04:00
ed 792dd7d430 fix(chronology): mark genuinely-ambiguous archive tracks as Needs Review instead of guessing Abandoned (work may be in src/ not track folder) 2026-07-02 08:24:25 -04:00
ed cc23a0586d fix(chronology): add 'mark as completed' + archive-move heuristic for old tracks without state.toml 2026-07-02 08:17:54 -04:00
ed ebd4704324 fix(chronology): respect state.toml status as override + plan-progression heuristic for old archive tracks 2026-07-02 08:14:30 -04:00
ed c6593278ab conductor(state): mark Phase 5 complete for chronology_v2_20260701 2026-07-01 23:55:21 -04:00
ed 5a0453b3b9 docs(workflow): add Chronology Maintenance section (regeneration cadence + quality gate obligation) 2026-07-01 23:54:30 -04:00
ed 342638e158 docs(tracks): de-gunk tracks.md — remove Phase 0-9 history + shipped rows; keep active queue + standby + pointer to chronology.md (941→90 lines) 2026-07-01 23:53:14 -04:00
ed 0ea6dc24f6 conductor(state): mark Phase 4 complete for chronology_v2_20260701 2026-07-01 23:51:33 -04:00
ed f5a08634b3 feat(chronology): regenerate chronology.md with v2 git-history classifier (closes 5-day desync gap) 2026-07-01 23:50:19 -04:00
ed fedfa6efc8 conductor(state): mark Phase 3 complete for chronology_v2_20260701 2026-07-01 23:33:02 -04:00
ed 9d8fc90415 conductor(state): mark Phase 2 complete for chronology_v2_20260701 2026-07-01 23:26:06 -04:00
ed 60ce940204 conductor(state): mark Phase 1 complete for chronology_v2_20260701 2026-07-01 23:21:27 -04:00
ed c1da0f9942 conductor(track): init chronology_v2_20260701 (spec + metadata + state + plan) 2026-07-01 23:19:42 -04:00
ed fefc152602 conductor(superpowers_review): remove chronology_20260619 blocker (superseded) 2026-07-01 23:18:50 -04:00
ed 0b00671b8b conductor(chronology): archive chronology_20260619 folder (superseded) 2026-07-01 23:18:23 -04:00
ed 1867d1c6f2 conductor(tracks): mark chronology_20260619 row as superseded 2026-07-01 23:18:01 -04:00
ed 2e52944b5f conductor(chronology): mark chronology_20260619 as superseded by chronology_v2_20260701 2026-07-01 23:17:29 -04:00
ed e5f37e7443 conductor(track): init mma_quarantine_rag_test_decoupling_20260701 (spec + metadata + state + tracks.md row)
Track artifacts for the MMA quarantine + RAG test decoupling effort.
Design doc lives at docs/superpowers/specs/ (historical record preserved).
Plan.md pending user spec approval.
2026-07-01 18:54:05 -04:00
ed ef6315135c Merge branch 'master' into tier2/default_layout_install_20260629 2026-06-29 22:22:49 -04:00
ed 410d81fb3f fix(track): correct line numbers in default_layout_extract spec/plan for master (not cruft branch)
The spec was drafted while the working tree was on tier2/post_module_taxonomy_de_cruft_20260627, but the track targets master. 2 line numbers were from the cruft branch, not master:
- src/commands.py reset_layout: spec said :342-378 + :371; master is :248-275 + :268
- src/command_palette.py: spec said 208 lines; master is 165 lines

Also added a Branch State Warning section documenting:
- main working tree is on tier2/post_module_taxonomy_de_cruft_20260627 (NOT master)
- module_taxonomy_refactor_20260627 + post_module_taxonomy_de_cruft_20260627 are NOT merged to master
- this track does NOT depend on those cruft tracks
- master worktree at C:\projects\manual_slop_master is the editing surface

All other line numbers (App._post_init:566, App.run:619, _run_immapp_result:691, _post_init_callback_result:1449, render_persona_editor_window:3433, orphan end_child:6990, paths.py themes:60/83/150/209-216/295) verified correct against master.
2026-06-29 22:18:25 -04:00
ed 466d26567b conductor(track): init default_layout_extract_20260629 (extract tier-2 good work + build hard 4-layer visual verification)
Plan (per user direction, hybrid approach C + single track):
1. Port layouts/default.ini + src/layouts.py fresh from tier-2 (clean history)
2. Cherry-pick c2155593 (orphan end_child) + 3b966288 (reset_layout)
3. Add _install_default_layout_* helpers + App.run + App._post_init wiring
4. Build 4 verification layers:
   - Layer 1: per-panel render sentinel (catches 'panel never opens')
   - Layer 2: Win32 PrintWindow pixel baseline (catches ALL visual regressions)
   - Layer 3: forced test viewport + theme env vars (makes baseline deterministic)
   - Layer 4: cannot-skip gates (standalone CLI + CI + VERIFIED-<date> tag)
5. Negative test proves the verification catches the original bug

Tier-2 commits NOT extracted:
- e9654518 (wrong-theory INI strip, superseded)
- 13ad9d3e 'idk' (meaningless)
- 28527851 'artifacts' (meaningless)
- 9437af6c (27 diagnostic scripts)
- 71028dad (drop stale src.command_palette import - tier-2 specific; master has the module so the import WORKS)

Scope: 9 phases, 36 tasks, ~36 atomic commits.
Files: 3 new (src/layouts.py, layouts/default.ini, tests/artifacts/visual_baseline_default.png, scripts/check_visual_baseline.py, docs/guide_visual_verification.md), 6 modified (src/gui_2.py, src/paths.py, src/commands.py, scripts/run_tests_batched.py, conductor/tracks.md, docs/Readme.md).

HARD verification: cannot be skipped. VERIFIED-<date> tag required for [x]-completion.
2026-06-29 21:59:52 -04:00
ed 4bf5ecd618 conductor(state): default_layout_install_followup_20260629 all phases complete + tracks.md row + parent state errata ref 2026-06-29 19:55:45 -04:00
ed 23566da830 Merge remote-tracking branch 'origin/master' into tier2/default_layout_install_20260629 2026-06-29 19:35:01 -04:00
ed 34538639c6 conductor(track): init default_layout_install_followup_20260629 (supersede e9654518 INI strip; restore [Docking] structure + DockId references)
Tier 2's e9654518 ('fix(layout): strip stale dockspace IDs from bundled INI;
force live-session apply') broke the bundled INI. Tier 2's theory was
wrong: they claimed HelloImGui computes DockSpace IDs dynamically and
auto-docks windows without DockId references. Reality:

  - When an INI exists, HelloImGui reads the literal DockSpace ID
    from the file and uses it (matches runtime-generated 2949142533
    per the SplitIds line in the user's working INI).
  - Without [Docking] children + per-window DockId lines, the dockspace
    is empty and windows float at Pos but get clipped by the full-screen
    dockspace. Result: zero panels render.

Empirical evidence (from this session, 2026-06-29):
  - User's working master manualslop_layout.ini: 2150 bytes,
    [Docking] with DockSpace ID=0xAFC85805 + 2 DockNode children
    + per-window DockId. All 9 default-visible panels render.
  - Tier 2's saved INI on tier2-clone/tier2/default_layout_install_20260629
    HEAD (post-e9654518): 1447 bytes, [Docking] with DockSpace +
    CentralNode=1 only, NO DockNode children, NO DockId. ZERO panels
    render. Empty workspace with just menu ribbon.

Track scope (4 phases, 22 tasks):
  Phase 1: replace layouts/default.ini with working structure (12
    default-visible windows with DockId=0x00000001,N or 0x00000002,N;
    [Docking] block with DockSpace ID=0xAFC85805 + 2 DockNode children;
    scrub stale 'Response' name + the 9 other _STALE_WINDOW_NAMES).
  Phase 2: flip tests/test_default_layout_install.py assertions
    (e9654518 inverted them: was asserting 'no [Docking] block' =
    good; should assert [Docking] + DockIds exist = good).
  Phase 3: append FOLLOWUP addendum to Tier 2's TRACK_COMPLETION
    documenting e9654518's wrong theory + this correction.
  Phase 4: empirical verify (spawn sloppy.py on fixed branch; observe
    12 panels render; no [GUI] WARNING: stale window names).

Preserve from e9654518:
  - Live-session imgui.load_ini_settings_from_memory() apply
    (src/gui_2.py:1478). That part IS correct: HelloImGui reads
    ini_filename BEFORE post_init fires, so the live re-apply is
    needed for same-session visibility.

Branch: fix lands as 3 fixup commits on
tier2-clone/tier2/default_layout_install_20260629 (no new branch).

TDD red-first per task. NO day estimates per workflow.md Tier 1
Track Initialization Rules. No new src/<thing>.py files (the fix
modifies layouts/default.ini + the existing tests + a doc report).

Empirical: see Image 1 vs Image 2 comparison captured in this session
(screenshots in opencode-minimax-vision/); working main repo has
panels, tier 2 branch has empty workspace.
2026-06-29 19:33:50 -04:00
ed 4acf8b15fa conductor(plan): Mark Phase 4 tasks 4.3-4.6 complete (checkpoint commit + tracks.md row + plan SHAs) 2026-06-29 16:58:56 -04:00
ed cf6a2e20d8 conductor(tracks): add default_layout_install_20260629 to recently-shipped [7577d7d/35f22e4d/f3cd7bc2/3d87f8e7/3b966288] 2026-06-29 16:54:05 -04:00
ed b80e5afb62 conductor(plan): Mark Phase 4 tasks 4.1 + 4.4 complete (17/17 tests PASSED, phase checkpoints appended) 2026-06-29 16:51:56 -04:00