@junghanacs/entwurf 0.25.1 → 0.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/BASELINE.md +1 -1
- package/CHANGELOG.md +190 -0
- package/DELIVERY.md +1 -1
- package/README.md +183 -674
- package/VERIFY.md +21 -17
- package/demo/README.md +1 -1
- package/docs/acp-backend-rail.md +115 -18
- package/docs/external-mcp-host.md +1 -1
- package/docs/setup-clean-host.md +346 -10
- package/mcp/entwurf-bridge/dist/mcp/entwurf-bridge/src/index.js +27 -4
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/acp/backend-adapter.js +55 -1
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-peers-render.js +1 -1
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-decider.js +2 -2
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-mailbox.js +2 -2
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-production.js +2 -2
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-surface.js +3 -5
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-visible-resume.js +3 -3
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/fresh-call-composition.js +13 -6
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/meta-mailbox-body.js +1 -1
- package/mcp/entwurf-bridge/dist/pi-extensions/lib/mux-fresh-call.js +3 -3
- package/mcp/entwurf-bridge/src/index.ts +30 -3
- package/package.json +13 -13
- package/pi-extensions/entwurf-control.ts +50 -637
- package/pi-extensions/lib/acp/backend-adapter.ts +81 -1
- package/pi-extensions/lib/acp/backend.ts +41 -5
- package/pi-extensions/lib/entwurf-fact-provider.ts +2 -2
- package/pi-extensions/lib/entwurf-mcp-server.ts +74 -0
- package/pi-extensions/lib/entwurf-peers-render.ts +1 -1
- package/pi-extensions/lib/entwurf-v2-decider.ts +2 -2
- package/pi-extensions/lib/entwurf-v2-mailbox.ts +2 -2
- package/pi-extensions/lib/entwurf-v2-production.ts +3 -3
- package/pi-extensions/lib/entwurf-v2-surface.ts +3 -5
- package/pi-extensions/lib/entwurf-v2-visible-resume.ts +3 -3
- package/pi-extensions/lib/fresh-call-composition.ts +13 -6
- package/pi-extensions/lib/meta-mailbox-body.ts +1 -1
- package/pi-extensions/lib/mux-fresh-call.ts +3 -3
- package/run.sh +177 -53
- package/scripts/check-entwurf-peers-surface.ts +8 -15
- package/scripts/check-entwurf-self-address.ts +7 -11
- package/scripts/check-entwurf-v2-surface.ts +20 -112
- package/scripts/check-fresh-call-dispatch.ts +12 -13
- package/scripts/check-gate-qualification.ts +250 -5
- package/scripts/check-herdr-plugin-build.ts +159 -57
- package/scripts/check-install-surface.ts +3 -2
- package/scripts/check-mux-resume-call.ts +24 -35
- package/scripts/check-pi-bridge-sender.ts +130 -0
- package/scripts/check-pi-mcp-bridge.ts +251 -0
- package/scripts/fixtures/herdr-supply.json +8 -8
- package/scripts/lib/codex-fresh-live-protocol.ts +17 -5
- package/scripts/lib/codex-fresh-source-receipts.ts +21 -2
- package/scripts/lib/mutation-qualify.ts +269 -44
- package/scripts/lib/pi-mcp-bridge-probe.mjs +170 -0
- package/scripts/meta-bridge-doctor.sh +16 -5
- package/scripts/mutants/acp-foreground-only.json +17 -0
- package/scripts/mutants/acp-prompt-lifecycle.json +2 -2
- package/scripts/mutants/acp-vendor-rejection.json +62 -0
- package/scripts/mutants/codex-native.json +11 -11
- package/scripts/mutants/control-send-receipt.json +6 -4
- package/scripts/mutants/copilot-birth.json +2 -1
- package/scripts/mutants/fresh-call-dispatch.json +3 -14
- package/scripts/mutants/gate-qualification.json +59 -0
- package/scripts/mutants/herdr-plugin-build.json +11 -0
- package/scripts/mutants/herdr-supply.json +3 -3
- package/scripts/mutants/mux-fresh-call.json +43 -45
- package/scripts/mutants/mux-resume-call.json +11 -35
- package/scripts/mutants/pack-install.json +15 -4
- package/scripts/mutants/pi-bridge-sender.json +54 -0
- package/scripts/mutants/pi-floor.json +6 -2
- package/scripts/mutants/pi-mcp-bridge.json +36 -0
- package/scripts/mutants/pi-mcp-register.json +51 -0
- package/scripts/mutants/v2-surface.json +6 -6
- package/scripts/resident-rpc-drive.ts +5 -1
- package/scripts/smoke-acp-bundled-mcp-live.ts +3 -1
- package/scripts/smoke-acp-cortex-live.ts +3 -1
- package/scripts/smoke-acp-raw-turn-live.ts +1 -1
- package/scripts/smoke-acp-session-reuse-live.ts +29 -12
- package/scripts/smoke-acp-socket-citizen-live.ts +3 -1
- package/scripts/smoke-acp-v2-send-live.ts +3 -1
- package/scripts/smoke-codex-fresh-live.ts +20 -1
- package/scripts/smoke-entwurf-chain-live.ts +6 -2
- package/scripts/smoke-entwurf-v2-matrix-live.ts +3 -1
- package/scripts/smoke-herdr-fresh-call-live.ts +21 -7
- package/scripts/smoke-herdr-raw-install-live.sh +1 -1
- package/scripts/smoke-mux-lifecycle-live.ts +1 -1
- package/scripts/smoke-resident-garden-guard.sh +3 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* entwurf-v2-production — 5d-2b: the ctx-free PRODUCTION assembly of `runEntwurfV2`'s deps.
|
|
3
3
|
* `makeProductionEntwurfV2Deps(opts)` wires the real 5b decider IO seams + the three 5c
|
|
4
4
|
* transport hands into one `EntwurfV2RunDeps` (`{decide, executor}`). It touches NO
|
|
5
|
-
* `ExtensionContext`/`ExtensionAPI` — the wiring SITE (
|
|
6
|
-
*
|
|
5
|
+
* `ExtensionContext`/`ExtensionAPI` — the wiring SITE (the entwurf-bridge `entwurf_v2`
|
|
6
|
+
* handler; the pi-native one left with #125) builds the `senderProvider` and passes it in, so this module
|
|
7
7
|
* stays in `lib/` with the rest of the gate-/smoke-testable v2 core.
|
|
8
8
|
*
|
|
9
9
|
* Three invariants this factory exists to guarantee (each gate-proven):
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* entwurf-v2-surface — 5d-3a: the ctx-free SURFACE adapter that joins a surface's raw params
|
|
3
3
|
* to `runEntwurfV2` and renders the outcome-rich result back to a human/tool string. It is the
|
|
4
|
-
* ONE place a surface (
|
|
5
|
-
* crosses into the v2 fence
|
|
6
|
-
*
|
|
7
|
-
* NON-LITERAL dynamic import, and the MCP bridge (already a `.ts`-import consumer) imports it
|
|
8
|
-
* directly. Either way the ctx binding stays OUT of the fence: the caller builds
|
|
4
|
+
* ONE place a surface (the MCP `entwurf_v2` verb — the only one since #125 retired the
|
|
5
|
+
* pi-native copy) crosses into the v2 fence; the MCP bridge (a `.ts`-import consumer) imports
|
|
6
|
+
* it directly. Either way the ctx binding stays OUT of the fence: the caller builds
|
|
9
7
|
* `senderProvider` from its own envelope source and passes it in `opts`.
|
|
10
8
|
*
|
|
11
9
|
* Three exports:
|
|
@@ -217,9 +217,9 @@ const REJECT_HINT = {
|
|
|
217
217
|
"launch-refused": "tmux was never asked to open a window",
|
|
218
218
|
};
|
|
219
219
|
/**
|
|
220
|
-
* ONE renderer
|
|
221
|
-
*
|
|
222
|
-
*
|
|
220
|
+
* ONE renderer — the same reason `mux-fresh-call` has one: it keeps the operator-visible answer
|
|
221
|
+
* out of the registration literal. (Since #125 the MCP bridge is the only registration; the
|
|
222
|
+
* native pi copy it once had to agree with is retired.)
|
|
223
223
|
*
|
|
224
224
|
* The success text keeps the two receipts visibly apart, including in the good case. A reader
|
|
225
225
|
* who sees "window opened" and "socket alive" as one sentence has been told the resume worked;
|
|
@@ -29,9 +29,16 @@ import { randomBytes } from "node:crypto";
|
|
|
29
29
|
* missing HERE is not an unwired convenience, it is a release blocker. */
|
|
30
30
|
export const FRESH_CALL_BACKENDS = ["pi", "claude-code", "copilot", "omp", "codex"];
|
|
31
31
|
/**
|
|
32
|
-
* The callback tool NAME differs per backend and that is not cosmetic:
|
|
33
|
-
* capability
|
|
34
|
-
*
|
|
32
|
+
* The callback tool NAME differs per backend and that is not cosmetic: every session reaches the
|
|
33
|
+
* capability under whatever name its harness composes for the `entwurf-bridge` MCP server, and
|
|
34
|
+
* naming the wrong one costs the whole first turn.
|
|
35
|
+
*
|
|
36
|
+
* `[측정 2026-10-01, pi 0.99.2]` pi reaches the verbs through its BUILT-IN MCP (#125 — the native
|
|
37
|
+
* `registerTool` copies are gone), and Pi composes `mcp__<server>__<tool>` replacing everything
|
|
38
|
+
* outside `[A-Za-z0-9_]` with `_` (`extensions/mcp/tools.ts:82-90`, tag v0.99.2): the server key
|
|
39
|
+
* stays `entwurf-bridge`, but the model-facing names are `mcp__entwurf_bridge__entwurf_*` — the
|
|
40
|
+
* same spelling Codex composes, and NOT Claude Code's. 0.99.1 kept the hyphen; the floor moved to
|
|
41
|
+
* 0.99.2 as a hard cut — one literal pi dialect, chosen over an alias or a version router.
|
|
35
42
|
*
|
|
36
43
|
* `[측정]` Copilot CLI 1.0.80 composes `<mcpServerName>-<mcpToolName>` — NOT Claude Code's
|
|
37
44
|
* `mcp__<server>__<tool>`. Read from two independent sessions' own event logs
|
|
@@ -50,7 +57,7 @@ export const FRESH_CALL_BACKENDS = ["pi", "claude-code", "copilot", "omp", "code
|
|
|
50
57
|
* permission dialect: omp's approval layer consults the same minted string (`source-audit.md`).
|
|
51
58
|
*/
|
|
52
59
|
export const FRESH_CALL_CALLBACK_TOOL = {
|
|
53
|
-
pi: "
|
|
60
|
+
pi: "mcp__entwurf_bridge__entwurf_callback",
|
|
54
61
|
"claude-code": "mcp__entwurf-bridge__entwurf_callback",
|
|
55
62
|
copilot: "entwurf-bridge-entwurf_callback",
|
|
56
63
|
omp: "mcp__entwurf_bridge_entwurf_callback",
|
|
@@ -60,7 +67,7 @@ export const FRESH_CALL_CALLBACK_TOOL = {
|
|
|
60
67
|
};
|
|
61
68
|
/** Where a sibling SENDS the task result. Always the delivery verb, never the birth callback. */
|
|
62
69
|
export const FRESH_CALL_DELIVERY_TOOL = {
|
|
63
|
-
pi: "
|
|
70
|
+
pi: "mcp__entwurf_bridge__entwurf_v2",
|
|
64
71
|
"claude-code": "mcp__entwurf-bridge__entwurf_v2",
|
|
65
72
|
copilot: "entwurf-bridge-entwurf_v2",
|
|
66
73
|
omp: "mcp__entwurf_bridge_entwurf_v",
|
|
@@ -81,7 +88,7 @@ export const FRESH_CALL_DELIVERY_TOOL = {
|
|
|
81
88
|
* SAME rule produces the whole word here.
|
|
82
89
|
*/
|
|
83
90
|
export const FRESH_CALL_PEERS_TOOL = {
|
|
84
|
-
pi: "
|
|
91
|
+
pi: "mcp__entwurf_bridge__entwurf_peers",
|
|
85
92
|
"claude-code": "mcp__entwurf-bridge__entwurf_peers",
|
|
86
93
|
copilot: "entwurf-bridge-entwurf_peers",
|
|
87
94
|
omp: "mcp__entwurf_bridge_entwurf_peers",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* meta-bridge mailbox body. Every transport that can deliver to a garden citizen
|
|
4
4
|
* with no live control socket uses this:
|
|
5
5
|
* - the MCP bridge entwurf_v2 (mcp/entwurf-bridge) — external/Claude-host sends
|
|
6
|
-
*
|
|
6
|
+
* (pi-session sends included since #125 — a pi session reaches that same verb)
|
|
7
7
|
* - the native-push rail (pi-extensions/lib/entwurf-v2-native-push.ts) — direct
|
|
8
8
|
* injection into an Antigravity conversation or a loaded Codex thread. Its
|
|
9
9
|
* THIRD consumer, added after the #95 A LIVE run measured what an envelope-less
|
|
@@ -474,9 +474,9 @@ const REJECT_HINT = {
|
|
|
474
474
|
"runtime-not-executable": "the resolved runtime path is not executable",
|
|
475
475
|
};
|
|
476
476
|
/**
|
|
477
|
-
* ONE renderer
|
|
478
|
-
*
|
|
479
|
-
*
|
|
477
|
+
* ONE renderer, outside the registration. Not a convenience: it keeps the operator-visible answer
|
|
478
|
+
* out of a registration literal. (Since #125 the MCP bridge is the only registration; the native
|
|
479
|
+
* pi copy it once had to agree with is retired.)
|
|
480
480
|
*
|
|
481
481
|
* The success text states the boundary out loud. A caller that reads "launched" and assumes
|
|
482
482
|
* "delivered" is the exact confusion the two-receipt split exists to prevent, so the text refuses
|
|
@@ -100,6 +100,7 @@ import {
|
|
|
100
100
|
defaultMetaSessionsDir,
|
|
101
101
|
makeStoreRecordReader,
|
|
102
102
|
readActiveStoreEntries,
|
|
103
|
+
readMetaIdentityByGardenId,
|
|
103
104
|
readMetaInbox,
|
|
104
105
|
readMetaReceiverMarker,
|
|
105
106
|
readMetaSenderMarker,
|
|
@@ -358,10 +359,36 @@ async function resolveAuthoritativeSender(
|
|
|
358
359
|
if (marker && marker.identity.gardenId === selected.id) {
|
|
359
360
|
return buildMetaSenderEnvelope(marker.identity, marker.marker.cwd || cwd, marker);
|
|
360
361
|
}
|
|
361
|
-
if (pi && pi.sessionId === selected.id) return { envelope: pi };
|
|
362
|
+
if (pi && pi.sessionId === selected.id) return { envelope: requirePiSenderRecord(pi) };
|
|
362
363
|
throw new Error(`entwurf-bridge: reconciled sender ${selected.id} has no matching identity source`);
|
|
363
364
|
}
|
|
364
365
|
|
|
366
|
+
/**
|
|
367
|
+
* PI_SESSION_ID CARRIES a record-established identity; it does not establish one (Hard Rule 2).
|
|
368
|
+
* Since #125 the pi session reaches every Entwurf verb through this bridge, so the pi rail is the
|
|
369
|
+
* main road rather than a side door, and the carrier is checked where the sender is SELECTED:
|
|
370
|
+
* after the claims reconcile (so a complete conflicting Codex claim still earns its own
|
|
371
|
+
* diagnostic) and before any caller builds on the answer.
|
|
372
|
+
*
|
|
373
|
+
* The per-entry targeted read the sender/self policy already uses — no store scan, no second
|
|
374
|
+
* nativeSessionId carrier. An absent, unreadable or irregular record throws from the reader with
|
|
375
|
+
* its own cause; a record of another backend throws here. None of it falls back to another rail
|
|
376
|
+
* or to anonymous. Socket presence stays what it was: replyability, never admission.
|
|
377
|
+
*
|
|
378
|
+
* What it does NOT prove: that a trusted host which deliberately exports ANOTHER real pi
|
|
379
|
+
* citizen's id is that citizen. Carrier integrity below the record is the host's.
|
|
380
|
+
*/
|
|
381
|
+
function requirePiSenderRecord(envelope: SenderEnvelope): SenderEnvelope {
|
|
382
|
+
const identity = readMetaIdentityByGardenId(envelope.sessionId);
|
|
383
|
+
if (identity.backend !== "pi") {
|
|
384
|
+
throw new Error(
|
|
385
|
+
`entwurf-bridge: PI_SESSION_ID ${envelope.sessionId} names a ${identity.backend} record, not a pi citizen — ` +
|
|
386
|
+
"the pi-session carrier must name the record this pi session was born with",
|
|
387
|
+
);
|
|
388
|
+
}
|
|
389
|
+
return envelope;
|
|
390
|
+
}
|
|
391
|
+
|
|
365
392
|
// Async only when the selected sender rides native-push: replyability is the adapter's live fact.
|
|
366
393
|
async function buildAuthoritativeSelfEnvelope(context: SenderRequestContext = {}): Promise<AuthoritativeSelf> {
|
|
367
394
|
const resolved = await resolveAuthoritativeSender(context);
|
|
@@ -418,7 +445,7 @@ function abbreviateHomeMcp(cwd: string): string {
|
|
|
418
445
|
// reports one outcome. The per-target lock is NOT taken by every rail: the decider
|
|
419
446
|
// locks only a control-socket-domain dispatch; the mailbox and native-push branches
|
|
420
447
|
// carry `lock: null` (entwurf-v2-decider.ts). It runs
|
|
421
|
-
// IN-PROCESS here (the
|
|
448
|
+
// IN-PROCESS here (the one production runner; pi reaches it through this bridge since #125) — NOT a delegating
|
|
422
449
|
// RPC — so control, mailbox and native-push all flow through
|
|
423
450
|
// `runEntwurfV2`. The sender envelope is
|
|
424
451
|
// `buildSendSenderEnvelope()` verbatim (origin/replyable as resolved) — v2 does
|
|
@@ -488,7 +515,7 @@ server.tool(
|
|
|
488
515
|
{ target, intent, message, mode, wants_reply },
|
|
489
516
|
// No trust-preflight inputs are passed, and none exist to pass: the preflight on this
|
|
490
517
|
// path guarded the resume verdict and left with `owned-outcome`. `senderProvider` is
|
|
491
|
-
// the whole options surface now
|
|
518
|
+
// the whole options surface now.
|
|
492
519
|
{ senderProvider: () => sender },
|
|
493
520
|
);
|
|
494
521
|
return rendered.isError ? textErr(rendered.text) : textOk(rendered.text);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@junghanacs/entwurf",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.1",
|
|
4
4
|
"description": "Garden-citizen dispatch substrate and meta-bridge for pi, Claude Code, Copilot CLI, OMP, Antigravity, and Codex CLI; Claude and Snowflake Cortex Code ACP backends.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -84,25 +84,25 @@
|
|
|
84
84
|
"claudeCodeFloor": ">=2.1.217"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@agentclientprotocol/claude-agent-acp": "0.
|
|
88
|
-
"@agentclientprotocol/sdk": "1.
|
|
87
|
+
"@agentclientprotocol/claude-agent-acp": "0.85.1",
|
|
88
|
+
"@agentclientprotocol/sdk": "1.6.0",
|
|
89
89
|
"@anthropic-ai/sdk": "0.100.1",
|
|
90
90
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
91
91
|
"smol-toml": "^1.8.0",
|
|
92
92
|
"zod": "^3.25.0 || ^4.0.0"
|
|
93
93
|
},
|
|
94
94
|
"peerDependencies": {
|
|
95
|
-
"@earendil-works/pi-ai": ">=0.
|
|
96
|
-
"@earendil-works/pi-coding-agent": ">=0.
|
|
97
|
-
"@earendil-works/pi-tui": ">=0.
|
|
95
|
+
"@earendil-works/pi-ai": ">=1.0.0 <1.1",
|
|
96
|
+
"@earendil-works/pi-coding-agent": ">=1.0.0 <1.1",
|
|
97
|
+
"@earendil-works/pi-tui": ">=1.0.0 <1.1",
|
|
98
98
|
"typebox": "*"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@biomejs/biome": "^2.4.13",
|
|
102
|
-
"@earendil-works/pi-agent-core": "0.
|
|
103
|
-
"@earendil-works/pi-ai": "0.
|
|
104
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
105
|
-
"@earendil-works/pi-tui": "0.
|
|
102
|
+
"@earendil-works/pi-agent-core": "1.0.0",
|
|
103
|
+
"@earendil-works/pi-ai": "1.0.0",
|
|
104
|
+
"@earendil-works/pi-coding-agent": "1.0.0",
|
|
105
|
+
"@earendil-works/pi-tui": "1.0.0",
|
|
106
106
|
"@types/node": "^24.3.0",
|
|
107
107
|
"husky": "^9.1.7",
|
|
108
108
|
"rregex": "1.13.1",
|
|
@@ -177,9 +177,9 @@
|
|
|
177
177
|
"check:core": "pnpm run check:toolchain && pnpm run check:vitest && pnpm run check:contracts",
|
|
178
178
|
"check:toolchain": "pnpm lint && pnpm typecheck",
|
|
179
179
|
"check:vitest": "./run.sh check-mux-fresh-call && ./run.sh check-acp-sdk-surface && ./run.sh check-pi-queue-oracle && ./run.sh check-tests-beside-behavior",
|
|
180
|
-
"check:contracts": "./run.sh check-shell-quote && ./run.sh check-entwurf-session-identity && ./run.sh check-meta-session && ./run.sh check-meta-v3-record && ./run.sh check-mailbox-receipt-state && ./run.sh check-entwurf-capabilities && ./run.sh check-harness-admission-parity && ./run.sh check-capability-bundle-reach && ./run.sh check-meta-mailbox-state-write && ./run.sh check-meta-receiver-marker && ./run.sh check-meta-capability-source && ./run.sh check-model-lock && ./run.sh check-dep-versions && ./run.sh check-node-floor-coherence && ./run.sh check-claude-floor-coherence && ./run.sh check-copilot-statusline && ./run.sh check-pi-import-surface && ./run.sh check-env-namespace && ./run.sh check-pi-runtime-version && ./run.sh check-pi-preflight && ./run.sh check-project-trust-handler && ./run.sh check-entwurf-v2-contract && ./run.sh check-entwurf-v2-send && ./run.sh check-entwurf-v2-runner && ./run.sh check-control-send-receipt && ./run.sh check-compaction-send-guard && ./run.sh check-entwurf-resume-args && ./run.sh check-entwurf-v2-native-push && ./run.sh check-entwurf-v2-production && ./run.sh check-entwurf-v2-surface && ./run.sh check-entwurf-bridge-pi-free && ./run.sh check-resume-launch-identity && ./run.sh check-mux-placement && ./run.sh check-mux-launch && ./run.sh check-mux-resume-call && ./run.sh check-mux-parent-artifact && ./run.sh check-mux-launcher-fence && ./run.sh check-entwurf-v2-visible-resume && ./run.sh check-control-socket-path && ./run.sh check-meta-listing && ./run.sh check-entwurf-fact-provider && ./run.sh check-herdr-placement && ./run.sh check-herdr-fresh-call && ./run.sh check-herdr-supply && ./run.sh check-fresh-call-dispatch && ./run.sh check-entwurf-peers-surface && ./run.sh check-entwurf-self-address && ./run.sh check-entwurf-deliverability && ./run.sh check-native-push-adapter && ./run.sh check-native-push-register && ./run.sh check-auth-boundary && ./run.sh check-acp-overlay && ./run.sh check-acp-tool-surface && ./run.sh check-acp-event-mapper && ./run.sh check-acp-prompt-builder && ./run.sh check-acp-config && ./run.sh check-acp-session-store && ./run.sh check-acp-carrier-augment && ./run.sh check-codex-sender-identity && ./run.sh check-codex-native-push",
|
|
181
|
-
"check:hermetic": "./run.sh check-bridge-delivery && ./run.sh smoke-pi-attach && ./run.sh check-fresh-cut-gate && ./run.sh check-hook-launch-topology && ./run.sh check-meta-hook-session-switch && ./run.sh check-copilot-birth-hook && ./run.sh check-copilot-receive-arm && ./run.sh check-copilot-launch && ./run.sh check-pi-launch && ./run.sh check-codex-app-server-launch && ./run.sh check-meta-identity-consumers && ./run.sh check-socket-probe && ./run.sh smoke-meta-honesty && ./run.sh check-meta-doctor-oracle && ./run.sh check-agy-permission-matrix && ./run.sh smoke-agy-statusline-state && ./run.sh smoke-copilot-statusline-state && ./run.sh smoke-copilot-mcp-state && ./run.sh smoke-omp-bridge-state && ./run.sh smoke-omp-mcp-state && ./run.sh smoke-omp-receive-state && ./run.sh check-omp-birth-hook && ./run.sh check-omp-receive-arm && ./run.sh check-omp-fresh-preflight && ./run.sh smoke-agy-hooks-state && ./run.sh smoke-pi-provider-state && ./run.sh smoke-user-scope-citizen && ./run.sh smoke-meta-prune && ./run.sh smoke-meta-keyset-guard && ./run.sh check-meta-manifest-schema && ./run.sh check-entwurf-control-rpc && ./run.sh check-entwurf-bridge-boot && ./run.sh check-probe-bridge-command && ./run.sh check-meta-facts && ./run.sh check-peer-facts && ./run.sh check-herdr-plugin && ./run.sh check-herdr-plugin-profile && ./run.sh check-herdr-plugin-build && ./run.sh check-herdr-runtime-bootstrap && ./run.sh check-herdr-activation && ./run.sh check-agy-sender-identity && ./run.sh check-acp-provider-surface && ./run.sh check-acp-stop-reason && ./run.sh check-acp-prompt-lifecycle && ./run.sh check-acp-usage-accounting && ./run.sh check-acp-launch-namespace && ./run.sh check-acp-stream-hooks && ./run.sh check-acp-backend-preflight && ./run.sh check-acp-session-reuse && ./run.sh check-typing-call-fence && ./run.sh check-gate-manifests && ./run.sh check-release-gate-outcomes && ./run.sh check-probe-ordering && ./run.sh check-probe-cli-shim && ./run.sh check-acp-cortex && ./run.sh check-codex-bridge-identity && ./run.sh check-codex-birth-hook && ./run.sh smoke-codex-config-state && ./run.sh smoke-codex-birth && ./run.sh check-herdr-sandbox",
|
|
182
|
-
"check:package": "./run.sh check-install-surface && ./run.sh smoke-meta-install-state && ./run.sh smoke-agy-install-state && ./run.sh smoke-setup-verdict && ./run.sh check-pack-pin-matcher && ./run.sh check-package-source-routing && ./run.sh check-install-preflight && ./run.sh check-pack"
|
|
180
|
+
"check:contracts": "./run.sh check-shell-quote && ./run.sh check-entwurf-session-identity && ./run.sh check-meta-session && ./run.sh check-meta-v3-record && ./run.sh check-mailbox-receipt-state && ./run.sh check-entwurf-capabilities && ./run.sh check-harness-admission-parity && ./run.sh check-capability-bundle-reach && ./run.sh check-meta-mailbox-state-write && ./run.sh check-meta-receiver-marker && ./run.sh check-meta-capability-source && ./run.sh check-model-lock && ./run.sh check-dep-versions && ./run.sh check-node-floor-coherence && ./run.sh check-claude-floor-coherence && ./run.sh check-copilot-statusline && ./run.sh check-pi-import-surface && ./run.sh check-env-namespace && ./run.sh check-pi-runtime-version && ./run.sh check-pi-preflight && ./run.sh check-project-trust-handler && ./run.sh check-entwurf-v2-contract && ./run.sh check-entwurf-v2-send && ./run.sh check-entwurf-v2-runner && ./run.sh check-control-send-receipt && ./run.sh check-compaction-send-guard && ./run.sh check-entwurf-resume-args && ./run.sh check-entwurf-v2-native-push && ./run.sh check-entwurf-v2-production && ./run.sh check-entwurf-v2-surface && ./run.sh check-entwurf-bridge-pi-free && ./run.sh check-resume-launch-identity && ./run.sh check-mux-placement && ./run.sh check-mux-launch && ./run.sh check-mux-resume-call && ./run.sh check-mux-parent-artifact && ./run.sh check-mux-launcher-fence && ./run.sh check-entwurf-v2-visible-resume && ./run.sh check-control-socket-path && ./run.sh check-meta-listing && ./run.sh check-entwurf-fact-provider && ./run.sh check-herdr-placement && ./run.sh check-herdr-fresh-call && ./run.sh check-herdr-supply && ./run.sh check-fresh-call-dispatch && ./run.sh check-entwurf-peers-surface && ./run.sh check-entwurf-self-address && ./run.sh check-entwurf-deliverability && ./run.sh check-native-push-adapter && ./run.sh check-native-push-register && ./run.sh check-auth-boundary && ./run.sh check-acp-overlay && ./run.sh check-acp-tool-surface && ./run.sh check-acp-event-mapper && ./run.sh check-acp-prompt-builder && ./run.sh check-acp-config && ./run.sh check-acp-session-store && ./run.sh check-acp-carrier-augment && ./run.sh check-acp-foreground-only && ./run.sh check-acp-vendor-rejection && ./run.sh check-codex-sender-identity && ./run.sh check-codex-native-push",
|
|
181
|
+
"check:hermetic": "./run.sh check-bridge-delivery && ./run.sh smoke-pi-attach && ./run.sh check-fresh-cut-gate && ./run.sh check-hook-launch-topology && ./run.sh check-meta-hook-session-switch && ./run.sh check-copilot-birth-hook && ./run.sh check-copilot-receive-arm && ./run.sh check-copilot-launch && ./run.sh check-pi-launch && ./run.sh check-codex-app-server-launch && ./run.sh check-meta-identity-consumers && ./run.sh check-socket-probe && ./run.sh smoke-meta-honesty && ./run.sh check-meta-doctor-oracle && ./run.sh check-agy-permission-matrix && ./run.sh smoke-agy-statusline-state && ./run.sh smoke-copilot-statusline-state && ./run.sh smoke-copilot-mcp-state && ./run.sh smoke-omp-bridge-state && ./run.sh smoke-omp-mcp-state && ./run.sh smoke-omp-receive-state && ./run.sh check-omp-birth-hook && ./run.sh check-omp-receive-arm && ./run.sh check-omp-fresh-preflight && ./run.sh smoke-agy-hooks-state && ./run.sh smoke-pi-provider-state && ./run.sh smoke-user-scope-citizen && ./run.sh smoke-meta-prune && ./run.sh smoke-meta-keyset-guard && ./run.sh check-meta-manifest-schema && ./run.sh check-entwurf-control-rpc && ./run.sh check-entwurf-bridge-boot && ./run.sh check-probe-bridge-command && ./run.sh check-meta-facts && ./run.sh check-peer-facts && ./run.sh check-herdr-plugin && ./run.sh check-herdr-plugin-profile && ./run.sh check-herdr-plugin-build && ./run.sh check-herdr-runtime-bootstrap && ./run.sh check-herdr-activation && ./run.sh check-agy-sender-identity && ./run.sh check-acp-provider-surface && ./run.sh check-acp-stop-reason && ./run.sh check-acp-prompt-lifecycle && ./run.sh check-acp-usage-accounting && ./run.sh check-acp-launch-namespace && ./run.sh check-acp-stream-hooks && ./run.sh check-acp-backend-preflight && ./run.sh check-acp-session-reuse && ./run.sh check-typing-call-fence && ./run.sh check-gate-manifests && ./run.sh check-release-gate-outcomes && ./run.sh check-probe-ordering && ./run.sh check-probe-cli-shim && ./run.sh check-acp-cortex && ./run.sh check-codex-bridge-identity && ./run.sh check-pi-bridge-sender && ./run.sh check-pi-mcp-register && ./run.sh check-pi-mcp-bridge && ./run.sh check-codex-birth-hook && ./run.sh smoke-codex-config-state && ./run.sh smoke-codex-birth && ./run.sh check-herdr-sandbox",
|
|
182
|
+
"check:package": "./run.sh check-install-surface && ./run.sh smoke-meta-install-state && ./run.sh smoke-agy-install-state && ./run.sh smoke-setup-verdict && ./run.sh check-pack-pin-matcher && ./run.sh check-pack-consumer-roots && ./run.sh check-package-source-routing && ./run.sh check-install-preflight && ./run.sh check-pack"
|
|
183
183
|
},
|
|
184
184
|
"pi": {
|
|
185
185
|
"extensions": [
|