Commit graph

  • 9649659aff
    Merge pull request #101 from dan-claude-bot/fix/grant-incus-admin Daniel Marin 2026-07-19 19:05:34 +0100
  • 7067fb03b0 docs: box help matches what grant/revoke now mutate (#101 review) dan-claude-bot 2026-07-19 17:13:24 +0000
  • 8598cf96fe fix: grant the 'incus' membership to incus-admin members too (#101 review) dan-claude-bot 2026-07-19 16:50:42 +0000
  • 4a06c3ac00 fix: box grant provisions incus-admin members instead of refusing them dan-claude-bot 2026-07-19 16:18:46 +0000
  • f2f57cca7f
    Merge pull request #97 from dan-claude-bot/feat/release-on-merge Daniel Marin 2026-07-19 18:12:28 +0100
  • c8150f2d5b fix: issues: write — the fallback PR's --label rides the issues API (labels.yml precedent) dan-claude-bot 2026-07-19 16:35:39 +0000
  • b89ed144fe fix: pull-requests scope for the door's two PR-API calls; docs catch up dan-claude-bot 2026-07-19 16:33:41 +0000
  • 03e1a8c5b7 feat: the release re-arms main — the -dev bump folds into the release act dan-claude-bot 2026-07-19 16:04:22 +0000
  • cdf4c043c9
    Merge pull request #98 from dan-claude-bot/chore/bump-0.7.1-dev Daniel Marin 2026-07-19 17:03:25 +0100
  • 0fbd60e6ff chore: bump main to 0.7.1-dev — a dev install must not impersonate 0.7.0 dan-claude-bot 2026-07-19 15:48:12 +0000
  • 89345f7de3 fix: the merge door rides pushes to main — fork PR tokens are read-only dan-claude-bot 2026-07-19 15:46:03 +0000
  • 00e36b9436 test: the creating-nothing count follows the -dev-endstate change (5 -> 4) dan-claude-bot 2026-07-19 15:41:21 +0000
  • 13aa499dad fix: a -dev endstate is always work — the post-release bump must not run red dan-claude-bot 2026-07-19 15:40:48 +0000
  • 420e8e7f32 fix: the release label's two meanings part ways in a decide step dan-claude-bot 2026-07-19 15:25:52 +0000
  • b58ce5524f feat: merging a release-labeled PR is the release (#96) dan-claude-bot 2026-07-19 15:19:31 +0000
  • fb7fc845bf
    Merge pull request #95 from dan-claude-bot/release/0.7.0 0.7.0 Daniel Marin 2026-07-19 15:24:18 +0100
  • 07c0edd60a release: 0.7.0 dan-claude-bot 2026-07-19 13:44:32 +0000
  • 24797c9052
    Merge pull request #94 from dan-claude-bot/fix/mint-launch-timeout Daniel Marin 2026-07-19 14:13:02 +0100
  • 6fc5ba4d0a docs: the changelog entry tells the round-2 story — probe, branch, cleanup dan-claude-bot 2026-07-19 13:01:49 +0000
  • 12edb1966f chore: the four new grep-proof checks carry the SC2016 directive their siblings had dan-claude-bot 2026-07-19 12:59:58 +0000
  • 4da487e388 fix: the timeout path probes the instance, tells the two stories apart, and cleans up dan-claude-bot 2026-07-19 12:52:41 +0000
  • 8ab9b38ba2 fix: narrate and time-box the incus launch — a wedge fails loudly, not forever (#93) dan-claude-bot 2026-07-19 12:28:22 +0000
  • e40d82afa6
    Merge pull request #90 from dan-claude-bot/feat/release-flow Daniel Marin 2026-07-18 23:24:34 +0100
  • 3122729877 fix: release.yml triggers on every tag, so a mismatch fails loudly dan-claude-bot 2026-07-18 21:18:01 +0000
  • 3cac269b5b docs: the three install channels and the release ritual (#83) dan-claude-bot 2026-07-18 20:54:50 +0000
  • 646c458e25 test(release): the extraction, the resolution, and every channel — offline (#83) dan-claude-bot 2026-07-18 20:54:50 +0000
  • 7044f8e0c1 chore: bump main to 0.6.1-dev — a dev install must not impersonate 0.6.0 (#83) dan-claude-bot 2026-07-18 20:54:39 +0000
  • 6d4996e532 feat(install): three channels — the latest release by default, tags before branches (#83) dan-claude-bot 2026-07-18 20:54:39 +0000
  • dd51b06f3a feat(release): publish the tagged version's changelog section (#83) dan-claude-bot 2026-07-18 20:54:39 +0000
  • 88db8cab04
    Merge pull request #91 from dan-claude-bot/feat/subnet-autopick Daniel Marin 2026-07-18 23:15:22 +0100
  • ff94af93c3 docs: the subnet auto-pick — help, README, changelog, doctor wording (#80) dan-claude-bot 2026-07-18 21:20:51 +0000
  • 5d893ba2e1 test(cli): drive the four-case subnet decision — pin, converge, default, scan (#80) dan-claude-bot 2026-07-18 21:20:51 +0000
  • fee1929d10 feat(setup-host): auto-pick a free subnet — nested box-in-box, zero flags (#80) dan-claude-bot 2026-07-18 21:20:36 +0000
  • a1eb2054ca
    Merge pull request #89 from dan-claude-bot/fix/ufw-subnet-converge Daniel Marin 2026-07-18 22:14:17 +0100
  • 9cf10d58a7
    Merge pull request #88 from dan-claude-bot/feat/thin-templates Daniel Marin 2026-07-18 22:08:43 +0100
  • fb1f5e6f98 test(cli): pin the HOME=/root scar so a seed rewrite cannot drop it silently dan-claude-bot 2026-07-18 20:52:15 +0000
  • 24e67a3c2b fix(templates): pin HOME=/root on the seed's rig install — runcmd has no $HOME dan-claude-bot 2026-07-18 20:20:49 +0000
  • 3a7a9f6c6b docs: the thin-template story — box mints, rig converges (#81) dan-claude-bot 2026-07-18 20:03:55 +0000
  • a8d0f64e48 test(cli): the seed contract, driven — and the absence, fail-closed (#81) dan-claude-bot 2026-07-18 20:03:55 +0000
  • f4f25016d6 feat(templates): thin creds-free seeds — box mints, rig converges (#81) dan-claude-bot 2026-07-18 20:03:41 +0000
  • 56638d9654 docs: changelog — the UFW converge and the fail-closed boot window dan-claude-bot 2026-07-18 20:45:21 +0000
  • ce9ec684d1 test(cli): drive box-firewall under a shim ufw, and the doctor's UFW findings dan-claude-bot 2026-07-18 20:45:21 +0000
  • fbad141a82 doctor: judge UFW's own DNS carve-out against the live gateway dan-claude-bot 2026-07-18 20:45:21 +0000
  • ca1a759f3a box-firewall: converge the UFW carve-out off the live bridge; fail closed at boot dan-claude-bot 2026-07-18 20:45:21 +0000
  • a4d6388b02
    Merge pull request #86 from dan-claude-bot/fix/nested-host-guard Daniel Marin 2026-07-18 21:34:08 +0100
  • b7468ecfe5
    Merge pull request #87 from dan-claude-bot/fix/human-handoff-guard Daniel Marin 2026-07-18 21:33:29 +0100
  • e877153e3c fix: base the human auto-request on THIS handoff, not review history dan-claude-bot 2026-07-18 20:16:55 +0000
  • 7339377f61
    Merge pull request #85 from dan-claude-bot/feat/label-automation Daniel Marin 2026-07-18 21:14:26 +0100
  • 9d3fed8901 refactor: the author escalates — drop the agreement-body heuristic dan-claude-bot 2026-07-18 19:51:52 +0000
  • 53dc2b9047 docs: BOX_SUBNET, the setup-host refusal, and the doctor signature (#80) dan-claude-bot 2026-07-18 19:47:20 +0000
  • 7d48822cc0 test(cli): drive the #80 guard, the BOX_SUBNET plumb-through, and the signature dan-claude-bot 2026-07-18 19:47:20 +0000
  • d16f230e3b feat(doctor): recognize the #80 gateway-squat signature dan-claude-bot 2026-07-18 19:47:20 +0000
  • b429f5b65c feat(setup-host): refuse a claimed subnet, and BOX_SUBNET to move off one (#80) dan-claude-bot 2026-07-18 19:46:58 +0000
  • 08d099cce2 fix: verdict contract, head-bound approvals, serialized reconcile — and a testable state machine dan-claude-bot 2026-07-18 19:31:00 +0000
  • 26a218f29c
    Merge pull request #82 from dan-claude-bot/feat/template-keys Daniel Marin 2026-07-18 20:08:42 +0100
  • b5aa21e733 test(cli): the green path and the effective operand, pinned dan-claude-bot 2026-07-18 18:05:49 +0000
  • 8d1824551c test+docs: strip staging specifics for the slim carve; changelog for #81 dan-claude-bot 2026-07-18 16:56:27 +0000
  • dd1166e1ed test(cli): template suite — every templates/*/ dir proven, dynamically (#68) dan-claude-bot 2026-07-18 14:53:24 +0000
  • fd600166c5 feat(new): BOX_REQUIRE_VM and BOX_AUTOSTART template keys claude-hdb 2026-07-17 15:52:16 +0000
  • a25fbd9692
    Merge pull request #78 from dan-claude-bot/feat/box-export Daniel Marin 2026-07-18 20:01:57 +0100
  • b077279850 docs: the upgrade flow speaks export now — the #79 reconciliation dan-claude-bot 2026-07-18 18:55:51 +0000
  • 2bbc53d1dd docs+drill: grok's export nits — --force documented, backups key drilled live dan-claude-bot 2026-07-18 18:13:01 +0000
  • 1ef3ae739a feat: box export / import — state that survives the box and the host (#70) dan-claude-bot 2026-07-18 15:10:12 +0000
  • d879530a7a
    Merge pull request #79 from dan-claude-bot/feat/versioned-install Daniel Marin 2026-07-18 19:52:48 +0100
  • 40fdfbb389 docs: reviews end in a verdict — approve or request changes, never a bare comment dan-claude-bot 2026-07-18 18:50:50 +0000
  • 1b4594eafc feat: label automation — the state reconciler, path-scoped labeler, and CONTRIBUTING dan-claude-bot 2026-07-18 18:31:51 +0000
  • 4fa7b3a2d8
    Merge pull request #84 from dan-claude-bot/docs/label-taxonomy Daniel Marin 2026-07-18 19:19:54 +0100
  • 68a4996f0b fix: version names die at one shared gate, and --purge-host hears --force dan-claude-bot 2026-07-18 18:11:26 +0000
  • 1ddaf7082d docs: make the bootstrap trim idempotent — swallow delete of an already-gone label dan-claude-bot 2026-07-18 18:04:49 +0000
  • 44a474d758 docs: LABELS.md — the label taxonomy (states, stale/blocked, scopes) dan-claude-bot 2026-07-18 17:34:34 +0000
  • 34bf39be86 docs: the versioned install — upgrade and uninstall as first-class flows dan-claude-bot 2026-07-18 16:02:37 +0000
  • 82f7f9d51a test+ci: real installs driven offline, uninstall proven to zero residue dan-claude-bot 2026-07-18 16:02:37 +0000
  • 88243dcdbb fix(revoke): purge re-checks the incus-user state dir — as root, not as a hopeful stat dan-claude-bot 2026-07-18 16:01:57 +0000
  • 9d3ca92ffa feat(cli): versions, use, uninstall — the install managed from the CLI, absence-asserted dan-claude-bot 2026-07-18 16:01:57 +0000
  • 6e92853925 feat(install): versioned installs — versions/<v> side by side, 'current' tracks the default dan-claude-bot 2026-07-18 16:01:57 +0000
  • 1435dd9ceb docs: changelog + plan addendum for the rebased staging template (#68) dan-claude-bot 2026-07-18 14:53:49 +0000
  • 9c064c62b2 test(cli): template suite — every templates/*/ dir proven, dynamically (#68) dan-claude-bot 2026-07-18 14:53:24 +0000
  • c76b26587d docs(design): server-class boxes — overlay joins and snapshot-before-join claude-hdb 2026-07-17 15:53:14 +0000
  • 1d6ce0e51a feat(templates): staging — server-class VM, docker + rig, creds-free claude-hdb 2026-07-17 15:52:59 +0000
  • a1bbaadeef feat(new): BOX_REQUIRE_VM and BOX_AUTOSTART template keys claude-hdb 2026-07-17 15:52:16 +0000
  • 81763833b0 docs: plan for the staging template claude-hdb 2026-07-17 15:50:44 +0000
  • 3f7a178b0d
    Fix README formatting and enhance uninstall section Daniel Marin 2026-07-18 14:46:43 +0100
  • 77599ab3ee chore: bump version for cleanness 0.6.0 Dan 2026-07-18 14:39:45 +0100
  • 014d662bd1
    Merge pull request #75 from dan-claude-bot/feat/restricted-tier Daniel Marin 2026-07-18 14:21:15 +0100
  • f1b038774b rehearsal: measure both worlds of the raw-attach version fork (MU-6) dan-claude-bot 2026-07-18 07:05:49 +0000
  • 8e6f3a4bb8 grant/rehearsal: the codex round — verified rollback, loud partial states, and the raw-attach guarantee measured (#75) dan-claude-bot 2026-07-18 06:41:05 +0000
  • 565e7693e8 docs: log MU-4 (the CI job's version-drift catch) and refresh the counts dan-claude-bot 2026-07-18 05:38:04 +0000
  • 47aa1e09fe rehearsal: assert the attach-refusal by OUTCOME, not by error wording (MU-4) dan-claude-bot 2026-07-18 05:34:37 +0000
  • ec5e898094 revoke/grant: survive the live-session case — the review's one real hole (#74) dan-claude-bot 2026-07-18 05:11:20 +0000
  • 3f9b38ac96 doctor: name an interrupted rehearsal's leftover users instead of absorbing them dan-claude-bot 2026-07-18 04:12:33 +0000
  • 2097982ac2 docs: the restricted tier — README, design doc, plan doc with measured results (#74) dan-claude-bot 2026-07-18 04:09:48 +0000
  • 56eed6250e test+ci: the multi-user rehearsal, and CI that runs it on a real incus (#74) dan-claude-bot 2026-07-18 04:09:48 +0000
  • 0429a11020 feat: the restricted tier — box grant/revoke converge users onto the hardened boxnet (#74) dan-claude-bot 2026-07-18 04:09:13 +0000
  • f7b93a91cd docs(plan): stake out restricted-tier PR for #74 (placeholder) dan-claude-bot 2026-07-18 01:06:34 +0000
  • 22cf885d6a
    Merge pull request #73 from dan-claude-bot/feat/multiuser-hosts Daniel Marin 2026-07-18 01:24:37 +0100
  • 437a3a8e35 test+ci: add CI workflow and a dependency-free test suite dan-claude-bot 2026-07-18 00:01:15 +0000
  • 9849021b6a feat: global install (#71) and tmux in templates (#65) dan-claude-bot 2026-07-18 00:01:15 +0000
  • d0a14a18a5 Redesign install flow: confirm, no-op if installed, opt-in host setup claude-bot-andresmgsl 2026-07-17 16:10:34 +0000
  • 043e556027 Give box-firewall.service RemainAfterExit so its state means something claude-bot-andresmgsl 2026-07-17 14:05:23 +0000
  • 3e1143f1d3 Refuse to change versions under existing boxes; file the migration as #67 claude-bot-andresmgsl 2026-07-17 13:34:53 +0000