Release v0.112.6
Release v0.112.6 — 2026-06-16
Summary
This is a release hygiene + architecture formalization release. It packages
the work from goal 83e42c15 which made the 3 long-name façade repos the
canonical "mains" for the project. The release notes below also list those 3
long-name repos as the install targets for users who land here from search
or the GitHub profile.
Install targets (canonical mains)
The 3 long-name façade repos are the canonical install targets for users
who want to learn about each utility. They are deliberately brutally-descriptive
so they are self-explanatory on search engines and on Codeberg / Forgejo.
| Utility | Install target (GitHub) | Also on |
|---|---|---|
dracon-sync |
DraconDev/dracon-sync-background-auto-commit-multi-remote |
GitLab + Codeberg |
dracon-system |
DraconDev/dracon-system-disk-process-guard-doctor |
GitLab + Codeberg |
dracon-warden |
DraconDev/dracon-warden-secret-encrypt-age-git-filter |
GitLab + Codeberg |
Repository architecture (formalized in this release)
This is now a 4-repo system with distinct roles:
| Repo | Role | Contains | Updated by |
|---|---|---|---|
DraconDev/dracon-utilities (this repo) |
Dev workspace | All 3 utilities' source code + monorepo build + install.sh + tests + docs |
The operator (manual commits) + dracon-sync daemon (auto-commits to all 4 remotes) |
DraconDev/dracon-sync-background-auto-commit-multi-remote |
Façade main for dracon-sync |
README + LICENSE + SECURITY + .gitignore + .github/ + docs/SOURCE_OF_TRUTH.md | post-commit hook → regenerate_facade_repos.py → dracon-sync daemon (auto-pushes to all 3 remotes) |
DraconDev/dracon-system-disk-process-guard-doctor |
Façade main for dracon-system |
Same 7 files as above | Same |
DraconDev/dracon-warden-secret-encrypt-age-git-filter |
Façade main for dracon-warden |
Same 7 files as above | Same |
The 3 façade repos are the canonical "mains" for users (presentation +
discoverability). The monorepo is the canonical "main" for builds
(./install.sh clones the monorepo, not the façade repos — the façade repos
contain only presentation content, not source code).
The flow is one-way: operator edits code in the monorepo → commits trigger
the post-commit hook → the hook runs regenerate_facade_repos.py for the
affected utility → the script writes the new README + metadata to the 3 façade
repo clones at /home/dracon/Dev/facade-repos/ → the daemon (dracon-sync)
sees the local change and auto-pushes to GitHub + GitLab + Codeberg.
Version bumps
- Root workspace:
0.112.5→0.112.6(patch-level, doc/infra only) dracon-sync:0.1.6→0.1.7dracon-system:0.2.1→0.2.2dracon-warden:0.3.1→0.3.2
What's in the box (since v0.112.5)
The full [0.112.6] CHANGELOG section includes:
- Repository architecture formalized: root
README.mdand
docs/design/github-feature-repos.mdnow have explicit "Repository
architecture" sections that document the 4-repo model - 3 long-name façade repos are the canonical "mains": referenced in
root README, design doc, daemon watch list, scaffold/regen scripts, and
release notes /tmp/fa-clones-b/cleaned up: the 3 façade repo clones were moved
to/home/dracon/Dev/facade-repos/(a daemon-watched path)- Old short-name repos deprecated:
- GitHub: 0 (the Set A→B rename was in-place, old URLs redirect)
- Codeberg: 0 (hard-deleted during the Set B migration)
- GitLab: 3 Set A repos soft-deleted with
_deletion_scheduled-XXXXXXXX
suffix; awaiting operator decision for hard-delete vs archive
Verification
cargo build --release --locked: succeedscargo test --workspace --locked: 856 passed, 0 failed, 9 ignoredpython3 scripts/scaffold_feature_repos.py --validate-name: passespython3 scripts/regenerate_facade_repos.py --dry-run: passes- 3 Set B façade repos: 4-remote aligned (
da0dbf5/b37781a/8ceb070) - Monorepo: 4-remote aligned at release SHA
- Daemon: 4 repos watched (1 monorepo + 3 façade repos), all healthy
- All 3 façade repos are the install targets in this release's release notes
Migration notes
- If you cloned the old Set A repos (
DraconDev/dracon-sync, etc.) on
GitHub, the rename in place means the old URLs redirect to the new ones
for a grace period. Update your bookmarks to the new long names. - The 3 new façade repos are at
/home/dracon/Dev/facade-repos/(a path
the daemon already watches) and stay in sync with the monorepo via the
post-commithook +regenerate_facade_repos.py. - If you commit changes to a utility's source files, the
post-commithook
fires automatically and the daemon pushes the regenerated façade content.
No manualscaffold_feature_repos.pyinvocation needed.
What's next
- Operator to decide on the 3 GitLab Set A repos (hard-delete vs archive vs
leave-as-is) — this is the only remaining open item from goal83e42c15 - The 3 façade repos will now stay in sync with the monorepo via the
post-commit hook + daemon auto-push