M5c-2 plan: task 04, maxItems verified; a comment kept to 100 columns

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-28 18:08:32 -07:00
co-authored by Claude Opus 5.5
parent 9cab92f735
commit c6f43002a8
+7 -2
View File
@@ -64,7 +64,10 @@ This is the complete list.
- **The schema's JSON.** `serde_json::json!` sorts object keys (the crate is built without
`preserve_order`), so the request carries the keys in alphabetical order whatever order the
source writes them in. The given test compares the whole schema, byte for byte.
- **`maxItems`** is JSON Schema's limit on an array's length. `brokerd` refuses a third name
- **`maxItems`** is JSON Schema's limit on an array's length. `llama-server` turns the tool
schemas into a grammar, and its converter supports it: llama.cpp's `grammars/README.md`
(master) shows `minItems: 10` and `maxItems: 100` becoming the repetition `{9,99}`, and its
list of the converter's limitations does not name either. `brokerd` refuses a third name
anyway, with a sentence telling the model to ask again (task 01).
- **Where `ask_memory` goes.** It is a core tool, but not one `loopd` answers itself: like
`recall`, a call is sent to `brokerd` as a `ToolRequest` whose `tool` is `"ask_memory"`
@@ -99,6 +102,7 @@ This is the complete list.
| Item | Where |
|---|---|
| `serde_json::json!` | S2, as in `recall_schema` |
| JSON Schema `maxItems` on an array, in a tool's `parameters` | S2; supported by llama.cpp's schema-to-grammar converter (`grammars/README.md`, master) |
| `crate::llama::ToolSchema { name, description, parameters }` | S2, as in `recall_schema` |
| `Entry { schema, core }`, `Vec::insert(index, value)` | T2, as in `m5a` |
| `Duration::max(self, other) -> Duration` | P4 |
@@ -257,7 +261,8 @@ become
```rust
/// The longest `BrokerPort` waits for an `ask_memory` answer, unless `[broker] timeout_ms` is
/// longer: `brokerd` waits 170 s for `memoryd`, whose Honcho chats have 150 s (M5c spec, section 9).
/// longer: `brokerd` waits 170 s for `memoryd`, whose Honcho chats have 150 s (M5c spec,
/// section 9).
pub const ASK_MEMORY_WAIT: Duration = Duration::from_secs(180);
/// The runbook entry every outage line ends with.
pub const POINTER: &str = "see docs/runbook.md#broker-unavailable";