Follow-up to #94 — Layer 3: pre-merge threat scan.
Before a PR is surfaced for owner approval, scan the diff + PR body for: secrets (regex/gitleaks-style), URLs outside an allowlist, and encoded blobs. Deterministic first. Findings block merge-ready and are visible in the cockpit.
Decision point (from #94): is an LLM "self-modification/supply-chain" threat lens worth its per-PR token cost for v1? Recommendation: deterministic-only for v1 — GitLost shows any LLM gate is probabilistic and bypassable ("Additionally,"-prefix), so the deterministic layers + token scoping carry the weight; revisit an LLM lens later as opt-in.
Acceptance (from #94): "Threat scan runs on every loop-handled PR; findings block merge-ready and are visible in the cockpit."
Follow-up to #94 — Layer 3: pre-merge threat scan.
Before a PR is surfaced for owner approval, scan the diff + PR body for: secrets (regex/gitleaks-style), URLs outside an allowlist, and encoded blobs. Deterministic first. Findings block
merge-readyand are visible in the cockpit.Decision point (from #94): is an LLM "self-modification/supply-chain" threat lens worth its per-PR token cost for v1? Recommendation: deterministic-only for v1 — GitLost shows any LLM gate is probabilistic and bypassable ("Additionally,"-prefix), so the deterministic layers + token scoping carry the weight; revisit an LLM lens later as opt-in.
Acceptance (from #94): "Threat scan runs on every loop-handled PR; findings block merge-ready and are visible in the cockpit."