test: structural Design count boundary; TODO proposals are not findings

Replaying run 36385945043 through the Design count predicates: routing,
focus and learnings setup was not recognized as setup, Issue 1 was counted
pre-review in both attempts (the boundary fired on it), and attempt 2
counted the Font TODO proposal as a finding (review=4 and review=5 for five
issues). The paid caller now starts review at the first answered native
decision that is not setup (recognized packet, or setup header/question ID),
a completion handoff, artifact rendering or a TODO proposal (the review's
Add to TODOS.md / Skip / Build it now menu). TODO proposals are recorded as
administrative extra decisions. The replay asserts each counted call: both
attempts review=5 (Issues 1-5). isDesignCountFirstReview and its controls
are unchanged.
This commit is contained in:
garrytan committed 2026-09-29 15:04:28 +00:00
1 parent f1eeec384e
commit d05097b157
3 files changed
+127 -6

No files matched your search

@@ -10,7 +10,7 @@
import { test } from 'bun:test';
import { describeE2ETier } from './helpers/e2e-gate';
import { isDesignCountFirstReview, isDesignCountSetup, isDesignCompletionHandoff, pickDesignCountQuestion } from './helpers/design-count-review';
import { isDesignCountReviewStart, isDesignCountStructuralSetup, isDesignTodoProposal, isDesignCompletionHandoff, pickDesignCountQuestion } from './helpers/design-count-review';
import { isDesignArtifactGeneration } from './helpers/design-artifact-question';
import { designCountExistingInteractionStates as existingInteractionStates } from './helpers/design-count-fixture';
import * as fs from 'node:fs';
@@ -215,10 +215,14 @@ describeE2E('/plan-design-review per-finding AskUserQuestion count (periodic)',
followUpPrompt: planDesign5Findings(planPath),
expectedPlanPath: planPath,
isLastStep0AUQ: designStep0Boundary,
isFirstReviewAUQ: isDesignCountFirstReview,
isSetupAUQ: isDesignCountSetup,
// Structural boundary: after setup, the first answered native decision
// that is not setup, a handoff, artifact rendering or a TODO proposal
// starts review. TODO proposals are extra decisions, never findings.
isFirstReviewAUQ: isDesignCountReviewStart,
isSetupAUQ: isDesignCountStructuralSetup,
isCompletionHandoffAUQ: isDesignCompletionHandoff,
isArtifactGenerationAUQ: isDesignArtifactGeneration,
isTodoProposalAUQ: isDesignTodoProposal,
fixtureFiles: { 'DESIGN.md': designSystem },
// Design's explicit opt-in is separate from codex_reviews. Keep
// this native-cadence fixture within its declared review scope.