Fold workflow-source and workflow-deploy-source into @corbits/workflows (CL-7373) - #564
Open
TheGreatAxios wants to merge 8 commits into
Open
Fold workflow-source and workflow-deploy-source into @corbits/workflows (CL-7373)#564TheGreatAxios wants to merge 8 commits into
TheGreatAxios wants to merge 8 commits into
Conversation
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 07:44
a0578ce to
732745d
Compare
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 09:06
732745d to
efe6a0b
Compare
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 09:15
efe6a0b to
f0a3c39
Compare
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 09:38
f0a3c39 to
6827257
Compare
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 09:53
6827257 to
2e4cf38
Compare
A create or PATCH-carried retarget now must clear the same two gates before it is persisted: resolveLaunchableDefinition must resolve the asset, and the acting principal must be authorized for workflow-definition:<id>/read — the same verb listRoutineTargets already checks per row. A denial is a typed 403 alongside the existing 400/404/409 target envelopes, on both the tenant-session and Myra's workflow-run-authenticated routine surfaces. Also routes a pre-existing catch in postRoutineEnabledNotice through reportError, since this change's diff now touches that line and check:report-error requires it.
…oring into @corbits/workflows (CL-7373) Three tiny packages collapse into one with clearer subpath boundaries: ./source (the two-file source-tree renderer/reader), ./deploy-source (the durable deploy-source record), ./detail (the definition detail route + lifecycle derivation, moved out of workflow-catalog), and ./authoring (agent-authored workflow registry/routes). Server code imports @corbits/workflows; browser code imports the new @corbits/workflows/client subpath (registered in check:browser-safe-subpaths' ENTRIES) for the source constants, the definition-detail wire schema, and the pure lifecycle derivation. Every importer moves to the new paths; the deploy-source migration ledger keeps its existing schema/table/migration names so an existing database never re-runs them. workflow-authoring-tools needs no import change — it only calls the authoring HTTP surface by URL, which is unchanged. workflow-catalog and the *-tools packages are untouched.
TheGreatAxios
force-pushed
the
cl-7373-fold-workflows
branch
from
September 2, 2026 11:02
534f5cb to
2e487e9
Compare
TheGreatAxios
marked this pull request as ready for review
September 2, 2026 11:09
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.
Linear: https://linear.app/abklabs/issue/CL-7373
Summary
Folds three tiny packages into one,
@corbits/workflows, replacing:packages/workflow-source→./sourcepackages/workflow-deploy-source→./deploy-sourcepackages/agent-workflow-authoring→./authoringAlso moves
definition-lifecycle.ts,definition-detail.ts, anddetail-route.tsout ofpackages/workflow-cataloginto./detail,since the detail route depends on
./deploy-sourceand belongs besideit.
packages/workflow-catalog(templates/blocks) and every*-toolspackage are otherwise untouched.
Server code imports
@corbits/workflows; browser code imports the new@corbits/workflows/clientsubpath (registered incheck:browser-safe-subpaths'ENTRIES) for the source constants, thedefinition-detail wire schema, and the pure lifecycle derivation —
apps/web's workflow detail page now reads from there instead of@corbits/workflow-catalog.Every importer (apps/hub, apps/web, apps/sidecar, hub-client,
agent-directory, agent-runtime, chat, workflow-catalog, scripts,
docs) moves to the new paths.
@corbits/workflows's./deploy-sourcekeeps its existing Postgres schema/table name (
workflow_deploy_source)and migration id (
0001_workflow_deploy_source) unchanged, so anexisting database never re-runs those migrations.
packages/workflow-authoring-toolsneeds no import-path change — itonly calls the authoring HTTP surface (
/api/workflow-workflow-authoring)by URL, which is unchanged.
Left out deliberately:
packages/workflow-catalog(templates/blocks) — untouched per scope.*-toolspackages — untouched per scope.(
packages/agent-directory/test/routes.integration.test.ts,packages/chat/test/routes.test.ts) that reproduce identically onthe unmodified base branch — unrelated to this fold.
Test plan
bun run typecheckbun run check:licensesbun run check:browser-safe-subpathsbun run scripts/generate-tsconfig-references.ts --checkbun test packages/workflows(91 pass, DB-gated suites included)bun teston directly-touched importer packages (agent-directory,hub-client, agent-runtime, workflow-catalog, chat)
Resolves CL-7373