Skip to content

feat: capability extensions — evaluatePermissions, MCP verdict tools, pagination & rerank docs#12

Merged
MyPrototypeWhat merged 6 commits into
mainfrom
m13t/wave4-capability-extensions
Jul 6, 2026
Merged

feat: capability extensions — evaluatePermissions, MCP verdict tools, pagination & rerank docs#12
MyPrototypeWhat merged 6 commits into
mainfrom
m13t/wave4-capability-extensions

Conversation

@MyPrototypeWhat

Copy link
Copy Markdown
Owner

Summary

Wave 4 (final wave) of the hardening plan:

  • evaluatePermissions (core, minor): the strict-deny gate is now a programmable public API — evaluatePermissions(rights, required, ctx?, opts?) with PermissionKey/EvaluateOptions; the four evaluateUse intents are presets over it. Behavior-identical, proven by the untouched existing test suite; historical verdict wording preserved via a preset label and pinned by new tests.
  • MCP verdict tools (mcp, minor): stateless evaluate_use and build_attribution — inputs carry the rights fields, so agents can re-ask "may I use this / how do I credit it" for any prior result without server-side sessions. Plus unified REFKIT_<PROVIDER>_KEY env names (all legacy names still honored, tested both ways).
  • Docs: controls.page provider-local pagination semantics + dedupe-by-canonicalUrl "load more" recipe (JSDoc + README); docs/examples/semantic-rerank.md runnable BYO-embedding reranker cookbook.

Test Plan

  • pnpm -r typecheck — 20/20 clean
  • pnpm test:run — 305/305 (evaluate-use suite unchanged = behavior oracle; +13 new tests incl. wording pins, MCP tool tests, env-alias tests)
  • Review-verified: placeholder rights fields never read by the verdict path; all 9 env alias pairs correct; cookbook types match core's actual Reranker contract

@MyPrototypeWhat MyPrototypeWhat merged commit 80cbcc6 into main Jul 6, 2026
1 check passed
@MyPrototypeWhat MyPrototypeWhat deleted the m13t/wave4-capability-extensions branch July 6, 2026 10:50
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