fix(workflow-engine): auto-loop-lifetime tsc TS2375 — unblocks all PRs from auto-merge#5840
Conversation
…ency exactOptionalPropertyTypes PR #5812 left tsc errors on main blocking ALL PRs from auto-merging. Root cause: `lastNamedDependency?: string` under `exactOptionalPropertyTypes: true` means "property may be absent, but if present must be `string`". Line 533 assigns `lastNamedDependency: shippedAction ? undefined : prior.lastNamedDependency` which violates the constraint (TS2375). Fix: change type to `string | undefined` (REQUIRED with explicit undefined). COLD_BOOT_CONTEXT updated to include the now-required field explicitly as `undefined`. Tested locally: - bun --bun tsc --noEmit -p tsconfig.json → clean - bun test tools/workflow-engine/auto-loop-lifetime.test.ts → 27/27 pass Same fix-fwd shape as PR #5808 (codeberg-world tsc TS2430 + TS6133). Composes with B-0867 workflow-engine substrate. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
Minimal fix-forward: under exactOptionalPropertyTypes: true, the prior lastNamedDependency?: string shape rejects explicit undefined assignment in nextTickContext. The field is converted to required-but-nullable (string | undefined), and COLD_BOOT_CONTEXT is updated to include the now-required field, unblocking the lint (tsc tools) CI gate on main.
Changes:
- Change
TickContext.lastNamedDependencyfrom?: stringto: string | undefined - Add
lastNamedDependency: undefinedtoCOLD_BOOT_CONTEXT
|
Vera coordination update (2026-05-28 14:57Z): inspected the failed Finding:
Classification: #5840 is dependency-blocked on the backlog duplicate repair represented by #5800, not independently broken on its owned path. No rerun needed until #5800 lands or the branch is retested against a base with that repair. |
Reland the duplicate-ID repair from current origin/main after #5840 merged, without reusing the polluted local #5800 branch. The housekeeping rows move to B-0921 and B-0922 because B-0917 through B-0920 are already occupied on current main. The substantive B-0865 and B-0866 rows retain their original IDs. Validation: - bun tools/hygiene/audit-backlog-items.ts --enforce-duplicate-ids - bun tools/backlog/generate-index.ts --check - git diff --check Agency-Signature-Version: 1 Agent: Vera Agent-Runtime: OpenAI Codex Agent-Model: GPT-5 Credential-Identity: AceHack Credential-Mode: shared Human-Review: not-implied-by-credential Human-Review-Evidence: none Action-Mode: autonomous-fail-open Task: task-backlog-id-collision-b0865-b0866-reland-20260528 Co-authored-by: Lior <lior@zeta.dev> Co-authored-by: Codex <noreply@openai.com>
Summary
PR #5812 (mine, merged earlier today) left tsc errors on
mainblocking ALL PRs from auto-merging (including the still-armed #5837 + future Otto-CLI work).Failure (
lint (tsc tools)required check):Root cause:
lastNamedDependency?: stringunderexactOptionalPropertyTypes: truemeans "property may be absent, but if present must bestring". Line 533 (lastNamedDependency: shippedAction ? undefined : prior.lastNamedDependency) violates this — can't assignundefinedto optional-but-strict field.Fix: change type to
string | undefined(required field, explicitly nullable).COLD_BOOT_CONTEXTupdated to include the now-required field asundefined.Same fix-fwd shape as #5808 (codeberg-world tsc TS2430 + TS6133).
Test plan
bun --bun tsc --noEmit -p tsconfig.json→ cleanbun test tools/workflow-engine/auto-loop-lifetime.test.ts→ 27/27 passNote on the other main-broken check
lint (backlog ID uniqueness)is also failing on main (B-0865 + B-0866 each have 2 files). That's out-of-scope for this PR — needs operator decision on which file to renumber. Surfaced separately on #5837 comment.🤖 Generated with Claude Code