Add capability-gated tool registry and real project tool (#8) #27
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/issue-8-capability-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #8.
Capability boundary
Tool registry
tool(Name)capability, argument schema, result schema, timeout, and output-byte ceilingTyped-plan integration
tool_registry_runtime_tools/3adapts trusted registered handlers into the existing closed typed-plan runtimetool(Name)before executiontool(Name)First real tool: project_read
tool(project_read); no ambient filesystem/network/process authorityDeterministic coverage
Tests cover:
The deterministic branch-head CI is green and statically loads both live plan definitions without credentials.
REAL OpenRouter integration
Trusted same-repository CI performs another actual OpenRouter inference using the production SWI provider. The routed model must produce a typed JSON plan selecting
project_read; that plan then executes the actual registered file tool and verifies the fixture token.Required live evidence is limited to non-secret fields such as provider/requested/selected model, HTTP 200, plan parsed, tool invoked, authorization allowed, status ok, file token seen, and transition count. Generated plan JSON, response text/reasoning, API keys, Authorization headers, and environment dumps are not intentionally logged.
Do not merge until deterministic CI and the REAL OpenRouter PR job are both green and the final credential/diff scan is clean.