From f462096d4d989d2b13a890f8b3e9092c694ea631 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Aug 2026 01:46:11 +0000 Subject: [PATCH] fix(lint): correct stale provenance comment in validate-flow-trigger-readiness.test.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The comment near the "an ABSENT triggerType" pin claimed a present-tense LIVE instance of the omission shape in examples/app-todo (TaskCompletionFlow, #6882). #7039 repaired that flow — it now declares triggerType: 'record-after-update' and routes correctly — so the claim is stale and sends the next reader hunting for an instance that no longer exists. Rewritten as history: what the #6637-era corpus measurement found, and that the instance was since repaired by #7039, with a forward pointer to #7041 item 2 for the still-undecided question of whether the omission shape should now be covered by the rule. The test itself is unchanged and does not need to be: it asserts against its own inline `unroutable()` fixture (a local candidate_hired / app_candidate literal), never against examples/app-todo, so it stays green and non-vacuous independent of the example app's contents. Fixes #7041 (item 1 only; item 2 is routed to the maintainer, see issue comment). Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01F8q5J1MQyocgtNspb15fSn --- .../src/validate-flow-trigger-readiness.test.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/lint/src/validate-flow-trigger-readiness.test.ts b/packages/lint/src/validate-flow-trigger-readiness.test.ts index 5f700fca32..a5300b44fc 100644 --- a/packages/lint/src/validate-flow-trigger-readiness.test.ts +++ b/packages/lint/src/validate-flow-trigger-readiness.test.ts @@ -863,11 +863,17 @@ describe('validateFlowTriggerReadiness', () => { // Scope boundary, pinned rather than left to memory. A `record_change` // flow with no triggerType at all resolves to no binding by the same // fall-through and is just as dead — but it is an omission rather than a - // contradiction, and the corpus measurement found a LIVE instance of it - // in `examples/app-todo` (`TaskCompletionFlow`, #6882). Covering it here - // would gate a shipped example app on a guess about that app's - // semantics, so the criterion requires the key to be PRESENT and the - // omission case is filed separately. Widening this is then a deliberate + // contradiction, and at the time this criterion was cut (#6637) the + // corpus measurement found a LIVE instance of it in `examples/app-todo` + // (`TaskCompletionFlow`, tracked as #6882). Covering it then would have + // gated a shipped example app on a guess about that app's semantics, so + // the criterion requires the key to be PRESENT and the omission case was + // filed separately. That instance has since been repaired by #7039 — + // `TaskCompletionFlow` now declares `triggerType: 'record-after-update'` + // and routes correctly, so there is no live instance in the tree as of + // this writing. Whether the omission shape should now be covered too is + // a separate, undecided question (#7041 item 2) — this test still pins + // the deliberate non-coverage of it. Widening this is then a deliberate // edit that has to delete this test, not a side effect of touching the // predicate. expect(