@junghanacs/entwurf 0.23.0 → 0.23.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.
Files changed (46) hide show
  1. package/AGENTS.md +3 -1
  2. package/BASELINE.md +1 -0
  3. package/CHANGELOG.md +134 -0
  4. package/VERIFY.md +41 -0
  5. package/docs/acp-backend-rail.md +96 -17
  6. package/mcp/entwurf-bridge/dist/pi-extensions/lib/acp/backend-adapter.js +2 -2
  7. package/mcp/entwurf-bridge/dist/pi-extensions/lib/acp/tool-surface.js +2 -1
  8. package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-contract.js +2 -2
  9. package/mcp/entwurf-bridge/dist/pi-extensions/lib/entwurf-v2-lock.js +1 -1
  10. package/package.json +8 -7
  11. package/pi-extensions/lib/acp/acp-client.ts +3 -3
  12. package/pi-extensions/lib/acp/backend-adapter.ts +3 -3
  13. package/pi-extensions/lib/acp/backend.ts +4 -4
  14. package/pi-extensions/lib/acp/event-mapper.ts +5 -5
  15. package/pi-extensions/lib/acp/tool-surface.ts +2 -1
  16. package/pi-extensions/lib/entwurf-v2-contract.ts +2 -2
  17. package/pi-extensions/lib/entwurf-v2-lock.ts +1 -1
  18. package/pi-extensions/lib/entwurf-v2-runner.ts +1 -1
  19. package/run.sh +192 -196
  20. package/scripts/check-acp-usage-accounting.ts +9 -9
  21. package/scripts/check-gate-qualification.ts +1 -0
  22. package/scripts/check-pi-launch.ts +358 -0
  23. package/scripts/check-release-gate-outcomes.ts +7 -0
  24. package/scripts/inventory-verification-surface.ts +86 -10
  25. package/scripts/mutants/herdr-plugin-build.json +1 -1
  26. package/scripts/mutants/pi-launch.json +113 -0
  27. package/scripts/mutants/resume-args.json +6 -6
  28. package/scripts/mutants/v2-surface.json +2 -2
  29. package/scripts/mutants/v2-visible-resume.json +17 -17
  30. package/scripts/smoke-acp-raw-turn-live.ts +1 -1
  31. package/scripts/smoke-entwurf-v2-matrix-live.ts +1 -1
  32. package/scripts/smoke-herdr-raw-install-live.sh +849 -0
  33. package/scripts/tsconfig.json +5 -0
  34. package/scripts/check-entwurf-facts.ts +0 -391
  35. package/scripts/check-entwurf-resume-args.ts +0 -122
  36. package/scripts/check-entwurf-v2-decider.ts +0 -657
  37. package/scripts/check-entwurf-v2-lock.ts +0 -371
  38. package/scripts/check-entwurf-v2-mailbox.ts +0 -261
  39. package/scripts/check-entwurf-v2-matrix.ts +0 -401
  40. package/scripts/check-entwurf-v2-native-push.ts +0 -221
  41. package/scripts/check-entwurf-v2-release.ts +0 -151
  42. package/scripts/check-entwurf-v2-runner.ts +0 -448
  43. package/scripts/check-entwurf-v2-send-fallback.ts +0 -350
  44. package/scripts/check-entwurf-v2-send.ts +0 -458
  45. package/scripts/check-entwurf-v2-visible-resume.ts +0 -445
  46. package/scripts/check-socket-discovery.ts +0 -401
