fix(#1264): harden unattended identity bootstrap
ci/woodpecker/pr/ci Pipeline failed

This commit is contained in:
goals
2026-08-16 18:33:39 -05:00
parent 43fa047787
commit 9dc90be7e1
14 changed files with 448 additions and 288 deletions
@@ -11,7 +11,8 @@ stop at the interactive identity wizard.
When `MOSAIC_AGENT_NAME` names an exact member of the installed fleet roster and top-level identity
contracts are absent, the launcher:
1. validates the exact roster member and installed fleet communications helper;
1. validates the exact roster member, its canonical class, and the installed fleet communications
helper;
2. reads the shipped generic contracts from
`~/.config/mosaic/defaults/SOUL.md` and `defaults/USER.md`;
3. creates only the missing top-level `SOUL.md` and `USER.md` as owner-private files;
@@ -37,9 +38,10 @@ A roster-owned seat may be started without attaching to its pane:
mosaic fleet start <exact-roster-name>
```
Mosaic refuses before runtime execution if the requested member is absent, a required default is
missing or unsafe, or an existing identity contract is not a safe regular file. Repair the named
path and retry the same exact roster member; do not copy another seat's personalized identity.
Mosaic refuses before runtime execution if the requested member is absent, its ambient class
conflicts with the roster, a required default is missing or unsafe, or an existing identity contract
is not a safe regular file. Repair the named component and retry the same exact roster member; do not
copy another seat's personalized identity.
## Separate prerequisites