FN-8656: resolve scheduler lanes for renamed holds

Resolve scheduler lane lookup against workflow-defined hold and terminal columns.

- Use asynchronous workflow lane resolution after the synchronous event prologue
- Preserve legacy lane fallback and recognize all terminal workflow columns
- Update scheduler regression coverage, sync-lane guardrails, and release notes

Files changed:
 .changeset/fn-8656-scheduler-renamed-hold-lanes.md |   7 ++
 .../sync-workflow-ir-callsite-allowlist.test.ts    |  10 +-
 .../scheduler-renamed-hold-events.test.ts          |  20 ++--
 ...ow-scheduler-parked-columns-live-e2e.pg.test.ts |  13 ++-
 ...-sync-role-conversion-inert-live-e2e.pg.test.ts |   8 +-
 packages/engine/src/scheduler.ts                   | 121 +++++++++------------
 scripts/check-inert-sync-lane-conversions.mjs      |   5 +
 scripts/lib/inert-sync-lane-baseline.json          |   3 +-
 8 files changed, 92 insertions(+), 95 deletions(-)

Fusion-Task-Id: FN-8656

Fusion-Task-Lineage: 389a95a1-289f-4dde-86b3-1e450f8d43db

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
gsxdsm
2026-07-31 22:19:32 -07:00
parent dcf1b921a3
commit 897cce9d94
8 changed files with 91 additions and 94 deletions

View File

@@ -41,6 +41,11 @@ re-recording, because from inside this check a fall caused by denser encoding is
from a fall caused by a gate being deleted — and only the second is a defect. That check is the
standing obligation attached to every `--update-baseline`.
FNXC:LifecycleColumnCensus 2026-08-01-05:01:
FN-8656 re-records the scheduler drop because it removes the inert sync-lane source entirely, not
because it deletes this guard. The synchronous prologue now uses emitter lanes and every await-safe
arm resolves asynchronously, so there are no sync-derived scheduler guards left to census.
WHY A RISE AND NOT ZERO. Existing sync-resolved guards are real, deliberate, and documented — the
scheduler's listeners genuinely cannot await today, and their authors said so. Demanding zero would
force either a revert or an exemption marker on day one. What must not happen is MORE literals

View File

@@ -1,8 +1,7 @@
{
"total": 19,
"total": 6,
"byFile": {
"packages/engine/src/executor.ts": 2,
"packages/engine/src/scheduler.ts": 13,
"packages/engine/src/triage.ts": 4
}
}