Release v0.112.9
Release v0.112.9 — 2026-06-16
Summary
This release packages the crates.io publish of the 3 sub-crates
(dracon-sync v0.1.9, dracon-system v0.2.4, dracon-warden v0.3.4),
a final audit of the workspace state, and updates to documentation
that was stale by 1-3 releases.
This is in direct response to the operator's feedback: "ok we are looking
good lets do a na audit update docs and push releases if need to, also
release on crates too".
What's published on crates.io (NEW!)
The 3 sub-crates are now available on crates.io:
| Crate | Version | crates.io |
|---|---|---|
dracon-sync |
0.1.9 | https://crates.io/crates/dracon-sync |
dracon-system |
0.2.4 | https://crates.io/crates/dracon-system |
dracon-warden |
0.3.4 | https://crates.io/crates/dracon-warden |
Users can now install any of the 3 utilities with a single command:
cargo install dracon-sync # Background git sync daemon
cargo install dracon-system # Disk, process, guard, doctor
cargo install dracon-warden # Secret, encrypt, age, git-filterdocs.rs pages are auto-generated by crates.io on publish:
Final audit results
The complete audit of the workspace (30 design docs + 7 READMEs + source
comments) is captured in docs/design/final-audit-2026-06-16.md.
10 findings, all fixed:
| # | Finding | Status |
|---|---|---|
| 1 | Root README stated v0.112.5 (stale by 3 releases) | ✓ FIXED |
| 2 | Root README described façade repos as navigation shells (stale) | ✓ FIXED |
| 3 | Root README had no crates.io install path | ✓ FIXED |
| 4 | Per-utility READMEs had no "Install via crates.io" section | ✓ FIXED (3 files) |
| 5 | 3 sub-crate Cargo.toml files were missing keywords and categories |
✓ FIXED (3 files) |
| 6 | documentation URLs in 3 sub-crate Cargo.toml files pointed to old versions |
✓ FIXED (3 files) |
| 7 | 3 sub-crates not published to crates.io at the v0.112.x versions | ✓ FIXED (3 published) |
| 8 | path dep was a perceived blocker for dracon-warden publish |
✓ RESOLVED (false positive) |
| 9 | Crates.io 5-keyword limit (caught at first publish) | ✓ FIXED |
| 10 | No design doc explaining the crates.io publish process | ✓ FIXED (new doc) |
What's in the box (since v0.112.8)
docs/design/final-audit-2026-06-16.md(10,161 bytes) — the final
audit findings + resolutionsdocs/design/crates-io-publish-2026-06-16.md(9,244 bytes) — the
crates.io publish workflow + lessons learned- 3 sub-crates published to crates.io (with keywords, categories, and
updated documentation URLs) - Root README updated — v0.112.8 release link, 4-repo architecture
reflects v0.112.7 state, "Install" section withcargo installpaths - 3 per-utility READMEs updated — each has an "Install" section near
the top withcargo install <crate>and the façade repo alternative - CHANGELOG
[Unreleased] / Addedentry for the crates.io publish - Version bumps: root 0.112.8 → 0.112.9, sync 0.1.9 → 0.1.10,
system 0.2.4 → 0.2.5, warden 0.3.4 → 0.3.5
Verification
| Check | Result |
|---|---|
cargo search dracon-sync |
✓ shows 0.1.9 |
cargo search dracon-system |
✓ shows 0.2.4 |
cargo search dracon-warden |
✓ shows 0.3.4 |
cargo install dracon-sync + run |
✓ prints "dracon-sync 0.1.9" |
cargo install dracon-system + run |
✓ prints "dracon-system 0.2.4" |
cargo install dracon-warden + run |
✓ prints "dracon-warden 0.3.4" |
cargo build --release --locked (monorepo) |
✓ |
cargo test --workspace --locked (monorepo) |
✓ 856 passed, 0 failed, 9 ignored |
| 4-remote alignment | ✓ all 4 watched repos at 1 unique SHA |
No secrets leaked (token in ~/.cargo/credentials.toml only) |
✓ |
Constraints honored
- No force-pushes, no user-owned repo changes (kiki-sassy, one-mil-girls),
no auto-commit secrets, nogit add ., no history rewrites - The 3 long-name façade repos stay 4-remote aligned
- The 3 GitLab Set A repos in
_deletion_scheduledstate remain
untouched (default A=leave-as-is from goal83e42c15) - The post-commit hook +
regenerate_facade_repos.pyare the canonical
auto-sync mechanism - The crates.io token is in
~/.cargo/credentials.tomlonly (mode 0600);
never logged, never committed
What's next
- The 3 sub-crates are now on crates.io. Future releases should include
cargo publishas a step in the release process. - The 3 GitLab Set A repos in
_deletion_scheduledstate will be
hard-deleted by GitLab automatically. The operator can override to
B/C/Dper repo at any time per goal83e42c15. - The 3 long-name façade repos stay in sync with the monorepo via the
post-commithook + daemon auto-push (unchanged from v0.112.5).