@nurix/etna 0.15.5 → 0.15.6
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/data/harness-index.json
CHANGED
|
@@ -27,6 +27,12 @@ the endpoints it will call, and the flags it gates behind.
|
|
|
27
27
|
pull every `<script src>` and `<link rel=modulepreload>`. Vite/Next ship hashed
|
|
28
28
|
`/assets/*.js` and `/_next/static/chunks/*.js`. Grab the entry chunk + the largest vendor
|
|
29
29
|
chunk; `curl -s <chunk-url> -o raw/.work/<name>.js`. Note `Content-Length` per chunk.
|
|
30
|
+
**Bound this — do NOT exhaustively fetch every lazy chunk.** The route table and the GraphQL/op
|
|
31
|
+
registry live in the entry + `_app` + a registry chunk; grab those plus the largest few vendor
|
|
32
|
+
chunks (cap ~40 chunks / ~5 MB / 90 s), and record the rest as a `gap`. Fetching all lazy chunks
|
|
33
|
+
(often 90+, multi-MB) can run 3–4× a sibling dumper and read as hung. **Per §8, write a
|
|
34
|
+
`status: partial` `_summary.md` from the entry/manifest chunks BEFORE the wider fetch loop**, then
|
|
35
|
+
enrich and flip to `complete`.
|
|
30
36
|
2. **Check for source maps FIRST.** Grep each chunk for `//# sourceMappingURL=`. If present,
|
|
31
37
|
fetch the `.map` and reassemble original sources (`npx source-map-explorer` or unpack
|
|
32
38
|
`sourcesContent` from the JSON map). A live map flips you to `method: source-map-reassembly,
|
|
@@ -179,6 +179,15 @@ A dump is complete when: `_summary.md` exists with full provenance frontmatter +
|
|
|
179
179
|
every Finding is backed by a `raw/` artifact or inline value; `raw/` artifacts have `_meta` +
|
|
180
180
|
decoding (large ones digested); redaction pass run; `gaps` recorded (never fabricated).
|
|
181
181
|
|
|
182
|
+
**Summary-first + bounded, visible fan-out (never go silent long enough to look dead).** Write a
|
|
183
|
+
`status: partial` `_summary.md` with whatever is mined so far **before** any long-tail fetch loop
|
|
184
|
+
(downloading many chunks, crawling many pages, deep pagination), then enrich it in place and flip to
|
|
185
|
+
`complete`. **Bound** every fan-out — cap it by count / total bytes / wall-time (e.g. ≤40 items or
|
|
186
|
+
≤90 s) and record the remainder as a `gap` rather than fetching exhaustively; emit a progress note per
|
|
187
|
+
batch. A dumper that fetches everything before writing anything can run many times longer than its
|
|
188
|
+
siblings and read as hung to the orchestrator, forcing a needless salvage. Partial-but-finalized beats
|
|
189
|
+
complete-but-silent.
|
|
190
|
+
|
|
182
191
|
---
|
|
183
192
|
|
|
184
193
|
## 9. The session dimension — logged-in browser-session playbook
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nurix/etna",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.6",
|
|
4
4
|
"description": "Bootstrap a project with a Nurix harness — copies the harness's CLAUDE.md, skills, agents, rules, and hooks directly into the project from a bundled payload (no marketplace fetch, no network).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|