Repository navigation
feat(trace): check net contribution, session updates and rewrites end to end - #3685
Conversation
… to end Add scenarios that run the git commands of a human after the agent session and push again: a commit that replaces an AI line, an amend of the session commit, and a rename in a later commit. They work on a feature branch, because the push reads only the commits that are not on the default branch of the remote. Register the checks of the Net contribution, Session updates and Renames and rewrites rows. Refs chainloop-dev#3635 Assisted-by: Claude Code Signed-off-by: Jose I. Paris <jiparis@chainloop.dev> Chainloop-Trace-Sessions: 0f698192-ddc8-487e-b214-474edc859d4e
PR validation — ✅ 3 passing
AI Session Checks — 🟢 88% · ✅ 0 failing
|
| Status | Attribution | File | Lines |
|---|---|---|---|
| created | ai | app/cli/internal/trace/e2e/cursor.go |
+262 / -0 |
| created | ai | app/cli/internal/trace/e2e/cursor_test.go |
+160 / -0 |
| created | ai | app/cli/internal/trace/e2e/checks_test.go |
+57 / -0 |
| modified | ai | app/cli/internal/trace/README.md |
+10 / -11 |
| modified | ai | app/cli/internal/trace/e2e/checks.go |
+9 / -0 |
| modified | ai | app/cli/internal/trace/e2e/config.yaml |
+9 / -0 |
| modified | ai | app/cli/internal/trace/PROVIDERS.md |
+2 / -2 |
| modified | ai | app/cli/internal/trace/e2e/claude.go |
+2 / -2 |
| modified | ai | app/cli/internal/trace/e2e/harness.go |
+3 / -0 |
| modified | ai | app/cli/internal/trace/e2e/result_test.go |
+1 / -1 |
| modified | ai | app/cli/internal/trace/e2e/e2e_test.go |
+1 / -0 |
Policies (4)
| Status | Policy | Material | Messages |
|---|---|---|---|
| ✅ Passed | ai-config-ai-agents-allowed |
ai-coding-session-0f6981 |
- |
| ✅ Passed | ai-config-no-dangerous-commands |
ai-coding-session-0f6981 |
- |
| ✅ Passed | ai-config-no-secrets |
ai-coding-session-0f6981 |
- |
| ✅ Passed | ai-config-mcp-servers-allowed |
ai-coding-session-0f6981 |
- |
Security Checks — ✅ 5 passing
✅ secret-scan
| 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 |
- |
Scans not applied (3)
| Scan | Reason |
|---|---|
vulnerability-scan |
no manifest/lockfile changed |
github-actions-scan |
no workflow files changed |
iac-scan |
no IaC 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
Assisted-by: Claude Code Signed-off-by: Jose I. Paris <jiparis@chainloop.dev> Chainloop-Trace-Sessions: 0f698192-ddc8-487e-b214-474edc859d4e
…checks Signed-off-by: Jose I. Paris <jiparis@chainloop.dev> # Conflicts: # app/cli/internal/trace/e2e/checks_test.go
Closes three suite gaps of the Chainloop Trace end-to-end suite (spec issue-3635, R-002, R-005, R-011). The Net contribution, Session updates, and Renames and rewrites rows now have registered checks. It refs #3635.
FollowUp), then push again. The runner reads the session that the last push stored.Branch), which the workspace creates frommainand pushes before the session. The push reads only the commits that are not on the default branch of the remote, so a second push finds the session commits only on another branch.human-update: a human commit replaces one of the three AI lines. Net contribution checks 2 AI lines, 1 human line, and the file stillcreated. Session updates checks that the human commit is in the commit list of the session and that the replacing line is human.amend: a human adds a line to the pushed session commit and force-pushes. The session follows the amended commit, with 3 AI lines and 1 human line.rename: the agent commits with no push, and a human renames the file in a second commit, then pushes both. The 3 lines stay AI lines.No cell value changes.
This PR was written with the help of Claude Code.