Young's rulings — second set
Young's rulings — second set
Young, 2026-10-10: six rulings, plus "re-verify D1–D5 individually."
Every D-decision below was re-verified against live state today, not carried forward from the original doc.
Part 1 — the six rulings
| # | Question | Ruling | Applied |
|---|---|---|---|
| 1 | Does V3 get its own repo? | Yes — the root .solos | the code root IS the repo; no solos3 |
| 2 | Who owns the V3 build? | Min + coordination | PLAN.md register |
| 3 | Cost of a stuck task | Mira | Stage 6 |
| 4 | A skill curator | Min | Stage 4 |
| 5 | The gates | it is a per-model allowance | Stage 6 — already recorded, now confirmed |
| 6 | .solos has no remote | add Git | Stage 9.1 — the action is named |
1 — V3's repo is .solos itself
No solos3. The code root /home/lab/.solos is the repo. That is
consistent with everything already decided: .solos is the ROOT, not a folder
inside a repo — so it is the repository.
State measured: .solos is already a git repo — branch main, 7 commits, 16
tracked files, 0 remotes.
2 — Min owns the V3 build, plus coordination
Recorded in the register. Note this is a change from the earlier framing where Sol owned engineering and Min coordinated; Young has ruled Min owns the build, with coordination. Sol's lane is unchanged — transport, executor, conformance, observability.
3–4 — two owners named for two unowned items
| Item | Was | Now |
|---|---|---|
| Cost of a stuck task | in no stage (Mira proposed it) | Mira — Stage 6 |
| A skill curator | in no stage (Mira proposed it) | Min — Stage 4 |
Both were "controls with no owner." They now have one.
5 — the gates are per-model, confirmed
Already recorded from the allowance work; Young confirms it. GLM/MiMo/Muse $60 · Qwen3.8 $30 · GPT-6/Claude-Haiku $15 · the free ones unlimited. The window rule is per model too: 5h 20% · weekly 50% · monthly 100% of that model's limit.
6 — .solos gets a Git remote
Stage 9.1's action is now named. The vault is the model — it has two:
origin https://github.com/youngframeworks/solos-vault.git
prod ubuntu@161.33.71.67:/home/ubuntu/.solos/docs/vault
⚠️ One caution before Stage 9.1 runs, from the vault's own rule: "a deletion
committed here propagates there." The vault's prod remote points at the
production host, which LAB rules put off-limits for Min. So the destination for
.solos needs a decision: a new GitHub repo, or a path under the existing one.
That is Stage 9's first open item, and it is not mine to pick.
Part 2 — D1–D5, re-verified individually
D1 — Where does the registry live? ✅ ANSWERED by the tree, not by a vote
The recommendation was "a declarative file", and the tree has already settled it.
Measured: /home/lab/.solos/cortex/registry/ contains agents.yaml,
README.md, PHASE0-STATUS.md — and no registry.py.
So the open question — "keep, absorb, or delete registry.py?" — is moot: it is
already gone from .solos. (V2's copy is referenced by two V2 tests,
tests/test_registry.py and tests/test_no_old_code.py, which is V2's business.)
Ruling: the declarative file. D1 is CLOSED.
D2 — Where do tasks live? ✅ recommendation stands, re-verified
Measured: V2's core/queue.py is 61,390 bytes and intact — atomic claim
with BEGIN IMMEDIATE, a sound state machine, separation-of-duties enforcement.
Ruling: cortex owns the contract; the database is the store. Relocating 61 KB of working code to satisfy a diagram is the trade the recommendation refuses. D2 is CLOSED on the recommendation.
D3 — How is a skill assigned? ⚠️ re-verified, and the registry does not yet support it
Measured: an agent record has capabilities but no skills field, and
the three planes are brain · heart · pulse.
So the recommendation — plane by default, per-agent override — is implementable, but the field does not exist yet. It is Stage 4.1's work ("declare plane/capability per skill").
Ruling: plane by default, with a per-agent override. D3 CLOSED, and it creates a concrete Stage 4 task: add the assignment field.
D4 — SDK migration: replace or run both? ✅ superseded by the SDK ruling, and re-verified
Measured: a2a-sdk is 1.2.2 on PyPI.
The earlier ruling made this simpler than D4 assumed. D4 was "replace the hand-rolled server, or run both and prove with the Inspector?" — but Young ruled we build on the official SDK, and Hermes' plugin becomes the reference, not a competitor. So there is no hand-rolled server to run alongside: the plugin is a yardstick we diff against, not a live peer.
Ruling: build on the SDK; prove with the Inspector; diff against the plugin.D4 CLOSED — and the "run both" half is retired with the plugin decision.
D5 — Stage 0/1 first? ✅ confirmed, and nothing has started
Measured: .solos has 0 .py files. Stage 0 has not begun.
Ruling: yes, immediately. D5 CLOSED.
Part 3 — D1–D5 status table
| # | Decision | Status | Note |
|---|---|---|---|
| D1 | registry is a declarative file | ✅ CLOSED | the tree already settled it — no registry.py exists |
| D2 | cortex owns the contract, DB is the store | ✅ CLOSED | core/queue.py intact at 61 KB |
| D3 | plane by default, per-agent override | ✅ CLOSED | creates Stage 4.1: the field does not exist yet |
| D4 | SDK migration | ✅ CLOSED | superseded — no hand-rolled server to run alongside |
| D5 | Stage 0/1 first | ✅ CLOSED | 0 .py files; nothing started |
All five closed. Nothing in D1–D5 remains open.
Part 4 — what is now open, and it is a shorter list
| Item | Owner |
|---|---|
Where .solos gets pushed — a new GitHub repo, or under the existing one? | Young |
| The backup cadence — and the acceptable data-loss window | Mira + Young |
| The retention classifier's home — does this task touch vault content? | Mira + Min |
| The MCP ruling — keep or defer, the one conflict not resolvable by evidence | Young |
spec/ — 18 MB untracked in solos2, one git clean from gone | Young |
| Does the V3 fleet use V2's ports? | Young |
Everything else has an owner and a stage.
Not established
- No ruling was acted on beyond the documents.
.solosstill has 0.pyfiles and 0 remotes — the rulings are recorded, not executed. - D1's
registry.pyabsence was measured in.solosonly. V2's copy still exists and two V2 tests reference it; that is V2's tree and V2's owner. - D3's assignment field does not exist — the ruling makes it Stage 4 work, and Stage 4 has not started.
- The
.solosremote destination is unresolved and needs Young's call.

