7 Commits

Author SHA1 Message Date
pulse-triage[bot] 21a32dbf86 Fail closed when local pre-push source reads fail
Require complete Git scope, parent, trailer and file observations before checking committed source. Keep ordinary dirty-tree exits distinct from read errors, retain every failing canonical commit, and stop before expensive source checks when admission is already blocked. Fault-injection controls exercise empty and partial reads alongside the successful Go, type-check and browser-guard path.

Contract-Neutral: Local pre-push orchestration only; product contracts and the required source, audit and browser checks are unchanged.
Change-source: pulse-maintainer
2026-10-25 19:47:30 +00:00
pulse-triage[bot] b74b4f126a Preserve literal Bash audit invocation inside the owned group
The exact-source broader audit suite exposed ENOEXEC differences in the direct Python exec path. Retain the former Bash executable-script fallback with a fixed exec program and literal argv, including whitespace and shell metacharacters in the executable path. Isolate the two path-lookalike fixtures so each still asserts its own one-commit guard result.

Contract-Neutral: Restore the existing Bash command compatibility within the new audit process group; audit classification, retry rules, dependency graphs, command arguments and external authority are unchanged.
Change-source: pulse-maintainer
2026-10-13 05:39:13 +01:00
pulse-triage[bot] e41ce241ec Keep the audit process owner in strict delivery checks
Both required CI and the local gate must treat the new subprocess owner as audit runtime, not an unchanged dependency graph. Carry the actual helper into the isolated local-gate fixture and test positive findings, missing results, large change lists and exact-path lookalikes through both consumers.

Contract-Neutral: Extend the existing strict audit-runtime path classification to its new owned helper; advisory rules, dependency graphs, public runtime, credentials and external permissions are unchanged.
Change-source: pulse-maintainer
2026-10-13 05:37:14 +01:00
rcourtman 7c781789e4 Include shared Git helpers in the prepush browser fixture
The browser gate now uses the shared repository I/O module. Exercise its
real dependency in the prepush fixture so smoke tests reach qualification
checks instead of failing during import.

Contract-Neutral: Test fixture dependency only, no application or contract behavior changes.
2026-10-12 23:44:52 +01:00
pulse-triage[bot] c6294f5654 Correct pre-push receipt fixtures to compare admitted content
Exercise a receipt-only follow-up over unverified outgoing source rather than an unchanged source range, explicitly retain the CI skip when only metadata changes, and compare receipt tree identities across a merge instead of Git display headings. The existing range guard and receipt admission policy are unchanged.

Contract-Neutral: Test-only corrections establish the existing local and CI browser admission semantics without changing production or contract behaviour.
Change-source: pulse-maintainer
2026-10-06 12:07:58 +01:00
pulse-triage[bot] bc89ac1b89 Exercise final browser proof in local delivery preflight
Reproduce the local pre-push gap with real disposable Git histories and the existing browser receipt guard: missing, stale, partial, wrongly parented and nonpassing proof must not receive a local green verdict. Valid own-parent receipts and merges must remain usable without rebinding; upstream-only changes are not outgoing work.

Contract-Neutral: Test-only local delivery admission controls; no runtime, browser receipt rules or protected delivery policy change.
Change-source: pulse-maintainer
2026-10-06 10:29:16 +01:00
pulse-triage[bot] 94abfb3511 Reject incomplete frontend local delivery preflight
Run the existing bounded strict audit before expensive local checks when frontend manifests or its audit runner change. Fail missing frontend dependencies rather than print a passing pre-push verdict after a skipped type-check. Preserve per-commit contract binding, CI gates and the inherited-advisory policy; execute real disposable Git and canned-provider orchestration controls without an external advisory query.

Contract-Neutral: Local developer preflight now reports incomplete checks honestly; no runtime, API, dependency graph or protected CI policy changes.
Change-source: pulse-maintainer
2026-10-06 06:30:11 +01:00