Skip to content

docs: guard framework tool ownership and verification results - #26

Draft
TueJon wants to merge 1 commit into
mainfrom
chore/adapter-proof
Draft

TueJon wants to merge 1 commit into
mainfrom
chore/adapter-proof

Conversation

@TueJon

@TueJon TueJon commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Framework-owned tools can already expose a form action. Adding declarative attributes or another imperative owner can duplicate that action, while adapter registration flags and fulfilled calls can hide failures.

This updates only the integration, verification and security references: inspect existing Angular Signal Form ownership before annotating; record versioned React/Vue/Angular adapter differences; recognize native Playwright's resolved isError results; and check all three cross-origin gates plus origin/window identity. The dependency-free default, vendored runtime, package pins, entrypoint and release versions stay unchanged.

Validation: npm run check passed (typechecks, syntax checks, 79/79 tests). The pinned local proof passed 47 journey assertions in native Chrome 156 and 47 separately against simulation, with all 24 journal entries reconciled. Native Playwright 1.64.1 enumeration, frame parity, read result and resolved-error behavior were exercised. Full router navigation, Angular hydration and declarative duplicate registration remain untested. The generic skill validator rejects existing argument-hint/tags frontmatter; this PR does not modify it.

The internal proof report and reproducible fixture are tracked in TWB's workbench; explicit approval d-20261102-0740 covers this scoped guidance PR. No merge, release or deployment is included.

@TueJon TueJon added documentation Improvements or additions to documentation webmcp WebMCP agent surface labels Nov 2, 2026
@TueJon TueJon self-assigned this Nov 2, 2026

@TueJon TueJon left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review — #26 @ afd3bd9 (round 1, first review)

Docs-only PR (+56/−0 across integrate.md, security.md, verify.md). No runtime, template, manifest, or workflow changes. CI check green at this head; ai-review is this task.

Product fit

In scope and warranted. Each addition guards a real failure mode of the skill's own workflow: duplicate tool ownership when a framework adapter already exposes a form action, adapter registration flags / fulfilled calls masking failures during VERIFY, and cross-origin tool selection confusing discovery with authorization. All four fit the skill's purpose (correct inventory → integrate → verify). No new product surface, no dependency, no default behavior change.

Correctness — claims checked against the repo

  • Angular Signal Forms ownership (integrate.md): https://angular.dev/ai/webmcp resolves (200). Guidance is "inventory before annotating, never add a second owner" — consistent with the skill's baseline-aware ground rule and the existing duplicate-name rollback behavior in heal.md/runtime.md.
  • Adapter observations (integrate.md): explicitly dated and versioned (2026-11-02) local observations, placed directly above the existing "not tested framework-version certifications" disclaimer — correctly hedged, no certification implied. Contrast with the vendored runtime is accurate: runtime.md confirms createToolScope disposal is AbortController registration teardown, and the runtime forwards execution options unchanged and converts bare null/undefined to structured errors, so the "adapter flag is not native evidence / preserve explicit structured results" advice matches shipped runtime semantics.
  • Native Playwright page.webmcp (verify.md): https://playwright.dev/docs/api/class-webmcp resolves (200), so the API exists as cited. The isError-without-throwing warning is consistent with the repo's own fail-closed result conventions, and the paragraph keeps the pinned standalone-harness default unchanged with an explicit do-not-upgrade-toolchain guard. No conflict with the existing Puppeteer paragraph.
  • Cross-origin gates (security.md): three-gate description (embedder delegation, provider exposedTo, consumer fromOrigins) matches the repo's own webmcp.d.ts (exposedTo on register, fromOrigins on getTools, RegisteredTool carrying origin + window), and the cited CG anchor section exists (spec page 200). "Discovery does not authorize execution" restates the skill's existing server-as-trust-boundary rule.

What I checked and found clean

  • No secrets, no code, no schema/manifest changes; package.json/skill.json/gemini-extension.json all remain 0.7.1 and CHANGELOG.md untouched — correct for a docs-only change under the repo's version-parity rule.
  • No frontmatter touched (the known argument-hint/tags validator rejection noted in the PR body is pre-existing and out of scope; base is equally affected, so not this PR's blocker per the scope-boundary test).
  • No dead code introduced; no docs invalidated (no env vars, runbooks, or examples changed); no release-steps/ trigger (docs-only, no rollout step).
  • No external effects: nothing sends, publishes, provisions, or mutates customer systems; no deploy blast radius (no workflow/runner changes).

Findings

None. No blocking, no caveats. Two untested areas (full router navigation, Angular hydration/declarative duplicate registration) are disclosed in the PR body itself, not hidden.

Verdict

ship_it — mergeable as-is.

@TueJon
TueJon marked this pull request as draft November 9, 2026 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation webmcp WebMCP agent surface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant