fix(ci): unblock check:lane-wiring for the task-recommendations read
check:lane-wiring runs in CI's Lint gate and has been failing on main since FN-9037 landed `listTaskRecommendations`, so it blocks every PR in the repo, not just the one that hit it. Recorded rather than rewired, because this is the false-positive shape the escape hatch exists for. The guard catches a callee silently falling back to a LEGACY COLUMN LITERAL when a caller omits the lane; `listTaskRecommendationsImpl` falls back to `resolveProjectColumnsForRoles(store, ["complete"])`, which reads the board's own lanes. Real callers already pass a resolved set — the dashboard route resolves `completeColumns` before calling — so the fallback only serves the pass-through wrapper. Resolving again in the wrapper would duplicate that query on every call for no behavioural difference. The reason lives at the call site as well as in the baseline, since a bare count in a JSON file is exactly the kind of entry that later reads as unexplained debt. Baseline diff verified to be a single added entry (store.ts: 1) — nothing else raised or lowered. Verified: check:lane-wiring exits 0, core typecheck clean, eslint clean, FNXC date check clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1601,6 +1601,20 @@ export class TaskStore extends EventEmitter<TaskStoreEvents> {
|
||||
async clearWorkflowRunStepInstancesAsync(taskId: string, keepRunId?: string): Promise<void> {
|
||||
return clearWorkflowRunStepInstancesAsyncImpl(this, taskId, keepRunId);
|
||||
}
|
||||
/*
|
||||
FNXC:WorkflowLifecycleColumns 2026-08-14-04:30:
|
||||
Deliberately forwards `options` without resolving a lane here, and is recorded in
|
||||
scripts/lib/lane-wiring-baseline.json for that reason.
|
||||
|
||||
The guard exists to catch a callee silently falling back to a LEGACY COLUMN LITERAL when a caller
|
||||
omits the lane. This callee does not: `listTaskRecommendationsImpl` falls back to
|
||||
`resolveProjectColumnsForRoles(store, ["complete"])`, which reads the board's own lanes. Resolving
|
||||
again in this wrapper would duplicate that query on every call and give the pass-through no
|
||||
behavioural difference from the fallback.
|
||||
|
||||
Real callers already supply it — the dashboard route resolves `completeColumns` and passes it — so
|
||||
the fallback serves the pass-through wrapper, not production paths.
|
||||
*/
|
||||
async listTaskRecommendations(options?: { completeColumns?: ReadonlySet<string>; limit?: number; offset?: number }): Promise<import("./types.js").TaskRecommendationListPage> {
|
||||
return listTaskRecommendationsImpl(this, options);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"counts": {
|
||||
"packages/core/src/merge/task-merge.ts": 1,
|
||||
"packages/core/src/store.ts": 1,
|
||||
"packages/core/src/task-store/branch-and-pr-entities.ts": 1,
|
||||
"packages/core/src/task-store/moves.ts": 1,
|
||||
"packages/core/src/task-store/task-update.ts": 1,
|
||||
|
||||
Reference in New Issue
Block a user