coulomb-social/workplans/CSOC-WP-0009-usecase-regression-infrastructure.md
tegwick a1989f19db
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 6m2s
Establish use-case regression collection and real browser gate
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a10e2d-a5ef-7e92-b03d-b1694e915680
2026-10-06 14:02:01 +02:00

105 lines
4.1 KiB
Markdown

---
id: CSOC-WP-0009
type: workplan
title: "Established use-case collection and executable regression gate"
domain: communication
repo: coulomb-social
status: finished
owner: codex
topic_slug: coulomb-social
created: "2026-10-06"
updated: "2026-10-06"
related:
- CSOC-WP-0008
state_hub_workstream_id: "d9ad740d-82a9-5130-b7da-29901542409a"
---
# CSOC-WP-0009 — Keep established use cases working
Milestone: every established journey has a versioned behavior contract and a
repeatable regression check. Starting with ReichelAg weekly protocols, a change
that breaks duplication, manual editing, clipboard export or access fails the
required local/CI check. Automated success never grants productive-transfer
acceptance in place of the user.
## T01 — Establish the collection and coverage contract
```task
id: CSOC-WP-0009-T01
status: done
priority: high
state_hub_task_id: "8aaf65d3-9931-52a1-8b2c-63888316abf8"
```
Machine registry links stable UC IDs to narrative, synthetic scenario fixtures,
mandatory fast and browser test node IDs, user-confirmation and transfer status.
Validate registry and collected tests; an established case cannot lose coverage
silently. Document how candidate → confirmed → regression-protected → user
accepted records are maintained without conflating those dimensions.
## T02 — Exercise ReichelAg through the actual browser UI
```task
id: CSOC-WP-0009-T02
status: done
priority: high
state_hub_task_id: "40ef120b-eccf-5350-a905-af45a6e38ab8"
```
Isolated Django test DB and temporary CONTENT_ROOT, synthetic actors and protocols.
Playwright drives real login/list/detail/duplicate/edit/save/reopen/copy screens;
verify full-copy/source independence, payload formatting, manual fallback,
reader edit denial and outsider isolation. Serve the real static script. No
production hosts, real notes, issuer, outgoing mail or private credentials.
## T03 — Make the regression gate reproducible
```task
id: CSOC-WP-0009-T03
status: done
priority: high
state_hub_task_id: "d950b4d6-faf4-5e95-8679-35e887dfa01f"
```
One make check command runs full application and use-case/browser checks and
writes JUnit reports. Provide fast/browser targets and locked Node dependencies,
bootstrap instructions and CI integration. Missing browser/dependencies must
fail the required gate; default fast tests may explicitly deselect browser tests.
CI activation depends on actual Forgejo runner admission; do not claim a remote
run from local tests alone.
## T04 — Verify and sync
```task
id: CSOC-WP-0009-T04
status: done
priority: high
state_hub_task_id: "7aa0b568-c385-551b-b3e4-b43b3ce6e7f3"
```
Run required gate, changed-file lint and coverage validation. Prove a missing
mandatory test is rejected. Document receipts, file any CI admission residual as
a live record, finish this infrastructure workplan, log, commit and sync.
## Implementation evidence
- Registry, fixture and stable fast/browser test mappings established for UC-008.
- Actual Django screens/static script exercised by Chromium against isolated
synthetic data. Full gate: **88 passed**; changed Python files pass Ruff.
- Omitted browser test collection deliberately rejected with pytest exit 4
and a missing registered browser-test error; not silently skipped.
- Locked Playwright dependencies, setup targets, JUnit reports and Forgejo
main/PR/manual workflow configured. Source archive read checked HTTP 200.
- Remote runner receipt, report retention and required merge-check enforcement
handed off before completion as **CSOC-IN-0005**, origin residual WP-0009.
- Productive transfer/live deployment/private protocol review remain WP-0008;
this infrastructure does not grant user acceptance.
## Completion
Required gate rerun after final browser permission checks: 88 passed; JUnit
reports show zero failures/errors. Reader clipboard copying succeeds while a
valid-CSRF reader POST is rejected as read-only. User-case coverage-loss probe
returned exit 4 as expected. AGENTS.md now requires make check for established
behavior changes. CSOC-IN-0005 is already registered as the remote CI enforcement
residual. All local infrastructure tasks complete; no production change made.