@hraness/direct 0.7.6 → 0.7.7
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/README.md +37 -9
- package/dist/tooling/bombadil.js +970 -32
- package/dist/tooling/browser-verification-entry.js +37 -5
- package/package.json +1 -1
- package/skills/direct/references/install.md +3 -3
- package/src/tooling/bombadil-campaign.ts +260 -30
- package/src/tooling/bombadil-runner.ts +1406 -27
- package/src/tooling/bombadil.ts +21 -0
- package/src/tooling/browser-verification.ts +55 -5
package/README.md
CHANGED
|
@@ -12,14 +12,14 @@ state with predictable local fixtures. it does not click through the browser
|
|
|
12
12
|
or test the systems it replaces.
|
|
13
13
|
|
|
14
14
|
```sh
|
|
15
|
-
bun add --dev @hraness/direct@0.7.
|
|
15
|
+
bun add --dev @hraness/direct@0.7.7
|
|
16
16
|
# or
|
|
17
|
-
npm install --save-dev @hraness/direct@0.7.
|
|
17
|
+
npm install --save-dev @hraness/direct@0.7.7
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
[npm](https://www.npmjs.com/package/@hraness/direct) ·
|
|
21
|
-
[
|
|
22
|
-
[overview](https://hraness.com/direct)
|
|
20
|
+
[Install @hraness/direct from npm](https://www.npmjs.com/package/@hraness/direct) ·
|
|
21
|
+
[Direct source on GitHub](https://github.com/hraness/direct) ·
|
|
22
|
+
[Direct overview](https://hraness.com/direct)
|
|
23
23
|
|
|
24
24
|
```text
|
|
25
25
|
real interface and feature state
|
|
@@ -53,7 +53,7 @@ Copy this prompt into Codex, Claude Code, or another coding agent:
|
|
|
53
53
|
|
|
54
54
|
```text
|
|
55
55
|
Use $direct to install hraness/direct from
|
|
56
|
-
the npm registry at the exact 0.7.
|
|
56
|
+
the npm registry at the exact 0.7.7 version. Follow the repository README, add
|
|
57
57
|
`@hraness/direct` to devDependencies only, and verify that the production
|
|
58
58
|
dependency graph excludes Direct. Do not add a fixture composition until I
|
|
59
59
|
ask.
|
|
@@ -69,7 +69,7 @@ Pin the public npm package to an exact immutable version:
|
|
|
69
69
|
```json
|
|
70
70
|
{
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@hraness/direct": "0.7.
|
|
72
|
+
"@hraness/direct": "0.7.7"
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
```
|
|
@@ -218,7 +218,7 @@ A quiet probe means the declared deterministic work settled. It does not prove t
|
|
|
218
218
|
| `@hraness/direct/web` | Atomic browser installation, with low-level bridge and firewall escape hatches | Browser only |
|
|
219
219
|
| `@hraness/direct/tooling/browser-verification` | Protocol-bound bridge reads, bounded agent-browser commands, local server leases, and artifact writes | Bun 1.3.14 with Node APIs |
|
|
220
220
|
| `@hraness/direct/tooling/bombadil-campaign` | Direct property and conservative action factories for a Bombadil specification | Bombadil 0.7.2 specification compiler |
|
|
221
|
-
| `@hraness/direct/tooling/bombadil` | Local server ownership, native Bombadil lifecycle, trace attestation, replay, and diagnostic artifacts | Bun 1.3.14 with Node APIs |
|
|
221
|
+
| `@hraness/direct/tooling/bombadil` | Local server ownership, native Bombadil lifecycle, serial campaign matrices, trace attestation and summaries, replay, and diagnostic artifacts | Bun 1.3.14 with Node APIs |
|
|
222
222
|
| `@hraness/direct/tooling/bundle-boundary` | Deterministic emitted-file scans and exact versioned-wire evidence | Bun 1.3.14 with Node APIs |
|
|
223
223
|
|
|
224
224
|
The tooling subpaths are development-only. They are built separately from the
|
|
@@ -264,6 +264,7 @@ export * from "@antithesishq/bombadil/browser/defaults/properties";
|
|
|
264
264
|
|
|
265
265
|
const direct = createDirectBombadilProperties();
|
|
266
266
|
export const direct_safe_actions = createDirectBombadilActions();
|
|
267
|
+
export const direct_startup_contract = direct.startupContract;
|
|
267
268
|
export const direct_exact_contract = direct.exactContract;
|
|
268
269
|
export const direct_stable_catalog = direct.stableCatalog;
|
|
269
270
|
export const direct_no_declared_violations = direct.noDeclaredViolations;
|
|
@@ -275,7 +276,34 @@ path, and any additional safe actions. Call `runDirectBombadilFuzz` from
|
|
|
275
276
|
`@hraness/direct/tooling/bombadil` in a small Bun wrapper. The runner accepts
|
|
276
277
|
only an explicit local HTTP origin, starts an argv-only server command, invokes
|
|
277
278
|
the exact native 0.7.2 binary, attests the bounded trace with Direct's canonical
|
|
278
|
-
parsers, writes pass or failure artifacts
|
|
279
|
+
parsers, writes pass or failure artifacts plus a compact exploration summary,
|
|
280
|
+
and releases its owned processes. Use `runDirectBombadilFuzzMatrix` when a
|
|
281
|
+
product owns several scenarios; it runs them serially and requires one exact
|
|
282
|
+
campaign selector for replay.
|
|
283
|
+
|
|
284
|
+
Startup is the only repairable contract phase. It must reach one exact Direct
|
|
285
|
+
observation within ten seconds. From that sample onward, activation identity,
|
|
286
|
+
route, scenario, catalog, and zero declared violations are immediate safety
|
|
287
|
+
invariants; only quiescence remains bounded liveness.
|
|
288
|
+
|
|
289
|
+
Keep liveness formulas time-bounded. Prefer guarded product actions with
|
|
290
|
+
explicit weights over unrestricted browser actions, and name small JSON
|
|
291
|
+
snapshots that expose semantic state without retaining page content. Run short
|
|
292
|
+
12–30 second campaigns while editing and longer 60–300 second matrices in a
|
|
293
|
+
scheduled diagnostic lane. Inspect and replay a retained failing trace, then
|
|
294
|
+
promote the smallest readable failure to a deterministic product regression.
|
|
295
|
+
When a campaign must exercise an interaction, require a named product value to
|
|
296
|
+
change after the intended action kind, as well as after a non-Wait action, so
|
|
297
|
+
bootstrap, idle, prerequisite, and unrelated transitions do not satisfy the
|
|
298
|
+
exploration policy. Attribution requires adjacent exact Direct observations;
|
|
299
|
+
it is temporal response evidence rather than proof of causality.
|
|
300
|
+
If the full product snapshot includes viewport dimensions, put that requirement
|
|
301
|
+
on a separate interaction snapshot without viewport fields and require an
|
|
302
|
+
opposite-size `SetViewport` independently. Latch the first ready product state
|
|
303
|
+
for initial-world properties so later actions cannot repair a bad initial state.
|
|
304
|
+
The raw trace remains authoritative and may contain screenshots, URLs, typed
|
|
305
|
+
text, accessible labels, and local paths; treat it as potentially sensitive.
|
|
306
|
+
Summary counts and hashes help triage exploration but are not Direct coverage.
|
|
279
307
|
See [Verification](./docs/verification.md#run-a-bounded-bombadil-campaign) for
|
|
280
308
|
the complete configuration and proof limits.
|
|
281
309
|
|