test(fleet): validate shipped artifact dispositions #770

Merged
jason.woltje merged 1 commits from test/758-example-profile-dispositions into main 2026-07-15 01:37:13 +00:00
Owner

Summary

  • add an executable disposition guard for every shipped fleet example, profile, and service preset
  • retain legacy examples as explicitly validated v1 fixtures and validate profiles through the shared resolver
  • document the per-artifact disposition evidence and retirement rule

Verification

  • pnpm --filter @mosaicstack/mosaic test (51 files, 742 tests)
  • pnpm --filter @mosaicstack/mosaic typecheck
  • pnpm --filter @mosaicstack/mosaic lint
  • pnpm format:check
  • git diff --check
  • independent code review approved; security review found no issues

Refs #758

## Summary - add an executable disposition guard for every shipped fleet example, profile, and service preset - retain legacy examples as explicitly validated v1 fixtures and validate profiles through the shared resolver - document the per-artifact disposition evidence and retirement rule ## Verification - `pnpm --filter @mosaicstack/mosaic test` (51 files, 742 tests) - `pnpm --filter @mosaicstack/mosaic typecheck` - `pnpm --filter @mosaicstack/mosaic lint` - `pnpm format:check` - `git diff --check` - independent code review approved; security review found no issues Refs #758
jason.woltje added 1 commit 2026-07-15 01:18:04 +00:00
test(fleet): validate shipped artifact dispositions
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
9a9ad1aa93
jason.woltje force-pushed test/758-example-profile-dispositions from 9a9ad1aa93 to dcb3f5a2ca 2026-07-15 01:24:53 +00:00 Compare
Author
Owner

REQUEST CHANGES — reviewer-of-record head 9a9ad1aa93

I cannot issue reviewer-of-record approval for the assigned frozen head because the PR head moved after review/CI verification.

Reproducible finding:

git -C /home/jarvis/src/mosaic-mono-v1 rev-parse refs/review/pr-770
# 9a9ad1aa93ef18c58682244ceb0c12a6f987fd52

git -C /home/jarvis/src/mosaic-mono-v1 ls-remote origin refs/pull/770/head
# dcb3f5a2ca8afe4072ddc115915af656fb076655  refs/pull/770/head

The completed review evidence applies only to 9a9ad1aa93ef18c58682244ceb0c12a6f987fd52; Woodpecker pipeline 1823 is green for that old commit, but the live PR is now dcb3f5a2ca8afe4072ddc115915af656fb076655 with pipeline 1824 running. Exact-head RoR cannot attest to an unreviewed moved head.

For transparency, no code/content blockers were found on the superseded 9a9ad1aa... review pass: the shipped fleet examples/profiles/service preset were exhaustively declared, focused/full package tests passed locally, typecheck/lint/format/diff-check passed, and CI 1823 was green. A fresh RoR pass is required at the current head.

REQUEST CHANGES — reviewer-of-record head 9a9ad1aa93ef18c58682244ceb0c12a6f987fd52 I cannot issue reviewer-of-record approval for the assigned frozen head because the PR head moved after review/CI verification. Reproducible finding: ```bash git -C /home/jarvis/src/mosaic-mono-v1 rev-parse refs/review/pr-770 # 9a9ad1aa93ef18c58682244ceb0c12a6f987fd52 git -C /home/jarvis/src/mosaic-mono-v1 ls-remote origin refs/pull/770/head # dcb3f5a2ca8afe4072ddc115915af656fb076655 refs/pull/770/head ``` The completed review evidence applies only to `9a9ad1aa93ef18c58682244ceb0c12a6f987fd52`; Woodpecker pipeline `1823` is green for that old commit, but the live PR is now `dcb3f5a2ca8afe4072ddc115915af656fb076655` with pipeline `1824` running. Exact-head RoR cannot attest to an unreviewed moved head. For transparency, no code/content blockers were found on the superseded `9a9ad1aa...` review pass: the shipped fleet examples/profiles/service preset were exhaustively declared, focused/full package tests passed locally, typecheck/lint/format/diff-check passed, and CI 1823 was green. A fresh RoR pass is required at the current head.
Author
Owner

VERIFIED APPROVE — reviewer-of-record head dcb3f5a2ca

Independent RoR approval for PR #770 / FCM-M1-003 at exact remote head dcb3f5a2ca8afe4072ddc115915af656fb076655.

