Merge Main and Resolve Token Usage Conflicts

Merged latest origin/main into review-pi-reviewer and resolved conflicts.
Resolved files:
cmd/entire/cli/review/profile.gocmd/entire/cli/review_bridge.godocs/architecture/review-command.md
Validation:
go test ./cmd/entire/cli/review ./cmd/entire/clipassed
Created merge commit:
9edc2ba2a Merge remote-tracking branch 'origin/main' into review-pi-reviewer
Note: existing untracked file remains untouched:
.pi/extensions/entire.ts
Entire Trail review comment ID: 019f1288-9486-774c-940d-957b2978e60c URL: https://entire.io/gh/entireio/cli/trails/467/review-pi-reviewer Severity: medium Context: cmd/entire/cli/agent/pi/reviewer.go:81 Selected context:
piReviewTokens(env.Message.Usage) is emitted per message_end, but the Tokens event contract is cumulative running totals that the consumer overwrites (run.go: tokens = e // overwrite). Pi's per-message usage is not cumulative — its own transcript fixtures show output going 50 → 30 (and 50 → 60 → 40) across messages — so for any multi-message review (every review that calls tools) the final reported tokens reflect only the last assistant message, undercounting total output (and input). Accumulate output across messages (cf. gemini's CalculateTokenUsage which sums usage.OutputTokens += msg.Tokens.Output) instead of relying on overwrite.
Fixed, committed, and pushed.
Commit:
14a45e8d1 fix(pi review): report cumulative token usage
Changes:
- Pi review parser now emits cumulative token totals.
- Added tests for cumulative multi-message usage and turn_end/message_end de-duping.
Validation:
go test ./cmd/entire/cli/agent/pi ./cmd/entire/cli/review ./cmd/entire/clipassed
Untracked local file remains:
.pi/extensions/entire.ts
Entire Trail review comment ID: 019f128d-8fd4-76fa-9b5f-7509420e6a0c URL: https://entire.io/gh/entireio/cli/trails/467/review-pi-reviewer Severity: low Context: cmd/entire/cli/agent/pi/reviewer.go:198 Selected context:
piReviewTokens is defined but never referenced anywhere in the package or tests (only addPiReviewTokens is used). The unused linter is enabled in .golangci.yaml, so this dead unexported function will fail CI lint; remove it or wire it in.
Fixed and pushed.
Commit:
6ce166660 chore(pi review): remove unused token helper
Validation:
go test ./cmd/entire/cli/agent/pi ./cmd/entire/cli/review ./cmd/entire/clipassed
Untracked local file remains:
.pi/extensions/entire.ts