@@ -0,0 +1,113 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "lane": "pi-launch",
4
+ "mutants": [
5
+ {
6
+ "claim": "PILAUNCH-FLAG-SSOT",
7
+ "title": "the launcher spells the control flag itself, so a typo in run.sh silently produces a pi that is not a citizen and reports nothing",
8
+ "subject": "run.sh",
9
+ "find": [" exec \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
10
+ "replace": [" exec \"$entwurf_pi_bin\" --entwurf-controll \"$@\""],
11
+ "gate": ["bash", "run.sh", "check-pi-launch"],
12
+ "timeoutSeconds": 300,
13
+ "signature": "[QK:PILAUNCH-FLAG-SSOT]",
14
+ "signatureSource": "scripts/check-pi-launch.ts"
15
+ },
16
+ {
17
+ "claim": "PILAUNCH-VERB-DROPPED",
18
+ "title": "without the shift the dispatcher verb stays in the forwarded argv and `pi` arrives at the vendor as a prompt argument",
19
+ "subject": "run.sh",
20
+ "find": [" shift || true\n if [ -n \"${ENTWURF_PI_LAUNCH_ACTIVE:-}\" ]; then"],
21
+ "replace": [" if [ -n \"${ENTWURF_PI_LAUNCH_ACTIVE:-}\" ]; then"],
22
+ "gate": ["bash", "run.sh", "check-pi-launch"],
23
+ "timeoutSeconds": 300,
24
+ "signature": "[QK:PILAUNCH-VERB-DROPPED]",
25
+ "signatureSource": "scripts/check-pi-launch.ts"
26
+ },
27
+ {
28
+ "claim": "PILAUNCH-FLAG-FIRST",
29
+ "title": "injecting the flag AFTER the operator argv puts it behind a positional prompt, where pi reads it as data instead of standing up a control socket",
30
+ "subject": "run.sh",
31
+ "find": [" exec \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
32
+ "replace": [" exec \"$entwurf_pi_bin\" \"$@\" --entwurf-control"],
33
+ "gate": ["bash", "run.sh", "check-pi-launch"],
34
+ "timeoutSeconds": 300,
35
+ "signature": "[QK:PILAUNCH-FLAG-FIRST]",
36
+ "signatureSource": "scripts/check-pi-launch.ts"
37
+ },
38
+ {
39
+ "claim": "PILAUNCH-NOTHING-ELSE-INJECTED",
40
+ "title": "a launcher that also injects operator taste stops being a spelling and starts deciding the session (Rule 9)",
41
+ "subject": "run.sh",
42
+ "find": [" exec \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
43
+ "replace": [" exec \"$entwurf_pi_bin\" --entwurf-control --emacs-agent-socket \"$@\""],
44
+ "gate": ["bash", "run.sh", "check-pi-launch"],
45
+ "timeoutSeconds": 300,
46
+ "signature": "[QK:PILAUNCH-NOTHING-ELSE-INJECTED]",
47
+ "signatureSource": "scripts/check-pi-launch.ts"
48
+ },
49
+ {
50
+ "claim": "PILAUNCH-ARGV-BYTES",
51
+ "title": "an unquoted forward word-splits the operator argv and drops empty elements, so a quoted prompt silently becomes several arguments",
52
+ "subject": "run.sh",
53
+ "find": [" exec \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
54
+ "replace": [" exec \"$entwurf_pi_bin\" --entwurf-control $@"],
55
+ "gate": ["bash", "run.sh", "check-pi-launch"],
56
+ "timeoutSeconds": 300,
57
+ "signature": "[QK:PILAUNCH-ARGV-BYTES]",
58
+ "signatureSource": "scripts/check-pi-launch.ts"
59
+ },
60
+ {
61
+ "claim": "PILAUNCH-EXEC-KEEPS-PID",
62
+ "title": "forking instead of exec leaves run.sh as a parent that supervises nothing and owns neither the terminal nor the exit",
63
+ "subject": "run.sh",
64
+ "find": [" exec \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
65
+ "replace": [" \"$entwurf_pi_bin\" --entwurf-control \"$@\""],
66
+ "gate": ["bash", "run.sh", "check-pi-launch"],
67
+ "timeoutSeconds": 300,
68
+ "signature": "[QK:PILAUNCH-EXEC-KEEPS-PID]",
69
+ "signatureSource": "scripts/check-pi-launch.ts"
70
+ },
71
+ {
72
+ "claim": "PILAUNCH-VENDOR-ABSENT",
73
+ "title": "an absent vendor that exits 0 is the false success this repo refuses: nothing launched and the caller was told it worked",
74
+ "subject": "run.sh",
75
+ "find": [
76
+ " echo \" 'entwurf pi' launches the pi coding agent; it does not install one.\" >&2\n exit 1"
77
+ ],
78
+ "replace": [
79
+ " echo \" 'entwurf pi' launches the pi coding agent; it does not install one.\" >&2\n exit 0"
80
+ ],
81
+ "gate": ["bash", "run.sh", "check-pi-launch"],
82
+ "timeoutSeconds": 300,
83
+ "signature": "[QK:PILAUNCH-VENDOR-ABSENT]",
84
+ "signatureSource": "scripts/check-pi-launch.ts"
85
+ },
86
+ {
87
+ "claim": "PILAUNCH-SENTINEL-EXPORTED",
88
+ "title": "a sentinel that is set but not exported is invisible to the re-entered child, so the recursion fence never fires and the terminal hangs",
89
+ "subject": "run.sh",
90
+ "find": [" export ENTWURF_PI_LAUNCH_ACTIVE=1"],
91
+ "replace": [" ENTWURF_PI_LAUNCH_ACTIVE=1"],
92
+ "gate": ["bash", "run.sh", "check-pi-launch"],
93
+ "timeoutSeconds": 300,
94
+ "signature": "[QK:PILAUNCH-SENTINEL-EXPORTED]",
95
+ "signatureSource": "scripts/check-pi-launch.ts"
96
+ },
97
+ {
98
+ "claim": "PILAUNCH-RECURSION-FENCE",
99
+ "title": "with the fence removed a PATH `pi` that shells back here spins forever, and the symptom is a hung terminal rather than an error",
100
+ "subject": "run.sh",
101
+ "find": [
102
+ " if [ -n \"${ENTWURF_PI_LAUNCH_ACTIVE:-}\" ]; then\n echo \"entwurf: recursive managed launch detected (ENTWURF_PI_LAUNCH_ACTIVE is already set).\" >&2"
103
+ ],
104
+ "replace": [
105
+ " if false; then\n echo \"entwurf: recursive managed launch detected (ENTWURF_PI_LAUNCH_ACTIVE is already set).\" >&2"
106
+ ],
107
+ "gate": ["bash", "run.sh", "check-pi-launch"],
108
+ "timeoutSeconds": 300,
109
+ "signature": "[QK:PILAUNCH-RECURSION-FENCE]",
110
+ "signatureSource": "scripts/check-pi-launch.ts"
111
+ }
112
+ ]
113
+ }
@@ -11,7 +11,7 @@
11
11
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
12
12
  "timeoutSeconds": 60,
13
13
  "signature": "[QK:RESUMEARGS-NO-HEADLESS]",
14
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
14
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
15
15
  },
16
16
  {
17
17
  "claim": "RESUMEARGS-CONTROL-FIRST",
@@ -24,7 +24,7 @@
24
24
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
25
25
  "timeoutSeconds": 60,
26
26
  "signature": "[QK:RESUMEARGS-CONTROL-FIRST]",
27
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
27
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
28
28
  },
29
29
  {
30
30
  "claim": "RESUMEARGS-EXT-ONCE-BEFORE-SESSION",
@@ -37,7 +37,7 @@
37
37
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
38
38
  "timeoutSeconds": 60,
39
39
  "signature": "[QK:RESUMEARGS-EXT-ONCE-BEFORE-SESSION]",
40
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
40
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
41
41
  },
42
42
  {
43
43
  "claim": "RESUMEARGS-SESSION-IS-FILE",
@@ -48,7 +48,7 @@
48
48
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
49
49
  "timeoutSeconds": 60,
50
50
  "signature": "[QK:RESUMEARGS-SESSION-IS-FILE]",
51
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
51
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
52
52
  },
53
53
  {
54
54
  "claim": "RESUMEARGS-PROVIDER-OPTIONAL",
@@ -59,7 +59,7 @@
59
59
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
60
60
  "timeoutSeconds": 60,
61
61
  "signature": "[QK:RESUMEARGS-PROVIDER-OPTIONAL]",
62
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
62
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
63
63
  },
64
64
  {
65
65
  "claim": "RESUMEARGS-NO-PROMPT-TAIL",
@@ -70,7 +70,7 @@
70
70
  "gate": ["bash", "run.sh", "check-entwurf-resume-args"],
71
71
  "timeoutSeconds": 60,
72
72
  "signature": "[QK:RESUMEARGS-NO-PROMPT-TAIL]",
73
- "signatureSource": "scripts/check-entwurf-resume-args.ts"
73
+ "signatureSource": "pi-extensions/lib/entwurf-resume-args.test.ts"
74
74
  }
75
75
  ]
76
76
  }
@@ -25,7 +25,7 @@
25
25
  "gate": ["bash", "run.sh", "check-entwurf-v2-send"],
26
26
  "timeoutSeconds": 60,
27
27
  "signature": "[QK:V2SEND-INBAND-REJECT-REASON]",
28
- "signatureSource": "scripts/check-entwurf-v2-send.ts"
28
+ "signatureSource": "pi-extensions/lib/entwurf-v2-send.test.ts"
29
29
  },
