fix(wizard): resolve skills sync script path #690

Merged
jason.woltje merged 1 commits from fix/installer-skills-sync-path into next 2026-06-25 17:35:20 +00:00
Owner

Summary

  • resolve wizard finalize helper scripts from ~/.config/mosaic/tools/_scripts first
  • keep legacy ~/.config/mosaic/bin fallback for pre-migration installs
  • update skills finalize tests for fresh layout + legacy fallback
  • update framework README helper-script paths and capture B2 scratchpad

Refs #462

Verification

  • pnpm --filter @mosaicstack/mosaic test -- finalize-skills
  • pnpm typecheck
  • pnpm lint
  • pnpm format:check
  • pnpm build
  • pnpm test
  • fresh temp MOSAIC_HOME framework sync-only + fake selected skill install through tools/_scripts/mosaic-sync-skills
  • Codex code review: approve
  • Codex security review: no issues
## Summary - resolve wizard finalize helper scripts from ~/.config/mosaic/tools/_scripts first - keep legacy ~/.config/mosaic/bin fallback for pre-migration installs - update skills finalize tests for fresh layout + legacy fallback - update framework README helper-script paths and capture B2 scratchpad Refs #462 ## Verification - pnpm --filter @mosaicstack/mosaic test -- finalize-skills - pnpm typecheck - pnpm lint - pnpm format:check - pnpm build - pnpm test - fresh temp MOSAIC_HOME framework sync-only + fake selected skill install through tools/_scripts/mosaic-sync-skills - Codex code review: approve - Codex security review: no issues
jason.woltje added 1 commit 2026-06-25 16:59:13 +00:00
fix(wizard): resolve skills sync script path
Some checks failed
ci/woodpecker/push/ci Pipeline was canceled
ci/woodpecker/pr/ci Pipeline was successful
19c84feb7c
Author
Owner

REVIEW-OF-RECORD — APPROVE (#690, head 19c84feb7c). I reviewed the fresh-install skills sync path fix and found no blockers.

Path resolution: finalize.ts now resolves framework helper scripts through tools/_scripts/<name> first, then falls back to legacy bin/<name> only when the current-layout script is absent. The helper is used for all finalize helper-script call sites in this file: mosaic-link-runtime-assets, mosaic-sync-skills, and mosaic-doctor. Missing-script errors point at the current tools/_scripts layout, which matches the framework installer.

Fresh install / legacy behavior: the updated skills tests cover the fresh tools/_scripts/mosaic-sync-skills path and the legacy bin/mosaic-sync-skills fallback. I also ran a temp MOSAIC_HOME framework sync-only install and verified the fresh layout has tools/_scripts/mosaic-sync-skills, no legacy bin/mosaic-sync-skills, and the script installs a selected fake lint skill into the runtime skill directory while not linking an unselected skill. Legacy fallback remains intact by construction and test coverage.

Scope/docs: the diff is limited to finalize path resolution, its skills tests, framework README helper paths, and a scratchpad. No unrelated installer/wizard/provider setup changes leaked in.

Reviewer verification on head 19c84feb: pnpm --filter @mosaicstack/mosaic test -- finalize-skills pass (6/6); pnpm --filter @mosaicstack/mosaic test pass (626/626); mosaic typecheck pass; mosaic lint pass; repo format:check pass; repo build pass (23/23); fresh temp framework sync + selected skill install smoke pass. PR CI reported green on pipeline 1641. APPROVE.

REVIEW-OF-RECORD — APPROVE (#690, head 19c84feb7cb0d2adc8973cabf03ef4d195f2bc3c). I reviewed the fresh-install skills sync path fix and found no blockers. Path resolution: `finalize.ts` now resolves framework helper scripts through `tools/_scripts/<name>` first, then falls back to legacy `bin/<name>` only when the current-layout script is absent. The helper is used for all finalize helper-script call sites in this file: `mosaic-link-runtime-assets`, `mosaic-sync-skills`, and `mosaic-doctor`. Missing-script errors point at the current `tools/_scripts` layout, which matches the framework installer. Fresh install / legacy behavior: the updated skills tests cover the fresh `tools/_scripts/mosaic-sync-skills` path and the legacy `bin/mosaic-sync-skills` fallback. I also ran a temp `MOSAIC_HOME` framework sync-only install and verified the fresh layout has `tools/_scripts/mosaic-sync-skills`, no legacy `bin/mosaic-sync-skills`, and the script installs a selected fake `lint` skill into the runtime skill directory while not linking an unselected skill. Legacy fallback remains intact by construction and test coverage. Scope/docs: the diff is limited to finalize path resolution, its skills tests, framework README helper paths, and a scratchpad. No unrelated installer/wizard/provider setup changes leaked in. Reviewer verification on head 19c84feb: `pnpm --filter @mosaicstack/mosaic test -- finalize-skills` pass (6/6); `pnpm --filter @mosaicstack/mosaic test` pass (626/626); mosaic typecheck pass; mosaic lint pass; repo format:check pass; repo build pass (23/23); fresh temp framework sync + selected skill install smoke pass. PR CI reported green on pipeline 1641. APPROVE.
Author
Owner

REVIEW-OF-RECORD — APPROVE

Independent review (reviewer ≠ author). Blocker B2 (greenfield wizard: "Skills sync script not found at ~/.config/mosaic/bin/mosaic-sync-skills" → "Skills: install failed").

Root cause/fix: framework migration moved helper scripts bin/tools/_scripts/, but finalize.ts still resolved mosaicHome/bin. Fix resolves tools/_scripts/<name> first with a legacy bin/<name> fallback for pre-migration installs; missing-script warning points at the current layout; README examples updated.

Tests: finalize-skills spec updated to current layout + new fallback-path test. Fresh-install verification documented (temp MOSAIC_HOME, MOSAIC_SYNC_ONLY=1).

CI: PR-event pipeline 1641 fully green (ci-postgres, typecheck, lint, format, test all success).

Approving for squash-merge to next.

REVIEW-OF-RECORD — APPROVE Independent review (reviewer ≠ author). Blocker **B2** (greenfield wizard: "Skills sync script not found at ~/.config/mosaic/bin/mosaic-sync-skills" → "Skills: install failed"). **Root cause/fix:** framework migration moved helper scripts `bin/` → `tools/_scripts/`, but `finalize.ts` still resolved `mosaicHome/bin`. Fix resolves `tools/_scripts/<name>` first with a legacy `bin/<name>` fallback for pre-migration installs; missing-script warning points at the current layout; README examples updated. **Tests:** finalize-skills spec updated to current layout + new fallback-path test. Fresh-install verification documented (temp MOSAIC_HOME, MOSAIC_SYNC_ONLY=1). **CI:** PR-event pipeline 1641 fully green (ci-postgres, typecheck, lint, format, test all success). Approving for squash-merge to `next`.
jason.woltje merged commit 0883fb91ec into next 2026-06-25 17:35:20 +00:00
jason.woltje deleted branch fix/installer-skills-sync-path 2026-06-25 17:35:21 +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#690