Skip to content

T2 · integration scenarios — issue-488 ​

Outcome: pass. All 22 tests in the two files pass. Together they cover the six doorbell scenarios, the quiz-gate e2e scenarios, and the existing e2e walks with their updated node traces.

Commands ​

sh
cd cli && env -u THE_LOOP_CLI_CONFIG uv run python -m pytest -q tests/test_quiz_integration.py tests/test_pdlc_e2e_integration.py
uv run the-loop scenarios --root . --glob 'cli/tests/test_quiz_integration.py' --glob 'cli/tests/test_pdlc_e2e_integration.py' --format markdown

THE_LOOP_CLI_CONFIG is unset because this machine's operator config, and the running daemon it names, otherwise leaks into the suite. Without the unset, 21 tests about the poll command, poll status, instances, lifecycle and critics fail on an unchanged main checkout too, so they are not this change's.

Run ​

text
22 passed in 0.48s

Scenarios (as the-loop scenarios renders them) ​

The issue-488 rows are the six in test_quiz_integration.py, plus "review is not requested until the code quiz is ticked" and the three quiz-gates rows. Unticking the explainer row is exercised by the existing trivial-tier scenario: its trace now records spec-explainer~, spec-quiz~, code-explainer~ and code-quiz~. No separate explainer-off scenario was added, which narrows the testing plan's T4 wording.

#FeatureScenarioRequirementLocation
1a tick alone answers a quiz gate, and nothing else.a ticked box re-evaluates the waiting gate without delivering a promptdocs/specs/issue-488/requirements.md#R2.6cli/tests/test_quiz_integration.py:54
2a tick alone answers a quiz gate, and nothing else.a quiz tick on a work item with no waiting gate spawns nothingdocs/specs/issue-488/design.md#C5cli/tests/test_quiz_integration.py:72
3a tick alone answers a quiz gate, and nothing else.a tick the gate could not judge is retried on the next polldocs/specs/issue-488/design.md#Error handlingcli/tests/test_quiz_integration.py:93
4a tick alone answers a quiz gate, and nothing else.a tick by an authorized user advances the spec quizdocs/specs/issue-488/requirements.md#R2.6, R3.8cli/tests/test_quiz_integration.py:126
5a tick alone answers a quiz gate, and nothing else.only the-loop's own ticked quiz comment ringsdocs/specs/issue-488/requirements.md abuse case 6cli/tests/test_quiz_integration.py:140
6a tick alone answers a quiz gate, and nothing else.a work item with no live session has no gate to ringdocs/specs/issue-488/design.md#C5cli/tests/test_quiz_integration.py:154
7PDLC process conformance, end to enda tier-3 work item flows ticket → complete with no interventionsdocs/specs/issue-217/requirements.md#R1, #R2.3cli/tests/test_pdlc_e2e_integration.py:64
8PDLC process conformance, end to endreview is not requested until the code quiz is tickeddocs/specs/issue-488/requirements.md#R3.6, #R3.7cli/tests/test_pdlc_e2e_integration.py:75
9PDLC process conformance, end to enda trivial-tier item completes with declared skips recorded as skipsdocs/specs/issue-217/requirements.md#R2.3cli/tests/test_pdlc_e2e_integration.py:89
10PDLC process conformance, end to enda tick by an unauthorized user is refuseddocs/specs/issue-488/requirements.md#R2.5 (abuse cases 1, 4)cli/tests/test_pdlc_e2e_integration.py:105
11PDLC process conformance, end to enda changed spec sends the spec quiz back to the explainerdocs/specs/issue-488/requirements.md#R5.6cli/tests/test_pdlc_e2e_integration.py:110
12PDLC process conformance, end to enda tick by an authorized user advances the spec quizdocs/specs/issue-488/requirements.md#R2.6cli/tests/test_pdlc_e2e_integration.py:115
13PDLC process conformance, end to endthe agent escalates via the ask seam and the operator's reply resumes itdocs/specs/issue-217/requirements.md#R2.3cli/tests/test_pdlc_e2e_integration.py:128
14PDLC process conformance, end to enda malformed artifact fails the phase gate rather than silently advancingdocs/specs/issue-217/requirements.md#R2.3, issue-281 AC 1.1cli/tests/test_pdlc_e2e_integration.py:142
15PDLC process conformance, end to enda changes-requested verdict loops the run back to the design phasedocs/specs/issue-217/requirements.md#R2.3cli/tests/test_pdlc_e2e_integration.py:156
16PDLC process conformance, end to endgh unreachable — events still emitted, side effects reported degradeddocs/specs/issue-217/requirements.md#R3.3cli/tests/test_pdlc_e2e_integration.py:171
17PDLC process conformance, end to endmarked and unauthorized comments are never classified as human inputdocs/specs/issue-217/requirements.md#R2.3, security consideration 2cli/tests/test_pdlc_e2e_integration.py:185
18PDLC process conformance, end to endscenario directories and named tests stay in lockstepdocs/specs/issue-217/requirements.md#R2.1, #R2.2cli/tests/test_pdlc_e2e_integration.py:201
19PDLC process conformance, end to endevery committed fixture set is well-formeddocs/specs/issue-217/requirements.md#R2.2cli/tests/test_pdlc_e2e_integration.py:212
20PDLC process conformance, end to enda scenario directory without scenario.yaml is refused, not skippeddocs/specs/issue-217/requirements.md#R2.2cli/tests/test_pdlc_e2e_integration.py:224
21PDLC process conformance, end to endan unknown step kind fails the scenario naming file and fielddocs/specs/issue-217/requirements.md#R2.2, security consideration 1cli/tests/test_pdlc_e2e_integration.py:236
22PDLC process conformance, end to enda step naming an absent fixture file is refused at load timedocs/specs/issue-217/requirements.md#R2.2cli/tests/test_pdlc_e2e_integration.py:252
23PDLC process conformance, end to endthe ordered-subsequence matcher names the first missing eventdocs/specs/issue-217/requirements.md#R1.3, #R1.4cli/tests/test_pdlc_e2e_integration.py:269
24PDLC process conformance, end to enda walk that diverges from the expected trace fails, naming the divergencedocs/specs/issue-217/requirements.md#R1.3, #R1.4cli/tests/test_pdlc_e2e_integration.py:288
25PDLC process conformance, end to endthe hermeticity tripwire — an unmodelled operation raisesdocs/specs/issue-217/requirements.md#R3.1, security consideration 3cli/tests/test_pdlc_e2e_integration.py:316

Released under the MIT License.