Adopt kit git helpers and pin the Go toolchain#576
Conversation
Kit v0.1.0 now carries the shared git subprocess and repository-root helpers that were previously duplicated across Kenn repos. Switching the outcome aggregation path to those released helpers keeps agentsview aligned with the shared implementation while preserving caller cancellation through the stats context instead of creating background contexts inside git discovery or author lookup. The Go toolchain pin moves to 1.26.3 because kit declares that patch level. The Docker build image is pinned to the matching golang:1.26.3-bookworm tag, verified with Docker so container builds use the same patch release as go.mod. Validation: go test ./internal/db/git ./internal/db; docker build --target build -t agentsview-kit-check .; go test ./... was run and failed only in internal/parser TestParseWorkBuddySession, which expected project name proj but got agentsview. Generated with Codex
roborev: Combined Review (
|
Project-name extraction has its own linked-worktree resolver separate from outcome stats. Existing live worktrees can use kit's released gitrepo.MainRoot helper to canonicalize back to the owning checkout, but deleted session paths still need the local filesystem heuristics because there is no working directory for git to inspect. The sync worker path now carries its caller context into file processing and the Claude/iFlow project hint extraction path. SyncSingleSession also has a context-aware entry point so request-driven callers can avoid losing cancellation at the git resolution boundary. Validation: go test ./internal/parser -run 'TestExtractProjectFromCwd'; go test ./internal/sync ./internal/db/git ./internal/db ./cmd/agentsview. Generated with Codex
The parser worktree path should not carry an extra local wrapper around kit's gitrepo.MainRoot. Calling the released helper at the point of live repository resolution keeps the behavior obvious while preserving the local fallback logic for deleted cwd paths that git cannot inspect. Validation: go test ./internal/parser -run 'TestExtractProjectFromCwd'. Generated with Codex
Outcome stats should use the same repo-scoped identity Git would use for commits. Keeping global config disabled for the repo lookup skipped includeIf.gitdir identities, so some repositories appeared to have no author email and were excluded from aggregation. This also restores stderr context for failing git log calls and completes context propagation through the single-session Claude/iFlow project preservation lookups reported by roborev. Validation: go test ./internal/db/git ./internal/sync ./cmd/agentsview. Generated with Codex
The no-context project extraction API must preserve its existing basename behavior for special paths like . and ... Direct kit git resolution remains enabled for the context-aware sync path, where callers can pass cancellation through. Validation: go test ./internal/parser -run 'TestExtractProjectFromCwd'; go test ./internal/db/git ./internal/sync ./cmd/agentsview; golangci-lint run ./... . Generated with Codex
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: Combined Review (
|
roborev: PassNo issues found. Review type: | Agent: codex | Job: 19195 |
roborev: PassNo issues found. Review type: security | Agent: codex | Job: 20036 |
Summary
go.kenn.io/kit v0.1.0ctxthrough the git outcome path instead of using background contextsgo.modand the Docker build imageTesting
go test ./internal/db/git ./internal/dbdocker build --target build -t agentsview-kit-check .go test ./...reported one unrelated existing failure ininternal/parser(TestParseWorkBuddySession)