Commit Graph
14 Commits
Author SHA1 Message Date
ed 5a3bf33841 conductor(plan): mark Phase 10 complete (ai_client Batch B; BC 9->0)
Phase 10: ai_client Batch B (9 INTERNAL_BROAD_CATCH sites migrated via 7 helpers).

Helpers added to src/ai_client.py:
- _list_gemini_models_result (site 1)
- _delete_gemini_cache_result (sites 2+3)
- _should_cache_gemini_result (site 4)
- _create_gemini_cache_result (site 5)
- _send_cli_round_result (site 6)
- _run_tier4_analysis_result (site 7)
- _run_tier4_patch_callback_result (site 8)
- _run_tier4_patch_generation_result (site 9)

Per-site decision (TIER1_REVIEW):
- Sites with broad except Exception + log/_append_comms: MIGRATE to Result[T]
- Site 6 with events.emit + raise: extract Result variant; inner re-raises
  original exception to preserve outer _send_gemini_cli catch flow
- Sites 7+9 with empty-default ('[XXX FAILED] {e}'): MIGRATE to Result[T]

Audit state (after Phase 10):
  mcp_client: 0 migration-target (Phase 3-8 complete)
  ai_client:  27 -> 18 migration-target
              BC: 9 -> 0 ✓
              SS: 11 (Phase 11)
              RETHROW: 6 (Phase 12; was 7; -1 from migration)
              COMPLIANT: 19 -> 27 (+8 from helpers)
  rag_engine: 9 migration-target (Phase 13)

Tests: 79 pass (47 prior + 32 Phase 10 site tests + 3 invariant).
2026-06-20 13:20:47 -04:00
ed 9a49a5ee5e conductor(plan): mark Phase 9 complete (Batch A: 8 BC sites; BC 17->9) 2026-06-20 11:11:48 -04:00
ed 0b003f6566 conductor(plan): mark Phase 8 complete (mcp_client SS+BC=0) 2026-06-20 10:57:15 -04:00
ed 6aa5b9fa57 conductor(plan): mark Phase 7 complete (Batch E: 8 BC sites; BC 9->3) 2026-06-20 10:15:49 -04:00
ed 05c4ed89f4 conductor(plan): mark Phase 6 complete (Batch D: 8 BC sites; BC 16->9) 2026-06-20 09:23:49 -04:00
ed 762ce7949a conductor(plan): mark Phase 5 complete (Batch C: 8 BC sites; BC 24->16) 2026-06-20 09:10:11 -04:00
ed 4d7c0f10f7 conductor(plan): mark Phase 4 complete (Batch B: 8 BC sites; BC 32->24) 2026-06-20 08:42:14 -04:00
ed 64f8840ed3 conductor(plan): mark Phase 3 complete (Batch A: 8 BC sites migrated) 2026-06-20 08:36:28 -04:00
ed 7713bf8ac3 conductor(plan): mark Phase 2 complete (4d391fd4) 2026-06-20 08:19:01 -04:00
ed d06c4fdb52 conductor(plan): mark Phase 1 complete (169a58d6) 2026-06-20 08:16:24 -04:00
ed cdcec0b917 conductor(plan): record t0_3 checkpoint SHA (c8e912f2) 2026-06-20 08:10:02 -04:00
ed c8e912f289 conductor(plan): mark Phase 0 complete (styleguide re-read + tracks.md active)
Phase 0 tasks:
- 0.1 (6dd41b3e): tracks.md row 32 -> 'active 2026-06-20'
- 0.2 (227253b1): TIER-2 READ error_handling.md end-to-end (ack commit)
- 0.3 (this): Phase 0 checkpoint + state.toml updates
2026-06-20 08:09:38 -04:00
ed 227253b150 TIER-2 READ conductor/code_styleguides/error_handling.md end-to-end before Phase 0 (Task 0.2 ack)
Re-read in full (989 lines). Key sections reviewed for this track:
- The 5 Patterns (Nil-Sentinel, Zero-Init, Fail Early, AND over OR, Side-Channel)
- Drain Points section (the 5 patterns: HTTP error response, GUI error display,
  intentional app termination, telemetry emission, bounded retry)
