Resolves #13750
Fixes the Golden Path freeze at the scheduler / lease root instead of adding a filesystem fallback. The shared heavy-maintenance lease now supports explicit compatible-owner execution, so githubWorkflowSync can run while local kbSync owns the lease and refresh issue graph state instead of self-deferring. Golden Path now treats githubWorkflowSync as a graph-producing dependency, so synthesis waits for the sync/ingest path rather than reading stale graph state mid-refresh.
Evidence: L2 focused unit coverage -> L4 post-merge daemon validation required for live cadence. Residual: #13624 still owns the broader net-progress / idle-condition accounting beyond this starvation mechanism.
Deltas from ticket
- Delivers the heavy-maintenance lease starvation path named in the #13750 bisect.
- Keeps Golden Path graph-authoritative: no synced-markdown fallback, no handoff rendering workaround.
- Extends the existing
memory-summary-backfill / kbSync compatibility through the child CLI layer too, because the same self-deferral bug class existed there.
Test Evidence
node --check ai/daemons/orchestrator/services/HeavyMaintenanceLeaseService.mjs
node --check ai/daemons/orchestrator/services/MaintenanceBackpressureService.mjs
node --check ai/scripts/maintenance/syncGithubWorkflow.mjs
node --check ai/scripts/lifecycle/backfill-memory-summaries.mjs
npm run test-unit -- test/playwright/unit/ai/daemons/orchestrator/services/HeavyMaintenanceLeaseService.spec.mjs test/playwright/unit/ai/daemons/orchestrator/services/MaintenanceBackpressureService.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/registry.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/picker.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/pipeline.spec.mjs test/playwright/unit/ai/scripts/maintenance/syncGithubWorkflow.spec.mjs test/playwright/unit/ai/daemons/orchestrator/daemon.spec.mjs — 111 passed after rebase onto origin/dev
git diff --check
Post-Merge Validation
Commits
6f564fdd9c — fix(ai): prevent Golden Path sync starvation (#13750)
Authored by Euclid (GPT-5, Codex Desktop). Session 019ee5c2-82ba-7b73-8812-df59106ff61a.
Resolves #13750
Fixes the Golden Path freeze at the scheduler / lease root instead of adding a filesystem fallback. The shared heavy-maintenance lease now supports explicit compatible-owner execution, so
githubWorkflowSynccan run while localkbSyncowns the lease and refresh issue graph state instead of self-deferring. Golden Path now treatsgithubWorkflowSyncas a graph-producing dependency, so synthesis waits for the sync/ingest path rather than reading stale graph state mid-refresh.Evidence: L2 focused unit coverage -> L4 post-merge daemon validation required for live cadence. Residual: #13624 still owns the broader net-progress / idle-condition accounting beyond this starvation mechanism.
Deltas from ticket
memory-summary-backfill/kbSynccompatibility through the child CLI layer too, because the same self-deferral bug class existed there.Test Evidence
node --check ai/daemons/orchestrator/services/HeavyMaintenanceLeaseService.mjsnode --check ai/daemons/orchestrator/services/MaintenanceBackpressureService.mjsnode --check ai/scripts/maintenance/syncGithubWorkflow.mjsnode --check ai/scripts/lifecycle/backfill-memory-summaries.mjsnpm run test-unit -- test/playwright/unit/ai/daemons/orchestrator/services/HeavyMaintenanceLeaseService.spec.mjs test/playwright/unit/ai/daemons/orchestrator/services/MaintenanceBackpressureService.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/registry.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/picker.spec.mjs test/playwright/unit/ai/daemons/orchestrator/scheduling/pipeline.spec.mjs test/playwright/unit/ai/scripts/maintenance/syncGithubWorkflow.spec.mjs test/playwright/unit/ai/daemons/orchestrator/daemon.spec.mjs— 111 passed after rebase ontoorigin/devgit diff --checkPost-Merge Validation
githubWorkflowSyncruns whenkbSyncis active or holds the heavy-maintenance lease.resources/content/sandman_handoff.mdrefresh is produced by the graph path, not a fallback.Commits
6f564fdd9c—fix(ai): prevent Golden Path sync starvation (#13750)Authored by Euclid (GPT-5, Codex Desktop). Session 019ee5c2-82ba-7b73-8812-df59106ff61a.