@@ -948,8 +948,9 @@ command exec. (Every host has these; there is no "git-less" host. The earlier
948948dev/prod, serverless-can't-clone, and read-files-out-per-file framings were WRONG and
949949are superseded by this section.)
950950
951- The Host is a PRIMITIVE — ` BitcodePipelineHost ` (` packages/pipeline-hosts/host.ts ` ):
952- - ` capabilities ` : a HOST CAPABILITIES descriptor — ` hostKind ` (` 'inline' | 'sandbox' ` ),
951+ The Host is a PRIMITIVE — ` BitcodePipelineHost ` (` @bitcode/host-generics ` ; BC barrel
952+ ` @bitcode/pipeline-hosts ` ):
953+ - ` capabilities ` : a HOST CAPABILITIES descriptor — ` hostKind ` (` 'local' | 'sandbox' ` ),
953954 ` clone ` + ` filesystem ` + ` exec ` (TRUE for every host), ` ephemeralFilesystem ` ,
954955 ` defaultWorkingDirectory ` ; a SandboxHost additionally carries ` sandboxProvider `
955956 (` 'vercel' | 'aws' ` ).
@@ -961,23 +962,29 @@ Because the pipeline runs WITHIN the host, the workspace is the host's LOCAL che
961962read locally, NEVER across a process/network boundary. The pipeline (Setup → … →
962963Validation) speaks only to the primitive, so its behavior is identical on every host.
963964
965+ ** Hierarchy (primitive → base):**
966+ ```
967+ @bitcode/host-generics # BitcodePipelineHost, SandboxHost
968+ → @bitcode/generic-hosts-local # LocalHost (was InlineHost)
969+ → @bitcode/generic-hosts-vercel-sandbox # VercelSandboxHost + harness surface
970+ ```
971+
964972** HostKinds — two implementations of the primitive:**
965- - ** LocalHost** (` local-host.ts ` ) — runs the pipeline in the current box; provisions
966- via a real ` git clone ` of the full tree to a local working dir (Node-fs workspace).
967- - ** SandboxHost** (` sandbox-host.ts ` ) — runs the pipeline inside a provisioned, isolated
968- box that has git + FS, so within it the checkout is local exactly as for LocalHost.
969- It is a base for providers:
970- - ** Vercel** (` VercelSandboxHost ` , IMPLEMENTED) — provisions via the Sandbox SDK git
971- source into the box working directory.
972- - ** AWS** (` AwsSandboxHost ` , STUBBED) — the provider seam for an AWS-backed box; not
973- yet implemented.
973+ - ** LocalHost** (` @bitcode/generic-hosts-local ` ) — runs the pipeline in the current box;
974+ provisions via a real ` git clone ` of the full tree to a local working dir (Node-fs).
975+ - ** SandboxHost** (` @bitcode/host-generics ` ) — abstract sandbox base; runs the pipeline
976+ inside a provisioned, isolated box that has git + FS, so within it the checkout is
977+ local exactly as for LocalHost. Providers:
978+ - ** Vercel** (` VercelSandboxHost ` in ` @bitcode/generic-hosts-vercel-sandbox ` , IMPLEMENTED)
979+ - ** AWS** (` AwsSandboxHost ` , STUBBED) — provider seam; not yet implemented.
974980 Provisioning AND the pipeline both run IN the box; nothing is read out of it per-file.
975981
976982** Selection** is by CONFIGURED HostKind — not by environment, and with no dev/prod /
977- local/remote terminology. ` selectDepositHostKind(env) ` returns ` 'inline' | 'sandbox' `
978- from ` BITCODE_PIPELINE_HOST ` (explicit), defaulting to ` inline ` ; a SandboxHost's
979- provider comes from ` BITCODE_SANDBOX_PROVIDER ` (` 'vercel' | 'aws' ` , default ` vercel ` ).
980- ` resolveDepositPipelineHost() ` constructs the configured HostKind/provider. The
983+ local/remote terminology. ` selectDepositHostKind(env) ` returns ` 'local' | 'sandbox' `
984+ from ` BITCODE_PIPELINE_HOST ` (explicit), defaulting to ` local ` (` inline ` accepted as a
985+ deprecated alias of ` local ` ); a SandboxHost's provider comes from
986+ ` BITCODE_SANDBOX_PROVIDER ` (` 'vercel' | 'aws' ` , default ` vercel ` ).
987+ ` resolveDepositPipelineHost() ` constructs LocalHost for hostKind ` local ` . The
981988operator chooses which host runs the pipeline.
982989
983990** Source provisioning + measurement:** the harness run provisions the full checkout on
0 commit comments