30
30
  {
31
31
  "claim": "V2PROD-INBAND-ERROR-WIRED",
@@ -206,7 +206,7 @@
206
206
  "gate": ["bash", "run.sh", "check-entwurf-v2-native-push"],
207
207
  "timeoutSeconds": 120,
208
208
  "signature": "[QK:NATIVE-PUSH-RETRY-BYTE-IDENTITY]",
209
- "signatureSource": "scripts/check-entwurf-v2-native-push.ts"
209
+ "signatureSource": "pi-extensions/lib/entwurf-v2-native-push.test.ts"
210
210
  }
211
211
  ]
212
212
  }
@@ -11,7 +11,7 @@
11
11
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
12
12
  "timeoutSeconds": 60,
13
13
  "signature": "[QK:V2RESUME-LIVE-REFUSED]",
14
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
14
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
15
15
  },
16
16
  {
17
17
  "claim": "V2RESUME-INDETERMINATE-NO-START",
@@ -22,7 +22,7 @@
22
22
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
23
23
  "timeoutSeconds": 60,
24
24
  "signature": "[QK:V2RESUME-INDETERMINATE-NO-START]",
25
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
25
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
26
26
  },
27
27
  {
28
28
  "claim": "V2RESUME-CONFLICT-NO-START",
@@ -33,7 +33,7 @@
33
33
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
34
34
  "timeoutSeconds": 60,
35
35
  "signature": "[QK:V2RESUME-CONFLICT-NO-START]",
36
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
36
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
37
37
  },
