MR Sentinel

Audit log · ← dashboard

sgharlow/governance-demo-app!14

Verdict
block
Score
1.0 / 10
Rubric
v2
Commit
79f1dffc
Scored
2026-06-01 00:10:28 UTC

Rule outcomes (15)

RuleCategoryOutcomeSeverityControlsEvidence
auth-on-new-public-endpointssecurityfailblockerSOC2-CC6.1, OWASP-ASVS-V1The new public endpoints `GET /refunds` and `POST /refund-all` lack explicit authentication annotations or dependencies, making them publicly accessible by default.
changed-method-coveragequalityfailerrorSOC2-CC8.1, ISO-27001-A.14.2.8The new methods `list_refunds` and `refund_all` in `app/routes/refunds.py` do not have corresponding tests introduced or updated in this diff.
integration-boundaries-explicitcontract_specfailwarningCDPD-§6, ISO-27001-A.14.2.5New HTTP endpoints (`GET /refunds`, `POST /refund-all`) are introduced, but no explicit OpenAPI or schema documentation is included in the diff for these new API contracts.
kill-switch-pathcontract_specfailwarningCDPD-§9, SOC2-CC7.5The `POST /refund-all` endpoint introduces significant new operational functionality without a feature flag, environment toggle, or documented rollback procedure.
observability-on-new-endpointsoperationalfailwarningSOC2-CC7.2, ISO-27001-A.12.4.1The new HTTP endpoints in `app/routes/refunds.py` do not include explicit structured logging (request ID, latency, status) or metrics (counter or histogram).
spec-implementation-matchcontract_specfailerrorCDPD-§7The MR description states 'Closes #220 (audit-only access to refund records)', but the implementation includes a `POST /refund-all` endpoint which performs a write operation (mass refund), contradicting the 'audit-only' nature of the spec.
contract-has-spec-linkcontract_specpasswarningCDPD-§3, ISO-27001-A.14.2.1MR description includes 'Closes #220 (audit-only access to refund records)' linking to a spec issue.
dependency-advisory-checksecuritypassblockerSOC2-CC7.1, ISO-27001-A.12.6.1, NIST-SA-11The diff does not introduce or upgrade any dependencies.
no-commented-out-codequalitypassinfoSOC2-CC8.1The diff does not contain any blocks of commented-out code (3+ consecutive lines).
no-secrets-in-diffsecuritypassblockerSOC2-CC6.1, ISO-27001-A.9.4.3, OWASP-ASVS-V2No secret patterns (API keys, tokens, private keys, connection strings with passwords) were detected in the diff.
no-skipped-tests-introducedqualitypasserrorSOC2-CC8.1No test files were added or modified in the diff, so no skipped tests were introduced.
rollback-documented-for-migrationsoperationalpasserrorSOC2-CC7.5, ISO-27001-A.14.2.2The diff does not include any database migration files.
acceptance-criteria-testablecontract_specskipwarningCDPD-§5, SOC2-CC8.1The content of spec #220 is not provided, and no test files are included in the diff to compare against acceptance criteria.
error-budget-impact-declaredoperationalskipwarningSOC2-CC4.1No `slo.yaml` file is referenced, and the MR description does not include a declaration of the expected error-budget impact.
mutation-resilience-critical-pathsqualityskipwarningSOC2-CC8.1No information about files labeled `critical_path: true` or mutation test results is available to evaluate this rule.

Audit log (2)

WhenActorActionDetails
2026-06-01 00:10:31 UTCmr-sentinelskip_duplicate{"sha": "79f1dffc", "reason": "already_evaluated", "rubric_version": "v2"}
2026-06-01 00:10:30 UTCmr-sentinelevaluate{"score": 1.0, "note_id": 3403879234, "verdict": "block", "rubric_source": "project_override", "comment_created": true, "mr_a