2.7 KiB
issue, issue_title
| issue | issue_title |
|---|---|
| 6 | Log resolved config paths at startup so misconfiguration is debuggable |
Retro: #6 — Log resolved config paths at startup so misconfiguration is debuggable
Final Retrospective (2026-05-02T17:15:00Z)
Session summary
Planned, implemented, and shipped issue #6 across three prompt templates (/plan-issue, /tdd-plan, /ship-issue).
The feature adds a config.resolved review-log entry at every session_start listing all policy and extension config paths with existence flags.
Released as v0.6.0 with no breaking changes.
Observations
What went well
- The first
/ship-issueinvocation correctly detected that only a plan commit existed and refused to close the issue — conservative behavior matching the project's least-privilege philosophy. - TDD execution was clean: 5 commits in logical order, all tests green on first pass after implementation.
- Extracting
src/config-reporter.tsas a standalone module (plan left this as an open question) kept the change small and testable.
What caused friction (agent side)
-
missing-context—.gitignoreincludeddocs/(upstream excluded generated docs), sogit add docs/plans/failed during the plan phase, requiringgit add -f. Self-identified. Impact: one extra tool call and retry; root-caused during retro — upstream's ignore was speculative (no doc generation tooling exists), sodocs/was removed from.gitignoreentirely. -
wrong-abstraction— Usedas unknown as Record<string, unknown>double-cast inlogResolvedConfigPaths()to pass a typedResolvedConfigLogEntrytowriteReviewLog()which acceptsRecord<string, unknown>. This works but bypasses type safety. Impact: no rework, but leaves a type smell insrc/index.ts(lines 1558, 1562). -
missing-context— Did not notice until post-implementation thatsrc/index.tshas two duplicatesession_starthandlers (lines 1566, 1584) performing identical setup. AddedlogResolvedConfigPaths()to both, which means theconfig.resolvedentry is emitted twice per session start. Impact: duplicate log entries; latent bug amplified but not introduced by this change.
What caused friction (user side)
- No user-side friction observed.
The three-template workflow (
/plan-issue→/tdd-plan→/ship-issue) ran without manual corrections.
Changes made
.gitignore— Removed thedocs/entry entirely (upstream added it speculatively for "generated documentation" but no doc generation tooling exists).AGENTS.md— Added "Runtime Caveats" section noting the duplicatesession_starthandlers that must be kept in sync.docs/retro/0006-log-resolved-config-paths.md— This file.