# **B-07** — Embedded research surveys and platform trials

**Status**: 🟢 mapped  
**Layer**: research evidence

## Scope

scholiast/**; embedded research conspectuses, measurement scripts and JSON outputs, and generated platform trial implementations used to evaluate report presentation and web-platform choices.

## Start here

scholiast/ai-primary-web-platform-landscape/README.md; scholiast/ai-primary-web-platform-landscape/conspectus.md; scholiast/report-record-presentation/conspectus.md

## Notes

Large newly tracked evidence corpus. Generated trial outputs and vendored framework artifacts must be separated from authored instruments and conclusions.

## File ledger

| Path | Classification | Why in scope | Ref SHA |
|---|---|---|---|
| `scholiast/ai-primary-web-platform-landscape/README.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/baseline-inspection.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/baseline-inspection.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/baseline.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/capture-component-landscape.mjs` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/claims.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/component-landscape-metadata.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/conspectus.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/dependency-footprint.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/dependency-footprint.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/github-health.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/link-audit.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/link-audit.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/notes.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/npm-audit.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/npm-metadata.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/registry-policy.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/registry-policy.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/registry-trial-inspection.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/registry-trial-inspection.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/registry-trial-verification.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/shortlist.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/sources.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/specialist-npm-metadata.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/taxonomy.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trial-inspection.json` | examined | Captured measurement, registry, dependency, or health evidence that substantiates the research claims. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trial-inspection.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trial-red-proof.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/.gitignore` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/alpine/index.html` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/alpine/report-filter.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/alpine/report.css` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/astro.config.mjs` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/src/pages/index.astro` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/src/pages/methods.astro` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/src/report.css` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/.eleventy.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/src/index.njk` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/src/methods.njk` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/lit/src/report-filter.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/observablehq.config.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/src/index.md` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/package.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/components.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/index.html` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/npm-audit.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/package.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/registry-snapshot.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/build-document.tsx` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-audit.mjs` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-registry.mjs` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/client.tsx` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/index.css` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/report-filter.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/report.tsx` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/tsconfig.json` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/upgrade-diff.txt` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/vite.config.ts` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shared/classic-filter.js` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shared/report.css` | examined | Authored or captured trial input that exercises a candidate platform, build boundary, or validation gate. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/vendor-matrix.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/verify-registry-trial-snapshot.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/verify-survey.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/verify-trial-snapshot.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/vocabulary.md` | examined | Authored landscape survey record defining recommendations, claims, sources, or reproducibility boundaries. | `e33bb5fa` |
| `scholiast/report-record-presentation/analyze_corpus.py` | examined | Authored research instrument that captures, measures, validates, or red-proofs evidence. | `e33bb5fa` |
| `scholiast/report-record-presentation/claims.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/report-record-presentation/conspectus.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/report-record-presentation/corpus-profile.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/report-record-presentation/notes.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/report-record-presentation/sources.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/report-record-presentation/vocabulary.md` | examined | Research evidence and synthesis governing how Amanuensis records are presented to readers. | `e33bb5fa` |
| `scholiast/task-workspace-reorientation-indexes/claims.md` | examined | Research evidence bounding re-entry and task-orientation affordances in static reports. | `e33bb5fa` |
| `scholiast/task-workspace-reorientation-indexes/conspectus.md` | examined | Research evidence bounding re-entry and task-orientation affordances in static reports. | `e33bb5fa` |
| `scholiast/task-workspace-reorientation-indexes/notes.md` | examined | Research evidence bounding re-entry and task-orientation affordances in static reports. | `e33bb5fa` |
| `scholiast/task-workspace-reorientation-indexes/sources.md` | examined | Research evidence bounding re-entry and task-orientation affordances in static reports. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/dist/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/astro/dist/methods.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/classic-filter.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/methods.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/report.css` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/lit/dist/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/lit/dist/report-filter.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/client.adcc8ae6.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/runtime.607a8173.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/stdlib.c27a8c1f.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/observable/dist/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/package-lock.json` | generated-ignore | Generated dependency-resolution lockfile; package manifests and recorded dependency measurements carry the architectural intent. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/assets/index-C358O-a9.css` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/assets/index-DZwiDhHX.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/index.html` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/report-filter.js` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/report.css` | generated-ignore | Generated trial output retained as reproducible measurement evidence; authored source and verification records are scoped separately. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/package-lock.json` | generated-ignore | Generated dependency-resolution lockfile; package manifests and recorded dependency measurements carry the architectural intent. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/alpine/alpine-csp.js` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/button.tsx` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/input.tsx` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/label.tsx` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/table.tsx` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |
| `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/lib/utils.ts` | vendor-ignore | Copied third-party trial material used as a frozen fixture; surveyed through custody records, hashes, and the authored integration around it. | `e33bb5fa` |

## Concern review

| Concern | Classification | Evidence quality | Linchpin? | Rationale |
|---|---|---|---|---|
| **[AT-1](../concerns.md#at-1)** | out-of-scope | contract-stated |  | **B-07** stores independent research files and trial outputs; it does not implement multi-table state transitions or diagnosticity mutation. |
| **[AT-2](../concerns.md#at-2)** | out-of-scope | contract-stated |  | **B-07** neither checkpoints SQLite WAL state nor creates storage-history phase commits. |
| **[CC-1](../concerns.md#cc-1)** | out-of-scope | contract-stated |  | The research corpus records claims and snapshots but does not compute the materializer's page dependency graph or incremental reuse. |
| **[CR-1](../concerns.md#cr-1)** | out-of-scope | code-verified |  | The only local concurrency is a fixed worker pool over independent URL checks; **B-07** does not coordinate agents, SQLite writers, advisory locks, or storage Git commits. |
| **[EP-1](../concerns.md#ep-1)** | out-of-scope | code-verified |  | **B-07** gates its own research/trial evidence and does not publish the production documentation set whose partial-render semantics [EP-1](../concerns.md#ep-1) addresses. |
| **[EP-2](../concerns.md#ep-2)** | out-of-scope | contract-stated |  | **B-07** contains file-producing research instruments, not MCP tools that mutate dependent database rows. |
| **[IF-1](../concerns.md#if-1)** | out-of-scope | code-verified |  | **B-07** compares fixed candidate bundles and exact detector snapshots; production incremental/full/clean-export equivalence belongs to [B-04](b04-diff-aware-materializer.md). |
| **[RL-1](../concerns.md#rl-1)** | confirmed-bug | code-verified |  | Several external fetch, npm/shadcn child-process, and verification subprocess paths have no timeout or cancellation mechanism. The bounded link audit shows the intended counter-pattern, but does not cover those paths. |
| **[RL-2](../concerns.md#rl-2)** | out-of-scope | contract-stated |  | **B-07** discusses report-owned session state but does not own Amanuensis survey sessions, dispatches, open-question lifecycle, or advisory locks. |
| **[SC-1](../concerns.md#sc-1)** | out-of-scope | contract-stated |  | **B-07** supplies research constraints; schema/view/TypeScript/Python contract evolution is implemented by [B-02](b02-mcp-core-persistence-and-lifecycle.md) through [B-04](b04-diff-aware-materializer.md). |
| **[SC-2](../concerns.md#sc-2)** | out-of-scope | contract-stated |  | **B-07** is repository research evidence, not a packaged agent/materializer mirror or its derivation gate. |
| **[SC-3](../concerns.md#sc-3)** | out-of-scope | contract-stated |  | [SC-3](../concerns.md#sc-3) governs [B-06](b06-report-interface-design-and-validation-studies.md) report-presentation rules against [B-04](b04-diff-aware-materializer.md) projection code; **B-07** is an upstream evidence source, not a party to that seam. |
| **[SC-4](../concerns.md#sc-4)** | out-of-scope | contract-stated |  | [SC-4](../concerns.md#sc-4) governs [B-06](b06-report-interface-design-and-validation-studies.md) design language against [B-01](b01-survey-methodology-and-agent-contracts.md) reporting terminology; **B-07** does not own either side of that seam. |
| **[SC-5](../concerns.md#sc-5)** | confirmed-acceptable | contract-stated |  | **B-07** states the re-entry implication as bounded and unvalidated, separates report-owned state from personal task/history, and keeps representative-reader/static-report gaps explicit. [B-06](b06-report-interface-design-and-validation-studies.md) adopts those limits and uses the stricter visible label 'Continue reviewing' in the current fixture. |
| **[SI-1](../concerns.md#si-1)** | out-of-scope | contract-stated |  | **B-07** uses fixed repository-relative research paths and does not derive project keys or choose the Amanuensis storage root. |
| **[SI-2](../concerns.md#si-2)** | confirmed-acceptable | code-verified |  | Claims, captured metadata, detector snapshots, trial package versions, dates, limitations, and exact live-output comparisons preserve evidence identity at this revision. |
| **[TB-1](../concerns.md#tb-1)** | confirmed-bug | code-verified |  | The remote capture and local subprocess calls propagate explicit failures but lack bounded completion, so a stalled service or child can hang a refresh or verification indefinitely. |
| **[TR-1](../concerns.md#tr-1)** | out-of-scope | code-verified |  | **B-07** has a narrow captured-registry path policy but no MCP string/SQL/git-argument authority surface; the broader [TR-1](../concerns.md#tr-1) trust boundary belongs to the server. |
| **[TR-2](../concerns.md#tr-2)** | out-of-scope | contract-stated |  | **B-07** evaluates package/config candidates but does not install Amanuensis or merge/back up user configuration. |

## Findings

### [B07-1](../findings.md#b07-1) · 🔵 LOW · confirmed-bug

**Symptom**: A research refresh or snapshot verification can hang indefinitely when GitHub, npm, the shadcn CLI, or a child detector stalls.  
**Root cause**: The affected fetch(), spawnSync(), and subprocess.check_output() calls provide no timeout, abort signal, or cancellation path.

_Business context_: These are manual research and verification tools, not production request paths, so the blast radius is bounded. A stalled dependency can still block a full evidence refresh without an actionable terminal result, undermining repeatability and unattended use.

**Primary files**:
- `scholiast/ai-primary-web-platform-landscape/capture-component-landscape.mjs:github/npmMetadata@073cee8`
- `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-registry.mjs:module capture@073cee8`
- `scholiast/ai-primary-web-platform-landscape/verify-trial-snapshot.py:module verification@073cee8`

## Seams

| Seam | Shared object | Other party |
|---|---|---|
| **[SM-08](../seams.md#sm-08)** | research-backed report design constraints | **[B-06](b06-report-interface-design-and-validation-studies.md)** |

## Vocabulary

- **static-report transfer boundary** — The point where bounded research findings become design or implementation constraints for the generated report.
- **trial snapshot** — A revision-pinned record of trial inputs and observed outputs used to make a platform comparison reproducible.

## Survey notes

# **B-07** · Embedded research surveys and platform trials

**Status:** mapped from source at `073cee86946b7693b6ba7a93cec67c8977b353ff`; source tree unchanged through survey head `e33bb5fa4b3996aa498da2373eb5b223b756eb7a`  
**Scope:** `scholiast/**`  
**Role:** design and architecture evidence embedded with the repository

## Boundary

**B-07** is not production report code. It is the repository-owned evidence layer used to test candidate report architectures, measure the current corpus, and bound claims about reorientation and presentation. Its outputs can constrain [B-06](b06-report-interface-design-and-validation-studies.md) design decisions and [B-04](b04-diff-aware-materializer.md) implementation choices, but they do not themselves constitute production behavior.

The ledger contains 103 files: 77 authored or captured candidates, 20 generated build/lock artifacts, and 6 copied vendor fixtures. Generated outputs remain useful trial evidence, while their authored inputs and detectors carry architectural responsibility. Copied components and the Alpine bundle are reviewed through custody records, hashes, and the surrounding integration rather than attributed to local design.

## Research workspaces

### AI-primary web-platform landscape

This workspace combines a seven-field claim inventory, an append-only source ledger, dated ecosystem snapshots, a taxonomy, a shortlist with explicit reversals, and executable trial detectors. Its current result preserves the platform-first Python projection/read-back architecture; copy-owned registries are admitted only as a conditional source-distribution or application-surface layer (`scholiast/ai-primary-web-platform-landscape/conspectus.md:40-58@073cee86946b7693b6ba7a93cec67c8977b353ff`).

The trial family compares Eleventy, Astro, Observable Framework, Lit, Alpine CSP, and a two-arm shadcn copy-owned fixture. The comparison is deliberately about emitted document structure, asset custody, dependency cost, and failure-detecting validation—not a universal framework or AI-productivity ranking (`scholiast/ai-primary-web-platform-landscape/conspectus.md:8-38@073cee86946b7693b6ba7a93cec67c8977b353ff`).

### Report-record presentation

This workspace measures real Amanuensis Markdown table shapes, then derives a small presentation grammar chosen by reader operation: narrative records become registers, true comparison structures remain tables, and key/value facts become definition lists (`scholiast/report-record-presentation/conspectus.md:51-127@073cee86946b7693b6ba7a93cec67c8977b353ff`). The transfer into [B-04](b04-diff-aware-materializer.md) uses exact schema hooks, preserving unknown tables and independently reading the resulting projection back (`scholiast/report-record-presentation/conspectus.md:143-168@073cee86946b7693b6ba7a93cec67c8977b353ff`).

### Task/workspace reorientation indexes

This workspace draws a strict epistemic boundary around report re-entry. A static report may expose report-owned snapshot, session, finding, or decision state, but it may not pretend to know the reader's task, history, or next action (`scholiast/task-workspace-reorientation-indexes/conspectus.md:31-46@073cee86946b7693b6ba7a93cec67c8977b353ff`). The claimed transfer remains explicitly unvalidated for static offline reports.

## Structural inventory

| Component | Responsibility | Inputs | Outputs / side effects |
|---|---|---|---|
| Markdown research records | Preserve charters, claim fields, sources, counterevidence, limitations, decisions, and open trials | Directly read sources, repository inspection, recorded trial results | Human-auditable research workspaces |
| `verify-survey.py` | Fail closed on missing deliverables, malformed claim fields, duplicate/unknown IDs, and invalid JSON | Top-level research Markdown and JSON | Exit status and compact audit result (`scholiast/ai-primary-web-platform-landscape/verify-survey.py:11-88@073cee86946b7693b6ba7a93cec67c8977b353ff`) |
| `baseline-inspection.py` | Measure static structure of an existing HTML report without claiming runtime or accessibility truth | One HTML file | JSON structural snapshot |
| `trial-inspection.py` | Measure emitted trial bundles, local/remote references, document landmarks, table structure, script modes, sizes, and aggregate hashes | Existing trial output directories | Deterministic JSON snapshot (`scholiast/ai-primary-web-platform-landscape/trial-inspection.py:21-27,92-180@073cee86946b7693b6ba7a93cec67c8977b353ff`) |
| `trial-red-proof.py` | Prove that the detector accepts a clean arm and rejects remote, missing-reference, and module arms | Temporary fault fixtures | Assertions and exit status (`scholiast/ai-primary-web-platform-landscape/trial-red-proof.py:22-45@073cee86946b7693b6ba7a93cec67c8977b353ff`) |
| Snapshot verifiers | Re-run local detectors and demand exact JSON equality | Checked-in trial outputs and recorded snapshots | Assertions and exit status |
| Registry policy detector | Reject declared environment-variable requests, unpinned remote dependencies, and path traversal while preserving explicit scope limits | Captured registry item declarations | JSON result and red-arm assertions (`scholiast/ai-primary-web-platform-landscape/registry-policy.py:21-77@073cee86946b7693b6ba7a93cec67c8977b353ff`) |
| Ecosystem capture scripts | Query GitHub/npm or the shadcn registry and freeze selected metadata/payloads | Mutable remote services and pinned query lists | Dated JSON snapshots (`scholiast/ai-primary-web-platform-landscape/capture-component-landscape.mjs:4-83@073cee86946b7693b6ba7a93cec67c8977b353ff`) |
| Trial build fixtures | Exercise document-first, module/client-owned, native-custom-element, and copy-owned architectures against comparable content | Pinned package manifests, authored templates/components/styles | Generated `dist` / `dist-client` trees |
| `analyze_corpus.py` | Parse recurring Markdown tables and quantify visible-text distributions per schema | A materialized Markdown corpus | Generated corpus profile (`scholiast/report-record-presentation/analyze_corpus.py:36-113@073cee86946b7693b6ba7a93cec67c8977b353ff`) |

## State containers and custody

| State | Location | Lifetime | Populated by | Invalidated by |
|---|---|---|---|---|
| Research claims and limits | `claims.md`, `conspectus.md`, `notes.md` | Durable, append/revise with explicit standing | Human research synthesis | New counterevidence, changed scope, or a successor claim |
| Source identity | `sources.md` | Append-only ledger | Human source review | Never silently replaced; access/date changes require another record |
| Remote ecosystem snapshots | top-level metadata JSON and `registry-snapshot.json` | Dated evidence | Capture scripts | Retrieval date, package/repository change, or payload-hash mismatch |
| Detector snapshots | `trial-inspection.json`, `registry-trial-inspection.json`, policy JSON | Exact detector/output pairing | Local inspection scripts | Detector version or input/output hash change |
| Trial dependency resolution | package manifests and generated lockfiles | Pinned trial revision | npm resolution | Manifest/lock change or reinstall on a different declared platform |
| Generated trial bundles | `dist/**`, `dist-client/**`, copied Alpine bundle | Reproducible build evidence | Candidate build tools | Source, dependency, configuration, or build-environment change |
| Corpus profile | `report-record-presentation/corpus-profile.md` | Measured snapshot of a named corpus | `analyze_corpus.py` | Corpus or parser change |

The primary consistency technique is immutable capture plus exact comparison, not shared mutable runtime state. JSON records include retrieval dates, detector versions, limitations, hashes, or pinned package versions where their role requires them. The prose then narrows each conclusion to what the instrument actually observed.

## Data and control flows

1. **Research flow:** source discovery → directly read source ledger → seven-field claim → counterevidence and scope qualification → conspectus/shortlist decision.
2. **Platform-capture flow:** remote GitHub/npm/registry query → dated JSON snapshot → payload or metadata hashes → matrix/claim citation.
3. **Trial flow:** pinned manifest + authored fixture → candidate build → generated bundle → structural detector → recorded JSON → exact live/snapshot verifier.
4. **Red-proof flow:** synthetic clean and fault arms → the same detector used by the accepted trial → assertions that prove the relevant gate can fail.
5. **Presentation-transfer flow:** materialized Markdown corpus → table-shape profiler → presentation claims → explicit schema-hook contract in [B-04](b04-diff-aware-materializer.md) → independent materializer read-back.
6. **Reorientation-transfer flow:** bounded primary-source claim → report-owned-state inference → [B-06](b06-report-interface-design-and-validation-studies.md) wording/navigation rule, with the absence of personal interaction history kept visible.

## Execution, concurrency, and failure semantics

Most local instruments are single-process, deterministic readers. They communicate through files and process exit codes rather than long-lived services. The link audit alone uses a bounded eight-worker thread pool and per-request timeouts; trial builds and remote capture scripts invoke external package/registry processes synchronously.

Local verification on 2026-08-23 passed the structural survey audit (12 required documents, 27 complete claims, 68 unique sources), the trial detector's clean and three red arms, exact equality for both trial snapshots, and the registry policy's four reject arms. These passes validate the checked-in evidence and detector boundaries at the surveyed revision; they do not execute browser, keyboard, screen-reader, network-refresh, or full rebuild obligations.

Failure signaling is generally fail-closed: Python assertions/`SystemExit`, thrown JavaScript errors, nonzero process status checks, and exact snapshot mismatches prevent a green result. Remote capture paths are intentionally separate from local verification, so mutable network state cannot silently change a checked-in claim during a read-only verification run.

## Boundary with [B-06](b06-report-interface-design-and-validation-studies.md)

`SM-08` carries research-backed report design constraints from **B-07** to [B-06](b06-report-interface-design-and-validation-studies.md). **B-07** owns the evidence scope, standing, limitations, and reversal conditions. [B-06](b06-report-interface-design-and-validation-studies.md) owns the adopted visual/interaction rule and its validation fixture. A design rule is sound at this seam only if it preserves the source claim's limitations—for example, keeping representative-reader evidence open and describing `Resume` as report-owned re-entry rather than personal task continuity.

## Observation, inference, and open questions

**Observed:** the repository contains three distinct research workspaces; executable instruments reproduce the two platform-trial snapshots and reject their declared fault arms at the pinned revision.

**Inferred:** this subsystem functions as a revisioned architectural evidence layer. Its strongest assurance comes from custody, red-proofed instruments, explicit limitations, and exact local replay—not from the authority of any one Markdown recommendation.

**Open:** browser/assistive-technology execution, representative-reader testing, complex-component admission, static-report re-entry validation, and network-refresh behavior remain outside the local confirmation performed here.

## Concern disposition

| Concern | Classification | Evidence quality | Rationale |
|---|---|---|---|
| [AT-1](../concerns.md#at-1), [AT-2](../concerns.md#at-2) | out-of-scope | contract-stated | **B-07** does not implement transactional database mutation or storage-history checkpointing. |
| [CC-1](../concerns.md#cc-1) | out-of-scope | contract-stated | Materializer page-dependency coherence belongs to [B-04](b04-diff-aware-materializer.md). |
| [CR-1](../concerns.md#cr-1) | out-of-scope | code-verified | Its fixed link-audit worker pool operates on independent URL checks; Amanuensis writer/lock coordination is absent. |
| [EP-1](../concerns.md#ep-1), [EP-2](../concerns.md#ep-2) | out-of-scope | code-verified / contract-stated | Research gates fail locally but do not publish the production documentation set or mutate dependent MCP rows. |
| [IF-1](../concerns.md#if-1) | out-of-scope | code-verified | Fixed trial-bundle comparison is distinct from [B-04](b04-diff-aware-materializer.md) incremental/full/clean materialization. |
| [RL-1](../concerns.md#rl-1) | **confirmed-bug** | code-verified | External capture and verification processes lack timeout/cancellation paths; the link audit is a bounded counterexample (evidence 42–45). |
| [RL-2](../concerns.md#rl-2) | out-of-scope | contract-stated | Survey-session, dispatch, open-question, and advisory-lock lifecycle is not owned here. |
| [SC-1](../concerns.md#sc-1), [SC-2](../concerns.md#sc-2) | out-of-scope | contract-stated | Production schema evolution and packaged-source mirroring belong to [B-02](b02-mcp-core-persistence-and-lifecycle.md)–[B-05](b05-packaging-installer-validation-and-product-docs.md). |
| [SC-3](../concerns.md#sc-3), [SC-4](../concerns.md#sc-4) | out-of-scope | contract-stated | Those named seams join [B-06](b06-report-interface-design-and-validation-studies.md) to [B-04](b04-diff-aware-materializer.md) and [B-01](b01-survey-methodology-and-agent-contracts.md) respectively. |
| [SI-1](../concerns.md#si-1) | out-of-scope | contract-stated | **B-07** neither derives project identity nor selects the Amanuensis storage root. |
| [SI-2](../concerns.md#si-2) | **confirmed-acceptable** | code-verified | Claims, capture dates, package versions, detector versions, hashes, and exact snapshot replay preserve revision identity (evidence 36, 38, 39). |
| [TB-1](../concerns.md#tb-1) | **confirmed-bug** | code-verified | `fetch`, `spawnSync`, and `subprocess.check_output` calls can wait without a bound (evidence 42–45). |
| [TR-1](../concerns.md#tr-1), [TR-2](../concerns.md#tr-2) | out-of-scope | code-verified / contract-stated | The registry fixture has a narrow declared-path policy, but **B-07** has no MCP/SQL/git authority surface or Amanuensis installer/config merger. |

### Finding [B07-1](../findings.md#b07-1) · Unbounded research capture and verification calls

**Severity:** LOW  
**Status:** confirmed-bug

A research refresh or snapshot verification can hang indefinitely when GitHub, npm, the shadcn CLI, or a child detector stalls. The affected `fetch()`, `spawnSync()`, and `subprocess.check_output()` calls provide no timeout, abort signal, or cancellation path (`scholiast/ai-primary-web-platform-landscape/capture-component-landscape.mjs:37-66@073cee86946b7693b6ba7a93cec67c8977b353ff`; `scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-registry.mjs:5-14@073cee86946b7693b6ba7a93cec67c8977b353ff`; `scholiast/ai-primary-web-platform-landscape/verify-trial-snapshot.py:10-14@073cee86946b7693b6ba7a93cec67c8977b353ff`).

The impact is bounded to manual research tooling, not production request handling, and explicit nonzero results are otherwise propagated. The nearby link audit demonstrates a viable compensating pattern with a 15-second request timeout and fixed worker pool (`scholiast/ai-primary-web-platform-landscape/link-audit.py:47-63@073cee86946b7693b6ba7a93cec67c8977b353ff`).

## Adversarial review

The strongest alternative explanation for [B07-1](../findings.md#b07-1) is that downstream npm, registry, or HTTP clients may carry their own network deadlines, making the missing parent deadline redundant in ordinary runs. That explanation attenuates frequency but does not overturn the concern: the parent wrappers do not require or surface a total completion bound, and the local snapshot child can regress independently of any network library.

A 300 ms child microprobe took 336 ms through Node `spawnSync` and 324 ms through Python `subprocess.check_output`; Python reported the active default as `timeout=None`. This demonstrates that the wrappers wait for child completion unless the caller supplies a bound. It is not a claim that every downstream service will hang.

**Verdict:** [B07-1](../findings.md#b07-1) upheld at LOW severity. Current evidence replay is green, failure statuses are propagated, the tooling is manually invoked, and the bounded link-audit path limits the blast radius. No **B-07** disposition is linchpin-dependent.
