v0.113.53 — first monorepo release
Release Notes — v0.113.53 (2026-08-22)
First monorepo release. The three utilities — dracon-sync,
dracon-system, dracon-warden — now live in this repository as real
source trees; the historical standalone repos are frozen mirrors.
[0.113.53] - 2026-08-22
Changed
- Full monorepo conversion: the three utilities now LIVE in this
repo (dracon-sync/,dracon-system/,dracon-warden/as real
tracked source trees, imported via subtree merges so history stays
connected). GitHub shows browsable code; CI builds from a single
checkout; the Nix flake dropped its three-srcinputs.
The standalone GitHub repos become frozen mirrors. Utility releases
are tagged on this repo going forward. (Same-day submodule
registration superseded; gitdir bundles archived under
~/dracon/backups/submodule-gitdirs-20260822/.) - Utilities are now git submodules (superseded same day by the
monorepo conversion):dracon-sync,dracon-system,
dracon-wardenwere registered in.gitmodules; gitdirs absorbed
into.git/modules/.
Added
- Daily fleet git-identity guard (
scripts/check-repo-identities.py,
wired into the daily timer): fails on any repo whose effective git
identity is neither canonical DraconDev nor its deliberate loop
identity — prevention for the 2026-08-22 dracon-platform local-
override bug that mis-attributed ~1000/day auto-commits. - dracon-warden v0.113.5 local release candidate (2026-08-19): machine-local
hygiene defaults documented across standalone and meta repositories, locked
release artifact built and installed. Registry publication, tags, and forge
releases remain explicit operator-approved steps.
Fixed
- Operations documentation now matches dracon-system v0.112.36: the
process-mitigation section documents renice, OOM-score bias, and optional
CPUQuota throttling, and no longer misstatesdracon-system guard clean
as a process-adjustment rollback command;guard cleanis documented as
reclaimable-space cleanup with dry-run/apply semantics. - audit scripts now honour glob patterns in
exclude_dir_names(audit
LOW, 2026-08-10):scripts/audit-commit-activity.pyand
scripts/verify-ownership-mirrors.pyfilteredos.walkdirectories by
exact set membership, but the live config contains the glob.tmp-*—
it never matched, so.tmp-*dirs were scanned by both scripts. The
directory filter now matches eachexclude_dir_namesentry with
fnmatch(glob); entries without metacharacters still match exactly.
Verified with a fixture tree:.tmp-scratch/.tmp-a/node_modules
pruned, plain repos still discovered.
What shipped in the utilities
- dracon-sync 0.113.53: watched-repo-vanished CONCERN detection
(src/vanished.rs), coldreposrender 42s -> 14s via
spawn_blocking, probe-timeout false-BROKEN fix with bounded retry. - dracon-system 0.112.38: active-build detection before cleanup,
protected-path fixes. - dracon-warden 0.113.5 (release candidate): machine-local hygiene
defaults; registry publication remains an explicit operator step.
How to verify
git clone https://github.com/DraconDev/dracon-utilities.git
cd dracon-utilities
cargo test --workspace --locked
cargo build --release --locked
./target/release/dracon-sync --version # 0.113.53