| Ticket Hash: | 50be37bdb756a54280462be82a6d46b0e65008a5 | ||
| Title: | Tool inputs named "name" can't be filled by a link: Fossil reserves it under /ext/ | ||
| Status: | Open | Type: | Code_Defect |
| Severity: | Important | Priority: | Medium |
| Subsystem: | Resolution: | ||
| Last Modified: |
2026-11-04 16:18:34 6.6 days ago |
Created: |
2026-11-04 16:18:34 6.6 days ago |
| Version Found In: | |||
| Description: | ||||
|
OCX tools take an input field called `name`, which Fossil reserves under `/ext/`. So no link can fill those fields.
**What happens.** Fossil takes a `name` query parameter under `/ext/` as the extension page's own path. So a link such as `https://ollama.openbeagle.org/ollama/ext/ocx2-cgi/project?name=console` answers Fossil's 404 and never reaches OCX's page (tried 2026-11-04 at 10:58 AM; without `?name=` the same page answers 403 to a visitor who is not signed in). A form's POST, which carries `name` in its body, still works. So the field can be typed into the page, but a link can't carry it. Today's case: the maintainer asked for a link pre-filled to make the `console` project, and none can be made. **Which tools.** Every tool whose input has a field `name`, from `ocx2 --json list`: `secret`, `test`, `wiki_read`, `wiki_edit`, `unversioned_get`, `unversioned_put`, `card` and `project`. It was first noted on 2026-10-16 (docs/backlog.md, "A link to a tool whose input has `name` does not reach OCX's page"), when `approve` and `collect` took `login` in place of `name` for the same reason. The rest were left. **The fix.** No tool's input uses a name Fossil reserves. Rename each `name` field to what it names (for example `project` for project, `secret`, `page` for the wiki tools, `file` for the unversioned tools, `card`), at every entry point. Add a guard, so no tool's input can take `name` again. The backlog row leaves when this is done. **What shows it.** A spec in which each renamed tool's link, a GET with the field in its query, reaches OCX's page and shows its dry run with the form filled. And the guard refusing a tool input called `name`. The maintainer, 2026-11-04: "file the bug that that's a dumb argument to use, since it is reserved." | ||||