38
38
  {
39
39
  "claim": "V2RESUME-LOCKED-NO-RESOLVE",
@@ -44,7 +44,7 @@
44
44
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
45
45
  "timeoutSeconds": 60,
46
46
  "signature": "[QK:V2RESUME-LOCKED-NO-RESOLVE]",
47
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
47
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
48
48
  },
49
49
  {
50
50
  "claim": "V2RESUME-NO-TRANSCRIPT-FAILS-LOUD",
@@ -67,7 +67,7 @@
67
67
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
68
68
  "timeoutSeconds": 60,
69
69
  "signature": "[QK:V2RESUME-NO-TRANSCRIPT-FAILS-LOUD]",
70
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
70
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
71
71
  },
72
72
  {
73
73
  "claim": "V2RESUME-OBSERVE-IS-BOUNDED-WAIT",
@@ -78,7 +78,7 @@
78
78
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
79
79
  "timeoutSeconds": 60,
80
80
  "signature": "[QK:V2RESUME-OBSERVE-IS-BOUNDED-WAIT]",
81
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
81
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
82
82
  },
83
83
  {
84
84
  "claim": "V2RESUME-UNOBSERVED-IS-REAL",
@@ -89,7 +89,7 @@
89
89
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
90
90
  "timeoutSeconds": 60,
91
91
  "signature": "[QK:V2RESUME-UNOBSERVED-IS-REAL]",
92
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
92
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
93
93
  },
94
94
  {
95
95
  "claim": "V2RESUME-RELEASE-FAILURE-LOUD",
@@ -100,7 +100,7 @@
100
100
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
101
101
  "timeoutSeconds": 60,
102
102
  "signature": "[QK:V2RESUME-RELEASE-FAILURE-LOUD]",
103
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
103
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
104
104
  },
105
105
  {
106
106
  "claim": "V2RESUME-ARGV-FROM-RECORD",
@@ -111,7 +111,7 @@
111
111
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
112
112
  "timeoutSeconds": 60,
113
113
  "signature": "[QK:V2RESUME-ARGV-FROM-RECORD]",
114
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
114
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
115
115
  },
116
116
  {
117
117
  "claim": "V2RESUME-RECEIPTS-SEPARATE",
@@ -124,7 +124,7 @@
124
124
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
125
125
  "timeoutSeconds": 60,
126
126
  "signature": "[QK:V2RESUME-RECEIPTS-SEPARATE]",
127
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
127
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
128
128
  },
129
129
  {
130
130
  "claim": "V2RESUME-RENDER-SEPARATES",
@@ -137,7 +137,7 @@
137
137
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
138
138
  "timeoutSeconds": 60,
139
139
  "signature": "[QK:V2RESUME-RENDER-SEPARATES]",
140
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
140
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
141
141
  },
142
142
  {
143
143
  "claim": "V2RESUME-IDENTITY-BEFORE-WINDOW",
@@ -148,7 +148,7 @@
148
148
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
149
149
  "timeoutSeconds": 60,
150
150
  "signature": "[QK:V2RESUME-IDENTITY-BEFORE-WINDOW]",
151
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
151
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
152
152
  },
153
153
  {
154
154
  "claim": "V2RESUME-TIMEOUT-RELEASES",
@@ -161,7 +161,7 @@
161
161
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
162
162
  "timeoutSeconds": 60,
163
163
  "signature": "[QK:V2RESUME-TIMEOUT-RELEASES]",
164
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
164
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
165
165
  },
166
166
  {
167
167
  "claim": "V2RESUME-LOCK-BEFORE-LIVENESS",
@@ -172,7 +172,7 @@
172
172
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
173
173
  "timeoutSeconds": 60,
174
174
  "signature": "[QK:V2RESUME-LOCK-BEFORE-LIVENESS]",
175
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
175
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
176
176
  },
177
177
  {
178
178
  "claim": "V2RESUME-NOT-PI-REFUSED",
@@ -183,7 +183,7 @@
183
183
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
184
184
  "timeoutSeconds": 60,
185
185
  "signature": "[QK:V2RESUME-NOT-PI-REFUSED]",
186
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
186
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
187
187
  },
188
188
  {
189
189
  "claim": "V2RESUME-NOT-PI-BY-FIELD",
@@ -198,7 +198,7 @@
198
198
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
199
199
  "timeoutSeconds": 60,
200
200
  "signature": "[QK:V2RESUME-NOT-PI-BY-FIELD]",
201
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
201
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
202
202
  },
203
203
  {
204
204
  "claim": "V2RESUME-SHARED-ID-GRAMMAR",
@@ -209,7 +209,7 @@
209
209
  "gate": ["bash", "run.sh", "check-entwurf-v2-visible-resume"],
210
210
  "timeoutSeconds": 60,
211
211
  "signature": "[QK:V2RESUME-SHARED-ID-GRAMMAR]",
212
- "signatureSource": "scripts/check-entwurf-v2-visible-resume.ts"
212
+ "signatureSource": "pi-extensions/lib/entwurf-v2-visible-resume.test.ts"
213
213
  }
214
214
  ]
215
215
  }
@@ -3,7 +3,7 @@
3
3
  // LIVE=1 ./run.sh smoke-acp-raw-turn-live
4
4
  //
5
5
  // What this proves (and ONLY this): the pinned Claude ACP adapter
6
- // (@agentclientprotocol/claude-agent-acp@0.76.0) spawns, speaks the ACP wire
6
+ // (@agentclientprotocol/claude-agent-acp@0.79.0) spawns, speaks the ACP wire
7
7
  // protocol over stdio NDJSON, and returns one real model turn. It is the
8
8
  // bytes-flow proof that the S2a dep surface is not just installable but
9
9
  // actually drivable — before any provider/overlay/streamSimple code (S2b+).
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * smoke-entwurf-v2-matrix-live — the 5d-5 D4-b LIVE sentinel for the release-gate matrix.
3
3
  *
4
- * The deterministic sibling (check-entwurf-v2-matrix) drives the REAL decider over fakes with
4
+ * The deterministic sibling (pi-extensions/lib/entwurf-v2-decider.matrix.test.ts) drives the REAL decider over fakes with
5
5
  * ZERO IO — it fixes every (target kind → transport → lock) cell as a table. This LIVE sentinel
6
6
  * drives the REAL production `runEntwurfV2` deps against REAL OS objects on the substrate's
7
7
  * happy path, to catch what fakes cannot: a real `pi --entwurf-control` control socket + RPC,