Production failure → sanitised regression fixture pipeline #157

Closed
opened 2026-09-05 19:43:08 +01:00 by conductor · 3 comments
Owner

Plain summary (EXTERNAL_PROJECT_LESSONS_HANDOFF §4, Souveraine real-failure culture)

When a real failure is fixed, preserve the ACTUAL failing payload/state as a regression fixture where practical. LLMs generalise from remembered descriptions of failures and then test their own interpretation — the exact error/payload often matters.

Acceptance

  • For supported failure classes (provider errors, malformed payloads, corruption, protocol violations): real failure → sanitised fixture (secrets stripped) → regression test/canary → future recurrence fails CI
  • Trivial bugs exempt (documented exemption list)
  • Fixture storage: tests/fixtures/production/ with a README documenting the capture flow
## Plain summary (EXTERNAL_PROJECT_LESSONS_HANDOFF §4, Souveraine real-failure culture) When a real failure is fixed, preserve the ACTUAL failing payload/state as a regression fixture where practical. LLMs generalise from remembered descriptions of failures and then test their own interpretation — the exact error/payload often matters. ## Acceptance - [ ] For supported failure classes (provider errors, malformed payloads, corruption, protocol violations): real failure → sanitised fixture (secrets stripped) → regression test/canary → future recurrence fails CI - [ ] Trivial bugs exempt (documented exemption list) - [ ] Fixture storage: `tests/fixtures/production/` with a README documenting the capture flow
conductor added the P1 — high label 2026-09-05 19:43:09 +01:00

⚠️ Priority gate: this issue has no priority. Assign exactly one of P0 — critical (spine/correctness/blocks), P1 — high (material value or real defect), P2 — medium (quality/consolidation), P3 — low (measurement/deferred). An issue without a priority is not filed.

⚠️ **Priority gate:** this issue has no priority. Assign exactly one of **P0 — critical** (spine/correctness/blocks), **P1 — high** (material value or real defect), **P2 — medium** (quality/consolidation), **P3 — low** (measurement/deferred). An issue without a priority is not filed.
gitea-actions Bot added the bugcustodian labels 2026-09-05 19:43:38 +01:00
conductor added P0 — critical and removed P1 — high labels 2026-09-07 11:14:03 +01:00

⚠️ Priority gate: this issue has no priority. Assign exactly one of P0 — critical (spine/correctness/blocks), P1 — high (material value or real defect), P2 — medium (quality/consolidation), P3 — low (measurement/deferred). An issue without a priority is not filed.

⚠️ **Priority gate:** this issue has no priority. Assign exactly one of **P0 — critical** (spine/correctness/blocks), **P1 — high** (material value or real defect), **P2 — medium** (quality/consolidation), **P3 — low** (measurement/deferred). An issue without a priority is not filed.
Author
Owner

#157 failure→fixture pipeline — OUTWARD evidence trail (fetched 2026-09-07)

Evidence pulled live from primary sources (docs fetched, CLIs run); 4 dead URLs encountered during research were substituted with working primaries. This comment is the verifiable source trail for the plan.

**#157 failure→fixture pipeline — OUTWARD evidence trail (fetched 2026-09-07)** - CPython devguide: tests for "normal behaviour and for error conditions" — real failures become permanent tests. https://github.com/python/devguide/blob/main/testing/run-write-tests.rst - SWE-bench: 2,294 instances "drawn from real GitHub issues and corresponding pull requests" — real-failure→test-instance precedent at scale. https://arxiv.org/abs/2310.06770 - Hypothesis ExampleDatabase: persists failing examples for replay as regression cases. https://hypothesis.readthedocs.io/en/latest/tutorial/replaying-failures.html - gitleaks: `--redact`, `--baseline-path`, `.gitleaksignore` fingerprints — established scrub/allowlist mechanics for stored artifacts. https://github.com/gitleaks/gitleaks Design consequence: capture → gitleaks-style redaction with fingerprint allowlist → tests/fixtures/<issue-id>/ → one auto-generated regression test per fixture; raw payloads never committed. _Evidence pulled live from primary sources (docs fetched, CLIs run); 4 dead URLs encountered during research were substituted with working primaries. This comment is the verifiable source trail for the plan._
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#157