feat(audit): successful HTTP pushes finally write an audit row #5556
ccantynzAI Reviewcommented 5d ago
AI Triage
(no summary)
Priority: medium Risk area: mixed
Suggested labels: (no label suggestions) Suggested reviewers: (no reviewer suggestions)
Suggestions only — nothing has been applied. The PR author stays in control.
gluecron[bot]🤖 botAI Reviewcommented 5d ago
AI review unavailable
The platform's AI balance is exhausted, so AI generation is temporarily unavailable. Nothing was lost. You can queue this as a repair for the internal agent from the repository's Health page, or try again once the balance is restored. The PR is otherwise unchanged.
Cross-repo impact
See what breaks downstream if this PR merges.
⮌ Merged
This pull request was merged into main.
c comment · e edit title · m merge · a approve · r request changes · ? shortcuts
Surfaced by the Vapron deployment: its canonical repo had "no push logging" — because the product has none for its dominant transport. A successful Smart-HTTP push wrote no audit row; only rejections (
push.rejected) and SSH attempts (git.push.ssh) were recorded, so "who pushed what, when" was unanswerable from the audit log on every Gluecron instance.git.push.httprows now mirror the SSH path: pusher, repo, ip, user-agent, and the full ref list (name, old→new sha). Recorded as the authorized attempt (post access-check, post policy-gate); fire-and-forget so a failed audit write can never block a push. Root-cause fix upstream — every instance gets push logging on its next update instead of each box growing a local pre-receive hook.Typecheck clean; push-policy + audit suites 47 pass.