Releases
v0.99.0
Compare
Sorry, something went wrong.
No results found
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...
You can’t perform that action at this time.