Branch protection (auditor commit status still advisory)
Systemd hardening (running as root, same as other lakehouse-* services)
## Intent
Make the auditor + context7 bridge survive restarts. Both currently manual-start; this adds Gitea-trackable systemd units + an installer.
## Files
- `ops/systemd/lakehouse-auditor.service`
- `ops/systemd/lakehouse-context7-bridge.service`
- `ops/systemd/install.sh` (idempotent)
- `ops/systemd/README.md`
## Post-merge step
`sudo bash ops/systemd/install.sh` — copies units, daemon-reload, enable --now.
## Not in this PR
- Branch protection (auditor commit status still advisory)
- Systemd hardening (running as root, same as other lakehouse-* services)
Promotes two previously manual-start Bun services to systemd
so they survive restarts + run continuously.
- ops/systemd/lakehouse-auditor.service — polls Gitea every 90s,
runs 4 audit checks per PR head SHA, posts commit status + review
comment. Runs as root to match existing lakehouse-* service
conventions on this host; can read /home/profit/.git-credentials
(0600 profit:profit).
- ops/systemd/lakehouse-context7-bridge.service — HTTP wrapper on
:3900 for Phase 45 doc-drift detection. Decoupled from gateway;
runs independently.
- ops/systemd/install.sh — idempotent installer (copy → daemon-reload
→ enable --now). Prints post-install active/enabled status.
- ops/systemd/README.md — run/stop/logs/pause docs.
Pause control stays per-service (bot.paused / auditor.paused files
at repo root). Not wired to branch protection yet — the auditor's
commit status is currently advisory, not enforcing. Flip via Gitea
branch_protections API when confident.
claim_verdicts: 1, unflagged_gaps: 2 ⚠️warn — cloud: claim not backed — "at repo root). Not wired to branch protection yet — the auditor's"
at commit:c85c5500:19
cloud reason: The diff only adds systemd unit files and an install script; it does not implement any wiring of the auditor to branch protection or the claim‑blocking behavior descr ⚠️warn — cloud-flagged gap not in any claim: Service description claims the auditor hard‑blocks merges, but no auditor implementation or branch‑protection integratio
location: ops/systemd/lakehouse-auditor.service:1 ⚠️warn — cloud-flagged gap not in any claim: README states the auditor hard‑blocks merges when claims aren't backed, yet the repository contains no auditor code to p
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Intent
Make the auditor + context7 bridge survive restarts. Both currently manual-start; this adds Gitea-trackable systemd units + an installer.
Files
ops/systemd/lakehouse-auditor.serviceops/systemd/lakehouse-context7-bridge.serviceops/systemd/install.sh(idempotent)ops/systemd/README.mdPost-merge step
sudo bash ops/systemd/install.sh— copies units, daemon-reload, enable --now.Not in this PR
Auditor verdict: ⚠️
request_changesOne-liner: 3 warnings — see review
Head SHA:
c85c55006de7Audited at: 2026-04-22T09:16:30.181Z
dynamic — 1 findings (0 block, 0 warn, 1 info)
ℹ️ info — dynamic check skipped — skipped by options
skipped by optionsinference — 4 findings (0 block, 3 warn, 1 info)
ℹ️ info — cloud review completed (model=gpt-oss:120b, tokens=3194)
claim_verdicts: 1, unflagged_gaps: 2⚠️ warn — cloud: claim not backed — "at repo root). Not wired to branch protection yet — the auditor's"
at commit:c85c5500:19cloud reason: The diff only adds systemd unit files and an install script; it does not implement any wiring of the auditor to branch protection or the claim‑blocking behavior descr⚠️ warn — cloud-flagged gap not in any claim: Service description claims the auditor hard‑blocks merges, but no auditor implementation or branch‑protection integratio
location: ops/systemd/lakehouse-auditor.service:1⚠️ warn — cloud-flagged gap not in any claim: README states the auditor hard‑blocks merges when claims aren't backed, yet the repository contains no auditor code to p
location: ops/systemd/README.md:1kb_query — 1 findings (0 block, 0 warn, 1 info)
ℹ️ info — KB: 69 recent scenario runs, 209/289 events ok (fail rate 27.7%)
most recent: scenario-2026-04-21T05-29-34recent failing sigs: 5745bcd5e4c68591, 5745bcd5e4c68591, caeeeffc69d36009Metrics
Lakehouse auditor · SHA
c85c5500· re-audit on new commit flips the status automatically.