Skip to content

Commit 1ed7929

Browse files
Merge pull request #831 from corbitsdev/cl-5700-document-the-interchange-vendoring-structure-and-patch
Close out the vendoring doc against its deliverables
2 parents 17806d7 + ade45ba commit 1ed7929

2 files changed

Lines changed: 34 additions & 25 deletions

File tree

‎AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ It authenticates over HTTPS via `gh`'s credential helper and rewrites the SSH re
7575

7676
## Building on Interchange
7777

78-
Interchange is the standard library for this repo, consumed as published `@intx/*` npm packages pinned at 0.3.0, except `@intx/inference`, `@intx/types`, and `@intx/storage-isogit`, which resolve to vendored source under `vendor/intx-*` at upstream head (coupled by the reactor's approval-suspend primitive; `@intx/inference` also carries a local patch set). See `docs/VENDORING.md` for what's vendored, from which upstream commit, and the re-sync procedure. We never modify or push to the upstream interchange repository. Before writing any new infrastructure — plugins, middleware, utilities, state management, logging, authz, inference, tools — check these packages.
78+
Interchange is the standard library for this repo. Every `@intx/*` package this repo imports resolves to vendored source under `vendor/intx-*` at a single pinned upstream commit — the sole exception is `@intx/tools-lsp`, which remains on published npm (provenance, patch ledgers, and the re-sync procedure: `docs/VENDORING.md`). We never modify or push to the upstream interchange repository. Before writing any new infrastructure — plugins, middleware, utilities, state management, logging, authz, inference, tools — check these packages.
7979

8080
| Package | Covers |
8181
| ---------------------- | --------------------------------------------------------------------------------------------------------------------- |

‎docs/VENDORING.md‎

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# Vendored Interchange packages
22

3-
Corbits Code consumes most of Interchange as published `@intx/*` npm
4-
packages. A few packages are instead vendored as source, directly from the
5-
upstream Interchange repository, under `vendor/`. This document is the
3+
Corbits Code consumes Interchange by vendoring every `@intx/*` package it
4+
imports as source, directly from the upstream Interchange repository, under
5+
`vendor/` at a single pinned upstream commit. The sole exception is
6+
`@intx/tools-lsp`, which remains on published npm. This document is the
67
authoritative record of what is vendored, from which upstream commit, and
78
whether it carries local patches.
89

@@ -21,18 +22,19 @@ points straight at `./src/*.ts` files rather than a `dist/` build.
2122

2223
## What's vendored
2324

24-
| Package | Vendor path | License | Synced from upstream commit | Retrieved | Local patches |
25-
| ---------------------- | ----------------------------- | ------------- | ------------------------------------------ | ---------- | -------------------------------------------- |
26-
| `@intx/inference` | `vendor/intx-inference/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | Yes — see `vendor/intx-inference/PATCHES.md` |
27-
| `@intx/types` | `vendor/intx-types/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
28-
| `@intx/storage-isogit` | `vendor/intx-storage-isogit/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
29-
| `@intx/agent` | `vendor/intx-agent/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
30-
| `@intx/authz` | `vendor/intx-authz/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
31-
| `@intx/log` | `vendor/intx-log/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
32-
| `@intx/tools-posix` | `vendor/intx-tools-posix/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
33-
| `@intx/mailbox` | `vendor/intx-mailbox/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
34-
| `@intx/harness` | `vendor/intx-harness/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
35-
| `@intx/mime` | `vendor/intx-mime/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
25+
| Package | Vendor path | License | Synced from upstream commit | Retrieved | Local patches |
26+
| -------------------------------------------------- | ------------------------------------- | ------------- | ------------------------------------------ | ---------- | -------------------------------------------- |
27+
| `@intx/inference` | `vendor/intx-inference/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | Yes — see `vendor/intx-inference/PATCHES.md` |
28+
| `@intx/types` | `vendor/intx-types/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
29+
| `@intx/storage-isogit` | `vendor/intx-storage-isogit/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
30+
| `@intx/agent` | `vendor/intx-agent/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
31+
| `@intx/authz` | `vendor/intx-authz/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
32+
| `@intx/log` | `vendor/intx-log/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
33+
| `@intx/tools-posix` | `vendor/intx-tools-posix/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
34+
| `@intx/mailbox` | `vendor/intx-mailbox/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
35+
| `@intx/harness` | `vendor/intx-harness/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
36+
| `@intx/mime` | `vendor/intx-mime/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
37+
| `@intx/workflow-host` (partial — `adapters/` only) | `vendor/intx-workflow-host/adapters/` | LGPL-2.1-only | `0205b07b64d03f0fec2e4be3593c764070a9ba8a` | 2026-09-07 | None — verbatim |
3638

3739
## Provenance, ownership, and kill dates
3840

@@ -185,9 +187,13 @@ those packages now resolves to the single root instance. As of this sync,
185187

186188
## Patched vs. verbatim
187189

188-
`@intx/types` and `@intx/storage-isogit` are verbatim copies of upstream —
189-
no modifications. A diff against any later upstream checkout at the same
190-
paths will show 100% upstream-authored lines.
190+
Of the eleven vendored paths, exactly one carries local patches:
191+
`@intx/inference` — every divergence is a real fix not yet upstream, listed
192+
one-per-patch in `vendor/intx-inference/PATCHES.md`. The other ten paths
193+
(nine whole packages plus the partial `vendor/intx-workflow-host/adapters/`
194+
tree) are verbatim copies of upstream — no modifications. A diff against a
195+
pristine upstream checkout at the same commit and paths will show 100%
196+
upstream-authored lines.
191197

192198
## Notable upstream shape changes carried by the 2026-08-22 sync
193199

@@ -238,12 +244,15 @@ does not resolve to a ledger heading, or if a ledger heading has no marker.
238244

239245
1. In the read-only upstream clone, confirm the commit to sync to and note
240246
its hash for this document's table.
241-
2. For a **verbatim** package (`@intx/types`, `@intx/storage-isogit`):
242-
copy `src/`, `README.md` over the vendored directory's `src/`,
243-
`README.md` (leave `package.json` and `LICENSE` as they are unless the
244-
package's own `package.json` exports or dependencies changed upstream —
245-
diff the two `package.json` files by hand). Run `bun install`,
246-
`bun run typecheck`, `bun run build`, `bun run test`.
247+
2. For a **verbatim** package, copy `src/`, `README.md` over the vendored
248+
directory's `src/`, `README.md` (leave `package.json` and `LICENSE` as
249+
they are unless the package's own `package.json` exports or dependencies
250+
changed upstream — diff the two `package.json` files by hand; the
251+
partial `vendor/intx-workflow-host/adapters/` tree has no `package.json`
252+
of its own, so just re-copy its two vendored files,
253+
`adapters/substrate-mailbox-store.ts` and
254+
`adapters/substrate-mailbox-store.test.ts`). Run
255+
`bun install`, `bun run typecheck`, `bun run build`, `bun run test`.
247256
3. For a **patched** package (`@intx/inference`): before overwriting
248257
anything, run `bin/vendor-patch-diff` (optionally
249258
`--upstream /path/to/interchange`) to re-derive the exact local

0 commit comments

Comments
 (0)