chore: MAINT-307 resequence sorting deck + correct false perf-enforcement claims - #220
Merged
Merged
Conversation
…ment claims Two post-batch corrections, both "the record is wrong". A — SORTING DECK SEQUENCING (FEAT-293 follow-up) FEAT-293 promoted the control-sorting drill to a primary surface reachable from Home. The philosopher approved the rewritten card wording but flagged POSITION separately: `medical-test-anxiety` was card 3 of 12, and on a wrong answer the screen announces "Not quite. How you respond to the anxiety is in your control…". For someone with a real pending medical result that lands about thirty seconds into a cold entry from Home, before they have learned what the drill is asking. Moved to position 9, after the user meets several low-stakes cards (traffic, unanswered text, work effort, weather) and has the in-control / not-in-control convention. Sequencing only — no wording changed, and a test asserts the wording is untouched so a future edit can't smuggle a copy change in as a reorder. The new test pins the PROPERTY rather than the arrangement: sensitive cards (medical-test-anxiety, event-interpretation — the latter invites the user to supply "a difficult event", so it's the one most likely to be loaded with real material) must stay out of the opening five. Authoring a new scenario won't spuriously fail; a card drifting back toward the front will. B — CORRECT TWO FALSE PERF-ENFORCEMENT CLAIMS The repo asserted performance controls that do not exist, which is worse than a documented gap because it stops anyone from building the real one. - runbook §5 claimed "That gate already exists: the on-device Maestro flow enforcing <200ms / 60fps". Verified across all 8 flows in app/.maestro/: not one ms or fps assertion, only `timeout:` failure ceilings. crisis-button- reachability.yaml:34-35 says so itself. - The `Performance regression` CI job comment claimed "production budgets still enforced via perf:crisis/perf:breathing/perf:launch scripts". MAINT-166 PR 7 deleted those scripts. Both replaced with what is actually true, stated precisely rather than swapping one wrong claim for another: crisis DETECTION <200ms is a strict CI gate (assessment-performance.test.ts); the crisis BUTTON has only a coarse jest proxy that measures synthetic dispatch; breathing 60fps, app launch <2s and check-in transition <500ms are enforced by nothing. 60fps is tracked as INFRA-306. Also records that performance-regression-reporter.js does NOT gate — it is non-strict unless PERF_REGRESSION_STRICT=true — so crisis_response_ms: 9.38 in performance-baselines.json is a recorded baseline, not a threshold. This weakens INFRA-282 AC5's deferral rationale, which leaned on that Maestro gate. The defer still stands on its other leg (no traffic pre-launch), and §5 now says so explicitly. The matching .claude/CLAUDE.md Validation Matrix claim is corrected separately on _bare, where that file lives. Verification: npm run precommit exit 0 — safety 108, clinical 106, unit 592 (+5), privacy 51. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes MAINT-307
Two post-batch corrections, both "the record is wrong."
A — Sorting deck sequencing (FEAT-293 follow-up)
FEAT-293 promoted the control-sorting drill to a primary surface reachable from Home. The philosopher approved the rewritten card wording but flagged position separately:
medical-test-anxietywas card 3 of 12, and on a wrong answer the screen announces "Not quite. How you respond to the anxiety is in your control…". For someone with a real pending medical result that lands ~30 seconds into a cold entry from Home, before they've learned what the drill is asking of them.Moved to position 9, after several low-stakes cards (traffic, unanswered text, work effort, weather) have taught the in-control / not-in-control convention.
Sequencing only — no wording changed. A test asserts the wording is untouched, so a future edit can't smuggle a copy change in as a reorder. The other new assertions pin the property rather than the arrangement: sensitive cards must stay out of the opening five, so authoring a new scenario won't spuriously fail but a card drifting back toward the front will.
event-interpretationis included in that set because it invites the user to supply "a difficult event" — the card most likely to be loaded with real material.B — Correct two false perf-enforcement claims
The repo asserted performance controls that do not exist, which is worse than a documented gap: it stops anyone from building the real one.
post-launch-monitoring-runbook.md§5 claimed "That gate already exists: the on-device Maestro flow enforcing<200ms/ 60fps." Verified across all 8 flows inapp/.maestro/— not one ms or fps assertion, onlytimeout:failure ceilings.crisis-button-reachability.yaml:34-35says so itself.Performance regressionCI job comment claimed "production budgets still enforced via perf:crisis/perf:breathing/perf:launch scripts." MAINT-166 PR 7 deleted those scripts.Replaced with what's actually true — stated precisely rather than swapping one wrong claim for another:
<200msassessment-performance.test.ts, run by this very job<200ms<2s, transition<500msAlso records that
performance-regression-reporter.jsdoes not gate (non-strict unlessPERF_REGRESSION_STRICT=true), socrisis_response_ms: 9.38is a recorded baseline, not a threshold.This weakens INFRA-282 AC5's deferral rationale, which leaned on that Maestro gate. The defer still stands on its other leg (no traffic pre-launch), and §5 now says so explicitly.
The matching
.claude/CLAUDE.mdValidation Matrix claim is corrected separately on_bare, where that file lives.Verification
Safety re-check: no safety-surface paths in the diff → Phase 2.5 correctly skipped, no simulator needed.
🤖 Generated with Claude Code