Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions docs/.vitepress/rfd-summaries.json
Original file line number Diff line number Diff line change
Expand Up @@ -312,15 +312,15 @@
"summary": "Plugin configuration integration with AppConfig enabling trust policies, checksum pinning, execution policies, and per-plugin options."
},
"078-tool-config-mutation.md": {
"hash": "a7d017ca934de55cbfe69ca9d6becc4d98bdbadeb4cc5282444450238ed62e49",
"hash": "c208380ff1f5206c9c825d3dec0f28a436897a3f64846eee4003133637c92125",
"summary": "Scoped tool config access via `access.config` rules, with re-invocation on delta rejection and per-cycle commit buffering."
},
"080-editor-as-a-config-source.md": {
"hash": "c7d2e8dbb1e8983e879540c135ccc343a92cd321de3c7f72cf6f595abad0bc03",
"summary": "Move editor invocation into startup pipeline to treat it as a config source, fixing phantom deltas."
},
"081-decompose-tool-enable-into-state-and-allow_toggle.md": {
"hash": "c3fd1931d5ac8f9fa534b5f16bae3fe8cb05ee28e43be7c4b617768c326f248c",
"hash": "1de1aa963258c8ad189bbc1c23bf438d8d51a6f7232c745ce43293c8e592a761",
"summary": "Split tool enable into state and allow_toggle to fix directive bugs and eliminate variant proliferation."
},
"082-unified-inquiry-event-recording.md": {
Expand Down Expand Up @@ -420,7 +420,11 @@
"summary": "Allocate collision-free conversation IDs by scanning for occupancy and claiming the first unoccupied slot under a stable lock."
},
"105-mid-conversation-operator-directives.md": {
"hash": "0ac17903569c11f2c6e09ccfc1a349aa708c2762fe815d1cf195a56fbd240726",
"hash": "84bf892d29776fa9b7be919075187351874e85215673ebf94bcd4e62bf504eef",
"summary": "Mid-conversation system and tool changes anchored in message stream preserve Anthropic's prompt cache via positional directives."
},
"107-discoverable-tools.md": {
"hash": "9de2d1264370d0bfac642d3ab503c3c7c3cd79b1262d9644270356b0f765acd3",
"summary": "JP adds discoverable tool state: tools in catalogue but not offered until model searches, keeping large MCP catalogues out of context."
}
}
2 changes: 2 additions & 0 deletions docs/rfd/078-tool-config-mutation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- **Authors**: Jean Mertz <git@jeanmertz.com>
- **Date**: 2026-04-17
- **Requires**: [RFD 076], [RFD 070]
- **Extended by**: [RFD 107]

## Summary

Expand Down Expand Up @@ -1298,3 +1299,4 @@ Depends on: Phase 2.
[RFD 042]: 042-tool-options.md
[RFD 070]: 070-negative-config-deltas.md
[RFD 076]: 076-tool-access-grants.md
[RFD 107]: 107-discoverable-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
- **Authors**: Jean Mertz <git@jeanmertz.com>
- **Date**: 2026-05-11
- **Extends**: [RFD 008]
- **Extended by**: [RFD 107]

## Summary

Expand Down Expand Up @@ -883,3 +884,4 @@ Phase 4 (tests and RFD updates) lands in the same PR.
[RFD 078]: 078-tool-config-mutation.md
[RFD 079]: 079-config-sources-and-load-order.md
[RFD 083]: 083-built-in-ask_user-tool-for-assistant-initiated-inquiries.md
[RFD 107]: 107-discoverable-tools.md
8 changes: 8 additions & 0 deletions docs/rfd/105-mid-conversation-operator-directives.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,14 @@ but it cannot *withdraw* a tool, and it answers a different question: which
tools should the model pick from a large uncurated catalogue.
Deferred to its own RFD.

That deferral is not neutral, and the follow-up should know why.
This RFD leaves discovery nowhere to operate: the initial directive offers every
enabled tool and withdraws every disabled one, so a reference to an enabled tool
is a no-op and a reference to a disabled one bypasses the user's intent.
Discovery becomes meaningful only once tool enablement grows a third state — in
the catalogue, permitted, not offered until the model asks for it.
Designing that state, not the search itself, is the follow-up's real work.

**Unify on `tool_reference` and drop directives.** Rejected: there is no
"unreference" block, so mid-conversation disabling would still rewrite the
prefix.
Expand Down
Loading
Loading