v0.7.0
loopcoder v0.7.0
v0.7.0 moves loopcoder's local runtime from repo-only files toward a
machine-local runtime model while preserving the local-only evidence boundary.
The release was published on 2026-07-11 with signed assets for v0.7.0,
verified checksums, passing release smoke, and a completed GO go/no-go report.
Highlights
- Machine-local runtime storage: project identity, imported run records, and
report query data are backed by$LOOPCODER_HOME/data/loopcoder.db. - Project registry:
loopcoder projects register|show|list|removemanages
stable project identities across multiple local checkouts without deleting run
history. - Explicit local-state migration:
loopcoder migrate local-state --repo . --dry-runpreviews v0.6.x repo-local.loopcoder/imports; the non-dry-run
path imports attempts, events, reports, recovery briefs, and relay records
without deleting source files. - Provider compatibility visibility:
doctor --format jsonexposes the
host profile andprovider_compatibility[]matrix so supported,
experimental, and unsupported worker/verifier/nested modes are auditable. - Nested run observability:
status --format jsonand
report --run <id> --format jsoninclude arun_treeobject for parent and
child runs. - Self-bootstrap acceptance:
scripts/self-bootstrap-smoke.ps1verifies the
loopcoder checkout, registry, database location, provider compatibility
visibility, and parent/child run-tree JSON as part of the release gate. - Release-gated publication: v0.7.0 assets are staged in a draft release,
smoked on Ubuntu, macOS, and Windows, and published only after the
release-publicationenvironment approval.
Added
loopcoder projects register|list|show|removefor the machine-local project
registry.loopcoder migrate local-statefor explicit v0.6.x repo-local state import.loopcoder nested runfor bounded v1 child-plan execution.status --format jsonandreport --run <id> --format jsonrun-tree
observability.- Provider/host compatibility diagnostics in
doctor --format json. - Unix-like owner-only permissions for
$LOOPCODER_HOME,data/, the SQLite
database, and SQLite sidecars.
Changed
- New runtime indexes for registered projects move to
$LOOPCODER_HOME/data/loopcoder.db; repo-local.loopcoder/remains
readable compatibility state during migration. doctor --fixcan repair Unix storage modes and eligible local compatibility
surfaces, but stays local and explicit.- Default reporter text output is the compact receipt. Use
--verbosefor
canonical local records and--format jsonfor machine-readable output. - Release automation creates a draft release before platform smoke and leaves a
failed candidate as draft evidence instead of publishing it.
Fixed
- Git remote credentials are sanitized before registry persistence or output.
- Project identity comparison handles macOS alias/canonical path differences.
- Nested child run IDs, terminal mirror events, required skipped children, and
project-list JSON stability were corrected before the release gate. - Release smoke handles multi-line PowerShell output when checking the
already-latest upgrade path.
Compatibility
- v0.7.0 is the stable install target published with signed assets on
2026-07-11. Upgrade from v0.6.1 withloopcoder upgrade --version 0.7.0. - Existing
.loopcoder/repo-local files are not moved or deleted by upgrade
or migration. They remain a compatibility fallback during the transition. - The SQLite database is machine-local, not a cloud sync mechanism and not a
repository-visible artifact. audit --format bothis removed. Use--format textor--format json.- Windows does not enforce owner-only DACL hardening for v0.7.0 storage paths;
doctorreports that limitation explicitly.
Upgrade
Upgrade from the customer-ready v0.6.1 bridge:
loopcoder upgrade --version 0.7.0
loopcoder version
loopcoder skill install --repo .
loopcoder projects register --repo .
loopcoder migrate local-state --repo . --dry-run
loopcoder doctor --repo . --format json
Run the non-dry-run migration only after reviewing the dry-run output:
loopcoder migrate local-state --repo .
The migration copies compatible local records into the machine-local store. It
does not delete repo-local .loopcoder/ history, edit tracked files, mutate
GitHub, flush relay records, or choose providers.
Backup and Rollback
Back up v0.7.0 local runtime state by copying
$LOOPCODER_HOME/data/loopcoder.db plus $LOOPCODER_HOME/projects/,
$LOOPCODER_HOME/logs/, and $LOOPCODER_HOME/tmp/ when those directories are
present and no loopcoder command is running.
Rollback is binary selection plus local-state retention:
loopcoder upgrade --version 0.6.1
loopcoder version
loopcoder skill install --repo .
loopcoder doctor --repo .
Keep or back up $LOOPCODER_HOME before deleting anything. Do not delete
repo-local .loopcoder/ history unless an operator explicitly chooses to; it
is the compatibility fallback for pre-v0.7.0 local records.
Known Limitations
- Nested orchestration is bounded and plan-driven. Provider-native sub-agent
features are not authoritative orchestration and cannot create untracked
children outside loopcoder. test-subprocessis reserved for deterministic local and release smoke
tests.- Windows storage ACL hardening remains a documented limitation for a later
release. - Pre-existing flaky test #765 is not release-blocking and is tracked as a
deferred test-only flake.
Release Verification
The release reached GO with these checks complete:
- Release: https://github.com/jasonhnd/loopcoder/releases/tag/v0.7.0,
published 2026-07-11T10:32:49Z, latest, 8 assets, draft=false,
prerelease=false. - Tag/commit: v0.7.0 =
9129dd80fb67d2c395269771d7de8643f2868578; binary version stamp verified:
version=0.7.0 commit=9129dd80fb67d2c395269771d7de8643f2868578 go=go1.26.5. - Staged release run:
https://github.com/jasonhnd/loopcoder/actions/runs/29148964764, with 6
builds, sign, draft, native smoke ubuntu/macos/windows all success, and
publish success after required-reviewer approval (jasonhnd). - Integrated main CI on the tagged SHA:
https://github.com/jasonhnd/loopcoder/actions/runs/29148868926 (8/8
success). - Independent public verification passed:
scripts/release-smoke.ps1 -Version v0.7.0 -PreviousVersion 0.6.1, including
the real v0.6.1 -> v0.7.0 upgrade, signed checksum verification against
identity
https://github.com/jasonhnd/loopcoder/.github/workflows/release.yml@refs/tags/v0.7.0,
issuerhttps://token.actions.githubusercontent.com, and SHA256 match
c510e709d8c95e442261990fd309228aa151ce0bb32b6a2026476685af3f61be. - Publication controls were applied and verified on 2026-07-11: main branch
protection (8 required checks, strict, enforce_admins, 1 review) and
release-publicationrequired reviewer jasonhnd.
Notes
- v0.7.0 is the published install target as of 2026-07-11.
- Local-only report, relay, run, and database records remain local-only. Do not
copy reporter blocks or raw local records into PR bodies, issue comments,
merge messages, commits, examples, fixtures, or tracked docs. - Rollback is binary selection plus project-local cleanup: select a prior
released binary such as v0.6.1, keep or back up$LOOPCODER_HOME, and leave
repo-local.loopcoder/history untouched unless an operator explicitly
removes it.