This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# #1264 Unattended Fleet First-Start Verification
|
||||
|
||||
> Status: **IN PROGRESS — review remediation complete locally; push/re-review pending** | Executor:
|
||||
> goals | Date: 2026-08-16 | Target: isolated local fixtures only
|
||||
> Status: **IN PROGRESS — review-169 remediation complete locally; push/re-review pending** |
|
||||
> Executor: goals | Date: 2026-08-16 | Target: isolated local fixtures only
|
||||
|
||||
## Objective
|
||||
|
||||
@@ -44,7 +44,7 @@ executables.
|
||||
| ---------------------------------------------------------------------- | --------------------------------------------------------------- | ----------------------------- |
|
||||
| No-TTY fleet first start avoids wizard and reaches runtime | Exact-source built CLI with piped stdin | CLI GREEN |
|
||||
| Missing top-level identity files are initialized from shipped defaults | Exact-byte and `0600` assertions | CLI + filesystem GREEN |
|
||||
| Exact seat identity remains roster-owned | Captured argv; name/class mismatch no-side-effect refusals | CLI GREEN |
|
||||
| Exact seat identity remains roster-owned | Captured argv; mismatched/blank class no-side-effect refusals | CLI GREEN |
|
||||
| Existing operator identity is never overwritten | Custom bytes/mode with defaults removed | CLI + filesystem GREEN |
|
||||
| Concurrent/repeated first start is safe | Four parallel CLIs plus repeated launch | CLI GREEN |
|
||||
| Missing/unsafe defaults and destinations fail before partial mutation | Missing, target/dangling symlink, oversized, invalid-root cases | Filesystem/CLI GREEN |
|
||||
@@ -85,7 +85,18 @@ passed:
|
||||
3. dangling `USER.md` allowed `SOUL.md` to be published before refusal; and
|
||||
4. replacing a securely validated `USER.md` with an external symlink was followed by composition.
|
||||
|
||||
This establishes that all four reviewer findings were observable on the pushed implementation.
|
||||
This establishes that all four review-168 findings were observable on the pushed implementation.
|
||||
|
||||
Daphne's review ID 169 then found two more exact-head failures at `9dc90be7`. Before production
|
||||
changes, four new assertions failed:
|
||||
|
||||
1. standalone composition routed an unreadable optional `USER.md` through the Linux-only descriptor
|
||||
reader instead of the legacy portable tolerant path; and
|
||||
2. explicit `MOSAIC_AGENT_CLASS` values `""`, `" "`, and tab were treated as absent, seeded both
|
||||
identity files, and reached runtime.
|
||||
|
||||
The replacement-symlink case was also moved under a valid roster identity so it tests the fleet-only
|
||||
security boundary rather than standalone behavior.
|
||||
|
||||
## Final GREEN
|
||||
|
||||
@@ -105,16 +116,17 @@ env -u DATABASE_URL sh -c '
|
||||
'
|
||||
```
|
||||
|
||||
Exit `0`: `6/6` files, `124/124` tests.
|
||||
Exit `0`: `6/6` files, `128/128` tests.
|
||||
|
||||
- 12 real-CLI/no-TTY tests cover exact roster name/class, byte-equal `0600` seeds, no-clobber,
|
||||
partial seed, missing/symlink defaults, unknown/padded/blank name, mismatched class, standalone
|
||||
wizard preservation, and four concurrent starts.
|
||||
- 15 real-CLI/no-TTY tests cover exact roster name/class, byte-equal `0600` seeds, no-clobber,
|
||||
partial seed, missing/symlink defaults, unknown/padded/blank name, mismatched or explicitly blank
|
||||
class, standalone wizard preservation, and four concurrent starts.
|
||||
- 12 direct filesystem tests cover complete publication, existing operators, idempotence, source
|
||||
prevalidation, target and dangling destination links, invalid roots, oversized input, and
|
||||
unexpected link errors.
|
||||
- Composition coverage deterministically replaces validated `USER.md` with an external symlink and
|
||||
requires refusal at point of use.
|
||||
- Composition coverage deterministically replaces a valid fleet seat's validated `USER.md` with an
|
||||
external symlink and requires refusal at point of use. A separate standalone case proves tolerant
|
||||
optional composition remains outside the Linux-only fleet reader.
|
||||
|
||||
Full package gate (which rebuilds Mosaic itself after the clean-checkout dependency build):
|
||||
|
||||
@@ -122,13 +134,13 @@ Full package gate (which rebuilds Mosaic itself after the clean-checkout depende
|
||||
env -u DATABASE_URL pnpm --filter @mosaicstack/mosaic run test:vitest
|
||||
```
|
||||
|
||||
Exit `0`: `88/88` files, `1,573/1,573` tests.
|
||||
Exit `0`: `88/88` files, `1,577/1,577` tests.
|
||||
|
||||
Focused helper + point-of-use coverage:
|
||||
|
||||
```text
|
||||
2 files, 52/52 tests
|
||||
Statements 97.97% | Branches 88% | Functions 100% | Lines 97.97%
|
||||
2 files, 53/53 tests
|
||||
Statements 97.84% | Branches 91.66% | Functions 100% | Lines 97.84%
|
||||
Exit 0
|
||||
```
|
||||
|
||||
@@ -164,9 +176,14 @@ because this checkout prohibits the PostgreSQL-dependent gateway isolation path.
|
||||
- Codex security review of the remediation: risk `none`, confidence `0.93`, 9 files, no findings.
|
||||
Its sandbox could not execute Vitest because Vite attempted a write on a read-only mount; the
|
||||
executor-owned results above are the test evidence.
|
||||
- Daphne formal review ID 168 at exact head `43fa0477`: `REQUEST_CHANGES`, four blocking groups. All
|
||||
four have red-first regressions and local green remediation. Re-review of the next pushed exact
|
||||
head is necessarily pending until that head exists.
|
||||
- Daphne formal review ID 168 at exact head `43fa0477`: `REQUEST_CHANGES`, four blocking groups; all
|
||||
closed by review 169.
|
||||
- Daphne formal review ID 169 at exact head `9dc90be7`: `REQUEST_CHANGES`, two blocking groups
|
||||
(standalone portability and explicit blank class). Both now have red-first regressions and local
|
||||
green remediation.
|
||||
- Codex review of review-169 remediation: `approve`, confidence `0.90`, 4 files, no findings.
|
||||
- Codex security review of review-169 remediation: risk `none`, confidence `0.90`, 4 files, no
|
||||
findings. Exact-new-head Daphne re-review is pending until that head is pushed.
|
||||
|
||||
## CI evidence and external blocker
|
||||
|
||||
@@ -183,7 +200,9 @@ FAIL: host provides 'pi' in the system path; missing-binary cases are not measur
|
||||
That line comes from the inherited `test-start-agent-session.sh` CI-fit guard, not #1264. Fred filed
|
||||
the correction as PR #1270. Its pipeline 2448 is terminal green and proves the four formerly masked
|
||||
suites execute, but #1270 is not merged, so `next` still carries the failing chain. A new #1268
|
||||
pipeline is pending the remediation push. Terminal-green #1268 CI is not claimed.
|
||||
pipeline 2449 at `9dc90be7` reproduced the same single inherited `FAIL:` after Mosaic passed
|
||||
`1,573/1,573`. A new pipeline is pending the review-169 remediation push. Terminal-green #1268 CI is
|
||||
not claimed.
|
||||
|
||||
PR #1268's envelope was read back as `user.login=mos-dt-0`; its commit is explicitly authored and
|
||||
committed by `goals <[email protected]>`. No goals Gitea login exists on this host, and no
|
||||
|
||||
Reference in New Issue
Block a user