docs: M5d spec is approved; the implementer is Ornith
Co-Authored-By: Grok 4.6 <noreply@x.ai>
This commit is contained in:
@@ -31,10 +31,12 @@ through the owner's `roncho` (v1.0.0 on crates.io; `docs/specs/2026-09-25-roncho
|
|||||||
and `docs/specs/2026-09-27-m5c-honcho.md`). M5c-1 (the write path) is done and merged, reviewed in
|
and `docs/specs/2026-09-27-m5c-honcho.md`). M5c-1 (the write path) is done and merged, reviewed in
|
||||||
`docs/implementer-log.md`. M5c-2 (the read path: `recall` over the fleet and `ask_memory`, spec
|
`docs/implementer-log.md`. M5c-2 (the read path: `recall` over the fleet and `ask_memory`, spec
|
||||||
sections 3, 8, 9, 10 and 13) is done, reviewed in `docs/implementer-log.md` and checked on
|
sections 3, 8, 9, 10 and 13) is done, reviewed in `docs/implementer-log.md` and checked on
|
||||||
straylight against rift; no finding is open. M5d is the scheduler. P22 (proposed, not applied) makes Boxmaker a fleet of
|
straylight against rift; no finding is open. M5d (scheduler and compaction, spec
|
||||||
|
`docs/specs/2026-10-03-m5d-scheduler.md`) is approved, in two halves: M5d-1 epochs and compaction,
|
||||||
|
then M5d-2 the scheduler. P22 (proposed, not applied) makes Boxmaker a fleet of
|
||||||
independent agents, one per host, deployed with Nix in a last milestone, M8; `flake.nix` builds
|
independent agents, one per host, deployed with Nix in a last milestone, M8; `flake.nix` builds
|
||||||
every binary, the tool image and a dev shell. Work happens on titan (macOS, no Nix); build and run
|
every binary, the tool image and a dev shell. Work happens on titan (macOS, no Nix); build and run
|
||||||
on straylight, where `~/src/boxmaker-m5c2` is a clone built with `nix build`. The owner's Honcho
|
on straylight, where a clone is built with `nix build`. The owner's Honcho
|
||||||
client `roncho` is at `~/src/roncho`. Branches land on master by rebase and
|
client `roncho` is at `~/src/roncho`. Branches land on master by rebase and
|
||||||
fast-forward, never a merge commit. The owner's Mattermost settings and the
|
fast-forward, never a merge commit. The owner's Mattermost settings and the
|
||||||
bot's token are in `mattermost.env` at the repository root (on straylight,
|
bot's token are in `mattermost.env` at the repository root (on straylight,
|
||||||
@@ -51,18 +53,18 @@ what is in flight.
|
|||||||
which also lists proposed changes that are not yet applied.
|
which also lists proposed changes that are not yet applied.
|
||||||
- `docs/inference-contract.md` holds the M0 measurements from straylight. Where it and the brief
|
- `docs/inference-contract.md` holds the M0 measurements from straylight. Where it and the brief
|
||||||
disagree, the measurements are newer.
|
disagree, the measurements are newer.
|
||||||
- `docs/specs/` holds design specs; `docs/plans/M<n>/` holds the task files Laguna works from,
|
- `docs/specs/` holds design specs; `docs/plans/M<n>/` holds the task files Ornith works from,
|
||||||
and `files/` under it holds the tests and fixtures the tasks copy in. `AGENTS.md` holds the
|
and `files/` under it holds the tests and fixtures the tasks copy in. `AGENTS.md` holds the
|
||||||
implementer's standing rules; its code rules apply to any code written here too.
|
implementer's standing rules; its code rules apply to any code written here too.
|
||||||
- `docs/implementer-log.md` is Laguna's own record, one row per task. Reviews go at the bottom.
|
- `docs/implementer-log.md` is the implementer's own record, one row per task. Reviews go at the bottom.
|
||||||
- `docs/implementer-lessons.md` turns review findings into tips, for Laguna and for writing its
|
- `docs/implementer-lessons.md` turns review findings into tips, for Ornith and for writing its
|
||||||
tasks. Every milestone review updates it, and short general rules are promoted into `AGENTS.md`.
|
tasks. Every milestone review updates it, and short general rules are promoted into `AGENTS.md`.
|
||||||
Do not edit the repo while Laguna has a task in flight: its tasks require a clean working tree.
|
Do not edit the repo while Ornith has a task in flight: its tasks require a clean working tree.
|
||||||
- `spike/` is throwaway measurement code, not harness code.
|
- `spike/` is throwaway measurement code, not harness code.
|
||||||
|
|
||||||
Roles: implementation is done by Laguna S 2.1 (served by straylight) through OpenCode on this
|
Roles: implementation is done by Ornith-1.5-35B-A3B (served by straylight) through OpenCode on this
|
||||||
machine, which reads `AGENTS.md`. Builds are deployed to straylight afterwards. Design, specs,
|
machine, which reads `AGENTS.md`. Builds are deployed to straylight afterwards. Design, specs,
|
||||||
measurement and review are done here. Write plans for Laguna as small
|
measurement and review are done here. Write plans for Ornith as small
|
||||||
closed tasks: exact paths, given type signatures, verified crate APIs, tests specified first, and
|
closed tasks: exact paths, given type signatures, verified crate APIs, tests specified first, and
|
||||||
"stop and report" instead of judgement calls. The model the harness serves is Ornith-1.5-35B-A3B.
|
"stop and report" instead of judgement calls. The model the harness serves is Ornith-1.5-35B-A3B.
|
||||||
|
|
||||||
@@ -131,8 +133,8 @@ its KV cache, so any change to an earlier byte of the prompt forces an expensive
|
|||||||
- Tool results are size-capped when first appended and never trimmed later.
|
- Tool results are size-capped when first appended and never trimmed later.
|
||||||
- The baseline (system prompt, tool schemas, the three memory files) stays at 3,000 tokens or less,
|
- The baseline (system prompt, tool schemas, the three memory files) stays at 3,000 tokens or less,
|
||||||
measured with the server's tokenizer.
|
measured with the server's tokenizer.
|
||||||
- Compaction happens only when the session is idle, and starts a new epoch
|
- Compaction runs after a turn at or above 85% of `n_ctx` (configurable), and starts a new epoch
|
||||||
(`sessions/<id>/<epoch>.jsonl`). Old logs are kept.
|
(`sessions/<id>/<epoch>.jsonl`). Old logs are kept. A quiet session stays on its current epoch.
|
||||||
- Every request carries `id_slot`, and a session never changes slot. The server is shared, so
|
- Every request carries `id_slot`, and a session never changes slot. The server is shared, so
|
||||||
slots are not reserved: a cold cache is a normal event that `loopd` logs, never an error.
|
slots are not reserved: a cold cache is a normal event that `loopd` logs, never an error.
|
||||||
- Streaming always, with `return_progress: true`. Timeouts are "no bytes for N seconds", never
|
- Streaming always, with `return_progress: true`. Timeouts are "no bytes for N seconds", never
|
||||||
|
|||||||
Reference in New Issue
Block a user