Skip to content

Re-pin vendored Interchange to the workflow.json retirement - #59

Closed
TheGreatAxios wants to merge 3 commits into
mainfrom
cl-6324-repin-interchange
Closed

Re-pin vendored Interchange to the workflow.json retirement#59
TheGreatAxios wants to merge 3 commits into
mainfrom
cl-6324-repin-interchange

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Re-pins the vendored Interchange trees from 59f5e7b9 to upstream main
tip 4ed8baf4 (45 commits), whose headline change is the retirement of the
on-disk workflow.json. CL-6324.

What this lands

  • All 21 vendor/intx/* rows re-copied at 4ed8baf4. Nine trees
    actually changed (hub-sessions, workflow-host, workflow,
    workflow-deploy, types, hub-api, db, agent, hub-agent); the
    rest are byte-identical at both commits and were re-pinned so the ledger
    records one commit rather than a mix — which also collapses
    inference-catalog's separate 5d2aa94a pin.
  • Every workbench-local delta re-applied. Upstream subsumed none of
    them, and none of the five files they touch changed upstream across the 45
    commits, so all four re-applied without conflict: the inference.usage
    forward, the terminal-anchor ownsWorkflowRunRepo gate, the
    hasConversationText mail drop, and the needs-you approval-route
    carve-out. Their tests pass (11 tests, 3 files).
  • VENDORED.md, each VENDORED-FROM, and the kill-date tree hashes
    updated together; check:killdates is green.
  • One app-side conversion: the folded launch builds its single-step
    agent through buildSingleStepAgentDefinition directly, now that the
    wrapHarnessAsSingleStepWorkflow adapter over it is gone.

What this does NOT land, and why

The app-side conversion is not here. Upstream retired the live-authored and
instance deploy chains outright — deploySingleStepAtHead,
deployInstanceAtHead, createWorkflowDeployOrchestrator, the deploy
frame's definition field, and the deploy-ref child spawners. Source-ref is
the only deploy lineage left: a definition is evaluated from the
deployment's own source closure and re-verified in-child.

Workbench has no code-sourced deploy front. Every run it launches goes
through packages/folded-runs' deployAtHead, which synthesizes a
single-step definition in memory and hands it to the deleted
deploySingleStepAtHead. The replacement takes a registry name@range pin
or an asset tarball and resolves a closure from it, so converting means
giving a folded run a real source package — a migration in its own right,
well past this change's box.

The trees are not separable along that line: hub-sessions (deploy
front), workflow-deploy (orchestrator), types (deploy frame),
workflow-host (child definition load), db (frozen approval bundle,
migrations 0082/0083) and hub-api (run trigger) move together, and
apps/sidecar reads the frame both sides write. Leaving any one on the old
pin splits the frame contract down the middle. So the branch re-pins all of
them and carries the conversion as known, mapped work.

apps/sidecar's ledger row deliberately stays at 59f5e7b9: the fork has
not been reconciled with upstream's own conversion of the same files.

docs/revendor-inventory.md carries the full map — the four open conversion
sites, and the upstream files that are the reference implementation for each.

State of the build

Red, expected, on two counts:

  1. Typecheck fails at the conversion sites abovefolded-runs
    (deploySingleStepAtHead), apps/sidecar
    (createWorkflowSpawnChild/createWorkflowSpawnSuspendableChild,
    projection.definition, SpawnTimeEnv.referencedDefinitionHashes,
    RunWorkflowChildBindings.workflowDefinitionRepoId), and the packages
    that typecheck through folded-runs. Every failure is one of those
    contract changes; none is incidental.
  2. The branch is cut from cl-5879-shell-mock-v2, not post-merge main,
    and needs a rebase once PR CL-5879: Shell Mock v2 — two-column workbench product surfaces #52 lands.

Lint and formatting are clean, and the vendored delta tests pass.

Draft until the deploy-front conversion has an owner and a plan.

Upstream's 45 commits since 59f5e7b9 retire the on-disk workflow.json: a
deployed workflow's definition is evaluated from its own source closure and
re-verified in-child against the approved wire hash, source-ref becomes the
only deploy lineage, childWorkflow becomes an owned inline import resolved
in memory, and run grants derive from a persisted grant-walk snapshot.

Re-applies every workbench-local delta on the new trees, none of which
upstream subsumed: the inference.usage forward, the terminal-anchor
ownsWorkflowRunRepo gate, the hasConversationText mail drop, and the
hub-api needs-you approval route carve-out. Their tests stay green.

apps/sidecar keeps its old row: the execution host has not been converted
off the retired lineage yet.
Upstream deleted the live-config wrap (wrapHarnessAsSingleStepWorkflow)
along with the rest of the live-authored deploy chain. The wrap was a thin
adapter over buildSingleStepAgentDefinition, which survives, so the launch
now passes the resolved fields directly: the folded run's id, its system
prompt, and its catalog-resolved inference preferences. Tools stay empty
here — a folded launch pins its tools as packages, not factories.
Records the CL-6324 pin delta, the deltas that survived it, and why the
app-side conversion is one migration rather than a per-tree bump: workbench
has no code-sourced deploy front, and the retired live-authored chain is
what every folded run launches through.
@TheGreatAxios
TheGreatAxios force-pushed the cl-6324-repin-interchange branch from b91393a to 74a0d39 Compare August 20, 2026 02:08
TheGreatAxios added a commit that referenced this pull request Aug 20, 2026
Extends the vendor/intx/workflow ledger entries for CL-6326: VENDORED.md's
local-modifications prose, the package's own VENDORED-FROM delta line, the
recomputed kill-dates.txt tree hash, and a docs/revendor-inventory.md entry
noting the delta re-applies once PR #59's re-pin lands (upstream's 486a6b1b
touched run.ts after this pin).
TheGreatAxios added a commit that referenced this pull request Aug 20, 2026
Extends the vendor/intx/workflow ledger entries for CL-6326: VENDORED.md's
local-modifications prose, the package's own VENDORED-FROM delta line, the
recomputed kill-dates.txt tree hash, and a docs/revendor-inventory.md entry
noting the delta re-applies once PR #59's re-pin lands (upstream's 486a6b1b
touched run.ts after this pin).
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Superseded: the re-pin landed via the conversion stack (PR #108, merge fbf0852) — all 21 vendored rows at 4ed8baf4 with every local delta re-applied. See CL-6324.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant