@junghanacs/entwurf 0.34.0 → 0.34.2
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/CHANGELOG.md +207 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +4 -7
- package/VERIFY.md +1 -1
- package/docs/setup-clean-host.md +18 -0
- package/package.json +2 -2
- package/run.sh +5 -3
- package/scripts/check-gate-qualification.ts +2 -2
- package/scripts/check-herdr-activation.ts +210 -10
- package/scripts/check-herdr-plugin-build.ts +235 -6
- package/scripts/check-meta-doctor-oracle.sh +86 -1
- package/scripts/herdr-activation.mjs +66 -1
- package/scripts/herdr-doctor-mode.mjs +26 -0
- package/scripts/herdr-plugin-activate.mjs +112 -76
- package/scripts/herdr-plugin-deactivate.mjs +41 -2
- package/scripts/meta-bridge-doctor.sh +79 -20
- package/scripts/mutants/herdr-activation.json +106 -0
- package/scripts/mutants/herdr-plugin-build.json +66 -0
- package/scripts/mutants/herdr-runtime-bootstrap.json +3 -3
|
@@ -162,6 +162,72 @@
|
|
|
162
162
|
"timeoutSeconds": 300,
|
|
163
163
|
"signature": "[QK:HPB-INSTALL-USAGE-NOTE]",
|
|
164
164
|
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"claim": "HPB-OWNERSHIP-BEFORE-ACQUISITION",
|
|
168
|
+
"title": "not asking the selected components' owners before bootstrap fetches and installs a runtime for a registration another root owns — the refusal only arrives after the bytes are on disk, which is the #135 ordering defect",
|
|
169
|
+
"subject": "plugins/herdr/lib/build.mjs",
|
|
170
|
+
"find": ["\tcertifyComponentOwners(env, {"],
|
|
171
|
+
"replace": ["\t((_env, _args) => {})(env, {"],
|
|
172
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
173
|
+
"timeoutSeconds": 300,
|
|
174
|
+
"signature": "[QK:HPB-OWNERSHIP-BEFORE-ACQUISITION]",
|
|
175
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"claim": "HPB-OWNERSHIP-PROVIDER-HALF",
|
|
179
|
+
"title": "dropping the provider half lets a host whose provider key another root owns pass the early check, so the runtime is fetched for an install its own provider writer was always going to refuse",
|
|
180
|
+
"subject": "scripts/herdr-plugin-activate.mjs",
|
|
181
|
+
"find": ["\t\tpreflights.push([", "\t\t\t\"pi-provider\","],
|
|
182
|
+
"replace": ["\t\tif (false) preflights.push([", "\t\t\t\"pi-provider\","],
|
|
183
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
184
|
+
"timeoutSeconds": 300,
|
|
185
|
+
"signature": "[QK:HPB-OWNERSHIP-PROVIDER-HALF]",
|
|
186
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"claim": "HPB-OWNERSHIP-CLAUDE-PLAN",
|
|
190
|
+
"title": "skipping Claude's plan preflight lets a selected Claude whose settings its own state owner cannot plan reach acquisition, and the refusal lands only after the runtime is installed",
|
|
191
|
+
"subject": "scripts/herdr-plugin-activate.mjs",
|
|
192
|
+
"find": ["\tif (selected.includes(\"claude-code\")) {"],
|
|
193
|
+
"replace": ["\tif (false) {"],
|
|
194
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
195
|
+
"timeoutSeconds": 300,
|
|
196
|
+
"signature": "[QK:HPB-OWNERSHIP-CLAUDE-PLAN]",
|
|
197
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"claim": "HPB-OWNERSHIP-SELECTED-ONLY",
|
|
201
|
+
"title": "asking every backend instead of the selected ones lets a harness Herdr has not integrated veto the install of one it has",
|
|
202
|
+
"subject": "plugins/herdr/lib/build.mjs",
|
|
203
|
+
"find": ["\t\tselected: profile.activate,", "\t\tspawn,"],
|
|
204
|
+
"replace": ["\t\tselected: [\"pi\", \"claude-code\"],", "\t\tspawn,"],
|
|
205
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
206
|
+
"timeoutSeconds": 300,
|
|
207
|
+
"signature": "[QK:HPB-OWNERSHIP-SELECTED-ONLY]",
|
|
208
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"claim": "HPB-OWNERSHIP-PHYSICAL-ROOT",
|
|
212
|
+
"title": "asking the owners with the lexical prospective root makes a same-owner reinstall under a symlinked XDG_DATA_HOME look like a foreign root, because the installed verb records its own root in physical form",
|
|
213
|
+
"subject": "plugins/herdr/lib/build.mjs",
|
|
214
|
+
"find": ["\t\t\treturn path.join(fs.realpathSync(probe), ...rest);"],
|
|
215
|
+
"replace": ["\t\t\treturn path.join(probe, ...rest);"],
|
|
216
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
217
|
+
"timeoutSeconds": 300,
|
|
218
|
+
"signature": "[QK:HPB-OWNERSHIP-PHYSICAL-ROOT]",
|
|
219
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"claim": "HPB-PLANNED-ROOT-TIE",
|
|
223
|
+
"title": "without the tie the owners can have been asked about one root while the installed verb runs from another, so the early answer is about bytes nobody installed",
|
|
224
|
+
"subject": "plugins/herdr/lib/build.mjs",
|
|
225
|
+
"find": ["\tif (completeness.name !== plannedName || landedRoot !== plannedRoot) {"],
|
|
226
|
+
"replace": ["\tif (false) {"],
|
|
227
|
+
"gate": ["bash", "run.sh", "check-herdr-plugin-build"],
|
|
228
|
+
"timeoutSeconds": 300,
|
|
229
|
+
"signature": "[QK:HPB-PLANNED-ROOT-TIE]",
|
|
230
|
+
"signatureSource": "scripts/check-herdr-plugin-build.ts"
|
|
165
231
|
}
|
|
166
232
|
]
|
|
167
233
|
}
|
|
@@ -398,10 +398,10 @@
|
|
|
398
398
|
},
|
|
399
399
|
{
|
|
400
400
|
"claim": "HRB-PREPARE-STDOUT-CLEAN",
|
|
401
|
-
"title": "silencing stderr instead of stdout
|
|
401
|
+
"title": "silencing stderr instead of routing stdout to it lets the `prepare` bridge build's stdout into the `npm pack --json` stream this rail parses — the class of byte that broke the first clean-host install, when husky (then part of `prepare`) wrote `.git can't be found` to STDOUT while npm packed our GitHub git spec (no `.git` in a codeload tarball) and a perfectly good artifact was refused as `runtime-checkout-source-unavailable`, invisible to both the fake-npm cells here and to the LIVE gate, whose `insteadOf` mirror is cloned and therefore HAS a `.git`",
|
|
402
402
|
"subject": "package.json",
|
|
403
|
-
"find": ["\t\t\"prepare\": \"
|
|
404
|
-
"replace": ["\t\t\"prepare\": \"
|
|
403
|
+
"find": ["\t\t\"prepare\": \"npm run --silent build-bridge 1>&2\","],
|
|
404
|
+
"replace": ["\t\t\"prepare\": \"npm run --silent build-bridge 2>/dev/null\","],
|
|
405
405
|
"gate": ["bash", "run.sh", "check-herdr-runtime-bootstrap"],
|
|
406
406
|
"timeoutSeconds": 300,
|
|
407
407
|
"signature": "[QK:HRB-PREPARE-STDOUT-CLEAN]",
|