Skip to content

docs: audit top-level guidance, fix stale app/README + add missing ci.md builtin (pst-brht) - #73

Merged
SeanOC merged 3 commits into
mainfrom
gc-pilot/pst-brht
Aug 28, 2026
Merged

docs: audit top-level guidance, fix stale app/README + add missing ci.md builtin (pst-brht)#73
SeanOC merged 3 commits into
mainfrom
gc-pilot/pst-brht

Conversation

@SeanOC

@SeanOC SeanOC commented Aug 28, 2026

Copy link
Copy Markdown
Owner
  • app/README.md: replace superseded manual lib-clone prereqs with
    scripts/vendor-libs.sh; drop stale '33 unit tests' count; point e2e
    waits at waitForRenderState (status-line text pattern no longer
    exists); ModelStudio -> DetailPage; real zero-param note text; add
    unit=/group=/short=/@preset to the @PARAM grammar; remove
    unverifiable specifics (250ms debounce, 3.3GB OOM, 576 files) and
    stale Phase-N framing; drop the artifact-server section duplicated
    in CLAUDE.md.
  • docs/ci.md: list the presets invariant builtin (st-1j9) alongside
    the other built-ins.

README.md, AGENTS.md, CLAUDE.md, libs/README.md audited and verified
accurate — no changes needed.

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

….md builtin (pst-brht)

- app/README.md: replace superseded manual lib-clone prereqs with
  scripts/vendor-libs.sh; drop stale '33 unit tests' count; point e2e
  waits at waitForRenderState (status-line text pattern no longer
  exists); ModelStudio -> DetailPage; real zero-param note text; add
  unit=/group=/short=/@preset to the @PARAM grammar; remove
  unverifiable specifics (250ms debounce, 3.3GB OOM, 576 files) and
  stale Phase-N framing; drop the artifact-server section duplicated
  in CLAUDE.md.
- docs/ci.md: list the presets invariant builtin (st-1j9) alongside
  the other built-ins.

README.md, AGENTS.md, CLAUDE.md, libs/README.md audited and verified
accurate — no changes needed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stuff Ready Ready Preview Aug 28, 2026 5:45pm

Request Review

@SeanOC

SeanOC commented Aug 28, 2026

Copy link
Copy Markdown
Owner Author

Codex gate review — changes requested

Reviewed head 44f5c2a126ddf64dc6968d7f6c86730ee7efa5ef against origin/main. CI is green, but this PR introduces two factual regressions in developer-facing contracts. Documentation is the product here, so these are blocking.

  1. app/README.md:12-14 — The new text says npm run test:e2e vendors SCAD libraries via prebuild. It does not: test:e2e invokes playwright test directly, with no pretest:e2e or pretest hook in package.json. In a clean checkout without libs/, running E2E produces repeated 404 responses for libs/BOSL2/std.scad, libs/BOSL2/rounding.scad, and libs/QuackWorks/Modules/multiconnectSlotDesign.scad, leaving the browser preview without its dependency closure. Smallest fix: remove and npm run test:e2e; state that E2E requires a prior build or an explicit run of bash scripts/vendor-libs.sh.

  2. app/README.md:121-124 — The new grammar says @preset lines are inside the same block. The parser explicitly scans @preset anywhere in the file in a separate pass, and its tests cover presets outside the parameter block. This narrows the supported grammar and misdocuments existing model layouts. Smallest fix: remove inside the same block; document that @preset lines may appear anywhere, with a convention of clustering them near the parameter block.

Other changed claims were verified accurate, and the prior omissions are non-blocking. Full details are recorded on gate bead pst-woi3.

@SeanOC

SeanOC commented Aug 28, 2026

Copy link
Copy Markdown
Owner Author

Codex gate review — changes requested

Head reviewed: 1aa6775abebe741fcae0b0879f6d12b35ae4156d

This documentation-only PR introduces three factual errors. Each is newly added, so it blocks the gate despite not affecting runtime code.

  1. app/README.md:13 — e2e command does not vendor libraries.
    package.json defines only prebuild: ./scripts/vendor-libs.sh; test:e2e runs playwright test. In CI, the preceding explicit npm run build invokes the hook (.github/workflows/ci.yml:405-411), but a fresh local checkout running npm run test:e2e starts next dev without prebuild.
    Smallest fix: remove “and npm run test:e2e” from the sentence.

  2. app/README.md:123 — presets are not restricted to the parameter block.
    The parser explicitly scans @preset lines anywhere in the file (lib/scad-params/parse.ts:87-94), and tests collect presets placed after the block (lib/scad-params/parse.test.ts:324-333).
    Smallest fix: describe @preset lines as allowed anywhere in the file, typically after the parameter block.

  3. app/README.md:122short= is silently discarded.
    pickBaseAttrs stores only label, group, and unit (lib/scad-params/parse.ts:283-295); short is neither retained nor used, and no current model uses it. Advertising it invites ignored annotations.
    Smallest fix: remove short= from the advertised optional hints.

Non-blocking: the new docs/ci.md presets invariant entry accurately matches scripts/invariants/__init__.py:174-220. Other corrected claims in app/README.md were verified against the implementation and CI workflow. Unit, render, sweep, and Vercel checks were green at review time; e2e was still pending.

…3wg)

- prebuild hook runs for build only; state test:e2e needs a prior build
  or explicit vendor-libs run (no pretest hook exists)
- @preset lines are scanned anywhere in the file, not 'inside the same
  block' (parser does a separate pass; tests cover outside-block)
- drop short= from advertised display hints: pickBaseAttrs retains only
  label/group/unit and no model uses it

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@SeanOC

SeanOC commented Aug 28, 2026

Copy link
Copy Markdown
Owner Author

Codex gate review — pass

Reviewed head 4805693098c5156f71c8b26fd33652fcdff8d02e against main (36 additions / 40 deletions; app/README.md, docs/ci.md).

Findings: 0 blocking.

Verified the substantive claims against the head-tree implementation:

  • scripts/vendor-libs.sh pins BOSL2 456fcd8, QuackWorks 6123129, and Gridfinity 910e22d, and package.json invokes it as prebuild.
  • tests/e2e/support/render.ts exports waitForRenderState(page, state), backed by ViewerChrome’s deterministic data-render-state attribute.
  • ParamRail renders the exact “No parameters in this model.” note for zero-annotated-param models; DetailPage is the current detail component.
  • lib/scad-params/parse.ts implements the documented unit=, group=, short=, and @preset grammar, including preset kind coercion.
  • docs/ci.md correctly adds the presets builtin alongside the other invariant built-ins; the invariant implementation performs the corresponding check.
  • The removed unverifiable specifics and stale manual-clone instructions are no longer required by current code.

No correctness, contract, pipeline, licensing, or security defects introduced by this PR.

@SeanOC
SeanOC merged commit cd4b42d into main Aug 28, 2026
9 checks passed
@SeanOC
SeanOC deleted the gc-pilot/pst-brht branch August 28, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant