docs(ergo): update task guidance

This commit is contained in:
monkey-w1n5t0n 2026-07-11 23:19:01 +02:00
parent d466dd3c48
commit c936bf75c9
4 changed files with 7 additions and 15 deletions

View file

@ -47,20 +47,12 @@ Pick A. Update perf.hpp + every `nisps/` use site.
### 5. RMSProp deferred from `nisps/ml/` (2026-04-29)
**What.** The legacy MLP supported both SGD and RMSProp paths. Stream 2 shipped only SGD as MVP. The architecture spec called for both. Documented as "follow-up bd issue when needed".
**What.** The legacy MLP supported both SGD and RMSProp paths. Stream 2 shipped only SGD as MVP. The architecture spec called for both. Documented as a follow-up Ergo task when needed.
**Why it blocks the mission.** Optimizer choice is one of the things research wants to vary. Not blocking for the current XOR-style fits, but as soon as we tune for harder loss landscapes, RMSProp will matter.
**Rough cost.** A day. Port the firmware's RMSProp from `src/memlp/MLP.cpp:415-543` (decay 0.9, epsilon 1e-6, gradient accumulation, batch size). Add tests for batch training convergence.
### 6. bd Dolt remote sync flaky (2026-04-29)
**What.** During the rewrite, `bd close` repeatedly failed with "database `beads_meml` not found on Dolt server" or similar lock conflicts. Several agent-side bd closures could not be performed and have orchestrator-side closure notes instead. May leave stream issues in inconsistent states.
**Why it blocks the mission.** Beads is the canonical task tracker; if it can't reliably sync, future agents lose visibility into what's done vs in-progress.
**Rough cost.** Investigate Dolt server config + lock semantics. Out of scope for the rewrite itself.
## Open mission questions
### Q1: Per-mode MLP architectures or one shared shape? (2026-04-29)

2
MAP.md
View file

@ -131,7 +131,7 @@ the "BUILD DELTAS" block at the top of `docs/specs/vcv-module.md`). `src/MEMLNau
- `MAP.md` — this file.
- `ALIGNMENT.md` — strategic gaps + open mission questions, dated, opinionated.
- `README.md` — short quickstart.
- `AGENTS.md`beads/bd conventions.
- `AGENTS.md`canonical agent contract: architecture, build/test, scope, and Ergo workflow.
## Entry points

View file

@ -27,7 +27,7 @@ T2 Architecture & Contracts
├ playground architecture
└ backends architecture
T3 Component Design → core | playground | firmware | backends (branches per product)
T4 Implementation specifics → (same branches) → spawn bd issues/epics
T4 Implementation specifics → (same branches) → spawn Ergo tasks/epics
```
Files:
@ -38,7 +38,7 @@ Files:
| T1 | `T1-capabilities-and-principles.md` | **draft — awaiting audit** |
| T2 | `T2-architecture-and-contracts.md` (+ per-product sections) | not started |
| T3 | `T3-component-design/{core,playground,firmware,backends}.md` | not started |
| T4 | `T4-implementation/{core,playground,firmware,backends}.md`beads | not started |
| T4 | `T4-implementation/{core,playground,firmware,backends}.md`Ergo | not started |
| — | `00-decisions-log.md` | the interview outcomes that seed these tiers |
| ref | `slp-workshop-firmware.md` | **evolving** — SLP-Workshop: Part I shipped (mode + Jolt / OU-explore gestures), Part II planned (output modes, gate sequences, Manifold config UX) |
@ -49,7 +49,7 @@ only made *downstream* of a tier when that tier itself got something wrong. So:
1. T0 + T1 are reviewed and approved first (they constrain everything).
2. Only then is T2 authored; reviewed; approved.
3. Only then T3; then T4 → beads → execution.
3. Only then T3; then T4 → Ergo → execution.
If review of a lower tier reveals that an upper tier is wrong, **fix the upper tier first**, then propagate.
Every tier file ends with a "Traces up to" line citing the tier(s) above it that justify its content.

View file

@ -14,8 +14,8 @@
// Optimizer choice: this MVP ships SGD only. RMSProp is planned (the legacy
// firmware uses it for `TrainBatch`) but the playground was using plain SGD
// until very recently and the XOR-convergence benchmark in the test suite
// is the clearer target. RMSProp can land as a follow-up — see the bd
// issue notes. For now `train()` is SGD with optional sample-weight
// is the clearer target. RMSProp can land as a follow-up — see the Ergo
// task notes. For now `train()` is SGD with optional sample-weight
// scaling and gradient clipping.
#pragma once