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:
@@ -64,7 +64,10 @@ This is the complete list.
|
|||||||
- **The schema's JSON.** `serde_json::json!` sorts object keys (the crate is built without
|
- **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
|
`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.
|
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).
|
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
|
- **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"`
|
`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 |
|
| Item | Where |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `serde_json::json!` | S2, as in `recall_schema` |
|
| `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` |
|
| `crate::llama::ToolSchema { name, description, parameters }` | S2, as in `recall_schema` |
|
||||||
| `Entry { schema, core }`, `Vec::insert(index, value)` | T2, as in `m5a` |
|
| `Entry { schema, core }`, `Vec::insert(index, value)` | T2, as in `m5a` |
|
||||||
| `Duration::max(self, other) -> Duration` | P4 |
|
| `Duration::max(self, other) -> Duration` | P4 |
|
||||||
@@ -257,7 +261,8 @@ become
|
|||||||
|
|
||||||
```rust
|
```rust
|
||||||
/// The longest `BrokerPort` waits for an `ask_memory` answer, unless `[broker] timeout_ms` is
|
/// 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);
|
pub const ASK_MEMORY_WAIT: Duration = Duration::from_secs(180);
|
||||||
/// The runbook entry every outage line ends with.
|
/// The runbook entry every outage line ends with.
|
||||||
pub const POINTER: &str = "see docs/runbook.md#broker-unavailable";
|
pub const POINTER: &str = "see docs/runbook.md#broker-unavailable";
|
||||||
|
|||||||
Reference in New Issue
Block a user