Skip to content

feat: goal attribution from deva launch receipts - #25

Open
lroolle wants to merge 1 commit into
mainfrom
feat/goal-attribution
Open

feat: goal attribution from deva launch receipts#25
lroolle wants to merge 1 commit into
mainfrom
feat/goal-attribution

Conversation

@lroolle

@lroolle lroolle commented Jul 29, 2026

Copy link
Copy Markdown
Member

Summary

Joins deva launch receipts to sessions so ccx sessions can answer "which goal was this session serving?"

  • internal/launches: loads $XDG_DATA_HOME/ccx/launches/*.jsonl, indexes receipts by cwd; a receipt stamps sessions starting within [ts-5m, ts+24h], latest qualifying receipt wins
  • sessions: goal field in --json output, new --goal SLUG filter
  • Receipts are advisory: missing or malformed files degrade to no goal, never error; session files stay read-only

Closes #24

Test plan

  • go test ./... green; new unit tests in internal/launches/launches_test.go cover receipt parsing, cwd indexing, the time-window stamping rule, and malformed-input degradation
  • internal/cmd/sessions_test.go updated for the new JSON field

🤖 Generated with Claude Code

- internal/launches: load $XDG_DATA_HOME/ccx/launches/*.jsonl, index
  by cwd; a receipt stamps sessions starting within [ts-5m, ts+24h],
  latest qualifying wins
- sessions: goal in --json output, --goal SLUG filter
- receipts are advisory: missing/malformed degrade to no goal, never
  error; session files stay read-only

Closes #24

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

join deva launch receipts: goal attribution on sessions

1 participant