claude-sense-check
Performing incremental Claude Sense Check on UAT backlog.
Phase 1: Read Current State
- Find the UAT tracking file: check for
docs/testing/UAT_COVERAGE.md,docs/testing/UAT_INDEX.md, ordocs/testing/uat/directory - Scan for Claude Sense Check sections in every test case
- Build a work queue: cases where
- [ ] Logic verified from code perspectiveis unchecked - Skip cases where the checkbox is already
[x] - If all cases are checked, report "All UAT cases have been sense-checked" and stop
Phase 2: Pick Next Batch
From the unchecked cases, sorted by priority (critical > high > medium > low), then by ID within each priority level:
- Select 2-5 cases that share the same module, feature area, or user flow
- Present to the user:
- Batch: which cases (e.g., UAT-005, UAT-006, UAT-007)
- Area: the functional area they belong to
- Rationale: why they belong together
- Relevant files: source files and components expected to be involved
- Proceed after presenting (no user confirmation needed — this is a code-only check)
Phase 3: Gather Context
Before checking any logic, collect the full picture for the batch's feature area:
- Read all source files relevant to the batch
- Trace the data flow for the feature area end-to-end
- Note dependencies, shared state, API contracts, and external integrations
- Read existing tests for the relevant code — they reveal intent and edge cases
- Check the Covers field on each test case to identify which backlog stories are involved
- Read the story acceptance criteria from the relevant epic/backlog file
Do NOT proceed to logic checks until you have the full picture.
Phase 4: Code Logic Check (per case)
For each case in the batch:
- Read the test case steps and acceptance criteria carefully
- Trace each step through the actual source code
- For each acceptance criterion, verify:
- The code path exists and is reachable
- Conditionals are correct (no off-by-one, no inverted logic)
- Data flows correctly between components
- Error handling covers the expected failure modes
- Edge cases mentioned in the test case are handled
- Assign a verdict with confidence (high = full code path traced, medium = partial trace or complex logic, low = inference without full trace):
- Pass (high/medium/low) — logic is correct, code handles the scenario properly
- Warning (high/medium/low) — potential issue found, describe with file:line reference
- Fail (high/medium/low) — confirmed broken, describe with file:line reference and root cause
Phase 5: Resolve Issues
For every Warning or Fail verdict, classify and act. Read references/issue-classification.md for the full classification guide (quick fix vs design gap).
Phase 6: Update Tracking
Per-case: Update the UAT tracking file
For each case in the batch:
- Check the Claude Sense Check checkbox:
- [x] Logic verified from code perspective - Fill in the Notes line with verdict and what was checked or fixed:
- Pass:
"Pass (high) — verified [what was checked], code handles [scenario] correctly" - Fixed:
"Fixed (high) — [issue description], resolved in [commit-hash]" - Design gap:
"Warning (medium) -> [story-id] — [gap description], backlog story created"
- Pass:
Per-area: Update UAT index
After updating the tracking file, update any status summary tables to reflect the new sense-check counts.
Phase 7: Report & Hand Off
Output a summary:
### Claude Sense Check Complete
**Batch:** UAT-### to UAT-### ([area name])
**Results:**
| Case | Title | Verdict | Confidence | Notes |
| ---- | ----- | ------- | ---------- | ----- |
| UAT-### | [title] | Pass/Warning/Fixed | high/medium/low | [one-line summary] |
**Fixes Applied:** [count]
- [commit-hash]: [one-line description] (for UAT-###)
**Backlog Stories Created:** [count]
- [story-id]: [one-line description] (for UAT-###)
**Progress:** [x]/[total] UAT cases sense-checked
**Remaining:** [count] cases unchecked
**Suggested Next Batch:** UAT-### to UAT-### ([area name]) — [why]
Include a YAML block for machine-parseable results:
sense_check:
batch: [UAT-###, UAT-###]
area: "[area name]"
results:
- id: UAT-###
verdict: pass
confidence: high
notes: "[one-line]"
fixes: 0
stories_created: 0
progress: "X/Y"
Rules
- Never re-check an already checked case
- Never check more than 5 cases in one run — stay focused
- Always update the tracking file before finishing — the checkboxes are the source of truth
- Always gather full context before starting logic checks — no guessing
- Always use
/story-cyclefor fixes — maintain TDD discipline - Follow coding standards in
docs/reference/CODING_STANDARDS.md - Follow verification rules: run the project's test command before claiming fixes are complete