NEAPTIDE STREAMING METADATA REPRODUCTION
Tested primary versions: Node v25.2.1, Next.js 15.5.22, React/React DOM 19.2.6.
This is an isolated historical research fixture, not a production starter.

1. Extract into a new local directory. Do not copy its noindex, .test canonical URLs or artificial delay into a live site.
2. In fixture/ run:
   npm ci --ignore-scripts
   npm run build:default
   npm run build:blocking
3. Keep two terminals open in fixture/:
   npm run start:default
   npm run start:blocking
   These bind to 127.0.0.1:8791 and :8792 only. Free those ports before starting.
4. From the extraction root (parent of fixture/):
   python3 collect.py
   This creates http-observations.json and evidence/http/*.html/*.json. Existing observations are never overwritten. For another run extract a fresh copy or preserve and move the previous output first.
5. Visit http://127.0.0.1:8791/static, http://127.0.0.1:8791/async and http://127.0.0.1:8792/async in your browser. Inspect actual title, meta[name=description] and link[rel=canonical] elements and their head/body ancestors after load. Record the received User-Agent printed on the fixture page. This manual DOM step is separate from the HTTP collector.
6. Compare counts, values and regions with the published results. IDs/build scripts/chunk boundaries and local timing can vary. Do not compare timings as performance scores.
7. Stop both local servers with Ctrl-C.

The collector uses Python's standard library and verifies the preregistered source hashes before collecting. The fixture lockfile pins dependencies for replay. Runtime/platform differences may change behavior; retain them with any new observations. No dependency lifecycle scripts are needed for this fixture's prebuilt runtime packages.
