Releases: larstonder/whippletree
Releases · larstonder/whippletree
Release list
v0.1.0
Changelog
- 0376de2 Lead the README with what the tool does, and capitalize the name in the docs
- 8bdc1db Put the wordmark on the README, and capitalize the product name
- d8e4d02 Relicense to Apache-2.0, and write down what the licence does not cover
- 011b50f Deploy the site to Cloudflare Pages from CI
- 9228ab0 Add the whippletree.dev landing page
- 8a0797f Move the module to whippletree.dev
- 53bce01 Point generated artifacts at the project, and stop pinning the exact wording
- a71a67f Fix the release signing path, and make the nightly drift report actually fire
- 4ca6228 Honour a handler's exit code when the deadline also elapsed, and sweep the old comments
- 2c5f261 Actually apply the YAML escape, and skip the dispatcher test on Windows
- 1ce4cde Make the unit tests pass on Windows, and bump the actions
- 04ed36f Add CI, nightly e2e and a signed release pipeline
- d25150d Add CLAUDE.md and cut comment volume back below baseline
- eaa8823 Make contractVersion, testedVersions and build provenance mean something
- ada4cb1 Close the handler path-traversal hole, bound handler runtime, unbreak Windows exec
- e11c769 Fix opencode stdout doc, add bundle marketplace, pin e2e plugin root
- ab7eb30 Assert stdout passthrough and the authoring bundle in e2e
- a17f408 Ship the authoring skill as a whippletree bundle with a root marketplace
- 7ed7cca Forward handler stdout through the dispatcher
- 0a80773 Reject dot/dotdot skill paths, pin the T3 fidelity constant, and fix stale comments and doc wording
- 4a9ac52 Require a skill channel before granting the T3 instruction fallback, and refuse a skill dest dir with no SKILL.md
- 0d93a16 Prove skill placement and expansion end to end
- 320de8f Scaffold skill kind in init and document the feature
- 1305256 Place copy-dir skills at install with ownership guard
- ad6c14a Generate expanded skill variants at build time
- 33a2705 Assign T3 via fallbackSkill and render the disclosure
- 9e67923 Add skillfile package and skillChannel target field
- c7da17c Add skill kind and fallbackSkill to contract validation
- da51862 Probe opencode skill discovery for placement decision
- c94c156 Correct two doc wordings: built-in targets, build succeeds everywhere
- c201ae9 Fix stale doc examples, tighten authoring-branch comments and STOP_ACTIVE wording
- 17ff893 Split authoring docs into AUTHORING.md, rewrite README quickstart around init
- 6a1a826 Fix wizard to error on EOF instead of silently using defaults
- 8f66e54 Add interactive wizard for whippletree init
- 5ed8874 Add whippletree init verb: non-interactive scaffold generation
- 9c92d64 Thread stdin and TTY through CLI entrypoint
- 72473f6 Embed target definitions so the CLI works from any directory
- e2943c4 Project ADAPTER_ env vars from the normalized event, use them in capture.sh
- 210f5ff Probe: Stop hook does not fire unauthenticated (outcome b)
- e2e686b Scrub local machine paths from fixtures and README
- 129f7a7 docs: name the full opencode maintenance surface; widen executable-path absent reason
- 5b46fb7 compile: report dispatcher spawn failures and unexpected exits from the opencode shim
- 26dc483 dispatch: select payload dialect by target backend, not payload shape
- e77be41 Add MAINTENANCE.md and document opencode in README
- 925a42b test: headless e2e against real opencode, plus version logging in all three
- c51813d install: enforce exactly-one HOOK placeholder before replacing it
- 3f3a493 cmd: add install verb for ts-plugin placement and hooks-json guidance
- 8fae964 dispatch: decode the opencode envelope in Normalize
- 4e59f6a compile: emit ts-plugin shim for opencode, drop Skipped guard
- f799e10 tier: assign executable-path via installerPath capability
- fc1837c compile: surface skipped ts-plugin targets instead of silently dropping them
- 3ecd4c0 target: add backend discriminator + opencode target definition
- 4aa005c Add opencode research doc and empirical probe findings with captured payload fixtures
- 241429a readme: add tool authoring guide
- af7b846 strip development-process comments and dead guards
- 57b1fc0 rename project to whippletree
- 00cf3b3 Fix 4 parked findings: assign reason, README hook prereq, stale comment, reserved-name check ordering
- 4ec11b1 e2e: redirect codex exec stdin from /dev/null, matching run-claude.sh
- fb6064b README: document build's dispatcher provisioning/refusal behavior, update measured latency figures
- ef79d01 go.mod: lower floor to go 1.22 per plan
- b9a48b8 dispatch: forward handler stderr on every exit path, not just exit 2
- dc03903 adapter-sdk: provision adapter-hook at build, exit 1 on refusals, add --targets-dir/--allow-missing-dispatcher/--allow-refuse, fix preflight error messages and TTY detection
- d847cdc target: error LoadDir when a targets dir yields zero definitions
- 5938092 contract: remove dead Requirement.ToolClass field, nothing ever set it
- 8cba8aa tier: give absent() accurate per-case reasons, check tool-post mapping before matcher lookup; preflight: render dash for absent got-tier
- 5391766 compile: dedupe duplicate hook entries, stat handler/path files, reject reserved hooks target name
- df075ae document class-1 spine
- 4c58abc kb-shaped example bundle and headless e2e for both class-1 harnesses
- 5458927 preflight: export Classify so build and Check share one verdict path
- 0ff6dfb preflight: probe, tier diff, plan-shaped report, install state
- 9ad28ac dispatcher executes handlers and speaks exit-2 refusal dialect
- 649e158 dispatcher normalization from captured class-1 payloads
- a0f3533 compiler emits per-target manifest and hooks variants
- bad851b tier assignment reproducing the verified kb-engine matrix
- 8bc6c9d target definition schema and class-1 target data
- 080ac4f contract validation incl. T3-refusal and explicit hardRequired
- 6a46270 contract types and namespace parsing
- b26a184 scaffold adapter-sdk module and CLI stubs
Verify the checksums before trusting a binary:
cosign verify-blob checksums.txt \
--bundle checksums.txt.bundle \
--new-bundle-format \
--certificate-identity-regexp '^https://github\.com/larstonder/whippletree/\.github/workflows/release\.yml@refs/tags/.*$' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com
Then confirm the build provenance:
gh attestation verify <archive> --repo larstonder/whippletree