Skip to content

fix: api/cli/registry correctness, CI hardening & docs alignment sweep - #251

Merged
Xiddoc merged 1 commit into
masterfrom
claude/beetroot-sweep-optimize-fnq7r0
Jun 30, 2026
Merged

fix: api/cli/registry correctness, CI hardening & docs alignment sweep#251
Xiddoc merged 1 commit into
masterfrom
claude/beetroot-sweep-optimize-fnq7r0

Conversation

@Xiddoc

@Xiddoc Xiddoc commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Summary

Third sweep batch — 25 fixes across the api/cli/registry/settings surface plus CI workflows, scripts, and docs. Implemented by 9 file-disjoint parallel agents, each gate-verified, integrated cleanly (no cross-patch conflicts).

Fixes by area

api / lifecycle

cli / error contract

registry / ports / settings

CI / scripts / docs

Testing

Full local gate green: ruff, ruff format --check, mypy --strict (src+tests), pytest -p no:randomly at 100% line+branch coverage (1887 passed, 6 docker-daemon skips), shellcheck/shfmt, yamllint, actionlint, zizmor, codespell, deptry, uv lock --check, changelog lint.

🤖 Generated with Claude Code

https://claude.ai/code/session_01P1YsNMpGizhSDDPCBu5cut


Generated by Claude Code

… sweep)

25 fixes across the api/cli/registry/settings surface plus CI workflows,
scripts, and docs — the third sweep batch.

api:
- up() self-heal runs the cross-instance port-collision precheck; restart()
  self-heals a missing override (#166)
- apply() flips the registry backend kind before network staging so a transient
  fetch failure can't strand a binder:vm config on the redroid backend (#182)
- adb doctor reports skip (not a phantom fail) for the GMS denylist on adopted
  devices (#201)
- up()/restart() re-stage a hand-deleted .env, not just the override (#219)

cli:
- map FridaFetchError (#167) and --from-data OSError (#180) to the friendly
  error/exit-1 contract
- guard --from-source/--android-version without --vm-kernel (#198)
- validate the instance name before the --from-data copy (#199)
- new `install-frida` verb the adopt hint already advertised (#205)
- gate backend capability before the destructive-wipe confirm (#206)
- normalize a signal-killed `shell` to POSIX 128+N exit codes (#217)

registry/ports/settings:
- fsync the registry write (temp + parent dir) so a crash can't empty
  instances.json (#203)
- keep a poisoned instance's pinned host ports in the collision precheck (#216)
- suppress the privileged-port advisory on the read-only cross-instance scan (#224)
- reject non-positive timeout settings at startup (#196)

CI/scripts/docs:
- SHA-pin uv in rootfs-release.yml (#209); add 'opened' to the e2e trigger (#210);
  apt-get update before installs (#211)
- changelog linter checks every verb in a chained example (#212); benchmark
  alert uses the host-normalized ratio (#188); loosen the lsposed-hook grep (#236)
- refresh migration docs to api_version 8 (#213); fix architecture.md compose
  tokens (#214); correct the `wait` comments (#240); document IMAGE_SIZE_MB as MiB (#233)

All covered by new tests; full gate green (ruff, mypy --strict src+tests,
pytest 100% line+branch (1887 passed), shellcheck/shfmt, yamllint, actionlint,
zizmor, codespell, deptry, uv lock, changelog lint).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P1YsNMpGizhSDDPCBu5cut
@Xiddoc
Xiddoc merged commit 4f49a6d into master Jun 30, 2026
17 checks passed
@Xiddoc
Xiddoc deleted the claude/beetroot-sweep-optimize-fnq7r0 branch June 30, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants