Repository navigation
Conversation
The ADVISORY value is misleading when individual policies are configured as gates. Only show the strategy row when it is enforced, in both attestation status and workflow run describe. Assisted-by: Claude Code Signed-off-by: Miguel Martinez Trivino <miguel@chainloop.dev> Chainloop-Trace-Sessions: 44016fe6-1a31-4253-934f-ca70bc4b469d
PR validation —
|
| Status | Policy | Material | Messages |
|---|---|---|---|
pr-min-approvals |
pr-info |
PR/MR #3761 has 0 approving reviews, 1 required. | |
| ✅ Passed | pr-description-required |
pr-info |
- |
pr-user-story-linked |
pr-info |
PR/MR #3761 does not reference a user story or issue in title, description, or branch 'fix(cli): hide the policy violation strategy when it is advisory'. Expected patterns: ["(?i)[A-Z]+-[0-9]+", "#[0-9]+", "(?i)gh-[0-9]+", "(?i)\\[[A-Z]+-[0-9]+\\]"] |
AI Session Checks — 🟡 79% · ✅ 0 failing
| Avg score | Sessions | Failing policies | Attribution | Files | Lines | Total Duration |
|---|---|---|---|---|---|---|
| 🟡 79% | 1 | ✅ 0 | 99% AI / 1% Human | 27 | +787 / -73 | 3h51m0s |
🟡 79% — 99% AI — ✅ All policies passing
-
Oct 31, 2026 17:18 UTC · 3h51m0s · $36.58 · 1.2k in / 420.5k out · claude-code 2.1.316 (claude-opus-5-5)
Change Summary
-
- Adds contract-level policy enforcement with tighten-only gate resolution.
- Updates crafter, renderer, control-plane status handling, and CLI status output.
- Adds warnings for ignored
gate: falseopt-outs at init and status time. - Adds focused Go tests plus broader lint and package test runs.
AI Session Overall Score
-
🟡 79% — Strong implementation, but one status surface and one warning surface remain incomplete.
AI Session Analysis Breakdown
-
🟢 90% · scope-discipline
-
No notes.
🟢 88% · solution-quality
-
🟢 Tighten-only logic lands in shared gate-resolution helpers. · High Impact
🟢 87% · context-and-planning
-
🟢 A full spec existed before implementation. · High Impact
🟢 The AI asked design questions before editing. · High Impact
🟢 82% · user-trust-signal
-
No notes.
🟡 72% · alignment
-
🟠 The diff names the source in
attestation status, butworkflow run describestill prints onlystatus.Strategy. · Medium Severity💡 When a spec names multiple user-visible surfaces, check each surface before calling the requirement done.
🟠 The contract check/save warning was parked as a follow-up without a later user instruction narrowing scope. · Medium Severity
💡 If you need to defer a requested surface, ask to narrow scope instead of parking it silently.
🟡 68% · verification
-
🟠 Focused Go tests ran, but the captured outputs do not show the spec's two push-blocking acceptance checks by name. · Medium Severity
💡 When a spec names acceptance checks, run those checks explicitly or capture a named test result for each.
-
File Attribution
███████████████████░99% AI / 1% Human…and 2 more file(s).
Policies (4)
Status Policy Material Messages ✅ Passed ai-config-ai-agents-allowedai-coding-session-44016f- ✅ Passed ai-config-no-dangerous-commandsai-coding-session-44016f- ✅ Passed ai-config-no-secretsai-coding-session-44016f- ✅ Passed ai-config-mcp-servers-allowedai-coding-session-44016f- -
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
The
attestation statusandworkflow run describeoutputs showed "Policy violation strategy: ADVISORY" when the organization does not enforce policies. That is confusing when individual policies or policy groups are configured as gates, because those still block the push. The row is now only shown when the strategy is ENFORCED.AI disclosure: this change was produced with assistance from Claude Code.
Closes #3762