- The Broad-Except Distinction (broad+log = SILENT_SWALLOW violation)
- Re-Raise Patterns 1/2/3 (catch+convert, catch+log+reraise, catch+cleanup+reraise)
- AI Agent Checklist (5 MUST-DO + 7 MUST-NOT-DO + 3 boundary patterns)
- Rule #0: MUST READ THIS STYLEGUIDE FIRST
- The pre-commit gate (4 audit scripts in --strict mode)

Per Rule #0: this commit message acknowledges the read. The full styleguide
content was reviewed end-to-end before any code work in Phase 0.
2026-06-20 08:09:14 -04:00
ed e90167494e conductor(plan): initialize result_migration_baseline_cleanup_20260620 (sub-track 5)
Sub-track 5 of the 5-sub-track result_migration_20260616 umbrella.
Migrates the 3 baseline files (the convention reference) to be 100%
compliant with the data-oriented Result[T] convention. Completes the
campaign.

Scope: 88 migration-target sites across 3 source files (mcp_client.py
46 + ai_client.py 33 + rag_engine.py 9; total 231KB / 5917 lines).
41 sites stay as-is: 4 BOUNDARY_SDK (vendor SDK boundaries in ai_client),
9 INTERNAL_PROGRAMMER_RAISE (5 rag_engine + 4 ai_client, per sub-track 4
Phase 11 dunder-method heuristic), 28 INTERNAL_COMPLIANT.

Per the user directive (2026-06-20), this track uses the same anti-sliming
template as sub-track 4 (which was 'the first to ship without error
correction'). 14 phases cap each phase at <=9 migration sites with
explicit per-phase audit gates. The sliming-prone phases (Phase 8
mcp_client silent-swallow, Phase 11 ai_client silent-swallow, Phase 12
ai_client rethrow) explicitly forbid narrowing+logging and classify-
as-suspicious laundering.

The 14 phases:
  0. Setup + styleguide re-read (Tier 2 reads error_handling.md)
  1. 3-file inventory + classification (88 sites in 3 inventory docs)
  2. Audit gate baseline (3 baseline invariant tests)
  3-7. mcp_client Batches A-E (40 broad-catches, 5 batches of <=8 each)
  8. mcp_client silent-swallow + UNCLEAR (5 + 1 = 6 sites; anti-sliming)
  9-10. ai_client Batches A-B (17 broad-catches, 2 batches)
  11. ai_client silent-swallow (9 sites; anti-sliming)
  12. ai_client rethrow classification (7 sites; Pattern 1/2/3 or migrate)
  13. rag_engine migration (1 SS + 5 BC + 3 RETHROW = 9 sites)
  14. Audit gate + end-of-track report (campaign 100% complete)

Anti-sliming protocol per phase (same as sub-track 4):
  - Styleguide re-read at start of each phase (commit msg acknowledgment)
  - Per-site audit pre-check (capture before migration)
  - Red -> Green (1 commit per site)
  - Per-site audit post-check (capture after migration)
  - Phase invariant test (1 commit per phase)
  - 'If a site resists migration: DO NOT invent a heuristic. Report.'

The 3 baseline files are the convention reference; after this track,
the data-oriented Result[T] convention is fully applied to all 65
src/ files.

Files:
  - spec.md (263 lines, 11 sections; 22 VCs; 6 risks)
  - plan.md (562 lines, 14 phases, 121 tasks, 110+ atomic commits,
    anti-sliming protocol identical to sub-track 4)
  - metadata.json (22 VCs, 6 risks, scope)
  - state.toml (15 phases, 121 tasks, 29 verification entries)
  - tracks.md (new row 6d-5 in Active Tracks table)

Total: 5 files, ~2400 lines added (excluding tracks.md).
Next: Tier 2 picks up Phase 0 (setup + styleguide re-read) per the
task list in state.toml. Campaign 100% ready once this track ships.
2026-06-20 07:48:15 -04:00