Skip to content

Add @archive; planify-german installs diagram-design from a pinned archive - #155

Merged
trick77 merged 3 commits into
masterfrom
worktree-archive-directive
Oct 26, 2026
Merged

trick77 merged 3 commits into
masterfrom
worktree-archive-directive

Conversation

@trick77

@trick77 trick77 commented Oct 26, 2026

Copy link
Copy Markdown
Owner

skill-diagram-design needed a hand-made clone, so it was usually missing and planify silently dropped every diagram.

  • @archive: URL -> dir sha256=hex [subdir=path]: downloads a .tar.gz, verifies sha256, unpacks into the cache via a built-in tar reader (no new dependency, no tar binary). Links, devices, .. and absolute paths refuse the whole archive; temp dir + rename; marker file for cache hits.
  • skill-diagram-design 1.0.0: archive of commit 10cfad6, skills/ only, to {{cache}}/diagram-design-skills-1.0.0. No prompt. Tarball hash identical from github.com and codeload, unpacked tree identical to a git clone.
  • New pin source kind github-branch (repo without tags): check-pins compares the pinned SHA with the branch head.
  • planify-german 1.0.2 includes skill-diagram-design.

Existing 0.3.x installs keep their clone entry in skills.paths (prompted paths are plain append); description and README say to delete it.

Follow-up once trick77/opencode-planify-german#21 is merged: bump skill-planify-german and instructions-planify-german to that commit.

…chive

skill-diagram-design needed a hand-made clone, so it was usually missing and
planify silently dropped every diagram. @archive downloads a .tar.gz,
verifies sha256 and unpacks it (optionally one subdir) into the cache with a
built-in tar reader that refuses links, devices and escaping paths.
skill-diagram-design 1.0.0 uses it at commit 10cfad6 (skills/ only, 287
files), pinned via a new github-branch pin source; the planify-german bundle
now includes it.
Hash the tar after gunzip instead of the download: survives a GitHub
recompression and is reproducible with git archive from any clone. Branch
pins only go BEHIND when a commit touching the installed path is missing,
not on every upstream release chore. Normalize a trailing slash on dest,
key the cache marker on hash + subdir, read the ustar prefix only for POSIX
headers, keep tar data as views. Bundle description says remove takes
diagram-design along; migration note moved from description to README.
Eager diagram rules, missing diagram-design reported in chat, export via
export_svg.py into docs/plans/. Plugin pin stays 1.0.1: no plugin code changed.
@trick77
trick77 merged commit 7f10a86 into master Oct 26, 2026
3 checks passed
@trick77
trick77 deleted the worktree-archive-directive branch October 26, 2026 06:28
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