greenfield(fomo-lin): session 5 — ~/.mosaic prototype replicates on second host; two new gap-bites
Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
@@ -230,3 +230,35 @@ Claude Code v2.1.226 / sonnet under Node 22.**
|
||||
Net: next cures nothing in F1–F10 (they're all pre-W-F structural issues), carries the
|
||||
gateway fix, and adds one hard regression-class gap (N1 node floor). The W-F gap list
|
||||
stands unchanged as the fix vehicle.
|
||||
|
||||
## Session 5 (2026-08-08 night) — `~/.mosaic` prototype hand-roll (second-host cross-check)
|
||||
|
||||
Hand-rolled per HARNESS-HOMES prototype section, on the next-lane framework: skeleton
|
||||
(config/claude `{}`, auth/claude/jason_woltje.com with `primary` alias, empty plugins/skills
|
||||
stores), probe seat (profile.json schema 1, overlay `{}`, composed settings via three-layer
|
||||
deep-merge, credentials two-hop symlink, identity-bootstrap CLAUDE.md, seeded onboarding
|
||||
.claude.json, SOUL.md with positive Identity block).
|
||||
|
||||
**Smoke test PASS** (`CLAUDE_CONFIG_DIR=<probe> claude --print`): RC=0, auth through the
|
||||
two-hop chain, seat self-identified as "probe". Post-run: both symlinks survived, live
|
||||
credential inode unchanged, transcript in probe's own projects/, probe generated its own
|
||||
backups/sessions, operator ~/.claude untouched. **dragon-lin's results replicate on a
|
||||
clean second host — the layout stands up greenfield.**
|
||||
|
||||
### Gap-bites during the roll (feed to W-F)
|
||||
|
||||
- **Base-template hole (F4/gap-5 adjacent, NEW):** the design's composition base
|
||||
`~/.config/mosaic/framework/runtime/claude/settings.json` does NOT exist in the shipped
|
||||
framework; the closest shipped artifact (`runtime/claude/settings.json`) is the GATED
|
||||
wedge template. Used the operator's vetted ungated settings as base (as dragon-lin did).
|
||||
W-F1 must define + ship the canonical UNGATED system base; gate hooks arrive only via
|
||||
promotion overlay.
|
||||
- **Identity bootstrap vs permissions (NEW):** in `--print`/restricted mode the seat was
|
||||
DENIED reading SOUL.md outside cwd — "read SOUL.md" bootstrap depends on tool
|
||||
permissions. Generator should materialize the identity INTO the generated CLAUDE.md
|
||||
(parameterized), keeping SOUL.md as source, not runtime dependency.
|
||||
- **Gap 2 lived experience:** probe exists in profile.json but not roster.yaml — the
|
||||
hand-rolled seat and `mosaic claude` are disjoint universes on the same host.
|
||||
- **Gap 4 in miniature:** fresh-host store is empty; nothing defines what seeds it.
|
||||
- **Lease posture:** hand-rolled seats launch bare `claude` → ungated by construction
|
||||
until `mosaic fleet launch` exists (consistent with current bare-for-real-work rule).
|
||||
|
||||
Reference in New Issue
Block a user