@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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "fingerprint": "fcd26215a41d",
2
+ "fingerprint": "ef554a39d069",
3
3
  "plugins": {
4
4
  "code": "code",
5
5
  "kb-agi": "kb-agi",
@@ -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,
@@ -2,5 +2,5 @@
2
2
  "name": "re",
3
3
  "version": "0.1.2",
4
4
  "epoch": null,
5
- "digest": "790ded87e841"
5
+ "digest": "29a864bc5245"
6
6
  }
@@ -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.5",
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": {