Skip to content

feat: zero-footprint dynamic skill routing and ephemeral mounts - #84

Merged
jon-devlapaz merged 3 commits into
mainfrom
feature/zero-footprint-skills
Sep 25, 2026
Merged

jon-devlapaz merged 3 commits into
mainfrom
feature/zero-footprint-skills

Conversation

@jon-devlapaz

Copy link
Copy Markdown
Owner

Summary

This PR introduces zero-footprint project initialization and ephemeral skill mounting, eliminating the need to physically store and commit .agents/skills/ within application repositories.

Changes

  • tink init --zero-footprint: Scaffolds .tink/, .tink/.gitignore (ignoring .active/, cache/, and ephemeral.*), and AGENTS.md without creating .agents/skills/.
  • tink mount <skill>: Ephemerally symlinks a library skill from ~/.tink-library/skills/<skill> into .tink/.active/<skill> using atomic rename(2) staging.
  • tink unmount <skill>: Safely cleans ephemeral links without touching project files.
  • Security & Integrity:
    • Enforces canonical library boundary checks via paths::canonicalize_beneath to prevent traversal outside ~/.tink-library/skills/.
    • Refuses to overwrite regular non-symlink directories to prevent accidental data loss.
    • Enforces clap flag conflict rules between --zero-footprint and bundled skill options.

Verification & Quality Audits

  • AI-Native SDLC Pipeline: Completed formal 4-stage SDLC run (runs/zero-footprint-skills/) with locked verification receipts.
  • Thermo-Nuclear Review: Audited by meta/muse-spark-1.3-contributor in Herdr; eliminated hand-rolled traversals, separated I/O from domain logic, and added fail-safe directory refusal.
  • Blinded Dogfooding Trial (pi-pstack Eval Playbook): Scored 36/40 (vs 21/40 for static skills) on prompt prefix preservation, git hygiene, and execution depth.
  • Test Suite: 328/328 tests passing (114 unit, 208 acceptance, 1 traceability, 5 workflow contract), 0 clippy warnings.

- Add `--zero-footprint` flag to `tink init` to scaffold `.tink/` and `AGENTS.md` without `.agents/skills/`
- Add atomic `tink mount <skill>` and safe `tink unmount <skill>` commands targeting `.tink/.active/`
- Enforce canonical library boundary check via `paths::canonicalize_beneath`
- Refuse non-symlink directories on mount/unmount to prevent accidental data loss
- Enforce clap flag conflicts between zero-footprint and bundled skill options
- Add 4 pinning acceptance tests covering zero-footprint init, mount, traversal rejection, and directory safety
- Record complete AI-Native SDLC verification evidence and candidate receipt
@jon-devlapaz
jon-devlapaz merged commit 1c0ce23 into main Sep 25, 2026
6 checks passed
@jon-devlapaz
jon-devlapaz deleted the feature/zero-footprint-skills branch September 25, 2026 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant