v0.2.0 — 2026-06-24
Release Notes
Hardens the yf/beads runtime, adds a beads-graph hygiene skill, and consolidates the
always-loaded rule surface so skill-owned protocol rules travel with their skills.
yf CLI
yf doctor — extensible check framework (#32)
- Refactored
yf doctorfrom hardcoded axes into aCheck-trait registry
(CheckResult { name, ok, required, detail, remediation }). Adding a new
prerequisite is now a one-line registry edit. BinCheckreports presence + version + resolved path + min-version for
bd/uv; new non-fatalHomebrewShadowCheckwarns on a Homebrew-shadoweduv.- Read-only by default;
--repairis now an explicit opt-in (repair failures still
error viabail!, read-only checks returnResult<ExitCode>). - Consolidated 3 duplicate
whichimplementations + 2 version parsers into a new
sharedyf/src/tool.rs(resolve_tool/tool_version).
yf-beads-init — suppress bd-init cruft (#31)
- Fresh init now runs
bd init --skip-hooks --skip-agents(+dolt.local-only,
doctor.suppress.git-hooks), so a new repo has no instruction-file boilerplate,
no.codex//.agents/skills/beads/, no beadssettings.jsonhook, and leaves
core.hooksPathat the git default. - Repair no longer force-installs beads git hooks; adds idempotent bd-native cleanup
for already-dirtied repos (hooks uninstall +hooksPathreset;
bd setup claude/codex --remove; marker-scoped CLAUDE/AGENTS strip; entry-scoped
settings.jsoncleanup that never wholesale-deletes).
Skills
New: yf-beads-hygiene (#29)
- Safe, read-only-first audit + gated repair of the beads dependency graph.
- Resolves edge targets via
bd showover the full universe (--all+
--type gate) and classifies edges as true-orphan / truly-dangling /
satisfied-gate / live-gate — live gates are never mistaken for dangling. - Gated repair proposes only truly-dangling removals, with round-trip restore and a
post-mutationbd dep cyclescheck; routes toyf-beads-initon a wedged DB. - Regression-tested against the original 11-live-gate-edge false positive.
yf-beads-upstream — default none + preflight offer
- Unconfigured upstream now resolves to disabled everywhere (default-deny:
anything!= "true"is off), so repos initialized before this change fail closed. - Adds a gated, one-shot preflight detect-and-offer: on a github/gitlab origin
with upstream unconfigured, offers to configure once, then stays silent.
yf-beads-extra
- Documented two gotchas:
bd listhides gate beads and truncates at 50 rows;
bd dep cyclesfor post-mutation integrity.
Rules & docs
- Rule consolidation: per-skill protocol rules are now installed as a single
aggregatedYOSHIKO_FLOW.mdwith per-protocol hash-bearing fences for selective
version update/removal. - BEADS.md fold: the orphan, unowned
~/.claude/rules/BEADS.mdis folded
(selective, deduplicated) into the skill-ownedBEADS_INIT.mdso it ships via
yf skills install; the standalone global rule is retired (manual delete). - New doc:
docs/recommended-settings.md— recommended Claudesettings.json
baseline, each key tied to the rule/contract it supports (disableWorkflowsand
todoFeatureEnabled: falseflagged as highest-impact), with user- vs project-scope
guidance. - yf-markdown-lint: added ML008 (require explicit table alignment markers);
converted skill-authoring / optimal-instructions docs to GFM.
Internal
- Parity golden regenerated for the new skill; preflight version fixtures updated for
theBEADS_INIT.mdmanifest bump (1.0.1 → 1.0.2).
Closed issues
- #29 (yf-beads-hygiene), #30 (settings docs), #31 (bd-init cruft), #32 (yf doctor).
- Coarse tracking: #35 (plan-012).
Install yf 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/dixson3/yoshiko-flow/releases/download/v0.2.0/yf-installer.sh | shInstall prebuilt binaries via Homebrew
brew install dixson3/tap/yfDownload yf 0.2.0
| File | Platform | Checksum |
|---|---|---|
| yf-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| yf-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| yf-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| yf-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |