Compare commits
base: mosaicstack:main
mosaicstack:main
mosaicstack:plan/tmux-fleet-durable-install
mosaicstack:fix/pi-skill-args-all-discover
mosaicstack:feat/pi-mosaic-tools-skill
mosaicstack:feat/tools-cheatsheet-salience
mosaicstack:fix/tooling-eval-injection-jq-json
mosaicstack:feat/agent-send-class
mosaicstack:fix/wrapper-hardening-tls-credpath-cicwait
mosaicstack:docs/framework-agency-patterns
mosaicstack:feat/framework-constitution-alpha
mosaicstack:feat/us007-agent-registration
mosaicstack:docs/merge-authority-rule
mosaicstack:feat/mosaic-as-provisioning
mosaicstack:fix/pr-ci-wait-stdin-collision
mosaicstack:fix/t_301e4e3b-pr-merge-gitea-empty-uid
mosaicstack:ci/publish-appservice-image
mosaicstack:feat/mosaic-as-daemon
mosaicstack:feat/mosaic-as-m4a
mosaicstack:fix/pi-token-lean-skills
mosaicstack:fix/git-wrapper-rollup-20260526
mosaicstack:fix/git-wrapper-repo-detection
mosaicstack:fix/woodpecker-wrapper-legacy-mosaic
mosaicstack:fix/t-a292e96f-gitea-pr-metadata
mosaicstack:fix/gitea-pr-metadata-login-t-a292e96f
mosaicstack:fix/t_a292e96f-pr-metadata-gitea
mosaicstack:fix/t_3a368a52-gitea-usc-login
mosaicstack:fix/bootstrap-hotfix
mosaicstack:fix/populate-known-packages-list
mosaicstack:fix/idempotent-init
mosaicstack:mosaic-v0.0.31
mosaicstack:fed-v0.2.0-m2
mosaicstack:fed-v0.1.0-m1
mosaicstack:mosaic-v0.0.29
mosaicstack:mosaic-v0.0.28
mosaicstack:mosaic-v0.0.27
mosaicstack:mosaic-v0.0.26
mosaicstack:mosaic-v0.0.25
mosaicstack:mosaic-v0.0.24
mosaicstack:v0.2.0
mosaicstack:v0.1.0
mosaicstack:v0.0.8
mosaicstack:v0.0.7
mosaicstack:v0.0.6
mosaicstack:v0.0.5
mosaicstack:v0.0.4
..
compare: mosaicstack:fix/pi-skill-args-all-discover
mosaicstack:plan/tmux-fleet-durable-install
mosaicstack:main
mosaicstack:fix/pi-skill-args-all-discover
mosaicstack:feat/pi-mosaic-tools-skill
mosaicstack:feat/tools-cheatsheet-salience
mosaicstack:fix/tooling-eval-injection-jq-json
mosaicstack:feat/agent-send-class
mosaicstack:fix/wrapper-hardening-tls-credpath-cicwait
mosaicstack:docs/framework-agency-patterns
mosaicstack:feat/framework-constitution-alpha
mosaicstack:feat/us007-agent-registration
mosaicstack:docs/merge-authority-rule
mosaicstack:feat/mosaic-as-provisioning
mosaicstack:fix/pr-ci-wait-stdin-collision
mosaicstack:fix/t_301e4e3b-pr-merge-gitea-empty-uid
mosaicstack:ci/publish-appservice-image
mosaicstack:feat/mosaic-as-daemon
mosaicstack:feat/mosaic-as-m4a
mosaicstack:fix/pi-token-lean-skills
mosaicstack:fix/git-wrapper-rollup-20260526
mosaicstack:fix/git-wrapper-repo-detection
mosaicstack:fix/woodpecker-wrapper-legacy-mosaic
mosaicstack:fix/t-a292e96f-gitea-pr-metadata
mosaicstack:fix/gitea-pr-metadata-login-t-a292e96f
mosaicstack:fix/t_a292e96f-pr-metadata-gitea
mosaicstack:fix/t_3a368a52-gitea-usc-login
mosaicstack:fix/bootstrap-hotfix
mosaicstack:fix/populate-known-packages-list
mosaicstack:fix/idempotent-init
mosaicstack:mosaic-v0.0.31
mosaicstack:fed-v0.2.0-m2
mosaicstack:fed-v0.1.0-m1
mosaicstack:mosaic-v0.0.29
mosaicstack:mosaic-v0.0.28
mosaicstack:mosaic-v0.0.27
mosaicstack:mosaic-v0.0.26
mosaicstack:mosaic-v0.0.25
mosaicstack:mosaic-v0.0.24
mosaicstack:v0.2.0
mosaicstack:v0.1.0
mosaicstack:v0.0.8
mosaicstack:v0.0.7
mosaicstack:v0.0.6
mosaicstack:v0.0.5
mosaicstack:v0.0.4
1 Commits
main
...
fix/pi-ski
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
fa0d2f64de |
fix(launch): include Pi native skill roots in 'all' mode; dedup 'discover' force-loads
Fast-follow for the two code-review findings on #555. Finding 1 — `all` mode dropped Pi's native skill roots. `mosaic` passes `--no-skills`, which suppresses Pi's own auto-discovery, so the `all` catalog must re-enumerate the native roots (`~/.pi/agent/skills/` and `<cwd>/.pi/skills/`) explicitly or skills living only there vanish. `discoverPiSkills` now scans those roots too. Also fixes a latent bug: the old enumerator skipped symlinked entries (`!isDirectory()`), but synced fleet skills land as symlinks — they were being dropped. Finding 2 — `discover` mode (which keeps native discovery ON) force-loaded fleet skills unconditionally, double-registering any skill Pi already finds natively. It now filters force-loads against the native-root realpath set. Implementation: realpath-based dedup throughout. New `skillRealPath`, `piNativeSkillRoots`, `enumerateSkillDirs` (accepts dirs + symlinks, dedup by realpath), `piNativeSkillRealPaths`. `mergeSkillArgs` dedups by realpath. `buildPiSkillArgs` gains an injectable 5th param for deterministic tests. Tests: discover-mode native-filter + intra-set dedup cases, plus real-FS coverage of `enumerateSkillDirs` (symlink acceptance, cross-root realpath dedup, SKILL.md gating). 308 pass; typecheck/lint/prettier green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoYiBeKNh3BiYtAJS5Z587 |