Skip to content

test(page-chain): P7 final connected-mode verification pass - #290

Merged
omridevk merged 1 commit into
effect-verb-227from
p7-verify-271
Aug 7, 2026
Merged

test(page-chain): P7 final connected-mode verification pass#290
omridevk merged 1 commit into
effect-verb-227from
p7-verify-271

Conversation

@omridevk

@omridevk omridevk commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Stacked on #286 -> #284 -> #275 -> #268; retarget as bases merge.

Closes #271.

Pure verification additions — no feature work. Every hole found was filed as its own ticket, not patched here: #287 (CLI surface bypasses the decide() gate), #288 (tanstack verb group lacks bootConnect parity coverage), #289 (non-builtin registry page tools fall back to the generic card).

What this adds

# Scope item Where
1 bootNormal AND bootConnect parity for representative members of the read, react, act, and edit-live verb groups (same battery through both boot paths: text, attr-via-ref, locate structural failure, click + journal + mirror, settext + journal) packages/embed/test/page-dispatch-parity.it.test.ts
2 Gate coverage per surface: page.effect (the mutating example, per the #286 review note) prompts and page.text auto-allows from the chat surface (scripted harness turn running execute_typescript) and from the code-mode surface (execute_typescript over /api/mcp); approval releases the call, and the page never sees the call before the decision packages/core/test/chat/page-gate-surfaces.it.test.ts
3 Widget action cards: every builtin registry page tool declares label + non-generic icon, the card titles every one from its declaration (never the "Page action" fallback), representative cards screenshot-verified packages/ui-kit-chat-tools/test/registry-card-declarations.browser.test.tsx
4 Catalog honesty: page tools are client bindings whose reachable flips with page connection; page.effect describes the real host-effect driver (post-#227) with its UNKNOWN_EFFECT declaration in the signature; every declaring tool's errors survive into catalog.get packages/extensions/page/test/catalog-honesty.test.ts
5 Grep-zero sweep as a real repo-scan test over shipped src (modeled on the capability-list-guard scan) packages/core/test/page-chain-grep-zero.test.ts

Plus packages/core/test/helpers/fake-widget.ts: the fake widget page-bus peer the three core page ITs previously each hand-rolled (fallow flagged the third copy as introduced duplication; the two existing files now share it too).

Grep-zero evidence

All ten retired identifiers scan to zero over packages/**/src and apps/conciv/src (now enforced by the test on every run): DOM_HANDLERS, PAGE_QUERY_KINDS, PageVerbMap, page.run, dispatchExtVerb, scopedPageCaller, BUILTIN_PAGE_TOOLS, callPageVerb, MUTATING_KINDS, MIRROR_KINDS. Grounding: planting export const DOM_HANDLERS = {} in packages/core/src/page-bus.ts fails the test naming that file.

Parity evidence (local run)

page-dispatch-parity.it.test.ts: 10/10 — the identical five-assertion battery passes under bootNormal (widget embed) and bootConnect (connect handle + connectGate preflight). tanstack group: bootNormal covered by the existing tanstack suite (router-adapter.it.test.ts); bootConnect gap filed as #288.

Gates (local, all exit 0)

  • pnpm turbo run typecheck build --filter='!@conciv/extension-whiteboard' — 107/107
  • VITEST_MAX_FORKS=1 pnpm turbo run test --concurrency=1 --filter='!@conciv/extension-whiteboard' — 102/102
  • pnpm lint — 96/96; pnpm format:check — clean
  • pnpm exec fallow audit --changed-since origin/effect-verb-227 --format json — verdict pass, zero INTRODUCED

CI

GitHub Actions is currently degraded; the full-suite-green criterion (incl. whiteboard suite and e2e consumer apps, which never run locally) lands when CI recovers — do not merge on local evidence alone.

🤖 Generated with Claude Code

…y, gate surfaces, card declarations, catalog honesty, grep-zero guard

Closes #271. Pure verification additions; holes found are filed as #287, #288, #289.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@omridevk
omridevk merged commit 583ca39 into main Aug 7, 2026
37 of 39 checks passed
@omridevk
omridevk deleted the p7-verify-271 branch August 7, 2026 08:36
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.

page: final connected-mode verification pass after the page-as-extension chain (P7)

1 participant