Repository navigation
Delete the routines parent; scheduled work is native definitions (CL-4455) - #626
Merged
TheGreatAxios merged 9 commits intoSep 4, 2026
Conversation
Contributor
Author
Self-reviewVerdict: the CAS poller, the digest-handoff/
Targeted tests run (all pass):
No commits pushed — no fixes were needed. |
TheGreatAxios
force-pushed
the
cl-4455-wire-native-workflow-schedule-triggers-into-the-runtime-and
branch
from
September 4, 2026 06:26
7be2744 to
29b4e41
Compare
The hashed definition now carries Interchange ScheduleTrigger
{ type: "schedule", cron: "0 9 * * *" } instead of a mail trigger
whose `to` was not the fire address. Launch remains sidecar routeMail
to the live deployment; that is transport, not a start condition.
The hashed cron lives on the workflow definition. The hub claims each UTC minute on workflow_definition.schedule_claimed_minute and launches through the sidecar. After launch, a workbench-delivering workflow joins the tenant's first existing workbench; no workbench still launches. Digest is seeded stopped so a fresh tenant does not fire until a member restores it. Seed pages every definitions cursor to find that row.
Seed no longer POSTs /routines. Re-seed only deletes pristine leftover workbench-digest and last-30-days-research rows; a member-touched or pre-presetKey row is kept. Overlapping prune treats 404 as already retired. Digest ticks from ScheduleTrigger; last-30-days-research stays a deployed workflow.
…4455) Drop @corbits/routines and @corbits/routines-tools. Hub ticks ScheduleTrigger on deployed definitions; /routines lists those definitions (including stopped). Pause is definition status; run-now is POST /workflows/scheduled/:id/run. Enabled digest wrappers hand off to deployed, paused to stopped, then DROP SCHEMA.
…t (CL-4455) Seed lists definitions with a cursor query; onboarding fakes now match it and PUT digest to stopped. Record 0089 in VENDORED-FROM and the kill-date hash. Pause/run-now report through error-sink; cron validation probes opt out. Shrink the report-error baseline for the deleted routines packages. Made-with: Cursor
…(CL-4455) Handoff copies routine enabled onto definition status and bumps updated_at so the next seed does not re-stop a member-enabled digest. POST /workflows/scheduled/:id/run joins the delivery workbench the same way the poller does. Palette and context-menu run-now report through error-sink. Made-with: Cursor
…ire settle wiring (CL-4455) Rebasing onto main pulled in CL-6778's runOutcomeStatus/withListingAbandoned reading (Insights, Mission Control, shell activity) and CL-6756's pause- polarity label fix, both added to files @corbits/routines never touched directly. Ports the pure run-outcome/run-status-label helpers from the deleted package's health.ts/run-language.ts into packages/workflows/src/schedule/run-outcome.ts (re-exported from @corbits/workflows/client) so every surface that reads a fire's displayed status keeps working, and updates their imports. apps/hub/src/index.ts's onTurnFinalized settle-terminal-status wiring (CL-6778) depended on the deleted routine_run table and settleRoutineFireFromTurn; native ScheduleTrigger definitions have no equivalent per-fire join today, so that settle path is dropped rather than reimplemented against a still-open native-run-tracking question. Also: apply CL-6756's On/Off switch label to the new routines-page.tsx, drop a dead-lettering test with no native-model equivalent, and update shell-chrome-wiring's CL-6819 dismiss tests to exercise the profile pane instead of the now-permanently-stubbed routine canvas pane.
TheGreatAxios
force-pushed
the
cl-4455-wire-native-workflow-schedule-triggers-into-the-runtime-and
branch
from
September 4, 2026 06:28
29b4e41 to
a3a0a49
Compare
Prettier flagged VENDORED.md formatting, and eslint failed to parse two orphaned files (packages/routines/src/settle-fire.ts and its test) left behind after the routines package deletion - nothing referenced them and the package had no package.json/tsconfig, so they were dead weight from the rebase.
The crypto-provider-cache-wiring pin still asserted a call site for createHubRoutineLauncher, which the native-scheduler rebase removed. Scheduled workflow triggers now fire through triggerNativeWorkflowRoutineRun, which signs its trigger mail with a fresh per-call keypair instead of the shared CryptoProviderCache, so that call site no longer exists to pin.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scheduled work is native workflow definitions. The routines parent is gone.
A definition with a
ScheduleTriggeris the schedule. The hub poller claims each UTC minute onworkflow_definition.schedule_claimed_minuteand launches deployed definitions through the sidecar./routineslists those definitions (including stopped). Pause is the existing agent-definitions status PUT. Run-now isPOST /api/tenants/:id/workflows/scheduled/:definitionId/run.@corbits/routinesand@corbits/routines-toolsare deleted. Seed does not plant wrappers. Existing digest wrappers hand off to definition status (enabled→ deployed, paused → stopped), thenDROP SCHEMA routines.vendor/intx/dbmigration0089addsschedule_claimed_minute. Ledgered in VENDORED.md (kill 2026-10-26) until upstream absorbs it.https://linear.app/abklabs/issue/CL-4455
Fixes CL-4455