Young's Mind
06 Implementation

Stage annex — Mira's two lanes

The plan of record is 02-architecture/PLAN.md (Min, status: authority) — 8 stages, 3 arcs, 14 adopted essences. This annex does not re-plan it. It carries only what my lanes add: the per-step detail, the traps, and the proofs.

Stage annex — Mira's two lanes

The plan of record is 02-architecture/PLAN.md (Min, status: authority) — 8 stages, 3 arcs, 14 adopted essences. This annex does not re-plan it. It carries only what my lanes add: the per-step detail, the traps, and the proofs.

Owner assignment, per Min's §5 division:

LaneOwnerStages
COST & PROVIDERSMira6 (cost + retention)
SKILLS & TOOLS STOREMira4 (store steps, with Min's registry steps)

Young's instruction: "register implementation plan, break it into stages and assign owner. We've live Hermes as our go to sample and references."

So every stage below names the Hermes reference it is checked against — Hermes is our sample, not our dependency.


Stage 6 — Cost and retention

Deliverable: a ledger that disaggregates, and retention as an enforced routing input. Owner: Mira (per Min's §5).

The rule this stage exists to enforce

Min's what-else-to-look-into.md Tier 1: every Tier 1 item is a control that exists and is not consulted on the path that matters. Stage 6 is the stage where that rule is mine to satisfy — my retention rule is currently a policy footnote that no code reads.

#StepProofHermes reference
6.1The ledger: billing_instrument (none · go_allowance · zen_payg), cost_state, window_stateevery model call records its instrumentnone — Hermes has no GO/ZEN. This is ours
6.2E3 — per-requester attribution, spend cap at the boundaryspend attributable per agent; the cap stops the callA2A_PEER_TOKENS — "nothing in the request body can assert identity"
6.3E12 — trace-id threading through the boundarya call traceable end to endLiteLLM's require_trace_id_on_calls_to_agent; Hermes' contextId-keyed conversations
6.4Retention as a routing input — task classification (does this touch vault content?)a zero-retention task cannot route to a non-zero-retention modelno Hermes equivalent — ours
6.5Window exhaustion ≠ spend exhaustionGO's windowed allowance and ZEN's PAYG float are distinguishableno Hermes equivalent — ours

The proof I would defend hardest

A zero-retention task physically cannot reach a non-zero-retention model — the call fails by declaration, not by policy.

Min adopted this verbatim. It is the only rule in the tree where the cost ladder and the privacy ladder currently agree — the cheapest model is the zero-retention one. Stage 6.4 is what catches the day they disagree.

Three traps, each with a falsifier

TrapFalsifier
An unpriced run reads as freeinject an unpriced run; the ledger must read cost_state: unknown, never $0.00. V2 recorded 30,721 rows at $0.00000
A prose refusal records as successa model that refuses in prose must record refusal. V2's classifier called it completed — a cost tool that hides defects is the same failure as a ledger that hides cost
Window exhaustion reads as spendexhaust a window; the ledger must read window_state: blocked while spend is $0 — because the model blocks, not the bill

🔴 One trap neither plan records — and it sits in Stage 3.1, not mine

a2a-sdk's TaskState is a protobuf enum, and its JSON serialisation is TASK_STATE_CANCELED — a different string from the lowercase canceled wire value. The same state, two strings, and only one is the wire value.

So cortex/tasks/states.yaml must record both forms, or Stage 3.1's mapping encodes the wrong one. It is Min's lane — reported here because my ledger's window_state axis and his state vocabulary must agree on the spelling.

And a second, cheaper one: TaskState is not iterable — for s in TaskState raises TypeError. Read TaskState.keys(). A conformance probe written the obvious way fails for the wrong reason, which is exactly how a green gets trusted.

Open, and mine

#QuestionStatus
6AIs GO's $60 hard or soft?✅ CLOSED — hard, per model. See mira-go-allowance-answer.md. Ladder then ruled in mira-rollover-ladder-ruling.md
6BTier-2 ordering: GO before ZEN?✅ CLOSED — GO paid → GO free → ZEN. ZEN last. See mira-rollover-ladder-ruling.md. A jump go_allowance → zen_payg skipping GO free is a defect
6Ca2a-sdk 1.2.2, or Hermes' plugin?✅ RULED — official SDK. Cost noted: +26 packages. See mira-litellm-a2a-gateway-delta.md
6DRetention classification inputOPEN — needs a task-classification input nobody has designed. Mine + Min's. My strongest rule; no teeth
6Ebilling_instrument carry the model id✅ now REQUIRED — Haiku's $3/5h cap makes which model a routing decision the ledger must record
6FLuna/Haiku at $15/mo = $3 per 5 h✅ CLOSED — reframed. Haiku 5.5 is the complex-task escalation, scarce by design. Bulk escalation → GLM/MiMo at $12/5h
6GPrompt caching as headroomOPEN, mine — GLM caches reads at $0.03 vs $0.15 input. A 5× reduction cheaper than any model switch, and nothing mentions it

Stage 4 — Skills and tools store

Deliverable: one source, loaded on demand. Owner: Mira (store) with Min (registry) and Sol (load probes) — per Min's §5.

The load model is settled — adopt, do not design

Min's LEARNED-AND-PLAN.md and PLAN.md Stage 4 adopt it, and Hermes ships the attern already. Three filter points at three boundaries, and V2 filtered at none of them — which is why all 67 skills reached every profile:

BoundaryWhat it filtersSource
the card — what a peer can seeadvertised toolsetsHermes — A2A_ADVERTISED_TOOLSETS, card built from the live tool registry
the index — what an agent may loadplane / capabilityMin's cortex/registry
the context — what actually enterstask-driven search + explicit loadMoyai E1 / Hermes progressive disclosure
#StepProofHermes reference
4.1Declare plane/capability per skillevery skill declares a planeHermes skill_utils.get_skill_search_roots() with tiers
4.2Generate card skills from cortex/skillscard matches the declared setthe card is built from the registry — same shape
4.3Filter the profile projection by planea heart agent receives no brain skills—
4.4E1 — search by keywords → ≤5 as metadata only → content only after an explicit loada search adds no instruction text; a load doesskills_tool_plugin.py — "Anthropic-recommended progressive-disclosure limits"
4.5E9 — an agent that cannot load its declared tools refuses to starta 0-tool agent raisesthe same shape as Hermes' own load failures
4.6Move the MCP tool list into the registry; declare per-agent permissiona refused tool call fails by declarationMCP is config-driven for them — the shape, not a licence to build
4.7The drift probe — the guard exists in prose, no probe specifiedcortex and card disagree → the probe failsevals/heartbeat_idle_wire.py's header is the contract: real components, fake externals, isolated state, no network

The two proofs I would not drop

  1. skills: [] must be a hard failure, not a valid card. V2 served eight empty cards and read them as healthy. Absence must announce itself.
  2. A search adds no instruction text; a load does. That single assertion is the difference between Moyai's load model and V2's copy-all-67 — everything else in Stage 4 is bookkeeping around it.

Also mine, and not in any plan

A curator. Hermes ships agent/curator.py — "background maintenance for agent-created skills — usage tracking, staleness, archival, and LLM-driven review."That is the second mechanism, and it is the same shape as Moyai's E7 rule for memory: capture must not depend on the agent remembering. A store that nothing prunes is V2's demise in slow motion — 67 skills where a handful are ever loaded.

Recommendation: cortex/skills/ needs a curator step in Stage 4, and the proof is that a skill never loaded is archived rather than left to rot. Not currently in any stage.


What I am NOT taking on

  • Stage 5 (memory) — flagged unowned by Sol, recommended to Min by Min himself. Still unassigned until Young rules. I am not claiming it.
  • Stage 0 and 1 — root guard, prover, registry. Min's and Sol's.
  • Stages 2, 3, 7 — transport, task contract, executor. Sol's.

Every stage above is a design until its proof runs. No probe has run in any of them — every terminal call in my session has failed on a stuck cwd, and no code exists (find . -name '*.py' returns 0).

Copyright © 2026