Evidence:

  • Exact head verified immediately before posting: local refs/review/pr-770 and remote refs/pull/770/head both resolve to dcb3f5a2ca8afe4072ddc115915af656fb076655; merge-base with origin/main is a5e8e554012f27898e035d2882a8e47e1a02fe97.
  • Full origin/main...head scope is the expected five files: M0 inventory doc update, new disposition evidence doc, scratchpad, and packages/mosaic/src/fleet/example-profile-dispositions.{ts,spec.ts}.
  • Superseding delta from prior reviewed 9a9ad1aa93ef18c58682244ceb0c12a6f987fd52 is exactly one insertion in docs/scratchpads/758-fcm-m1-003-example-profile-dispositions.md, recording delivery evidence/PR #770/CI #1823; no code or executable validation changed.
  • CI: Woodpecker pipeline 1824 for commit dcb3f5a2ca8a is terminal green: ci-postgres, install, sanitization, typecheck, lint, format, and test all OK.
  • Local gates from the reviewed code line passed on the superseded code-equivalent commit and remain applicable because only a scratchpad line changed: focused disposition test 4/4, full @mosaicstack/mosaic suite 51 files / 742 tests, package typecheck, package lint, Prettier, and git diff --check. I also reran git diff --check against the current exact head.
  • Exhaustiveness: shipped fleet YAML artifacts under examples/, profiles/, and services/ match the declared disposition set exactly.
  • Correctness: examples are explicit version: 1 fixtures through the existing v1 roster parser; profiles validate through loadProfiles / shared baseline-plus-roles.local resolver; service preset validates through the canonical service-policy reader/provisioner with generic supplied identity.
  • Fail-closed coverage: undeclared shipped artifact and missing explicit v1 version are negative-tested; added/removed YAML assets fail until disposition is declared.
  • Scope/safety: no generated-env/M2, CRUD, reconcile/apply, migration, live-fleet mutation, remote/connector/secret/channel/gateway implementation, or hardcoded Tess/Ultron identity was introduced.

No edits, pushes, merges, or deployment actions performed.

VERIFIED APPROVE — reviewer-of-record head dcb3f5a2ca8afe4072ddc115915af656fb076655 Independent RoR approval for PR #770 / FCM-M1-003 at exact remote head `dcb3f5a2ca8afe4072ddc115915af656fb076655`. Evidence: - Exact head verified immediately before posting: local `refs/review/pr-770` and remote `refs/pull/770/head` both resolve to `dcb3f5a2ca8afe4072ddc115915af656fb076655`; merge-base with `origin/main` is `a5e8e554012f27898e035d2882a8e47e1a02fe97`. - Full `origin/main...head` scope is the expected five files: M0 inventory doc update, new disposition evidence doc, scratchpad, and `packages/mosaic/src/fleet/example-profile-dispositions.{ts,spec.ts}`. - Superseding delta from prior reviewed `9a9ad1aa93ef18c58682244ceb0c12a6f987fd52` is exactly one insertion in `docs/scratchpads/758-fcm-m1-003-example-profile-dispositions.md`, recording delivery evidence/PR #770/CI #1823; no code or executable validation changed. - CI: Woodpecker pipeline `1824` for commit `dcb3f5a2ca8a` is terminal green: `ci-postgres`, `install`, `sanitization`, `typecheck`, `lint`, `format`, and `test` all OK. - Local gates from the reviewed code line passed on the superseded code-equivalent commit and remain applicable because only a scratchpad line changed: focused disposition test 4/4, full `@mosaicstack/mosaic` suite 51 files / 742 tests, package typecheck, package lint, Prettier, and `git diff --check`. I also reran `git diff --check` against the current exact head. - Exhaustiveness: shipped fleet YAML artifacts under `examples/`, `profiles/`, and `services/` match the declared disposition set exactly. - Correctness: examples are explicit `version: 1` fixtures through the existing v1 roster parser; profiles validate through `loadProfiles` / shared baseline-plus-`roles.local` resolver; service preset validates through the canonical service-policy reader/provisioner with generic supplied identity. - Fail-closed coverage: undeclared shipped artifact and missing explicit v1 version are negative-tested; added/removed YAML assets fail until disposition is declared. - Scope/safety: no generated-env/M2, CRUD, reconcile/apply, migration, live-fleet mutation, remote/connector/secret/channel/gateway implementation, or hardcoded Tess/Ultron identity was introduced. No edits, pushes, merges, or deployment actions performed.
jason.woltje merged commit e9c4aa3e8b into main 2026-07-15 01:37:13 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#770