Skip to content

v0.99.0

Choose a tag to compare

@github-actions github-actions released this 11 May 21:55

Changelog

  • b0e8e60 Add 11 collision-specific error codes (C001-C099)
  • f40cc6b Add CheckCallers and ListErrorRanges to pkg/protocol
  • caa1917 Add CheckIMPLConflictsWaveLevel and WaveConflictReport types
  • a86a067 Add CodeToolAlreadyRegistered constant
  • b93e801 Add CriticGatePasses helper for E37 enforcement
  • 74dde82 Add DetectWiring function for cross-agent call detection
  • 4cb9810 Add E37 critic gate enforcement to PrepareTier
  • 4f7e6b2 Add E37 critic gate enforcement to prepare-wave CLI
  • 2e52691 Add ErrorClass, ClassifyError, SuggestFixes to pkg/retry
  • 4e819e7 Add FindWave/FindAgent/FindWaveWithAgent helpers and extract isAgentAlreadyMerged
  • 3fb2b00 Add GetDiffStats function for diff statistics analysis
  • ee6b00b Add I001-I099 agent ID generation error codes
  • deab863 Add InjectionMethod and ContextSource types with enum validators
  • 8ed7e37 Add LoadTypePromptWithRefs helper and fix prompt path bugs in runner.go
  • a40517d Add LoadYAML/SaveYAML helpers and refactor memory.go to use them
  • f3352d0 Add N015/N016/N017/B008/P007 error code constants to pkg/result/codes.go
  • 0213694 Add Phase and ParallelGroup fields to QualityGate struct
  • 025fb97 Add RetryAttempt type and BuildRetryAttempt/BuildPromptText to pkg/retry
  • f2f555c Add SerialWaves to ProgramIMPL and wire wave-level conflict detection into GenerateProgramFromIMPLs
  • ab2740a Add TestExtractCommands wrapper test
  • 73e8641 Add V036-V046 and W002 error code constants to pkg/result/codes.go
  • 08a2c73 Add V048Exempt field to FileOwnership to skip per-agent LOC budget check
  • af93ba1 Add cache error codes K001-K099 to pkg/result/codes.go
  • 367dd5e Add check-callers, list-error-ranges, suggest-wave-structure CLI commands
  • a881943 Add command extraction error codes (E001-E006) and update CIParser/BuildSystemParser interfaces to return Result[T]
  • df51325 Add comprehensive tests for executor implementations
  • d8ec88a Add context.Context to AmendImpl and propagate through helper functions
  • 433c720 Add context.Context to CheckAgentComplexity, CheckAgentLOCBudget, DetectOwnershipConflicts, PredictConflictsFromReports
  • f44a517 Add context.Context to DetectCascades and DetectSharedTypes
  • 19f03d3 Add context.Context to RunBaselineGates and RunCrossRepoBaselineGates
  • f9cfd76 Add context.Context to pkg/collision.DetectCollisions and propagate to callers
  • a5acba5 Add ctx context.Context to UpdateContext in pkg/protocol
  • ebc9638 Add ctx context.Context to VerifyDependenciesAvailable
  • 6568587 Add dependency check error codes (D001-D099)
  • f4f40e2 Add detect-wiring CLI command
  • 2314227 Add enhanced conflict prediction with auto-merge capability
  • f8d47b9 Add fast-fail I1 check early in PrepareWave
  • 4f366a0 Add isCrossImplSerialWaveBlocked and wave-number-first tier execution loop
  • 4d02ba7 Add logger injection to Cleanup function
  • 7f1b506 Add logger injection to CreateProgramWorktrees
  • 97ddd73 Add logger injection to CreateWorktrees
  • 1dd977e Add logger injection to MergeAgents function
  • b255ab9 Add logger injection to PrepareAgentContext and loadJournalEntries
  • 8646322 Add logger injection to RunStubScan and update call site
  • babc359 Add logger injection to pkg/protocol/gates.go
  • 1154665 Add logger parameter to ClassifyWorktrees and isWorktreeDirty
  • 8b2fa14 Add new error code constants and replace inline strings in gatecache
  • fe47b88 Add resolveIMPLPathOrAbs and update CheckIMPLConflicts for cross-repo path support
  • d0848ba Add retry error codes and replace hardcoded error strings
  • 19927d2 Add run-integration-agent CLI command
  • b21f96c Add scaffold validation error codes (SV01-SV05)
  • 466fda5 Add set-injection-method command and context_source detection in prepare-agent
  • 1d74b2d Add thread-safety to gatecache with mutex protection
  • 9fcf02a Add wave-level conflict integration tests for create-program cmd
  • ee9f273 Add wire-manager-lifecycle IMPL doc
  • 07939af Add wrapper test coverage and doc comments
  • c8a7a8a Archive engine-cleanup-remaining IMPL
  • 24a6a7a Archive retry-unification IMPL — pkg/retry now owns ErrorClass, RetryAttempt, BuildRetryAttempt; pkg/retryctx shimmed
  • 9412e43 Canonicalize error codes in worktree/cleanup/build/program-tier files
  • 64712b5 Canonicalize observer.go: result types, J-codes, unexport payload types, RawAgentID, hash fix
  • d4ee0f7 Change ExecuteTool to return (string, error) with ErrToolNotFound sentinel
  • 1d63f87 Clarify orchestrator transitions.go as private FSM, not protocol-level SM-02
  • e973ea1 Delete ValidateSM02TransitionGuards and TransitionTo from manifest.go
  • 1643af5 Engine cleanup: stdlib replacements, remove duplicate sentinel, fix error wrapping
  • 09f16aa Export slug/path/tier functions; add BuildFileOwnershipMap
  • 5a3f8a4 Expose cross-repo path support in create-program and check-impl-conflicts CLI
  • 57762da Extend E35 detection to identify test file cascade candidates
  • 84d3162 Fix CheckIMPLConflictsWaveLevel to use resolveIMPLPathOrAbs for absolute path support
  • 1140b75 Fix IMPL slug fallback to strip IMPL- prefix and .yaml suffix from filename
  • be9a85a Fix P0 runtime bugs in language parser helpers: javascript.go, python.go, rust.go
  • 1059165 Fix ParseProgramManifest to strip SAW:PROGRAM:COMPLETE marker before YAML parsing
  • b0820ab Fix error wrapping in update-program-impl and update-program-state cmds
  • be16faa Fix post-merge test failures from worktree.New validation
  • 5120c83 Fix prepare-wave deadlock on gitignored tracked files
  • 46f9ca5 Fix prepare-wave/finalize-wave for program IMPL branch context
  • 0387aa8 Fix test breakage from contains() removal: replace with strings.Contains()
  • e6f01bc Go Engine Enhancements program complete (3 IMPLs, 2 tiers)
  • 71507da Merge Agent B: types.go LockFileParser interface migration
  • 6325fc0 Merge Agent C changes (parser implementations only)
  • 0766da9 Merge Agent C: D001-D099 error codes
  • 83129cf Merge Agent D: gosum.go + packagelock.go Result[T] migration
  • b96bac7 Merge Agent E: cargolock.go + helpers.go extraction
  • 95c19a6 Merge Agent F: poetrylock.go Result[T] migration + bug fixes
  • 23bb062 Merge Agent H: checker_test.go helper tests + Result[T] updates
  • a4e43a3 Merge Wave 1: Fix pkg/collision review findings
  • a4f8968 Merge branch 'saw/commands-review-fixes/wave1-agent-A'
  • 3d5b2c5 Merge branch 'saw/commands-review-fixes/wave1-agent-B'
  • 4f4bb8e Merge branch 'saw/critic-gate-fixes/wave1-agent-B'
  • 4e042ac Merge branch 'saw/critic-gate-fixes/wave1-agent-C'
  • 94c1d1b Merge branch 'saw/engine-review-fixes/wave3-agent-K'
  • 37fb1ab Merge branch 'saw/engine-review-fixes/wave3-agent-L'
  • 9eee58a Merge branch 'saw/engine-review-fixes/wave3-agent-M'
  • 7085a9b Merge branch 'saw/pkg-deps-review-fixes/wave1-agent-A'
  • 047e642 Merge branch 'saw/pkg-deps-review-fixes/wave1-agent-G'
  • c0fc15f Merge branch 'saw/result-type-migration/wave1-agent-A'
  • b5c8234 Merge branch 'saw/run-critic-stderr/wave1-agent-B' into saw/program/prepare-tier-batching-and-run-critic-stderr/tier1-impl-run-critic-stderr
  • 9aaa0e4 Merge branch 'saw/tools-review-fixes/wave2-agent-B'
  • 9aeb1ec Merge branch 'saw/tools-review-fixes/wave2-agent-E'
  • 72ac410 Merge branch 'saw/tools-review-fixes/wave2-agent-F'
  • cfadb38 Merge branch 'saw/workspace-manager/wave1-agent-B'
  • 3090f6c Merge branch 'saw/workspace-manager/wave1-agent-D'
  • 623de1f Merge branches 'saw/autonomy-review/wave1-agent-A', 'saw/autonomy-review/wave1-agent-B' and 'saw/autonomy-review/wave1-agent-C'
  • f08cae4 Merge branches 'saw/hooks-review-fixes/wave1-agent-A', 'saw/hooks-review-fixes/wave1-agent-B', 'saw/hooks-review-fixes/wave1-agent-C' and 'saw/hooks-review-fixes/wave1-agent-D'
  • f6e8ee5 Merge branches 'saw/result-type-migration/wave1-agent-B', 'saw/result-type-migration/wave1-agent-C', 'saw/result-type-migration/wave1-agent-D', 'saw/result-type-migration/wave1-agent-E', 'saw/result-type-migration/wave1-agent-F', 'saw/result-type-migration/wave1-agent-G', 'saw/result-type-migration/wave1-agent-H' and 'saw/result-type-migration/wave1-agent-H2'
  • 03ea51c Merge program tier 1 impl collision-fixes: saw/program/config-hardening-and-collision-fixes-and-commands-fixes/tier1-impl-collision-fixes
  • b597b35 Merge program tier 1 impl commands-fixes: saw/program/config-hardening-and-collision-fixes-and-commands-fixes/tier1-impl-commands-fixes
  • cd5ed6a Merge program tier 1 impl config-hardening: saw/program/config-hardening-and-collision-fixes-and-commands-fixes/tier1-impl-config-hardening
  • ec0af12 Merge program tier 1 impl create-program-cross-repo: saw/program/create-program-cross-repo-and-program-wave-conflict-and-engine-reference-injection/tier1-impl-create-program-cross-repo
  • 54ca7ac Merge program tier 1 impl engine-reference-injection: saw/program/create-program-cross-repo-and-program-wave-conflict-and-engine-reference-injection/tier1-impl-engine-reference-injection
  • 41647c8 Merge program tier 1 impl run-critic-stderr: saw/program/prepare-tier-batching-and-run-critic-stderr/tier1-impl-run-critic-stderr
  • f9dcb9a Merge program tier 2 impl program-wave-conflict: saw/program/create-program-cross-repo-and-program-wave-conflict-and-engine-reference-injection/tier2-impl-program-wave-conflict
  • ad9e0ee Merge saw/agent-deep-review-fixes/wave1-agent-A: ## Role Fix ExecuteTool signature and add error di
  • 85f2a8b Merge saw/agent-deep-review-fixes/wave1-agent-B: ## Role Extract shared BuildWorkshop helper and fi
  • 6d1716e Merge saw/agent-deep-review-fixes/wave2-agent-C: ## Role Fix API backend issues: race condition, si
  • 01e3dce Merge saw/agent-deep-review-fixes/wave2-agent-D: ## Role Fix Bedrock backend issues: nil pointer, t
  • e830d34 Merge saw/agent-deep-review-fixes/wave2-agent-E: ## Role Fix OpenAI backend issues: streaming lengt
  • 25f0984 Merge saw/agent-deep-review-fixes/wave2-agent-F: ## Role Fix CLI backend issues: duplicate code ext
  • fb3e6d9 Merge saw/agent-deep-review-fixes/wave2-agent-G: ## Role Add dedup middleware edge case tests.
  • 74d7596 Merge saw/analyzer-review-fixes/wave1-agent-A: ## Role Add Z-domain error code constants to pkg/r
  • 6b478b7 Merge saw/analyzer-review-fixes/wave1-agent-B: ## Role Fix P0 runtime bugs in language parser hel
  • 3c07c6e Merge saw/analyzer-review-fixes/wave2-agent-C: ## Role Migrate analyzer.go to result.Result[T]; f
  • 8294d2e Merge saw/analyzer-review-fixes/wave2-agent-D: ## Role Migrate graph.go to result.Result[T]; add
  • 260e767 Merge saw/analyzer-review-fixes/wave2-agent-E: ## Role Migrate cascade.go and output.go to result
  • a325006 Merge saw/analyzer-review-fixes/wave3-agent-F: ## Role Migrate shared_types.go and wiring.go to r
  • 1c0aac4 Merge saw/analyzer-review-fixes/wave3-agent-G: ## Role Delete AnalyzeDeps (P1-7); migrate deps_te
  • 96f1629 Merge saw/audit-findings-unification/wave1-agent-A: ## Finding 3: Merge RetryResult into RetryAttempt
  • 51ba5e0 Merge saw/audit-findings-unification/wave1-agent-B: ## Finding 6: CompletionReport.Status typed enum
  • ef47438 Merge saw/audit-findings-unification/wave1-agent-C: ## Finding 7: Validation entry-point documentation
  • 0b49c17 Merge saw/audit-findings-unification/wave2-agent-D: ## Finding 6 callers: pkg/orchestrator/ and pkg/en
  • aa54b25 Merge saw/audit-findings-unification/wave2-agent-E: ## Finding 6 callers: remaining pkg/protocol/ and
  • 029edb8 Merge saw/audit-findings-unification/wave2-agent-F: ## Finding 10: Error wrapping in cmd/sawtools/ ##
  • 2f1c8c1 Merge saw/audit-findings-unification/wave2-agent-G: ## Finding 6 callers: pkg/interview/ and remaining
  • 2c2bb89 Merge saw/between-wave-integration-hotfix/wave1-agent-A: ## Agent A: Add Error Codes for Caller Cascade Hot
  • f4cb495 Merge saw/between-wave-integration-hotfix/wave1-agent-B: ## Agent B: Implement CallerCascadeError Classific
  • ec15883 Merge saw/between-wave-integration-hotfix/wave1-agent-C: ## Agent C: Add StepClassifyCallerCascade to final
  • 55e0ebd Merge saw/between-wave-integration-hotfix/wave3-agent-E: ## Agent E: Update CLI Reference Documentation
  • 99c6b6e Merge saw/between-wave-integration-hotfix/wave3-agent-G: ## Agent G: Update CHANGELOG
  • 01e13ea Merge saw/cli-thin-adapter/wave1-agent-A: ## Agent A: debug_journal — thin adapter refacto
  • e10e805 Merge saw/cli-thin-adapter/wave1-agent-B: ## Agent B: verify_install — thin adapter refact
  • c4d6874 Merge saw/cli-thin-adapter/wave1-agent-C: ## Agent C: run_scout_cmd — thin adapter refacto
  • 2aa2179 Merge saw/cli-thin-adapter/wave1-agent-D: ## Agent D: run_critic_cmd — thin adapter refact
  • d0d27f2 Merge saw/cli-thin-adapter/wave1-agent-E: ## Agent E: mark_program_complete_cmd — thin ada
  • 09446f4 Merge saw/cli-thin-adapter/wave1-agent-F: ## Agent F: import_impls_cmd — thin adapter refa
  • 4c39f5c Merge saw/cli-thin-adapter/wave1-agent-G: ## Agent G: prepare_agent — thin adapter refacto
  • da962c5 Merge saw/cli-thin-adapter/wave1-agent-H: ## Agent H: init_cmd — thin adapter refactor
  • 6e0de46 Merge saw/commands-fixes/wave1-agent-A: Fix two bugs in pkg/commands/makefile.go.
  • 51e9fc8 Merge saw/commands-fixes/wave1-agent-D: Fix the deprecated strings.Title usage in `pkg/p
  • ee53472 Merge saw/commands-review-fixes/wave2-agent-D: Objective: Update extractor.go to return Resul
  • f3d7d9d Merge saw/completion-report-unification/wave1-agent-A: ## Context
  • a0669fc Merge saw/completion-report-unification/wave1-agent-B: ## Context
  • c730905 Merge saw/completion-report-unification/wave2-agent-C: ## Context
  • 3eabe79 Merge saw/completion-report-unification/wave2-agent-D: ## Context
  • af308be Merge saw/completion-report-unification/wave2-agent-E: ## Context
  • c9e23e3 Merge saw/config-hardening/wave1-agent-A: ## Context You are fixing 4 issues found during a
  • ae30d69 Merge saw/config-hardening/wave1-agent-B: ## Context You are fixing 3 issues found during a
  • 9be02af Merge saw/config-hardening/wave1-agent-C: ## Context You are fixing issue 4 from a code revi
  • a186d8d Merge saw/config-package-review/wave1-agent-A: ## Objective Review pkg/config/config.go and `co
  • fa1134f Merge saw/config-package-review/wave1-agent-B: ## Objective Review pkg/config/state.go and `sta
  • 57994e0 Merge saw/config-package-review/wave1-agent-C: ## Objective Review `pkg/agent/backend/configfile.
  • 9cbf69d Merge saw/context-injection-observability/wave2-agent-B: ## Context You are Agent B in Wave 2 of the contex
  • 05a9785 Merge saw/context-propagation/wave1-agent-A: # Wave 1 Agent A: Remove ctx from LoadYAML/SaveYAM
  • cbaaf02 Merge saw/context-propagation/wave1-agent-B: # Wave 1 Agent B: Add ctx to core protocol functio
  • cd51fd1 Merge saw/context-propagation/wave6-agent-B2: Add context.Context parameter to engine scout and
  • 5c66af7 Merge saw/context-propagation/wave6-agent-C2: Add context.Context parameter to engine critic fun
  • 61afdbb Merge saw/context-propagation/wave6-agent-D2: Add context.Context parameter to engine finalizati
  • 898fccd Merge saw/context-propagation/wave6-agent-E2: Add context.Context parameter to engine preparatio
  • 2deddf7 Merge saw/create-program-cross-repo/wave1-agent-A: ## Context You are implementing cross-repo IMPL pa
  • 17f5ea2 Merge saw/create-program-cross-repo/wave1-agent-B: ## Context You are updating the PROGRAM generator
  • 24c3ad1 Merge saw/e11-smart-merge-strategies/wave2-agent-B: ## Agent B — finalize_steps.go: Auto-Merge Orche
  • 8f1b14e Merge saw/engine-cleanup-remaining/wave1-agent-A: ## Context You are implementing Area 1 of the engi
  • 4e0a9ee Merge saw/engine-cleanup-remaining/wave1-agent-B: ## Context You are implementing Area 3 (partial) o
  • 456e72e Merge saw/engine-cleanup-remaining/wave1-agent-C: ## Context You are implementing Area 3 (partial) o
  • b27ed4f Merge saw/engine-cleanup-remaining/wave2-agent-D: ## Context You are implementing the Area 1 protoco
  • 2aca1a6 Merge saw/engine-cleanup-remaining/wave2-agent-E: ## Context You are implementing the Area 1 protoco
  • e969ba9 Merge saw/engine-cleanup-remaining/wave2-agent-F: ## Context You are implementing the Area 1 protoco
  • a1ab370 Merge saw/engine-doc/wave1-agent-A: ## Role You are a documentation agent. Add or impr
  • 7f67b65 Merge saw/engine-doc/wave1-agent-B: ## Role You are a documentation agent. Add or impr
  • ee40251 Merge saw/engine-doc/wave1-agent-C: ## Role You are a documentation agent. Extend pkg/
  • 9e3863c Merge saw/engine-review-fixes/wave1-agent-A: ## Role Fix P0-1: process-wide SAW_ALLOW_MAIN_COMM
  • bda537c Merge saw/engine-review-fixes/wave1-agent-B: ## Role Fix P0-2 (nil deref panic in StepRunGates)
  • 194e955 Merge saw/engine-review-fixes/wave1-agent-C: ## Role Fix P0-4: E37 violated — critic ISSUES v
  • 50663ed Merge saw/engine-review-fixes/wave1-agent-D: ## Role Fix P0-5: E26 violated — integration age
  • e971a88 Merge saw/engine-review-fixes/wave1-agent-E: ## Role Fix P0-6, P0-7, P0-8 in program_tier_loop.
  • 7ba5af4 Merge saw/engine-review-fixes/wave2-agent-F: ## Role Migrate prepare_agent.go to result.Result[
  • 729cbcd Merge saw/engine-review-fixes/wave2-agent-G: ## Role Migrate finalize_tier.go and finalize_impl
  • d514813 Merge saw/engine-review-fixes/wave2-agent-H: ## Role Migrate run_wave_atomic.go, run_wave_full.
  • 26f65f2 Merge saw/engine-review-fixes/wave4-agent-N: ## Role Add new error code constants to pkg/result
  • 4fc2120 Merge saw/engine-review-fixes/wave4-agent-O: ## Role Delete dead code: engine/gate_cache.go and
  • 9a792f3 Merge saw/engine-review-fixes/wave4-agent-P: ## Role Fix doc.go (stale/wrong examples) and gowo
  • 4bf5d65 Merge saw/engine-review-fixes/wave4-agent-Q: ## Role Fix protocol documentation drift: undefine
  • 1b9e459 Merge saw/engine-review-fixes/wave5-agent-R: ## Role Fix struct/API inconsistencies in runner_d
  • d2175fe Merge saw/engine-review-fixes/wave5-agent-S: ## Role Fix chat.go (duplicate provider routing),
  • 797be7b Merge saw/engine-review-fixes/wave5-agent-T: ## Role Fix context.TODO() in resolve_conflicts.go
  • 0b233bf Merge saw/engine-review-fixes/wave5-agent-U: ## Role Update all cmd/sawtools callers broken by
  • c73a44d Merge saw/engine-unification/wave1-agent-A: ## Issue 4: Make result.GetData() safe (no panic)
  • 0dc484f Merge saw/engine-unification/wave1-agent-B: ## Issue 5: Clarify gate function hierarchy in pkg
  • 0f26693 Merge saw/engine-unification/wave2-agent-C: ## Issue 2: Canonical FinalizeWaveResult + Issue 1
  • 5e26f75 Merge saw/engine-unification/wave2-agent-D: ## Issue 3: Delete orchestrator.RunQualityGates de
  • 9461456 Merge saw/engine-unification/wave3-agent-E: ## Issue 1: Rewrite CLI finalize_wave.go as thin a
  • 2ec3592 Merge saw/error-code-unification/wave1-agent-A: ## Context You are implementing Wave 1 of the erro
  • ffeba9e Merge saw/error-code-unification/wave2-agent-B: ## Context Wave 1 (Agent A) has added new constant
  • 1475b80 Merge saw/error-code-unification/wave2-agent-C: ## Context Wave 1 (Agent A) has added new V-series
  • 114fef2 Merge saw/error-code-unification/wave2-agent-D: ## Context Wave 1 (Agent A) has added new V/W-seri
  • 1c8d50e Merge saw/error-code-unification/wave2-agent-E: ## Context Wave 1 (Agent A) has added new V-series
  • 4f0620f Merge saw/error-code-unification/wave2-agent-F: ## Context Wave 1 (Agent A) confirmed result.CodeT
  • 5f2bcb2 Merge saw/error-code-unification/wave2-agent-G: ## Context Wave 1 (Agent A) has added new V-series
  • 003c462 Merge saw/errparse-deep-review-fixes/wave1-agent-A: ## Go Parser Registration and Cleanup
  • 04ddd2b Merge saw/errparse-deep-review-fixes/wave1-agent-B: ## JS Parser Registration and Cleanup
  • 2fa3bd7 Merge saw/errparse-deep-review-fixes/wave1-agent-C: ## Python Parser Registration and Pointer-to-Slice
  • e1994c4 Merge saw/errparse-deep-review-fixes/wave2-agent-D: ## Registration Tests, Integration Tests, and Pars
  • 6f6d4f6 Merge saw/final-cleanup/wave1-agent-A: ## Agent A — resolveAgentBranch wiring + manifes
  • 642b3a6 Merge saw/final-cleanup/wave1-agent-B: ## Agent B — %w sweep verification
  • eb6c9f6 Merge saw/finalize-tier-thick-orchestrator/wave1-agent-A: add FinalizeTierEngine thick orchestrator
  • 296ecb7 Merge saw/finalize-wave-gate-routing/wave1-agent-A: ## Overview
  • 5c099d0 Merge saw/friction-fixes-phase1-execution/wave1-agent-A: ## Agent A: Create CriticGatePasses Helper (F2 SDK
  • 5f12c1a Merge saw/friction-fixes-phase1-execution/wave1-agent-D: ## Agent D: Fix F3 (REVIEWED → COMPLETE State Tr
  • f8227ba Merge saw/friction-fixes-phase1-execution/wave1-agent-E: ## Agent E: Implement F4 (Cross-Repo finalize-wave
  • 222ae7e Merge saw/friction-fixes-phase1-execution/wave2-agent-B: ## Agent B: Update prepare-wave CLI for F2 (E37 Se
  • 5d8432f Merge saw/friction-fixes-phase1-execution/wave2-agent-C: ## Agent C: Update prepare-tier SDK for F2 (Auto M
  • 02015c9 Merge saw/friction-fixes-phase2/wave1-agent-A: ## Role Fix prepare-wave --commit-state to default
  • f8aae61 Merge saw/friction-fixes-phase2/wave1-agent-B: test: add BackendAgentTool tests for run-critic command
  • ce2dbfa Merge saw/gatecache-review/wave1-agent-A: Goal: Migrate Cache.Get to Result[GetData] pat
  • e56e9d3 Merge saw/gatecache-review/wave1-agent-B: Goal: Update tests to match new Get signature
  • add4a1f Merge saw/gatecache-review/wave1-agent-C: Goal: Add cache-related error codes to pkg/res
  • faf1f34 Merge saw/git-subprocess-unification/wave1-agent-A: ## Context
  • 8f861c7 Merge saw/git-subprocess-unification/wave1-agent-B: ## Context
  • 0309007 Merge saw/git-subprocess-unification/wave2-agent-C: ## Context
  • 5606123 Merge saw/git-subprocess-unification/wave2-agent-D: ## Context
  • 6291630 Merge saw/git-subprocess-unification/wave2-agent-E: ## Context
  • 16ffbf8 Merge saw/go-engine-deduplication/wave1-agent-A: ## Context
  • dc89bfc Merge saw/go-engine-deduplication/wave1-agent-B: ## Context
  • f870b8a Merge saw/go-engine-deduplication/wave1-agent-C: ## Context
  • ba33bb4 Merge saw/go-engine-deduplication/wave1-agent-D: ## Context
  • b1bb6d4 Merge saw/hooks-bug-fixes/wave1-agent-A: Fix bugs 1, 2, 3, 6, 7, and 8 in pkg/hooks/prelaun
  • 0c3f911 Merge saw/hooks-bug-fixes/wave1-agent-B: Fix bugs 4, 5, and 9 in pkg/hooks/scout_boundaries
  • 3716c4a Merge saw/i1-enforcement-multi-level/wave1-agent-A: Role: Add duplicate file ownership check to E1
  • cf17ed9 Merge saw/i1-enforcement-multi-level/wave1-agent-B: Role: Add fast-fail I1 check early in PrepareW
  • 3cbd6aa Merge saw/idgen-review-fixes/wave1-agent-A: ## Task: Define I001-I099 error codes for agent ID
  • 11b386b Merge saw/idgen-review-fixes/wave1-agent-B: ## Task: Migrate AssignAgentIDs to Result[[]string
  • bafc1ce Merge saw/integration-agent-cli-workflow/wave1-agent-A: # Agent A: run-integration-agent CLI Command
  • 2aa5336 Merge saw/integration-agent-cli-workflow/wave1-agent-B: # Agent B: run-integration-wave CLI Command
  • b30f1ed Merge saw/integration-agent-cli-workflow/wave1-agent-C: # Agent C: Enhanced finalize-wave Guidance + Comma
  • a74aeb4 Merge saw/interview-review-fixes/wave1-agent-A: add N089/N090 interview error codes
  • 5d48ade Merge saw/interview-review-fixes/wave1-agent-B: update Manager interface and add data structs
  • c537223 Merge saw/journal-bug-fixes/wave1-agent-A: Fix two bugs in pkg/journal/observer.go. Do NOT
  • f62fe11 Merge saw/journal-bug-fixes/wave1-agent-B: Fix two bugs in pkg/journal/checkpoint.go. Do NO
  • fe47d6b Merge saw/journal-bug-fixes/wave1-agent-C: Fix two bugs in pkg/journal/archive.go. Do NOT c
  • eb41f4f Merge saw/journal-bug-fixes/wave1-agent-D: Fix one bug in pkg/journal/context.go. Do NOT ch
  • 23f448b Merge saw/journal-integration/wave1-agent-A: Role: Wire journal context recovery into the o
  • b3d42d4 Merge saw/journal-integration/wave1-agent-B: Role: Wire journal context recovery into the R
  • 153db7e Merge saw/journal-integration/wave1-agent-C: Role: Surface journal context availability in
  • dacf13a Merge saw/journal-review-fixes/wave1-agent-A: ## Task: Add J-range error code constants to pkg/r
  • 0cc42cc Merge saw/journal-review-fixes/wave2-agent-B: ## Task: Canonicalize archive.go — error codes,
  • 4903a25 Merge saw/journal-review-fixes/wave2-agent-C: ## Task: Canonicalize checkpoint.go — error code
  • c0a6c46 Merge saw/journal-review-fixes/wave2-agent-D: ## Task: Canonicalize context.go — unexport 4 ty
  • 67673fe Merge saw/journal-review-fixes/wave3-agent-E: ## Task: Canonicalize observer.go — error codes,
  • 6d4007b Merge saw/logging-injection-remaining/wave2-agent-F: ## Task: Update pkg/orchestrator/stubs.go to pass
  • f86fa6d Merge saw/logging-injection-remaining/wave2-agent-G: ## Task: Update pkg/orchestrator/journal_integrati
  • b0771df Merge saw/logging-injection-remaining/wave2-agent-H: ## Task: Update pkg/resume/worktree_status.go to p
  • 57f634e Merge saw/miscellaneous-cleanup/wave1-agent-A: You are Wave 1 Agent A. Your task is Issue 19 from
  • 0942e77 Merge saw/miscellaneous-cleanup/wave1-agent-B: You are Wave 1 Agent B. Your task covers Issue 12
  • 05767e0 Merge saw/miscellaneous-cleanup/wave1-agent-C: You are Wave 1 Agent C. Your task is Issue 20 from
  • c133eb6 Merge saw/notify-bug-fixes/wave1-agent-A: ## What to implement
  • dfd108a Merge saw/notify-bug-fixes/wave1-agent-B: ## What to implement
  • 07c1c31 Merge saw/notify-bug-fixes/wave2-agent-C: ## What to implement
  • 381007f Merge saw/notify-deep-review-fixes/wave1-agent-A: ## Role Fix Slack adapter bugs and add missing bot
  • 8e1629e Merge saw/notify-deep-review-fixes/wave1-agent-B: ## Role Fix Discord and Telegram adapters: populat
  • de3ba1a Merge saw/notify-deep-review-fixes/wave1-agent-C: ## Role Fix README documentation and add missing r
  • 5c2ac7c Merge saw/observability-improvements/wave1-agent-A: ## Item 1 — LOC budget error message UX
  • 072e84e Merge saw/observability-improvements/wave1-agent-B: ## Item 2 — EmitSync adoption in pkg/engine
  • 39903ee Merge saw/observability-improvements/wave1-agent-C: ## Item 3 — Move sawErrsToErrors to pkg/result a
  • f002d64 Merge saw/observability-review-fixes/wave1-agent-A: ## Role Error code registration and emitter fix fo
  • 2ec2249 Merge saw/observability-review-fixes/wave1-agent-B: ## Role Convert query.go exported functions from (
  • b1f419a Merge saw/observability-review-fixes/wave1-agent-D: ## Role Convert rollups.go exported functions from
  • 72482bf Merge saw/observability-review-fixes/wave2-agent-E: ## Role Update pkg/observability/sqlite/sqlite.go
  • 1df47d1 Merge saw/observability-review-fixes/wave2-agent-F: ## Role Update test files in pkg/observability to
  • a87ce59 Merge saw/orchestrator-review-fixes/wave1-agent-A: ## Agent A — P0/P1 fixes in orchestrator.go
  • 03ee9b4 Merge saw/orchestrator-review-fixes/wave1-agent-B: ## Agent B — E19 retry loop + context.TODO() fix
  • fa84d43 Merge saw/orchestrator-review-fixes/wave1-agent-C: ## Agent C — Dead type deletion and journal inte
  • 7ba6d10 Merge saw/orchestrator-review-fixes/wave1-agent-D: ## Agent D — Replace duplicate validTransitions
  • 9e69b6b Merge saw/orchestrator-review-fixes/wave2-agent-E: ## Agent E — doc.go rewrite and stubs.go ctx par
  • 433ca41 Merge saw/pipeline-review-fixes/wave1-agent-A: ## Agent A — Error Code Constants + Inline Strin
  • a747203 Merge saw/pipeline-review-fixes/wave1-agent-B: ## Agent B — Dead Field Documentation + Doc Accu
  • 9182dde Merge saw/pipeline-review-fixes/wave2-agent-C: ## Agent C — Test Coverage for Cleaned-Up Paths
  • ae6db1e Merge saw/post-migration-cleanup/wave1-agent-A: ## Item 1: Remove the MergeAgentsData.Success comp
  • 940631b Merge saw/post-migration-cleanup/wave1-agent-B: ## Item 2: Wire CheckAgentLOCBudget into FullValid
  • bff7602 Merge saw/post-migration-cleanup/wave1-agent-C: ## Item 3: Migrate high-signal Emit calls to EmitS
  • 73ba7b3 Merge saw/post-migration-cleanup/wave1-agent-D: ## Item 4: Replace %v with errors.Join + %w for []
  • 008949a Merge saw/prepare-tier-batching/wave1-agent-A: ## Role Protocol-layer changes: batch E37 failures
  • 0ab1131 Merge saw/prepare-tier-batching/wave1-agent-B: ## Role CLI-layer changes: add --skip-critic flag
  • 2a9bfc7 Merge saw/prepare-tier-thick-orchestrator/wave1-agent-A: ## Role You are a Wave Agent. Implement the protoc
  • 4fe0c0d Merge saw/prepare-wave-program-context/wave1-agent-A: ## Role You are a Wave Agent. Implement the engine
  • 98ae1c3 Merge saw/prepare-wave-program-context/wave2-agent-B: ## Role You are a Wave Agent. Wire the `--commit-s
  • 299e68a Merge saw/protocol-backend-cleanup/wave1-agent-A: ## Wave 1 Agent A: Backend cleanup — shared exec
  • 9718467 Merge saw/protocol-backend-cleanup/wave1-agent-B: ## Wave 1 Agent B: Protocol cleanup — ScaffoldFi
  • 7a9de27 Merge saw/protocol-review-fixes/wave1-agent-A: ## Agent A — New error codes, StateInterviewing,
  • b15d5a6 Merge saw/protocol-review-fixes/wave1-agent-B: ## Agent B — ValidateInvariants signature fix an
  • 558e17f Merge saw/protocol-review-fixes/wave1-agent-C: ## Agent C — Inline error codes → canonical co
  • 86084ea Merge saw/quality-gate-parallelization/wave2-agent-B: # Agent B: Cache Thread-Safety (BLOCKER 1 FIX)
  • 1034e5e Merge saw/quality-gate-parallelization/wave2-agent-C: # Agent C: Three-Phase Gate Execution Engine + Val
  • 167c086 Merge saw/queue-review-fixes/wave1-agent-A: ## What to implement
  • 57ead13 Merge saw/queue-review-fixes/wave2-agent-B: ## What to implement
  • 1349719 Merge saw/recovery-improvements/wave1-agent-A: ## Role Implement the sawtools reconcile-state com
  • 1e99178 Merge saw/recovery-improvements/wave1-agent-B: ## Role Implement the sawtools agent-status comman
  • c8d1995 Merge saw/recovery-improvements/wave1-agent-C: ## Role Add cross-repo auto-detect and pre-flight
  • 7329024 Merge saw/recovery-improvements/wave2-agent-D: ## Role Wire new commands into main.go and update
  • 05c17b8 Merge saw/result-bug-fixes/wave1-agent-A: Fix four bugs in pkg/result/result.go and pkg/resu
  • 152426e Merge saw/result-bug-fixes/wave1-agent-B: Fix one bug in pkg/result/codes.go: rename N018-N0
  • 3fc623b Merge saw/result-review-fixes/wave1-agent-A: ## Context
  • 8df3c23 Merge saw/result-review-fixes/wave1-agent-B: ## Context
  • f9c5dd0 Merge saw/resume-bug-fixes/wave1-agent-A: Fix bugs 1, 2, 4 (detect.go sites), 5, and 6 in pk
  • 6f45b8b Merge saw/resume-bug-fixes/wave1-agent-B: Fix bugs 3 and 4 (worktree_status.go site) in pkg/
  • 243eaf3 Merge saw/resume-review-fixes/wave2-agent-B: ## Agent B — Fix sessions.go: LoadAgentSessions
  • fce5a7f Merge saw/resume-review-fixes/wave2-agent-C: ## Agent C — Fix worktree_status.go: remove dead
  • f5af8f6 Merge saw/resume-review-fixes/wave4-agent-E: ## Agent E — Update resume_detect_cmd.go caller
  • bc710a3 Merge saw/retry-review-fixes/wave1-agent-A: Replace hardcoded error strings with constants fro
  • 5f7ce68 Merge saw/retry-review-fixes/wave1-agent-C: Add test coverage for uncovered branches identifie
  • d6e5539 Merge saw/retry-review-fixes/wave2-agent-B: Migrate (T, error) return types to result.Result[T
  • fe082bf Merge saw/retry-unification/wave1-agent-A: ## Context You are implementing Layer 1 of the ret
  • 422086b Merge saw/retry-unification/wave1-agent-B: ## Context You are implementing Layer 1 of the ret
  • 5ec7a83 Merge saw/retry-unification/wave2-agent-C: ## Context You are implementing Layer 2 of the ret
  • 638e5bb Merge saw/retry-unification/wave2-agent-D: ## Context You are implementing Layer 2 of the ret
  • 3f4b6bf Merge saw/roadmap-hardening/wave1-agent-A: ## P7: Fix finalize-wave merge ordering bug (data
  • 25789a4 Merge saw/roadmap-hardening/wave1-agent-B: ## P3: Add --refresh-brief flag for stale IMPLs in
  • 2e02520 Merge saw/roadmap-hardening/wave2-agent-D: ## P2: Cross-repo build verification in finalize-w
  • 7f46b89 Merge saw/saw-auto-command/wave1-agent-B: ## Role You are a Wave Agent. Add a `sawtools auto
  • c937db8 Merge saw/saw-scout-repo-flag/wave1-agent-C: ## Role Add an optional explicit IMPL output path
  • 0738e59 Merge saw/saw-scout-repo-flag/wave2-agent-F: ## Role Update the prepare-wave Go engine code to
  • 371c59e Merge saw/saw-system-hardening/wave1-agent-A: ## Problem 1 — Ghost file target detection in sa
  • 594f745 Merge saw/saw-system-hardening/wave1-agent-B: ## Problem 2 — LOC budget enforcement in sawtool
  • c043240 Merge saw/saw-system-hardening/wave1-agent-C: ## Problem 3 — I1 dead-code string mismatch in p
  • 1ccb8ba Merge saw/saw-system-hardening/wave1-agent-D: ## Problem 4 — Completion report enforcement in
  • c1aa976 Merge saw/saw-system-hardening/wave1-agent-E: ## Problem 5 — Build gate before agent commit in
  • 67429f0 Merge saw/sawtools-scout-automation/wave1-agent-A: ## Context You are implementing two new library fu
  • 5058f2a Merge saw/sawtools-scout-automation/wave1-agent-B: ## Context You are implementing `SuggestWaveStruct
  • 08f03da Merge saw/sawtools-scout-automation/wave1-agent-C: ## Context You are implementing CheckTestCascade
  • 458b1d1 Merge saw/sawtools-scout-automation/wave2-agent-D: ## Context You are implementing three new CLI comm
  • f9faee6 Merge saw/sawtools-scout-automation/wave2-agent-E: ## Context You are implementing one new CLI comman
  • 7485a69 Merge saw/sawtools-ux-bugs/wave1-agent-A: ## Bug 1 — Restore main branch after close-impl
  • d6a6071 Merge saw/sawtools-ux-bugs/wave1-agent-B: ## Bug 2 — Solo-wave prepare-agent must advance
  • 773eed2 Merge saw/sawtools-ux-improvements/wave1-agent-A: ## Context You are implementing the `sawtools set-
  • 076b1cf Merge saw/sawtools-ux-improvements/wave1-agent-B: ## Context You are implementing the V048 per-file
  • 27c9307 Merge saw/sawtools-ux-improvements/wave2-agent-C: ## Context You are updating documentation in the s
  • ed9c00b Merge saw/sawtools-validation-fixes/wave1-agent-A: ## Role Fix close-impl to stage the deletion of th
  • 45ff9bd Merge saw/sawtools-validation-fixes/wave1-agent-B: ## Role Fix validate-briefs cross-repo path resolu
  • aa9947e Merge saw/sawtools-validation-fixes/wave1-agent-C: ## Role Add a new pre-wave-validate check that fla
  • d0339a2 Merge saw/scaffoldval-bug-fixes/wave1-agent-A: ## Files to modify - pkg/scaffoldval/types.go -
  • 3329943 Merge saw/scaffoldval-bug-fixes/wave1-agent-B: ## Files to modify - `pkg/scaffoldval/validator.go
  • 25978d9 Merge saw/scaffoldval-review/wave1-agent-A: Migrate pkg/scaffoldval to Result[T] pattern and s
  • 11ff61e Merge saw/scaffoldval-review/wave1-agent-B: Add scaffold validation error codes to pkg/result/
  • cb2093e Merge saw/scaffoldval-review/wave2-agent-C: Update callers of ValidateScaffold to handle Resul
  • fc5d60c Merge saw/shared-data-scaffold-detection/wave2-agent-D: Agent D - shared types analyzer
  • 51236c3 Merge saw/stale-constraint-lint/wave1-agent-A: ## Context
  • 0df851e Merge saw/stale-constraint-lint/wave2-agent-B: ## Context
  • 0ba5065 Merge saw/state-machine-unification/wave1-agent-A: ## Role Delete dead state machine code from pkg/pr
  • eb40dde Merge saw/state-machine-unification/wave1-agent-B: ## Role Clarify the orchestrator-scoped state mach
  • a966890 Merge saw/suitability-bug-fixes/wave1-agent-A: ## Role You are a Wave Agent implementing bug fixe
  • ec0be67 Merge saw/suitability-bug-fixes/wave1-agent-B: ## Role You are a Wave Agent implementing bug fixe
  • 4eaf09a Merge saw/suitability-review-fixes/wave1-agent-A: ## What to Implement
  • 1c85a3a Merge saw/suitability-review-fixes/wave1-agent-B: ## What to Implement
  • d77710f Merge saw/suitability-review-fixes/wave1-agent-C: ## What to Implement
  • ef593e5 Merge saw/test-cascade-detection/wave1-agent-B: ## What to Implement
  • 07f3dd4 Merge saw/tools-bug-fixes/wave1-agent-A: ## Role Fix Bugs 1, 2, 3, 5 (both sides), and the
  • 2ef2d5e Merge saw/tools-bug-fixes/wave1-agent-B: ## Role Fix Bug 8 in standard.go — replace nolin
  • b2cb5e6 Merge saw/tools-bug-fixes/wave1-agent-C: ## Role Fix Bugs 4, 6, and 7 — in pkg/tools/exec
  • 9e687ab Merge saw/tools-review-fixes/wave1-agent-A: Goal: Add CodeToolAlreadyRegistered to pkg/res
  • 3288c0a Merge saw/tools-review-fixes/wave1-agent-C: Goal: Add comprehensive tests for adapter Seri
  • 631847e Merge saw/tools-review-fixes/wave1-agent-D: Goal: Add tests for 0% coverage middleware hel
  • 34f87dc Merge saw/validate-briefs/wave1-agent-A: ## What to implement
  • a01a9f5 Merge saw/validate-briefs/wave2-agent-B: ## What to implement
  • 9b0008e Merge saw/wire-manager-lifecycle/wave1-agent-A: ## What to implement
  • c2b0183 Merge saw/wire-manager-lifecycle/wave1-agent-B: ## What to implement
  • 718098c Merge saw/wire-prelaunch-gate/wave1-agent-A: Role: Export preLaunchGate and wire it into en
  • 24a1c27 Merge saw/wire-prelaunch-gate/wave1-agent-B: Role: Wire PreLaunchGate into PrepareWave's ex
  • 4b0168c Merge saw/workspace-manager/wave1-agent-C: keep Agent A workspace.go over stub
  • e952ea5 Merge saw/workspace-manager/wave2-agent-E: ## Context You are implementing the dispatcher for
  • 1daefda Merge saw/workspace-manager/wave3-agent-F: ## Context You are wiring the `pkg/engine/workspac
  • 7a3aa73 Merge saw/worktree-review-fixes/wave1-agent-A: ## Role Core worktree package fixes: error code mi
  • fda64c1 Merge saw/worktree-review-fixes/wave1-agent-B: ## Role Remove dead code from pkg/agent/runner.go:
  • 3512535 Merge saw/worktree-review-fixes/wave2-agent-C: ## Role Update orchestrator source files to match
  • 89ec5e1 Merge wave1-agent-A: LoadTypePromptWithRefs + path fixes for scout/planner/scaffold
  • 21fcbdc Merge wave1-agent-A: NewInfo constructor + WithContext fork-safety test
  • 0120ba1 Merge wave1-agent-A: StepCommitState implementation
  • ee74897 Merge wave1-agent-A: WaveConflictReport, CheckIMPLConflictsWaveLevel, buildWaveFileOwnershipMap
  • da72610 Merge wave1-agent-A: delegate Solve to ValidateRefs
  • 6327e08 Merge wave1-agent-A: fix 7 pkg/scaffold inspector warnings
  • 7a2503a Merge wave1-agent-A: fix context propagation and remove dead code in pkg/retry
  • 1bbbc8b Merge wave1-agent-A: fix pkg/retry silent failures and coverage gaps
  • c3b76c6 Merge wave1-agent-A: protocol behavioral fixes
  • 1e88801 Merge wave1-agent-A: resolveIMPLPathOrAbs + CheckIMPLConflicts slug key fix
  • 1af9bd8 Merge wave1-agent-A: scaffoldval error fixes
  • aa0e97b Merge wave1-agent-B: ImplRefs rename, AbsPath field, create_program_cmd wiring
  • f837fe4 Merge wave1-agent-B: SerialWaves field, WaveConflictReport in GenerateProgramData, CheckIMPLConflictsWaveLevel wired
  • 574cf60 Merge wave1-agent-B: add 24 missing codes to uniqueness test
  • 1174ab3 Merge wave1-agent-B: add sawtools resolve-impl command
  • 20c8898 Merge wave1-agent-B: protocol behavioral fixes
  • f793a7c Merge wave1-agent-B: unexport detectCycles and transitiveDeps
  • 8a0a565 Merge wave1-agent-B: wire StepCommitState into pipeline + CLI
  • 6e063de Merge wave1-agent-C: protocol behavioral fixes
  • 1d84d6b Merge wave1-agent-C: queue completedSlugs Q006 wiring + UpdateStatus validation
  • b858d7f Merge wave1-agent-C: wire CriticalPath advisory check
  • 4ddab13 Merge wave1-agent-D: protocol behavioral fixes
  • 413f75e Merge wave1-agent-E: protocol behavioral fixes
  • ef63cfa Merge wave2-agent-B: LoadTypePromptWithRefs wired into run_critic_cmd
  • 649352e Merge wave2-agent-C: CLI docs + tests for absolute path support
  • 7902ab7 Merge wave2-agent-C: wave-first tier loop, isCrossImplSerialWaveBlocked
  • 2716fe5 Merge wave2-agent-D: integration tests for SerialWaves behavior
  • ba835e3 Migrate AssignAgentIDs to Result[[]string] with structured error codes
  • 41de9c7 Migrate Cache.Get to Result[GetData] pattern
  • 4a6b3a1 Migrate DetectSharedTypes and DetectWiring to result.Result[T]
  • 0a9adc2 Migrate LockFileParser.Parse to result.Result[[]PackageInfo]
  • 6889cb1 Migrate PreLaunchGate to Result[T] pattern and add usage note
  • 62a8671 Migrate cargolock.go to Result[T] and extract unquoteTOML helper
  • a9a6da6 Migrate checker.go to result.Result and fix critical bugs
  • c3508d6 Migrate collision detector to Result[T] pattern with structured error codes
  • ed2a43a Migrate constraints.go, init_engine.go, debug_journal.go to result.Result[T]
  • 9395cd8 Migrate critic.go and closed_loop_gate.go to result.Result[T]
  • 4eb5017 Migrate gosum.go and packagelock.go parsers to Result[T] pattern
  • 3585f4d Migrate impl_generator and closed_loop_gate from retryctx to retry
  • e3b47c5 Migrate pkg/scaffoldval to Result[T] pattern
  • 4e26bab Migrate pkg/suitability to result.Result[T] pattern
  • dec1419 Migrate poetrylock.go to Result[T] and fix bugs
  • 9d6f820 Migrate retry package return types from (T, error) to result.Result[T]
  • d8d213a Migrate runner.go, build_retry_context_cmd.go, orchestrator.go from retryctx to retry package
  • 6522b44 README: update command count, add missing commands, fix E-rule range, fix SDK signatures
  • 51e9d62 Register pre-commit-check and install-hooks commands in main.go
  • ce00e65 Remove compilation stub — real types now available from Agent A
  • 595e8d7 Remove ctx param from LoadYAML/SaveYAML and update all call sites
  • 0221093 Remove duplicated parseRequirements() function from cmd
  • cfa366f Remove legacy error code files from pkg/protocol
  • 4685e23 Remove redundant config.GateResult, use protocol.GateResult in WaveState
  • d687d66 Remove unused worktrees field from agent.Runner
  • 3516832 Remove written_at field from completion reports
  • 0c9cc8b Replace CompletionReport.Status string literals with typed constants in engine and orchestrator
  • 34d8995 Replace SV01* constants with result.CodeXxx in schema and reactions validation
  • b623792 Replace containsSubstring with strings.Contains
  • 6d56f8c Replace exec.Command calls in amend.go with internal/git wrappers
  • 7444baf Replace exec.Command git status with git.StatusPorcelainFile in program_freeze.go
  • abd4834 Replace hardcoded TOOL_ERROR literals with result.CodeToolError in pkg/errparse
  • bcd12fc Replace hardcoded code strings with result.CodeXxx constants in program_validation and program_generator
  • b1f770c Replace hardcoded string codes with result.CodeXxx constants in pkg/protocol
  • 1e3912c Replace hardcoded string codes with result.CodeXxx constants in pkg/protocol
  • ed5676a Replace os.Exit() in cmd/sawtools RunE handlers with return fmt.Errorf(), un-skip blocked tests
  • 4da8921 Replace writeManifest body with protocol.SaveYAML, remove os and yaml imports
  • a023dc6 Replace yaml.Marshal+WriteFile with SaveYAML in program_generator.go
  • f88eb89 Revert "fix: add nil logger param to CreateProgramWorktrees call (E35 gap)"
  • 06b9a84 Revert "fix: update cache_test.go to use result.CodeCacheMiss constant"
  • 7c03856 Scope 5: canonical IMPLStateToStatus, delegate implStateToStatus and mapIMPLStateToStatus
  • b50a34f Scope 6: canonicalize error codes in validation, commit verification, critic, and gate population files
  • 328ca3a Support cross-repo IMPL refs in program generator
  • 27d65c4 Unify import-impls cmd: use canonical protocol functions
  • 7ccd2ab Untrack .saw-state/gate-cache.json (path is gitignored)
  • cd07cab Update GithubActionsParser to return Result[ParseCIData]
  • 584fef6 Update cache tests to use Result[GetData] signature
  • eaf54ac Update completed PROGRAM manifests with correct completion counts
  • 45e3909 Update sawtools callers for result.Result journal signatures
  • 7110b41 Update validate_scaffold_cmd to handle Result[T] return type
  • 2187438 Use CodeToolAlreadyRegistered constant in workshop
  • f2d583c Use StatusComplete/StatusPartial/StatusBlocked constants in remaining callers
  • 499cce0 Wave 1 Agent A: extract slug, tier, file-ownership helpers into canonical pkg/protocol functions
  • 63e03ba Wave 1 Agent B: unify path resolution into canonical IMPLPath resolvers
  • 7bae94e Wave 1 Agent C: add canonical error codes to result/codes.go
  • ab31722 Wave 1 Agent D: migrate worktree/cleanup/finalize to use canonical codes (resolve codes.go conflict, keep Agent C comments)
  • eee24bd Wave 1 Agent E2: migrate wiring_validation/program_status to canonical functions
  • b7714f3 Wave 1 Agent E: migrate program_generator/tier_gate/wiring to canonical functions
  • c1a137a Wave 2 Agent E: detect-shared-types CLI command
  • 891af3d Wire ImplRefs caller in create_program_cmd.go (E35)
  • 0ac4571 Wire StepGoWorkSetup/Restore into prepare and finalize pipelines
  • 3c1b05b Wire journal context recovery into orchestrator launchAgent
  • d2ea55c [SAW:wave1:agent-B:baseline-hotfix] restore local const after refactor attempt
  • 2fc59b7 [SAW:wave1:agent-C:baseline-hotfix] remove temporary type stubs (types provided by agent-B caller_cascade.go after merge)
  • 2679fd7 [SAW:wave2:agent-D:baseline-hotfix] Update graph.go+deps.go call sites for new analyzer.go signatures
  • 64b90ff add --impl-output-path flag to run-scout CLI command
  • 02d2082 add --refresh-brief flag for stale IMPL brief regeneration
  • fb887f8 add 24 missing codes to TestAllCodesAreUnique and 5 N-codes to naming test
  • 339854f add BuildWorkshop helper and WaitForCompletionResult with structured errors
  • 615558d add CheckTestCascade pre-flight gate and X-range error codes
  • 146f860 add Ctx field to all PrepareTierOpts call sites in tests
  • 76bdedc add DetectBriefOwnershipDivergence to pkg/protocol
  • b27ee05 add ImplOutputPath field to RunScoutFullOpts with override logic
  • e0f134a add NewInfo constructor for SAWError with severity "info"
  • 269c4a1 add O001/O002 observability error codes and fix emitter hardcoded string
  • 1f090c9 add Step 7 to close-impl: stage deletion, add archived file, commit; add TestCloseImplCmd_GitRm
  • 7ce9ade add StepCommitState tests
  • ea9629c add StepCommitState to finalize_steps.go
  • 559e61f add V048_GATE_TARGETS_NEW_FILE: flag required:true gates on action:new files
  • fd55df1 add ValidateStateTransitionContext guard for WAVE_EXECUTING -> COMPLETE
  • 57d9497 add Z-domain analyzer error code constants (Z001-Z013)
  • 596693c add checkCriticalPath advisory warning for over-sequenced manifests
  • b4b3587 add context parameter to all ValidateProgramImportMode call sites in tests
  • fa9ac9d add critical path advisory tests
  • 9026a69 add cross-repo auto-detect and pre-flight warning to finalize-wave
  • 0c7b828 add cross-repo baseline verification to FinalizeWave (P2)
  • e4026ee add init() registration for go parsers and fix unused loop variable
  • 0dd89f4 add init() registration, fix separator style, remove unnecessary lint suppression in js_parsers.go
  • a3dd158 add registration/integration tests, ruff edge cases, and slog.Warn for unregistered parsers
  • e1987bc add sawtools finalize-scout: consolidate Scout steps 16-18 into single command
  • 3a2254b add tests for ValidateStateTransitionContext
  • cfc539b add tests for WithContext fork safety and NewInfo constructor
  • b63a76f add tests for autoDetectRepoDir and crossRepoOwnsFiles helpers
  • 8e5f4c2 add tests for reconcile-state command (5 scenarios)
  • 26fc65b analyzer: delete AnalyzeDeps wrapper, migrate deps_test to cover BuildGraph
  • 2288efa backend: extract shared ExecuteTool and add CLI post-hoc constraint enforcement
  • 2d7a2d7 canonicalize checkpoint.go: J-range codes, CheckpointRecord rename, ListCheckpoints result type, unexport copyData
  • 81d6e64 canonicalize error codes in state/infrastructure protocol files
  • 5c478f9 changelog, docs cleanup: roadmap-hardening session changes
  • 72c95d2 changelog: add 1.7.0 (workspace-manager) and 1.8.0 (codereview-bug-fixes)
  • bc69105 changelog: record inspector findings fixes for pkg/tools and pkg/suitability
  • f74dcbd changelog: v1.1.0 audit findings unification
  • 41dea0a chore: Wave 1 complete, advance to Wave 2
  • bd07aea chore: add --version flag to CHANGELOG
  • 3e48306 chore: add PROGRAM manifest for prepare-tier-batching and run-critic-stderr
  • 4b37331 chore: add critic report (PASS after E-rule correction) to between-wave-integration-hotfix IMPL
  • 9d76464 chore: add idgen-bug-fixes and suitability-bug-fixes IMPL docs
  • fa1822e chore: add result-queue-error-fixes IMPL, archive retry-silent-failures
  • c285e5e chore: add retry-silent-failures IMPL, archive scaffold-warning-fixes
  • ddbb1f7 chore: add scaffold-warning-fixes IMPL
  • d6f634d chore: add scouted IMPLs and archive completed ones
  • df92dc2 chore: add v048_exempt to known schema keys
  • 1d2fc1f chore: add v1.3.3 changelog entry for observability improvements
  • f15224f chore: advance IMPL state (completion reports)
  • 43035b7 chore: advance IMPL state (completion reports)
  • 1d66904 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 51f22e0 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 43d2ed9 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 2f0e466 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 7040e98 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • a1bb242 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 287a404 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • a3f2b59 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • e034f58 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 6039202 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 1914e7c chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 94c74a5 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 8f57f64 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 5576205 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 190187b chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 66cbdc9 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • bcc78ef chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • dcdbd25 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • be349f3 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • daba588 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 6ee9f8e chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • c8d8571 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 5cf169b chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 26dc884 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 357791b chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 5dddb4c chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 663bbcf chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 59740a8 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 4ff5bc4 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 26d68db chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • dd9ac1e chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 31f22cf chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 54bb8f2 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 582f1ca chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 6c73dbb chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 59fdae2 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 3196dbb chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • 888a3d1 chore: advance IMPL state to REVIEWED (pre-wave gate passed)
  • a3c972c chore: advance IMPL state to REVIEWED (solo-wave prepare-agent)
  • 4363656 chore: advance IMPL state to REVIEWED (solver-graph-wiring)
  • a73cd7d chore: advance engine-review-fixes to WAVE_PENDING after Wave 1 merge
  • b53c0e7 chore: advance engine-review-fixes to WAVE_PENDING after Wave 2 merge
  • 04b9291 chore: advance engine-review-fixes to WAVE_PENDING after Wave 3 merge
  • 5e3191c chore: advance engine-review-fixes to WAVE_PENDING after Wave 4 merge
  • ece87e3 chore: advance result-queue-error-fixes IMPL state
  • 2fa77f0 chore: advance retry-context-propagation IMPL state
  • 85bc842 chore: archive IMPL-protocol-behavioral-fixes
  • c66bdc3 chore: archive engine-unification IMPL and update CONTEXT.md
  • ca1aba7 chore: archive retry-context-propagation, update CONTEXT.md
  • 7597fcf chore: archive solver-graph-wiring, add retry-context-propagation IMPL
  • 26ad595 chore: changelog for --impl-output-path and SAW_WORKTREE_ROOT injection
  • edc9b71 chore: changelog for collision detector merge-base fix
  • e81cd35 chore: clean up archived IMPL docs
  • 1762faa chore: close IMPL 4 context-propagation, update audit doc and context
  • 37d1933 chore: close IMPL 5 protocol-backend-cleanup
  • bb782d9 chore: close IMPL 6 miscellaneous-cleanup
  • 0c9d0a8 chore: close IMPL 7 final-cleanup
  • 189e4a2 chore: close IMPL suitability-review-fixes
  • 8045747 chore: close IMPL-idgen-review-fixes and update REVIEW.md
  • 3d65144 chore: close collision-review-findings IMPL (SAW:COMPLETE)
  • cd68dab chore: close hooks-bug-fixes IMPL
  • f1d64bc chore: close notify-bug-fixes IMPL
  • 5459e81 chore: close observability-review-fixes IMPL and update REVIEW.md
  • 7696fcf chore: close orchestrator-review-fixes IMPL and update REVIEW.md
  • 434254c chore: close pipeline-review-fixes IMPL and update REVIEW.md
  • 65a38af chore: close prepare-tier-batching and run-critic-stderr IMPLs
  • 4f84310 chore: close protocol-review-fixes IMPL and update REVIEW.md
  • 85d6754 chore: close result-bug-fixes IMPL
  • a20fded chore: close resume-bug-fixes IMPL
  • 0e58f5a chore: close sawtools-ux-bugs IMPL
  • 99945ee chore: close scaffoldval-bug-fixes IMPL
  • 3d02f39 chore: close worktree-bug-fixes IMPL
  • d708252 chore: close-impl for config-hardening, collision-fixes, commands-fixes
  • fb2c59c chore: fix baseline for wave 1
  • c89e98a chore: fix baseline for wave 1
  • f7a63ee chore: fix baseline for wave 1
  • 39511b7 chore: fix baseline for wave 1
  • 715c4cd chore: fix baseline for wave 1
  • 8635bf2 chore: fix baseline for wave 1
  • 54ba9e8 chore: fix baseline for wave 1
  • 42f3e2c chore: fix baseline for wave 1
  • bdcb2a1 chore: fix baseline for wave 1
  • d5c9cd4 chore: fix baseline for wave 1
  • cbc7c79 chore: fix baseline for wave 1
  • e2f1122 chore: fix baseline for wave 1
  • da4f472 chore: fix baseline for wave 1
  • fdae3de chore: fix baseline for wave 1
  • 6ac0aa6 chore: fix baseline for wave 1
  • 0362550 chore: fix baseline for wave 1
  • 8c2d08d chore: fix baseline for wave 1
  • 6af2106 chore: fix baseline for wave 1
  • 25fa165 chore: fix baseline for wave 1
  • ad9df11 chore: fix baseline for wave 1
  • 8bf839a chore: fix baseline for wave 1
  • af1ffd6 chore: fix baseline for wave 1
  • 9d59fa7 chore: fix baseline for wave 1
  • 8674ef3 chore: fix baseline for wave 1
  • 052fd78 chore: fix baseline for wave 1
  • ab3338b chore: fix baseline for wave 1
  • 6db5d35 chore: fix baseline for wave 1
  • 0d68096 chore: fix baseline for wave 1
  • a65b062 chore: fix baseline for wave 1
  • 12fad18 chore: fix baseline for wave 1
  • 08ca559 chore: fix baseline for wave 1
  • aa5bc29 chore: fix baseline for wave 1
  • 51d6b73 chore: fix baseline for wave 1
  • 5b07e2f chore: fix baseline for wave 1
  • a083607 chore: fix baseline for wave 1
  • ffdb6c4 chore: fix baseline for wave 1
  • 2660473 chore: fix baseline for wave 1
  • 0d4e39d chore: fix baseline for wave 1
  • cff79c6 chore: fix baseline for wave 1
  • b0bb131 chore: fix baseline for wave 1
  • 22a900a chore: fix baseline for wave 1
  • 67eebda chore: fix baseline for wave 1
  • 1adb76e chore: fix baseline for wave 1
  • bff2377 chore: fix baseline for wave 1
  • e3ff1df chore: fix baseline for wave 1
  • 9e55559 chore: fix baseline for wave 1
  • 8097815 chore: fix baseline for wave 1
  • bd08bf9 chore: fix baseline for wave 1
  • 45ce563 chore: fix baseline for wave 1
  • 20101b3 chore: fix baseline for wave 1
  • 3fd0043 chore: fix baseline for wave 2
  • fbdbe5d chore: fix baseline for wave 2
  • 4315402 chore: fix baseline for wave 2
  • 9a4ae57 chore: fix baseline for wave 2
  • 9f96b9e chore: fix baseline for wave 2
  • 1ea661c chore: fix baseline for wave 2
  • c9615b3 chore: fix baseline for wave 2
  • 6463a33 chore: fix baseline for wave 2
  • 5a9848a chore: fix baseline for wave 2
  • 27a3ca6 chore: fix baseline for wave 2
  • 90f1f54 chore: fix baseline for wave 2
  • 8807a01 chore: fix baseline for wave 2
  • f0ed7b9 chore: fix baseline for wave 2
  • 807822b chore: fix baseline for wave 2 - logger parameter mismatches
  • 79eecc1 chore: fix baseline for wave 3
  • 38e3b03 chore: fix baseline for wave 3
  • 6e73492 chore: fix baseline for wave 3
  • 651e9c9 chore: fix baseline for wave 3
  • d6d8907 chore: fix baseline for wave 3
  • 8cb0999 chore: fix baseline for wave 3
  • beb9711 chore: fix baseline for wave 4
  • ff38078 chore: fix baseline for wave 4
  • fa9add5 chore: fix baseline for wave 4
  • 1748426 chore: fix baseline for wave 4
  • 36c7241 chore: fix baseline for wave 6
  • cde3bf5 chore: fix duplicate critic_report key, set verdict PASS after step_types.go correction
  • 1a45a90 chore: gate cache
  • 4802bcb chore: mark PROGRAM config-hardening-and-collision-fixes-and-commands-fixes complete
  • 9bf4ae9 chore: mark PROGRAM prepare-tier-batching-and-run-critic-stderr complete
  • b220fb8 chore: mark pkg/interview as reviewed and complete in REVIEW.md
  • a594837 chore: mark pkg/journal as reviewed and complete in REVIEW.md
  • d7283a2 chore: mark pkg/result and pkg/resume as reviewed and complete in REVIEW.md
  • 045d776 chore: mark prepare-tier-batching and run-critic-stderr complete in PROGRAM
  • 25becdc chore: remove duplicate SaveDocData/WriteReqData declarations (moved to types.go in wave1-agent-B)
  • f71240a chore: remove stale inspection reports
  • 939ba81 chore: replace analyzer.AnalyzeDeps call in runner.go with BuildGraph+ToOutput
  • 2ec6fda chore: update CHANGELOG for original_branch fix
  • b7b44ba chore: update CHANGELOG for verify-build improvements
  • 8666388 chore: update CHANGELOG with orchestrator/protocol/pipeline/observability review fixes
  • 1378bff chore: update IMPL state after prepare-wave for prepare-tier-batching
  • 4692b86 chore: update IMPL/program state after run-critic-stderr wave 1
  • c2efe3a chore: update callers for Wave 2 analyzer signature changes
  • 8e28c67 chore: update changelog and archive engine-review-fixes IMPL
  • 22c77c1 chore: update gate cache
  • 69320ea chore: update review tracker, add suitability and worktree IMPL docs
  • 319472a chore: v1.0.0 changelog entry — error code unification
  • ce1a9ab close IMPL: finalize-commit-state (2026-04-05)
  • a5fdddd close audit-findings-unification IMPL
  • f9ec04e close: error-code-unification IMPL complete
  • c6ecc60 close: go-engine-deduplication IMPL complete
  • 3cf8186 close: state-machine-unification IMPL complete
  • 0c28697 cmd/sawtools/README: add batching commands section, add finalize-scout
  • ea73d65 completion-report-unification: close IMPL, archive, update CONTEXT
  • 41353fd dedup git wrappers: add RunOutput, remove local runGit/getConflictedFiles/commitMerge
  • 23e89e8 delete orchestrator.RunQualityGates dead code, migrate runner.go to protocol.RunPreMergeGates
  • 0fddb9b delete stale audit doc — all 5 findings resolved
  • f839228 docs(IMPL): add Wave 3 documentation agents to between-wave-integration-hotfix
  • a2599f6 docs(engine): add E26/E27 cross-ref to RunIntegrationAgent and supervised mode comment to RunDaemon
  • 88ea5fd docs(engine): add Step Pipeline section to package doc comment
  • 6e145e8 docs(engine): expand Go doc comments for step_types and finalize_steps
  • f80b9e7 docs(engine): expand Go doc comments in prepare.go
  • 39866fb docs/ROADMAP: remove stale items, add shipped section, point web features to web repo
  • ed2bb95 engine: eliminate structural debt — runOneWave, firstRepoOpts, slug dedup, typed step returns
  • 7f84da4 engine: migrate RunScoutFull and ScoutCorrectionLoop to result.Result[T]
  • 56234a9 engine: migrate RunWaveTransaction to result.Result[T], fix context.TODO and silent error swallow
  • f80de43 engine: migrate runWaveAgentStructured to CompletionReportBuilder
  • b2ad025 engine: wire journal context recovery into RunSingleAgent rerun path
  • 9c17fd9 export PreLaunchGate and wire into engine.PrepareAgent
  • c73950b feat(analyzer): add wiring detection logic
  • 54fc2b2 feat(analyzer): implement DetectSharedTypes function
  • 934bccd feat(autonomy): migrate LoadConfig/SaveConfig to result.Result[T]
  • 74f4d6c feat(commands): add context.Context to Extract and ExtractCommands
  • c206d04 feat(engine): add CallerCascadeError classification and hotfix agent logic
  • 08f7e6d feat(engine): add StepClassifyCallerCascade to finalize_steps.go
  • 32c6a86 feat(engine): introduce ObsEmitter interface and migrate 3 emit sites to EmitSync
  • b0e12e4 feat(engine): migrate auxiliary engine functions to result.Result[T]
  • 8db22e7 feat(engine): migrate core runner functions to result.Result[T]
  • d9d4471 feat(engine): unify FinalizeWaveResult to map-based multi-repo struct
  • 64ba2af feat(finalize): write branch-refs.json before first step for mid-run failure recovery
  • bddc570 feat(gatecache): add context.Context to all exported functions
  • bdfbe9e feat(gatecache): migrate Put/Invalidate/BuildKey/BuildKeyForGate to result.Result[T]
  • d56e4f6 feat(notify): migrate pkg/notify to result.Result[T]
  • a694783 feat(observability): add result.Result[T] variants for Emit and Query
  • 1694988 feat(orchestrator): add ctx context.Context to public orchestrator functions
  • a7e8340 feat(orchestrator): migrate error-only returns to result.Result[T]
  • e596b11 feat(pipeline): add error code constants and replace hardcoded strings
  • a5c9668 feat(pipeline): migrate Run, executeStep, requiredKey to result.Result[T]
  • c717f83 feat(protocol): add CheckAgentLOCBudget to enforce per-agent LOC limits
  • 8d65ae0 feat(protocol): add E37Required function to critic_gate.go
  • 73e1c30 feat(protocol): add FailureCategory and RecoveryStep types
  • 1092725 feat(protocol): add PrepareTierOpts, batch E37 failures, add SkipCriticForIMPL
  • 4d89119 feat(protocol): add SuggestWaveStructure wave ordering validator
  • 0a54fd5 feat(protocol): add brief_validator with grep/wc-based symbol and line validation
  • d4039e7 feat(protocol): add context.Context to critic functions
  • 468df40 feat(protocol): add per-file LOC breakdown to V048 error message
  • 12cfead feat(protocol): add smart merge strategy analysis to conflict prediction
  • 88ac731 feat(protocol): fix ValidateInvariants return type and doc.go accuracy
  • 11fbec2 feat(protocol): no-op — types.go contains only type definitions
  • 61afa80 feat(result): add J001-J014 journal error code constants
  • 71cd7cb feat(result): add N099 caller cascade hotfix failed error code
  • ef4afff feat(resume): add BuildRecoverySteps and extend SessionState with RecoverySteps
  • 84a868e feat(retry): add context propagation and cancellation support
  • 02a0340 feat(sawtools): add check-test-cascade cmd and Step 3 in pre-wave-validate
  • 99655ef feat(workspace): add RustWorkspaceManager for Cargo.toml member injection
  • d0d75d4 feat(workspace): add TypeScriptWorkspaceManager with tsconfig and package.json support
  • af06626 feat(workspace): add dispatcher for multi-language workspace manager
  • 91ba2ed feat: add --backend flag to run-critic and extract BuildCriticPrompt
  • 3041d65 feat: add --run-prepare-wave, --wave, --merge-target flags to prepare-tier
  • 81350c5 feat: add --skip-critic flag to prepare-tier and prepare-wave commands
  • 8f2b91c feat: add CommitState to PrepareWaveOpts with isSAWOwnedPath helper
  • 2b258e1 feat: add FinalizeTierEngine thick orchestrator for finalize-tier
  • 4b57ce3 feat: add PythonWorkspaceManager for pyrightconfig.json and pyproject.toml
  • 5672f1e feat: add RunPrepareWave fields and IMPLPrepareWaveResult to protocol layer
  • 3d4415b feat: add StateInterviewing, P011-P013, N094-N095 error codes
  • db1fb3d feat: add StepGoWorkSetup and StepGoWorkRestore to pkg/engine
  • 782938e feat: add V047_TRIVIAL_SCOPE validation to reject 1-agent 1-file IMPLs
  • d4ec9ee feat: add build gate discovery and pre-commit build check
  • 1205bea feat: add context.Context to ExtractAgentContextFromManifest, SetFreezeTimestamp, CheckFreeze
  • 3d7b93a feat: add context.Context to VerifyCommits and wire callers
  • f966da7 feat: add context.Context to manifest I/O functions and propagate to all callers
  • 3ef051f feat: add ctx to PrepareAgent and fix context.TODO() in PrepareWave
  • 62f76b3 feat: add ctx to RunGatesWithCache, RunPreMergeGates, RunPostMergeGates, DiscoverLintGate, DiscoverBuildGate
  • 6810e92 feat: add ctx to core protocol functions and update all callers
  • 0ba2456 feat: add ghost file detection to sawtools validate
  • 71e5acb feat: add pkg/engine/workspace package with WorkspaceManager interface and GoWorkspaceManager
  • b7cdabd feat: add prepare-wave automation enhancements
  • 57b3d8a feat: add run-integration-wave CLI command for E27 planned integration waves
  • 71e820b feat: add saw_name frontmatter to agent briefs for robust naming
  • 2313238 feat: add sawtools auto subcommand
  • d687073 feat: add sawtools auto subcommand
  • 9280ac7 feat: add sawtools resolve-impl command
  • b3efb0f feat: add sawtools set-critic-verdict command
  • 9b218f2 feat: add validate-briefs CLI command
  • 333db7d feat: complete detect-wiring IMPL (2026-03-30)
  • e996d6a feat: complete logging injection feature
  • 5cda59d feat: context injection observability (injection_method + context_source fields)
  • b47754b feat: context-propagation wave 1 agent B — add context to DetectFormatter (pkg/format)
  • 7b4a0cc feat: context-propagation wave 1 agent C — add context to DetectCollisions (pkg/collision)
  • c8e09e8 feat: context-propagation wave 1 agent D — add context to gatecache (pkg/gatecache)
  • 2aaa03f feat: context-propagation wave 1 agent E — add context to retry (pkg/retry)
  • 24e90f7 feat: context-propagation wave 2 agent L — add context to Cleanup and CleanupAllStale (pkg/protocol/cleanup.go)
  • cf99a92 feat: context-propagation wave 2 agent N — add context to discovery functions (pkg/protocol)
  • 17176c2 feat: enhance finalize-wave guidance and register integration commands
  • fade37a feat: extract MarkProgramComplete business logic into pkg/engine
  • 1f75f0a feat: gate-repo-scoping tests added directly; V047 retry exemption
  • f85d7cc feat: implement three-phase gate execution with parallelization
  • 610c4af feat: inject SAW_WORKTREE_ROOT env file into agent worktrees during prepare-wave
  • 7762b9f feat: migrate program_auto, mark_program_complete, program_tier_loop to result.Result[T]
  • 33dac8a feat: pkg/analyzer canonicalization review fixes (analyzer-review-fixes)
  • 6ddfbec feat: refactor init to thin adapter pattern
  • f1f1aac feat: restore main branch after close-impl cleanup
  • 20734ab feat: support --version flag alongside version subcommand
  • 0d3e30f feat: surface journal context availability in PrepareAgent and PrepareWave output
  • 976d7c4 feat: wire --commit-state flag into prepare-wave CLI
  • 5f6147c feat: wire SuggestWaveStructure into pre-wave-validate as Step 4 gate
  • b8d6a4b feat: wire caller cascade hotfix into finalize-wave
  • 8d11229 feat: wire finalize-tier CLI adapter to FinalizeTierEngine thick orchestrator
  • 5af23dd finalize.go: replace unconditional-break loop with index check (SA4004)
  • 10b1cdb finalize_wave: use protocol.StatusComplete instead of string literal
  • c8833dc fix 6 inspector findings in pkg/retry loop.go and attempt.go
  • cb6a4b7 fix 7 inspector warnings in pkg/scaffold
  • 96b3650 fix ScaffoldFile YAML tag, add resolveAgentBranch, change State.Errors to SAWError
  • bb8bf13 fix briefResolveFilePath to resolve repo names via saw.config.json
  • 686424b fix finalize-wave nil pointer panic when Data is nil
  • f71ba69 fix nil pointer in prepare-agent QualityGates check; eliminate config.GateResult — migrate WaveState.GateResults to protocol.GateResult
  • 1006d17 fix retry_cmd_test: RetryResult→RetryAttempt, attempt→attempt_number
  • 4e625ad fix solo-wave detection to check AllBranchesAbsent, preventing silent data loss
  • 89a78bb fix suitability scanner: repoRoot check, switch default, ID/File on error, S004
  • d11287e fix two CI failures exposed by NewPartial guard
  • 61b9a2d fix(E11a): manually merge wave1 agents A+C - resolve GetDiffStats duplicate
  • 32941b7 fix(E21A): update all ExtractCommands/Extract callers to use Result[T]
  • ac1c88e fix(E21A): update protocol callers to use Result[GetData] signature for Cache.Get
  • 85c86f7 fix(E25): update all BuildRetryAttempt and RetryLoop.Run callers
  • ad87f05 fix(P1): restore original branch after prepare-wave merge-target checkout
  • 8bdd8b5 fix(ci): use go install for polywave-tools so it lands in GOPATH/bin
  • d84092a fix(close-impl): restore original branch, not hard-coded main
  • 439a310 fix(codereview): migrate to result.Result, validate LLM response, fix empty-diff score and error context
  • 856d47a fix(collision): skip deleted files in extractTypesFromFiles instead of returning error
  • c222fdb fix(commands): parse CI job-level env vars and add SawConfigParser
  • 68cb994 fix(config): add nil guards to GetWaveState/GetAllWaveStates, remove dead GateResults field, wrap errors with wave number context
  • 0aa1a3c fix(deps-review-fixes): correct Agent A brief to use .git validation
  • 55927a4 fix(e35): skip existing functions when detecting caller-ownership gaps
  • c87af75 fix(engine): repair findIMPLDocPath dead loop, double gate execution, missing P1+ conflict check
  • 44ba90e fix(engine): update pkg/engine callers for result-type journal signatures
  • d8b1860 fix(engine): wire integrator AllowedPathPrefixes into agent prompt (E26 I1)
  • 60e42b5 fix(engine,cmd): update ArchiveIMPL/ArchiveProgram callers to result.Result pattern
  • b5c1d1f fix(engine,cmd): update Cleanup/CleanupAllStale callers to single-return pattern
  • 0e15239 fix(engine,cmd): update MergeAgents callers to single-return pattern
  • 5215a01 fix(idgen): fix five bugs in generateGroupedIDs and AssignAgentIDs
  • 441f042 fix(observability): post-Wave-1 baseline — canonical constants + caller updates
  • 4c520f6 fix(observability): update rollups callers for result.Result signatures
  • 44daf22 fix(orchestrator): migrate New/NewBackendFromModel to result.Result, add ctx to implSlug
  • c9cf348 fix(orchestrator): rewrite doc.go with accurate API and add ctx to RunStubScan
  • 5cbc45a fix(pipeline): remove non-canonical error constants from types.go
  • 5911dc3 fix(pipeline/types): correct StepFunc doc, annotate unused State fields, add error code constants
  • 9314f88 fix(prepare-tier): guard E37 critic gate check with threshold
  • 612f692 fix(protocol): MergeAgents dual-return antipattern and inline code replacement
  • 6ef3b44 fix(protocol): replace placeholder error code strings with canonical constants
  • c91fa61 fix(protocol): update hardcoded error code strings for canonicalization cascade
  • dffbb48 fix(protocol,engine,cmd): update RunTierGate/PrepareTier/SkipCriticForIMPL callers
  • 81f6558 fix(release): use go install for polywave-tools in release workflow
  • 3b54036 fix(resume): migrate LoadAgentSessions to Result return type, fix SaveAgentSession error builders
  • af469e8 fix: API backend race condition, silent unmarshal, shared helpers
  • cc103f6 fix: DiscoverLintGate skips gates scoped to other repos
  • 63e8346 fix: E11 hunk-level conflict prediction, E37 critic gate, predict-conflicts cmd, refactor audit IMPLs 1-3
  • fab33b7 fix: FinalizeTier dual-return antipattern (P1-6)
  • 3764dcb fix: FullValidate severity filtering — warnings non-blocking, add WarningCount/Warnings fields
  • ea2b062 fix: GetWorktreeBaseCommit — use merge-base instead of root commit
  • 8d0ba96 fix: IsValidScoutPath handles absolute paths; deduplicate walk check; add tests
  • 96e3d25 fix: OpenAI backend constraint propagation, error handling, tool events
  • e7761cf fix: OverallStatus returns SKIP when all steps are skipped, not PASS
  • f42fe7e fix: Slack HTTP timeout, embeds comment, severityColor default, readWithFallback move
  • 30984ca fix: TestGrepFallback_FindsMatches uses temp dir instead of /tmp to prevent CI timeout
  • 50d430f fix: Wave 1 post-merge cleanup
  • f6e377b fix: add HTTP timeout to Discord and Telegram adapters; migrate Telegram to HTML parse mode
  • 65810d0 fix: add ctx to RunStubScan call site in runner.go
  • 2e8748c fix: add ctx to engine callers and missing test call sites for new ctx signatures
  • 8e3aca8 fix: add extractStringInput helper and validate executor inputs (Bug 4)
  • a77126e fix: add git init to tests and correct QUEUE_EMPTY error code checks
  • 0a2860e fix: add injection_method and context_source to schema known keys
  • 47af66c fix: add nil ObsEmitter guards and replace legacy error code string
  • ea9c79c fix: add nil logger param to CreateProgramWorktrees call (E35 gap)
  • cef6d2d fix: add nil logger param to CreateProgramWorktrees call (E35 gap)
  • 1da58d8 fix: add post-merge verification to prevent silent merge failures
  • 790d156 fix: add python parser registration and fix pointer-to-slice brittleness
  • 0d0cf14 fix: add wave_reference_invalid check to ValidateBriefs
  • 6597f6e fix: advance IMPL state to REVIEWED in solo-wave PrepareAgent; expand isSAWOwnedPath to cover docs/IMPL/ and docs/CONTEXT.md
  • f77d930 fix: align error code usage with docs/error-codes.md
  • 1e59c45 fix: allow REVIEWED to COMPLETE state transition
  • 7c5f1e5 fix: apply 4 targeted fixes to collision detector and add root-package test
  • 0b0c27e fix: apply 5 bug fixes to pkg/worktree/manager
  • 9d09eaf fix: apply E37Required threshold guard to prepare-wave cmd and engine
  • d122dcd fix: auto-advance IMPL state SCOUT_PENDING→REVIEWED in prepare-wave
  • 6346115 fix: bedrock backend nil pointer, tool ID, dead code, maxTurns, shared helpers
  • 2fcaa51 fix: bugs 1, 2, 3, 6, 7, 8 in prelaunch_gate
  • 09b491a fix: bugs 1,2,4,5,6 in pkg/resume/detect.go and callers
  • d603c8c fix: bypass isolation hook for prepare-wave advance_state commit
  • 34a2f8b fix: capture non-JSON PTY output and detect Claude Code nesting in cli backend
  • 185224b fix: case-insensitive repo resolution and branch-tip merge verification
  • 821753e fix: change symbol_missing and line_invalid severity from warning to error
  • ffd1e38 fix: clean up result.go and result_test.go (four bugs)
  • 347a31d fix: collision detector uses merge-base instead of hardcoded main
  • e98dcff fix: complete Wave 2 agent.NewRunner signature updates in orchestrator tests and engine
  • 3ddc387 fix: complete rebrand audit cleanup
  • 74c6348 fix: complete removal of _local error code constants from github_actions.go
  • 98c6b05 fix: consolidate path extraction, fix violation return type, remove bash stub, fix init order, replace nolint
  • 2c6dad9 fix: convert checkPhaseTransition panic to returned error
  • 0cf7a09 fix: correct Adapter.Send return type in README, add readWithFallback tests
  • 3f1acce fix: correct CriticVerdictFail to CriticVerdictIssues in hooks IMPL
  • 8c7ed0c fix: correct advance_state path doubling and strengthen I1 isolation enforcement
  • 4b9e686 fix: correct cache_test.go Result.Code assertions after Get migration
  • a428b0d fix: correct test format to match ParseRequirements implementation
  • 7006e51 fix: daemon completedCount indentation; autonomy config 0600 permissions
  • aa255fc fix: default --commit-state to true in prepare-wave
  • 97f50d6 fix: dispatcher returns FATAL for zero adapters; promote DISPATCH_ALL_FAILED constant
  • 168e433 fix: eliminate process-wide SAW_ALLOW_MAIN_COMMIT env var race in prepare.go
  • 7865903 fix: enforce E37 critic gate — block REVIEWED state on ISSUES verdict
  • a7ba677 fix: enrich RunTierGate IMPL statuses from disk before checking completion
  • 7e72cd5 fix: filter requirements without locations in ParseRequirements
  • 14ed43a fix: five command parser bugs in pkg/commands
  • de6878b fix: guard GetData() call with IsFatal() check in validate_cmd to prevent panic on parse errors
  • d043447 fix: guard against nil context in RetryLoop.Run
  • e5902a5 fix: harden deterministic.go — error propagation, bounds checks, FieldName tracking
  • 56a179b fix: harden pkg/config — permissions, error codes, migration, logging
  • c3ae9c3 fix: inspector findings across pkg/tools, pkg/suitability, and backend clients
  • 3765238 fix: integration issues after hooks-review-fixes merge
  • 93f03d8 fix: log swallowed errors in updateRecent and extractToolResult
  • a4eb8d8 fix: mark-program-complete now closes each IMPL before archiving PROGRAM
  • e7ce779 fix: migrate FinalizeWave to result.Result[T] (N002_FINALIZE_WAVE_FAILED)
  • d01e60e fix: migrate NewBackendFromModel/New callers to result.Result pattern
  • e66d7c0 fix: move collision IMPL to correct repo and fix all path references
  • 9719233 fix: nil guard ObsEmitter in StepRunGates, repoKey on failure paths, allGone/isSolo AND logic
  • e9f8578 fix: normalize Wave 2 agent verification fields to PASS format
  • 4d7085a fix: parse exit code from test result preview in extractTestResults
  • f0179cb fix: pass ctx to protocol.Load in BuildRetryAttempt instead of context.TODO()
  • acd0bff fix: pkg/retry silent failures, coverage gaps, doc drift
  • 86fd5d1 fix: pkg/scaffold inspector warnings — context propagation, dead alias, regex cache, tests
  • 48081dd fix: populate MessageID in Discord and Telegram adapters
  • cec38f0 fix: post-merge integration fixes for deps-review-fixes Wave 1
  • 1fc6e21 fix: pre-commit-check now validates IMPL→repo mapping
  • a5f72c7 fix: pre-wave-gate treats W001 scope warnings as blocking errors
  • 5938d2a fix: promote regex patterns to package-level vars, fix TestCoverage aggregation, fix comment
  • 4427f7a fix: promote regex vars to package-level and fix ParseRequirements no-location drop
  • 4ab0aed fix: reduce false-positive symbol_missing errors in ValidateBriefs
  • 61594a1 fix: remove E37Required worktree stubs after merge
  • 9f31054 fix: remove accidentally included Agent C code from prior commit
  • 7adb771 fix: remove critic agent fallback prompt, fail loudly on missing file
  • 896d6d3 fix: remove dual-return from Cleanup and CleanupAllStale; fix context.TODO in VerifyCommits
  • a6d2f92 fix: remove duplicate RunCriticOpts/RunCriticResult from critic.go; wire runCriticFn init
  • bdf499a fix: remove duplicate collision error codes from merge
  • aa197bf fix: remove duplicate loggerFrom declaration in pkg/orchestrator
  • 0cab143 fix: remove duplicate provider routing in chat.go, surface swallowed errors
  • e039b19 fix: remove fallback agent path parsing in Archive(), add regression tests
  • 21000ab fix: remove stale WrittenAt assertion from CompletionReport test
  • 432efe6 fix: remove stale coordination comment and replace fmt.Sscanf with strconv.Atoi in worktree_status.go
  • 0c1875a fix: remove string() casts and log swallowed checkpoint copy errors in checkpoint.go
  • 7024ec0 fix: remove unused import from scanner_test.go
  • 7ec4f77 fix: rename N018-N084 string values to follow Nxxx_DESCRIPTION pattern
  • 162122a fix: rename UpdateStatusFailedPayload.Wave to .Slug and improve step_types docs
  • 5b203a1 fix: rename dispatch constants to Nxxx pattern, remove dead SV block, update docs
  • 5739ba2 fix: replace %v with errors.Join+%w for []SAWError wrapping in sawtools cmds
  • 582f5e1 fix: replace context.TODO() with ctx in resolve_conflicts.go and fix_build.go, add drift comment to verify_install.go
  • cd5fc22 fix: replace deprecated strings.Title with cases.Title in gate_populator.go
  • cf036cf fix: replace extractTypeDefinitions with extractTypeNames delegation, add determinism sorts
  • cf608fa fix: replace nolint suppressions in StandardTools with explicit panic-on-failure
  • a914dfa fix: return errors from findRepoRoot/parseGoMod/checkImports, delete extractImports
  • 9ea9551 fix: route gates with repo: field to correct directory via saw.config.json
  • 438a50b fix: scaffold pre-agent bug fixes and type extraction refactor
  • 9b745e4 fix: scaffoldval bugs 1,3,4,5,6 — ctx param, go.mod import check, AST reuse, SKIP type refs, findRepoRoot
  • c1a62a3 fix: scope quality gates to wave ownership for multi-wave IMPL
  • 1c8c84d fix: set explicit GOWORK env on go subprocesses to prevent repo go.work corruption
  • 3da8ffa fix: show detailed baseline gate diagnostics on prepare-wave failure
  • b181826 fix: silence cobra usage output in validate-briefs cmd on validation failure
  • 38dc991 fix: skip local type aliases in collision detector (only check top-level decls)
  • b624ce7 fix: split silent JSON decode failure and add bot token tests in Slack adapter
  • 17dbf19 fix: string() casts to unblock Wave 2 CompletionStatus migration
  • 5adb109 fix: surface test output on verify-build failure; prefer quality gate test command
  • 4f6af6f fix: thread ctx through saveRetryIMPL, filesFromIMPL, gateCommandFromIMPL, GenerateRetryIMPL; remove dead code branch
  • 8182022 fix: unset GOWORK in gate subprocesses to prevent parent shell go.work interference
  • bcc0c1a fix: update AssignAgentIDs callers to use Result[T] pattern
  • 2171845 fix: update CheckDeps callers to use Result[T] API
  • 0d867e6 fix: update I1/E16 code string assertions in cmd and hooks packages
  • d184535 fix: update cache_test.go to use result.CodeCacheMiss constant
  • cbc0b4b fix: update cache_test.go to use result.CodeCacheMiss constant
  • 0f5262d fix: update callers to use collision.DetectCollisions Result[T] API
  • f53f50e fix: update cmd/sawtools callers to use canonical result.Result error pattern
  • 8a021aa fix: update detect_test.go call sites for context.Context signatures and buildActionAndCommandInternal currentWave param
  • 1284bb3 fix: update diagnose_build_failure_cmd to match builddiag.DiagnoseError signature
  • 794933b fix: update doc.go examples and gowork_steps status consistency
  • 08bb18d fix: update mark_program_complete_cmd_test to use engine package types
  • 588430c fix: update memory_test.go to use result.CodeKnownIssueMissingTitle
  • 499f9da fix: update pre-commit hook to allow Orchestrator commits to main
  • 60ca589 fix: update resume-detect call site to unpack result.Result from resume.Detect
  • f911cd6 fix: update run_gates_cmd.go caller from RunGates to RunGatesWithCache
  • 8d44038 fix: update solver error pattern matching for ValidateRefs format
  • c62f3eb fix: update verify_install_cmd_test.go to use engine.InstallResult types
  • 5647c34 fix: use %w for error wrapping in cmd/sawtools (was chain-breaking with %v/%s)
  • 4c3a3c6 fix: use dash-separated agentID format in TestJournalIntegration_ArchiveJournal
  • 949a555 fix: use result.CodeCallerCascadeHotfixFailed in caller_cascade.go (post-wave1-merge)
  • d82eeb0 fix: use result.CodeDisjointOwnership instead of dead-code I1_VIOLATION string in prepare.go
  • 1c6fd5d fix: use result.CodeScoutBoundaryViolation constant and handle filepath.Rel error
  • c4be473 fix: use skipImports flag instead of checking initial SKIP status
  • 4995436 fix: wire E19 retry loop in launchAgentStructured and replace context.TODO
  • 2ee4884 fix: wire Q006 warning for unreadable IMPL files, add UpdateStatus validation
  • d7582a7 git-subprocess-unification: close IMPL, archive, update CONTEXT
  • ed83b4b gitignore inspection report output directory
  • c724a75 implement DetectStaleConstraints with basename fallback and 6 tests
  • ac70e6a implement agent-status command for sawtools
  • 7f3e8c4 implement git.Rm function in internal/git/commands.go
  • 51d9161 implement reconcile-state command with ReconcileStateResult and AgentObservation types
  • 21d88a8 inspector findings: codereview/collision hardening
  • d2f4464 inspector findings: commands package hardening
  • 3ceb0a8 inspector findings: config and deps hardening
  • 43fe6e2 inspector findings: hooks package hardening
  • 0d64fae inspector findings: notify package hardening
  • 545c13a inspector findings: orchestrator package hardening
  • 4260648 inspector findings: protocol package hardening
  • a29999d inspector findings: result/engine/queue/agent/autonomy/builddiag hardening
  • 5cdc7ac internal/git: add StatusPorcelainFile, Add, CommitWithMessage, LogOneline
  • 8eac22c internal/git: add SymbolicRef, WorktreeListRaw, DiffNameOnlyHEAD, DiffNameOnlyStaged, AddUpdate, Version wrappers
  • 191a79c internal/git: add tests for SymbolicRef, WorktreeListRaw, DiffNameOnlyHEAD, DiffNameOnlyStaged, AddUpdate, Version
  • 56241ba journal: canonicalize archive.go error codes, unexport helpers, migrate ListArchives to result type
  • f4e0b3c merge agent-A commands for test compilation
  • f2e9e03 merge gowork-lsp-setup wave1: keep Agent A gowork_steps.go over Agent B stub
  • 67e0762 merge(wave2-agent-D): MergeAgents dual-return fix and caller baseline
  • b19106a merge(wave2-agent-E): Cleanup dual-return fixes and caller baseline
  • 9eeb767 merge(wave2-agent-F): ArchiveIMPL/ArchiveProgram/LoadProjectMemory result.Result and callers
  • 085738d merge(wave3-agent-G): FinalizeTier dual-return fix
  • f97a971 merge(wave3-agent-H): RunTierGate ctx, PrepareTier, SkipCriticForIMPL, FullValidateProgram
  • cd0fce8 merge: Wave 1 saw/logging-injection-remaining/wave1-agent-A (manual recovery)
  • 1f4408c merge: Wave 1 saw/logging-injection-remaining/wave1-agent-D (manual recovery)
  • e85c63f merge: Wave 1 saw/logging-injection-remaining/wave1-agent-E (manual recovery)
  • 3cecdb0 merge: Wave 2 Agent B (detect-wiring CLI command)
  • adf0598 merge: Wave 2 agent-I (result-type-migration) — resolve stubs.go conflict
  • 5fa85cf merge: Wave 2 agents J,K,L,M,N,O,P (result-type-migration)
  • 7925c18 merge: Wave 3 agents Q,R2 (result-type-migration)
  • a5a1885 merge: Wave 3 result-type-migration — resolve runner.go conflict
  • a94e2fa merge: wave3-agent-J — fix critic.go LoadTypePromptWithRefs result.Result API
  • 2118ad3 migrate ImportImpls and LoadTypePromptWithRefs to result.Result[T]; fix context propagation in runScoutAutomation; delete dead code gateChannels and startWaveWithGate
  • 4d8e416 migrate PrepareAgent to result.Result[T], fix FilesOwned count and saw_name YAML quoting
  • ce7eff4 migrate SaveAgentSession to result.Result[SaveSessionData]
  • 67f5a53 migrate SaveProjectMemory, Save, SetCompletionReport to result.Result[T]
  • a3317eb migrate ValidateScoutWrites to result.Result[ValidateData]
  • f82216b migrate cascade.go and output.go to result.Result[T]; unify cascade types (P1-9)
  • a9f0c19 migrate cmd/sawtools finalize_wave, mark_program_complete, verify_install to internal/git wrappers
  • 9297c4b migrate conflict_predict/updater to result.Result[T]
  • a92b675 migrate graph.go to result.Result[T]; context propagation; P2-1 fix
  • 4831ace migrate pkg/interview to result.Result[T] for Save and WriteRequirementsFile
  • 52ffa7f migrate pkg/journal to result.Result[T] return types
  • c877b80 migrate pkg/protocol Append* functions to result.Result[T]
  • 2696041 migrate pkg/queue/manager.go to result.Result[T] return types
  • eaa96af migrate pkg/worktree Manager.Remove and CleanupAll to result.Result[T]
  • 9c227d3 migrate protocol freeze/repo_resolve to result.Result[T]
  • a2a9bbe migrate protocol gates and merge_log to result.Result[T]
  • a3b816e migrate tools.Workshop.Register to result.Result[RegisterData]
  • 1eefcd2 move verify-install logic to pkg/engine, reduce cmd to thin adapter
  • 7e3a367 obs: migrate emitWaveMerge and emitWaveStart to EmitSync
  • 3334f0e obs: replace error code string literals with result constants in tests
  • cd91ede observability: convert query.go exported functions to result.Result[T]
  • 88c4352 observability: convert rollup functions to result.Result[T] and fix ComputeTrend context
  • 6e149f2 orchestrator: migrate reportMu write/read paths to WithCompletionReportLock
  • bb7311c pkg/analyzer: add context.Context to ParseFile, ExtractImports, AnalyzeDeps
  • 4d87663 pkg/analyzer: migrate to result.Result[T], fix P0-3 context, simplify IsStdlib
  • 18972c6 pkg/format: add context.Context to DetectFormatter
  • b4aa8a4 pkg/protocol: add ctx to FullValidate and ValidateBytes; thread context through Load/Save
  • 64ff22b pkg/resume: replace exec.Command git calls with internal/git wrappers
  • 93ffad7 pkg/tools,pkg/orchestrator: replace direct git exec.Command with internal/git wrappers
  • b974361 propagate ctx through RunCritic — replace context.TODO() with ctx
  • 08e7db2 propagate ctx through engine scout and runner functions
  • b1e053c propagate ctx through finalize.go and finalize_steps.go
  • d3dac8d protocol: add CompletionReportBuilder with Validate and AppendToManifest
  • b02134a protocol: add CompletionStatus typed enum, update all in-package callers
  • 77ac6c8 protocol: add completionReportMu and WithCompletionReportLock to manifest.go
  • 2381f34 protocol: add ctx to RunTierGate/FullValidateProgram, result.Result for PrepareTier/SkipCriticForIMPL
  • 88da6ce protocol: document validation entry points and yaml.* call exemptions
  • 9a58f24 protocol: enforce commit requirement when setting status=complete via update-status
  • 1271a07 protocol: migrate ArchiveIMPL, ArchiveProgram, LoadProjectMemory to result.Result
  • 6d460fb refactor(builddiag): simplify DiagnoseError signature - return nil instead of error for unsupported languages
  • bca34e8 refactor(gates): unexport RunGates as runGates, clarify gate hierarchy docs
  • a6b7b7b refactor(interview): add result types and update Manager interface
  • 7d95ae7 refactor(interview): convert Manager methods to result.Result[T] API
  • e91e66d refactor(interview/compiler): convert CompileToRequirements to result.Result[string]
  • 5466544 refactor(interview_cmd): remove capitalize, use Result[T] error patterns
  • 09680dd refactor(journal): unexport 4 internal types, drop error from GenerateContext
  • c78811a refactor(orchestrator): delete journal integration and dead result types
  • 3677f22 refactor(orchestrator): update worktreeCreatorFunc and newRunnerFunc to match new signatures
  • fbf8b92 refactor(orchestrator): use FindWave helper in executeMergeWave
  • b676ad0 refactor(protocol): replace inline error code strings with canonical constants
  • bb3c56d refactor(queue): standardize error codes to Q001-Q006 format
  • 8bddaca refactor(resume): migrate Detect/DetectWithConfig to result.Result return type
  • 7f17449 refactor(state_transition): replace exec.Command calls with internal/git wrappers
  • 3315eac refactor(worktree): migrate Create() to result.Result[CreateData] pattern
  • 71b0602 refactor: centralize hardcoded path construction into path helpers
  • 0a9a443 refactor: consolidate 4 functions to use options structs
  • 9657772 refactor: convert GetRollup to use re...