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
README.md
- Path
scholiast/ai-primary-web-platform-landscape/README.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
baseline-inspection.json
- Path
scholiast/ai-primary-web-platform-landscape/baseline-inspection.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
baseline-inspection.py
- Path
scholiast/ai-primary-web-platform-landscape/baseline-inspection.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
baseline.md
- Path
scholiast/ai-primary-web-platform-landscape/baseline.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
capture-component-landscape.mjs
- Path
scholiast/ai-primary-web-platform-landscape/capture-component-landscape.mjs- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
claims.md
- Path
scholiast/ai-primary-web-platform-landscape/claims.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
component-landscape-metadata.json
- Path
scholiast/ai-primary-web-platform-landscape/component-landscape-metadata.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
conspectus.md
- Path
scholiast/ai-primary-web-platform-landscape/conspectus.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
dependency-footprint.json
- Path
scholiast/ai-primary-web-platform-landscape/dependency-footprint.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
dependency-footprint.py
- Path
scholiast/ai-primary-web-platform-landscape/dependency-footprint.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
github-health.json
- Path
scholiast/ai-primary-web-platform-landscape/github-health.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
link-audit.json
- Path
scholiast/ai-primary-web-platform-landscape/link-audit.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
link-audit.py
- Path
scholiast/ai-primary-web-platform-landscape/link-audit.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
notes.md
- Path
scholiast/ai-primary-web-platform-landscape/notes.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
npm-audit.json
- Path
scholiast/ai-primary-web-platform-landscape/npm-audit.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
npm-metadata.json
- Path
scholiast/ai-primary-web-platform-landscape/npm-metadata.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-policy.json
- Path
scholiast/ai-primary-web-platform-landscape/registry-policy.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-policy.py
- Path
scholiast/ai-primary-web-platform-landscape/registry-policy.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-trial-inspection.json
- Path
scholiast/ai-primary-web-platform-landscape/registry-trial-inspection.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-trial-inspection.py
- Path
scholiast/ai-primary-web-platform-landscape/registry-trial-inspection.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-trial-verification.md
- Path
scholiast/ai-primary-web-platform-landscape/registry-trial-verification.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
shortlist.md
- Path
scholiast/ai-primary-web-platform-landscape/shortlist.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
sources.md
- Path
scholiast/ai-primary-web-platform-landscape/sources.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
specialist-npm-metadata.json
- Path
scholiast/ai-primary-web-platform-landscape/specialist-npm-metadata.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
taxonomy.md
- Path
scholiast/ai-primary-web-platform-landscape/taxonomy.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
trial-inspection.json
- Path
scholiast/ai-primary-web-platform-landscape/trial-inspection.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
trial-inspection.py
- Path
scholiast/ai-primary-web-platform-landscape/trial-inspection.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
trial-red-proof.py
- Path
scholiast/ai-primary-web-platform-landscape/trial-red-proof.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
trials.md
- Path
scholiast/ai-primary-web-platform-landscape/trials.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
.gitignore
- Path
scholiast/ai-primary-web-platform-landscape/trials/.gitignore- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/alpine/index.html- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/alpine/report-filter.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/alpine/report.css- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
astro.config.mjs
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/astro.config.mjs- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.astro
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/src/pages/index.astro- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
methods.astro
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/src/pages/methods.astro- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/src/report.css- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
.eleventy.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/.eleventy.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.njk
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/src/index.njk- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
methods.njk
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/src/methods.njk- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/lit/src/report-filter.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
observablehq.config.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/observablehq.config.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.md
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/src/index.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
package.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/package.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
components.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/components.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/index.html- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
npm-audit.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/npm-audit.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
package.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/package.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
registry-snapshot.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/registry-snapshot.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
build-document.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/build-document.tsx- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
capture-audit.mjs
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-audit.mjs- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
capture-registry.mjs
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-registry.mjs- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
client.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/client.tsx- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/index.css- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/report-filter.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/report.tsx- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
tsconfig.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/tsconfig.json- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
upgrade-diff.txt
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/upgrade-diff.txt- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
vite.config.ts
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/vite.config.ts- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
classic-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/shared/classic-filter.js- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
report.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/shared/report.css- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
vendor-matrix.md
- Path
scholiast/ai-primary-web-platform-landscape/vendor-matrix.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
verify-registry-trial-snapshot.py
- Path
scholiast/ai-primary-web-platform-landscape/verify-registry-trial-snapshot.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
verify-survey.py
- Path
scholiast/ai-primary-web-platform-landscape/verify-survey.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
verify-trial-snapshot.py
- Path
scholiast/ai-primary-web-platform-landscape/verify-trial-snapshot.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
vocabulary.md
- Path
scholiast/ai-primary-web-platform-landscape/vocabulary.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
analyze_corpus.py
- Path
scholiast/report-record-presentation/analyze_corpus.py- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
claims.md
- Path
scholiast/report-record-presentation/claims.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
conspectus.md
- Path
scholiast/report-record-presentation/conspectus.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
corpus-profile.md
- Path
scholiast/report-record-presentation/corpus-profile.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
notes.md
- Path
scholiast/report-record-presentation/notes.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
sources.md
- Path
scholiast/report-record-presentation/sources.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
vocabulary.md
- Path
scholiast/report-record-presentation/vocabulary.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
claims.md
- Path
scholiast/task-workspace-reorientation-indexes/claims.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
conspectus.md
- Path
scholiast/task-workspace-reorientation-indexes/conspectus.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
notes.md
- Path
scholiast/task-workspace-reorientation-indexes/notes.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
sources.md
- Path
scholiast/task-workspace-reorientation-indexes/sources.md- Review
- examined
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/dist/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
methods.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/astro/dist/methods.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
classic-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/classic-filter.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
methods.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/methods.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
report.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/eleventy/dist/report.css- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/lit/dist/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
report-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/lit/dist/report-filter.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
client.adcc8ae6.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/client.adcc8ae6.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
runtime.607a8173.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/runtime.607a8173.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
stdlib.c27a8c1f.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/dist/_observablehq/stdlib.c27a8c1f.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/observable/dist/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
package-lock.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/package-lock.json- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index-C358O-a9.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/assets/index-C358O-a9.css- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index-DZwiDhHX.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/assets/index-DZwiDhHX.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist-client/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
index.html
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/index.html- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
report-filter.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/report-filter.js- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
report.css
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/dist/report.css- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
package-lock.json
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/package-lock.json- Review
- generated-ignore
- Revision
e33bb5fa
Why this file is in scope
alpine-csp.js
- Path
scholiast/ai-primary-web-platform-landscape/trials/alpine/alpine-csp.js- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
button.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/button.tsx- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
input.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/input.tsx- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
label.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/label.tsx- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
table.tsx
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/components/ui/table.tsx- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
utils.ts
- Path
scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/src/lib/utils.ts- Review
- vendor-ignore
- Revision
e33bb5fa
Why this file is in scope
§Concern review
AT-1
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
AT-2
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
CC-1
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
CR-1
- Verdict
- Out of scope
- Evidence
- Code verified
Rationale
EP-1
- Verdict
- Out of scope
- Evidence
- Code verified
Rationale
EP-2
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
IF-1
- Verdict
- Out of scope
- Evidence
- Code verified
Rationale
RL-1
- Verdict
- Confirmed defect
- Evidence
- Code verified
Rationale
RL-2
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
SC-1
- Verdict
- Out of scope
- Evidence
- Contract stated
SC-2
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
SC-3
- Verdict
- Out of scope
- Evidence
- Contract stated
SC-4
- Verdict
- Out of scope
- Evidence
- Contract stated
SC-5
- Verdict
- Accepted behavior
- Evidence
- Contract stated
Rationale
SI-1
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
SI-2
- Verdict
- Accepted behavior
- Evidence
- Code verified
Rationale
TB-1
- Verdict
- Confirmed defect
- Evidence
- Code verified
Rationale
TR-1
- Verdict
- Out of scope
- Evidence
- Code verified
Rationale
TR-2
- Verdict
- Out of scope
- Evidence
- Contract stated
Rationale
§Findings
§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@073cee8scholiast/ai-primary-web-platform-landscape/trials/shadcn-copy/scripts/capture-registry.mjs:module capture@073cee8scholiast/ai-primary-web-platform-landscape/verify-trial-snapshot.py:module verification@073cee8
§Seams
§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
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 design decisions and B-04 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 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
- Research flow: source discovery → directly read source ledger → seven-field claim → counterevidence and scope qualification → conspectus/shortlist decision.
- Platform-capture flow: remote GitHub/npm/registry query → dated JSON snapshot → payload or metadata hashes → matrix/claim citation.
- Trial flow: pinned manifest + authored fixture → candidate build → generated bundle → structural detector → recorded JSON → exact live/snapshot verifier.
- Red-proof flow: synthetic clean and fault arms → the same detector used by the accepted trial → assertions that prove the relevant gate can fail.
- Presentation-transfer flow: materialized Markdown corpus → table-shape profiler → presentation claims → explicit schema-hook contract in B-04 → independent materializer read-back.
- Reorientation-transfer flow: bounded primary-source claim → report-owned-state inference → B-06 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
SM-08 carries research-backed report design constraints from B-07 to B-06. B-07 owns the evidence scope, standing, limitations, and reversal conditions. B-06 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, AT-2 | Out of scope | Contract stated | B-07 does not implement transactional database mutation or storage-history checkpointing. |
| CC-1 | Out of scope | Contract stated | Materializer page-dependency coherence belongs to B-04. |
| 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, 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 | Out of scope | Code verified | Fixed trial-bundle comparison is distinct from B-04 incremental/full/clean materialization. |
| 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 | Out of scope | Contract stated | Survey-session, dispatch, open-question, and advisory-lock lifecycle is not owned here. |
| SC-1, SC-2 | Out of scope | Contract stated | Production schema evolution and packaged-source mirroring belong to B-02–B-05. |
| SC-3, SC-4 | Out of scope | Contract stated | Those named seams join B-06 to B-04 and B-01 respectively. |
| SI-1 | Out of scope | Contract stated | B-07 neither derives project identity nor selects the Amanuensis storage root. |
| 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 | confirmed-bug | Code verified | fetch, spawnSync, and subprocess.check_output calls can wait without a bound (evidence 42–45). |
| TR-1, 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 · 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 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 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.