feat: add Proofing Gallery tools - #226
Conversation
Signed-off-by: soeren <soeren@sebfoto.de>
0b734fe to
c3974b5
Compare
|
DCO is now fixed with the corrected author address and a matching Signed-off-by trailer. The commit tree is unchanged from the previously green revision; the newly triggered Integration and REUSE workflows are currently awaiting maintainer approval for the fork run. |
|
Thank you for your contribution! Did you do some testing of these tools? As I'm not familiar with the app, could you give some example prompts that make sense to use? |
Signed-off-by: soeren <soeren@sebfoto.de>
|
Thank you — I tightened the branch based on this feedback. The initial surface is now deliberately limited to four read-only tools:
Each tool now has a detailed purpose/usage description, Google-style argument and return documentation, and parameter-level Pydantic descriptions. I also verified the actual Context Agent MCP I tested this against an isolated Nextcloud 34 + AppAPI instance with the Context Agent 2.8.0 image and a local LLM2/Llama 3.1 8B model. The live prompt matrix selected only the intended tools:
The first live runs exposed two useful edge cases which are fixed in this revision: the model interpreted the generic word “customer” as a workflow purpose, and a readiness answer could imply that publishing had happened. A pre-validator now maps only the linguistic aliases Additional checks passed: 10 deterministic module contract tests, real MCP schema validation, Nextcloud API ACL/privacy/routing E2E coverage, Python compilation, Ruff, Black, and DCO. The stable Proofing Gallery OCS agent API remains unchanged; mutations and raw feedback are intentionally deferred from this PR. |
Adds first-party Context Agent tools for the Proofing Gallery Nextcloud app.
The module provides:
The PHP app contract keeps public-link passwords, guest PII, arbitrary file reads, and permanent deletion out of scope.
Validation:
ruff check ex_app/lib/all_tools/proofing_gallery.pyandpython -m py_compile ex_app/lib/all_tools/proofing_gallery.py.