Skip to content

feat(s08): surface test-integrity findings in the PR body and the run webhook (default off) - #63

Merged
im-tyler merged 2 commits into
mainfrom
w5/s08-pr-webhook
Oct 4, 2026
Merged

im-tyler merged 2 commits into
mainfrom
w5/s08-pr-webhook

Conversation

@im-tyler

@im-tyler im-tyler commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Reopening of #62 (auto-closed by an accidental branch delete; same commits c79d513+7755f0c, unchanged).

Wave-5 S08 wiring, owner-approved 2026-10-04: the test-integrity detector's findings reach the PR body and the run-completion webhook, behind a default-off flag, advisory only.

  • PR body: compact **Test integrity** part in the existing Verification section — marker-spliced, idempotent, same wording as the run-page panel, capped at 20 with a middle-cut honesty line.
  • Webhook: additive snake_case test_integrity field on the terminal payload; absent on parks and when clean.
  • Same bytes analysed as the run-page panel (recorded repo-push diff) — the surfaces cannot disagree.
  • No new workflow step; durable log identical in every mode; delivery record untouched.

Tests (src/test-integrity-surface.test.ts, 13): default-off byte-equivalence (section + webhook payload literal + worker composition spread); flag-on real-path through the actual composition code incl. oracle-edit tampered; negative controls (clean/no/garbage diff never crash or surface, invalid flag value, shadow writes nothing, cap + middle-cut).

Verification: lint clean, build clean, targeted tests green, full pnpm test 2174/2174 root (grader-sensitivity = known local port-8901 skip; CI runs it).

…ag, default off)

SHIP_TEST_INTEGRITY_SURFACING=off|shadow|on (default off; invalid is off
with a log, the SHIP_BUDGET_RESERVATION contract). On: the detector's
findings over the published diff reach the pull request's existing
Verification section (marker-spliced, idempotent) and the run-completion
webhook payload as an additive snake_case test_integrity field. Shadow:
computes and logs what on would surface, writes nothing — the standing
worker-path rule. Clean diffs surface nothing anywhere.

No new workflow step and no recorded step result changes in any mode;
the delivery record is untouched (owner approval was PR body + webhook
only, programme wave-5 notes 2026-10-04). The diff analysed is the
recorded repo-push diff — the same bytes the run page's advisory panel
reads.

Tests (src/test-integrity-surface.test.ts): default-off byte-equivalence
for the section and the payload, flag-on real-path tests through
verificationSection/spliceVerification/runWebhookPayload and the
worker's terminal composition, negative controls (clean diff, missing/
non-string/garbage diff, invalid flag), cap and middle-cut honesty.
Docs: programme wave-5 row, AUDIT_OPEN, NEXT_SESSION.
# Conflicts:
#	NEXT_SESSION.md
@im-tyler
im-tyler merged commit eb10bd8 into main Oct 4, 2026
4 checks passed
@im-tyler
im-tyler deleted the w5/s08-pr-webhook branch October 4, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant