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
|
||||
`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
|
||||
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
|
||||
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
|
||||
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,
|
||||
@@ -51,18 +53,18 @@ what is in flight.
|
||||
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
|
||||
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
|
||||
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-lessons.md` turns review findings into tips, for Laguna and for writing its
|
||||
- `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 Ornith and for writing its
|
||||
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.
|
||||
|
||||
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,
|
||||
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
|
||||
"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.
|
||||
- The baseline (system prompt, tool schemas, the three memory files) stays at 3,000 tokens or less,
|
||||
measured with the server's tokenizer.
|
||||
- Compaction happens only when the session is idle, and starts a new epoch
|
||||
(`sessions/<id>/<epoch>.jsonl`). Old logs are kept.
|
||||
- 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. A quiet session stays on its current epoch.
|
||||
- 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.
|
||||
- Streaming always, with `return_progress: true`. Timeouts are "no bytes for N seconds", never
|
||||
|
||||
Reference in New Issue
Block a user