feat: ship run log persistence for /retro velocity tracking#324
Open
jithinraj wants to merge 1 commit intogarrytan:mainfrom
Open
feat: ship run log persistence for /retro velocity tracking#324jithinraj wants to merge 1 commit intogarrytan:mainfrom
jithinraj wants to merge 1 commit intogarrytan:mainfrom
Conversation
d268b5f to
61db776
Compare
Adds structured JSONL logging to /ship and consumption in /retro, enabling shipping velocity metrics across retrospectives. - bin/gstack-ship-log: read/write helper with --window date filtering - ship Step 8.25: appends entry after PR creation (version, branch, PR URL, review findings, Greptile stats, coverage delta) - retro Step 1 command 14: reads ship log for velocity aggregation - retro Step 2: Ship Velocity metric row - retro Steps 13-14: ship_velocity in saved JSON and narrative Follows existing JSONL patterns (gstack-review-log, gstack-telemetry-log). Graceful fallback: log failures never block /ship workflow.
61db776 to
e6a47ff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/retrovelocity tracking./shipappends a JSONL entry (version, branch, PR URL, review findings, Greptile stats, coverage delta) after each PR creation./retroreads the log to compute shipping velocity metrics.Addresses the P2 "Ship log" item in TODOS.md (line 168).
Changes
bin/gstack-ship-log: read/write helper followinggstack-review-logpattern, with--windowdate filtering for retro time rangesship/SKILL.md.tmplStep 8.25: agent assembles and appends JSON after PR creationretro/SKILL.md.tmpl: command 14 reads ship log, Step 2 aggregates Ship Velocity metric, Steps 13-14 include velocity in saved JSON and narrativetest/skill-validation.test.ts: updated assertion for retro command renumberingtest/helpers/touchfiles.ts: addedship-log(periodic) andbin/gstack-ship-logdependency to retro touchfilesTest Coverage
All existing tests pass (1/2 pre-existing failure on main). Skill docs fresh for both Claude and Codex hosts.
bash -nsyntax check passes.Pre-Landing Review
No issues found.
TODOS
Ship log (P2) addressed. No other TODOS affected.
Test plan
bash -n bin/gstack-ship-logpasses syntax checkbun testpasses (no regressions introduced)bun run skill:checkreports 27/27 skills healthybun run gen:skill-docs --dry-runreports all FRESHbun run gen:skill-docs --host codex --dry-runreports all FRESHgstack-ship-log '{"ts":"..."}' && cat ~/.gstack/analytics/ship-log.jsonlgstack-ship-log readreturns entries,gstack-ship-log read --window 7dfiltersgstack-ship-log readreturnsNO_SHIP_LOGwhen no log existsmkdir -pandecho >>use2>/dev/null || true