Repository navigation
feat(trace): parse Pi coding sessions - #3547
Conversation
PR validation — ✅ 3 passing
AI Session Checks — ⏭️ bypassed by labelAI Coding Session Check BypassedThis PR carries the Learn more about Chainloop Trace. Security Checks — ✅ 6 passing✅
|
| Status | Policy | Messages |
|---|---|---|
| ✅ Passed | secrets-detection |
- |
✅ sast-scan
| Status | Policy | Messages |
|---|---|---|
| ✅ Passed | owasp-top10-2025 |
- |
| ✅ Passed | sast |
- |
| ✅ Passed | cwe-top25 |
- |
| ✅ Passed | cwe-top26-40-cusp |
- |
✅ iac-scan
| Status | Policy | Messages |
|---|---|---|
| ✅ Passed | iac-misconfiguration |
- |
Scans not applied (2)
| Scan | Reason |
|---|---|
vulnerability-scan |
no manifest/lockfile changed |
github-actions-scan |
no workflow files changed |
Security context
✅ Nothing this change touches has a recorded security-fix history.
View in Chainloop ↗ · How this works ↗
Powered by Chainloop and Chainloop Trace
There was a problem hiding this comment.
All reported issues were addressed across 11 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
7662966 to
c389246
Compare
Copy persisted Pi JSONL safely, follow the selected v3 session branch, and map deterministic usage, tools, conversation, and raw evidence. Implements R-006 and R-007, plus the provider-copy portion of R-005 in Spec 005. Refs: chainloop-dev#3520 Assisted-by: pi Signed-off-by: Vibhav Bobade <vibhav.bobde@gmail.com>
c389246 to
0c53304
Compare
|
Thanks for your contribution, we're looking into expanding testing and evaluations for this feature so we'll come back to your PR soon! |
|
Hi @waveywaves I've added a couple of comments. I understand this PR implements only the 1st milestone from the spec, so I think it's soon for end to end tests (we are adding PI test driver In this PR #3668) |
Preserve the last successfully copied Pi transcript when a refresh fails and keep parsing it during pre-push so best-effort evidence is not withheld. Refs: chainloop-dev#3520 Assisted-by: Vibhav's Pi Signed-off-by: Vibhav Bobade <vibhav.bobde@gmail.com>
|
Thanks, I'm merging this. |
Summary
Implements the provider/parser slice of spec issue-3520:
This PR implements R-006, R-007, and the provider-copy portion of R-005. After maintainer review, it intentionally departs from R-005's stale-copy invalidation rule: a failed refresh now retains and uses the best previously copied session version. It intentionally does not register Pi or add extension/hooks/CLI flags; those remain a separate implementation slice.
Compatibility and safety
Verification
go test -race -shuffle=on -count=1 ./app/cli/internal/trace/pi ./app/cli/pkg/actionmake -C app/cli buildgo vet ./...fromapp/cligit diff --checkmake -C app/cli lintwas attempted, but golangci-lint 2.11.1's available toolchains cannot parse this repository's Go 1.27 export data; the post-pushlint (cli)check is authoritativeRefs #3520
AI assistance
Vibhav's Pi assisted with implementation and review. The maintainer-fix commit carries an
Assisted-by: Vibhav's Pitrailer.