Commit graph

  • 971f33096d fix(release): re-arm the changelog heading, and guard it against VERSION dan-claude-bot 2026-07-19 19:40:27 +0000
  • af80c59942 docs(readme): rewrap the empty-users-file paragraph to the file's width dan-claude-bot 2026-07-19 19:37:34 +0000
  • b982399d3c fix(bootstrap): refuse a users file that names no users dan-claude-bot 2026-07-19 17:28:39 +0000
  • f579ce038f
    Merge pull request #54 from dan-claude-bot/feat/bootstrap-takes-users Daniel Marin 2026-07-19 20:17:45 +0100
  • b8dc1154c8 feat!: bootstrap takes the users file dan-claude-bot 2026-07-19 16:17:49 +0000
  • 19b937b858
    Merge pull request #53 from dan-claude-bot/feat/users-apply-grants-tier Daniel Marin 2026-07-19 20:12:09 +0100
  • a950569832 feat: users apply grants the box tier, not just the socket dan-claude-bot 2026-07-19 16:15:55 +0000
  • 71fd0513ab
    Merge pull request #55 from dan-claude-bot/fix/incus-revoke-via-box Daniel Marin 2026-07-19 20:08:00 +0100
  • 0ff520c850 fix: dropping the box role revokes through box, not behind its back dan-claude-bot 2026-07-19 16:18:21 +0000
  • 67386b4303
    Merge pull request #60 from dan-claude-bot/fix/host-no-bare-socket Daniel Marin 2026-07-19 20:02:12 +0100
  • 5a30c72eae chore: bump main to 0.1.1-dev — a dev install must not impersonate 0.1.0 github-actions[bot] 2026-07-19 18:03:46 +0000
  • 6ff90f04ea
    Merge pull request #46 from dan-claude-bot/release/0.1.0 0.1.0 Daniel Marin 2026-07-19 19:03:35 +0100
  • 49471bde4f docs: README's users-apply section matches the new gate (#60 review) dan-claude-bot 2026-07-19 17:50:24 +0000
  • 7614c1c171 docs: the 0.1.0 notes carry #39/#41 — the getent-$HOME installer fix shipped without its entry dan-claude-bot 2026-07-19 14:41:43 +0000
  • a702f1f8be release: 0.1.0 dan-claude-bot 2026-07-19 14:23:52 +0000
  • b8e8e79b87 fix(users): the host= marker gates the box role, not the incus group Claude 2026-07-19 17:29:20 +0000
  • 5902f61da4
    Merge pull request #48 from dan-claude-bot/feat/release-on-merge Daniel Marin 2026-07-19 18:12:09 +0100
  • e533e86322 fix: issues: write — the fallback PR's --label rides the issues API (labels.yml precedent) dan-claude-bot 2026-07-19 16:35:50 +0000
  • 0b6318fe24 chore: the permissions comment must not pre-match the ordering pin's grep dan-claude-bot 2026-07-19 16:34:56 +0000
  • 700e2185eb fix: pull-requests scope for the door's two PR-API calls; docs catch up dan-claude-bot 2026-07-19 16:34:29 +0000
  • 0dbcad2e3a test: pin exactly one on.push key dan-claude-bot 2026-07-19 16:14:42 +0000
  • 4b5d62e405 fix: one on.push key — YAML last-key-wins had dropped the tag door dan-claude-bot 2026-07-19 16:14:13 +0000
  • 053e12d51e feat: the release re-arms main — the -dev bump folds into the release act dan-claude-bot 2026-07-19 16:02:53 +0000
  • 44717863a1 fix: the merge door rides pushes to main — fork PR tokens are read-only dan-claude-bot 2026-07-19 15:44:27 +0000
  • c0cd4a1b15 fix: a -dev endstate is always work — the post-release bump must not run red dan-claude-bot 2026-07-19 15:42:27 +0000
  • d08ec8c6f6 fix: the release label's two meanings part ways in a decide step dan-claude-bot 2026-07-19 15:23:56 +0000
  • 4ce1ab50aa feat: merging a release-labeled PR is the release (#47) dan-claude-bot 2026-07-19 15:19:47 +0000
  • 219b0fbd72
    Merge pull request #45 from dan-claude-bot/fix/release-suite-stamped-tree Daniel Marin 2026-07-19 15:22:15 +0100
  • 589854ae0b fix: the release suite accepts the ceremony's own tree (#44) dan-claude-bot 2026-07-19 13:48:41 +0000
  • 525e24acd6
    Merge pull request #43 from dan-claude-bot/fix/silent-prompts Daniel Marin 2026-07-19 14:00:48 +0100
  • e72663ef62 fix: headless credential prompts refuse loudly, naming their variable (#42) dan-claude-bot 2026-07-19 12:15:08 +0000
  • fb0c3067e3
    Merge pull request #41 from dan-claude-bot/fix/home-unset Daniel Marin 2026-07-19 00:53:21 +0100
  • 229fcd2bf0 install: derive $HOME from getent when the environment has none (#39) dan-claude-bot 2026-07-18 22:36:05 +0000
  • a3c69292a1
    Merge pull request #40 from dan-claude-bot/feat/release-flow Daniel Marin 2026-07-18 23:17:12 +0100
  • 834f0504d6 feat(install): default to the latest release — three channels, one installer (#32) dan-claude-bot 2026-07-18 20:57:13 +0000
  • b6205d81c5 feat(release): CHANGELOG.md and release.yml — a tag becomes the release it claims (#32) dan-claude-bot 2026-07-18 20:57:13 +0000
  • e6b630b9f2
    Merge pull request #37 from dan-claude-bot/feat/bootstrap-roles Daniel Marin 2026-07-18 21:32:13 +0100
  • 7e57c10f01
    Merge pull request #38 from dan-claude-bot/fix/human-handoff-guard Daniel Marin 2026-07-18 21:31:51 +0100
  • 1cef6ed751 review r1: staging tolerates only the workload guest; dockerd must answer; one CLI capture dan-claude-bot 2026-07-18 20:18:15 +0000
  • ad33ffe844
    Merge pull request #36 from dan-claude-bot/feat/versioned-installs Daniel Marin 2026-07-18 21:18:04 +0100
  • ec7096c08e fix: base the human auto-request on THIS handoff, not review history dan-claude-bot 2026-07-18 20:16:57 +0000
  • 0ead75428b
    Merge pull request #34 from dan-claude-bot/feat/label-automation Daniel Marin 2026-07-18 21:02:56 +0100
  • 03e5deca56 refactor: the author escalates — drop the agreement-body heuristic dan-claude-bot 2026-07-18 19:51:53 +0000
  • e40e223ecb docs: README — the box tenants section, and where the staging preset went dan-claude-bot 2026-07-18 19:49:27 +0000
  • 739db6e633 feat(bootstrap): box tenant roles — claude, codex, grok, staging (#31) dan-claude-bot 2026-07-18 19:49:20 +0000
  • f1ada543dc feat(install): versioned installs and a real uninstall — box#79's layout, ported dan-claude-bot 2026-07-18 19:33:17 +0000
  • 27fb934780 fix: verdict contract, head-bound approvals, serialized reconcile — and a testable state machine dan-claude-bot 2026-07-18 19:31:02 +0000
  • 52dfc5c5c1 docs: reviews end in a verdict — approve or request changes, never a bare comment dan-claude-bot 2026-07-18 18:50:51 +0000
  • 7109bb39d8 feat: label automation — the state reconciler, path-scoped labeler, and CONTRIBUTING dan-claude-bot 2026-07-18 18:31:53 +0000
  • 7646346311
    Merge pull request #33 from dan-claude-bot/docs/label-taxonomy Daniel Marin 2026-07-18 19:20:06 +0100
  • ca37eb8450 docs: make the bootstrap trim idempotent — swallow delete of an already-gone label dan-claude-bot 2026-07-18 18:04:51 +0000
  • 539dee064a
    Merge pull request #30 from dan-claude-bot/feat/close-root-reachability Daniel Marin 2026-07-18 18:39:35 +0100
  • 0e2d66f456
    Merge pull request #29 from dan-claude-bot/feat/class-model-remnants Daniel Marin 2026-07-18 18:36:32 +0100
  • e07a8ab567 docs: LABELS.md — the label taxonomy (states, stale/blocked, scopes) dan-claude-bot 2026-07-18 17:34:49 +0000
  • a32d2b04cb fix(close-root): the gate judges AllowGroups/DenyGroups too — same door, other hinge dan-claude-bot 2026-07-18 17:17:39 +0000
  • af327cb660 docs(bootstrap): finish the sentence the doctor-gate edit truncated dan-claude-bot 2026-07-18 17:16:29 +0000
  • a5b48d5b2c fix(close-root): DenyUsers judged fail-closed — patterns and USER@HOST flag dan-claude-bot 2026-07-18 17:02:48 +0000
  • cee7d4575e fix(bootstrap): gate the host-set-up claim on 'box doctor', not on PATH dan-claude-bot 2026-07-18 16:59:43 +0000
  • 2396880f09 docs: plan — close-root proves the door + @root seeding, what remained of #17 dan-claude-bot 2026-07-18 14:54:03 +0000
  • ceceb71e34 docs(users): own the runner-row divergence from #17 — server class keeps root, deliberately, runner included dan-claude-bot 2026-07-18 14:54:03 +0000
  • d1b6fec5f8 feat(users): close-root proves the door opens, not that it should — sudo -n and per-user sshd -T join the gate dan-claude-bot 2026-07-18 14:53:50 +0000
  • fff45a9835 feat(users): @root seeds the admin's keys from root's own — the one source that cannot lock you out dan-claude-bot 2026-07-18 14:53:30 +0000
  • 900697bdc2 feat(coolify): warn when the role marker names a non-control-plane box — advisory, never a gate (#25) dan-claude-bot 2026-07-18 14:50:46 +0000
  • 34f1986da0 feat(bootstrap): prove box landed on PATH after a claimed install success — don't trust exit codes (#12) dan-claude-bot 2026-07-18 14:50:46 +0000
  • d0ec6a6548 docs(readme): the #12/#25 documentation remnants — box rename, per-role identity table, unpinned-install note dan-claude-bot 2026-07-18 14:50:16 +0000
  • ea91a00b98 docs(plans): class-model remnants plan — what still keeps #12 and #25 open after PRs #27/#28 dan-claude-bot 2026-07-18 14:50:16 +0000
  • 7d11ce23f6
    Merge pull request #28 from dan-claude-bot/feat/host-installs-box Daniel Marin 2026-07-18 01:25:20 +0100
  • f3cfa7c358 feat(bootstrap): host-class installs box + runs setup-host dan-claude-bot 2026-07-17 22:45:40 +0000
  • be3761a5df
    Merge pull request #27 from dan-claude-bot/feat/users-and-traits Daniel Marin 2026-07-17 22:24:50 +0100
  • c44a645670 fix(users): close-root no-op must prove the door, not the file Dan Claude Van Damme 2026-07-17 20:49:12 +0000
  • 00c54a342d docs: plan addendum — review findings and the contract refinements they forced Claude 2026-07-17 20:02:09 +0000
  • 3eeab687d0 fix(users): review findings — invoker gate, real SSH revocation, StrictModes-shaped close-root gate, trait-aware box role Claude 2026-07-17 20:01:19 +0000
  • 062dad4ead fix(bootstrap): review findings — keep-mode for authkey re-runs, fail-closed login verify, class-gated root-door assertion Claude 2026-07-17 19:51:53 +0000
  • 22ef458b1a docs: README identity model — traits, presets, fleet users, root's two fates Claude 2026-07-17 19:32:23 +0000
  • 2dc396d557 feat(users): close-root — shut the human-class root door once an admin key works Claude 2026-07-17 19:28:25 +0000
  • 9bdc4db575 feat(users): declarative operators — apply/status over a users file, every class Claude 2026-07-17 19:23:47 +0000
  • f2d343b0ef feat(bootstrap): traits under the roles — class/host/join, dev/workstation/custom, /etc/rig/role marker Claude 2026-07-17 19:15:06 +0000
  • 35ce40d05e docs: plan for machine traits + fleet users (#26 + #24, one release) Claude 2026-07-17 19:10:20 +0000
  • 249dbf3b79
    Merge pull request #18 from claude-hdb/feat/rig-db Daniel Marin 2026-07-17 16:55:17 +0100
  • 583ac25448 docs: README section for the staging bootstrap role Claude 2026-07-17 15:51:58 +0000
  • c4d64fb037 feat(bootstrap): staging role — the host archetype for box-minted staging VMs Claude 2026-07-17 15:51:36 +0000
  • 1b68d3ca49 docs: plan for the staging bootstrap role Claude 2026-07-17 15:50:23 +0000
  • 9551ad482f test(db): add real dump/restore round-trip probe + CI job + manual proof docs Claude 2026-07-17 15:48:51 +0000
  • 0fae6d37c4
    Merge pull request #20 from claude-hdb/feat/bootstrap-infer-tailnet-tag Daniel Marin 2026-07-17 16:47:11 +0100
  • 3ae3e3fea3 bootstrap: create an admin user and make the root door role-aware Claude 2026-07-17 15:29:07 +0000
  • 92fa2a9860 bootstrap: infer the tailnet tag from the pre-auth key, verify the granted tag Claude 2026-07-17 15:27:09 +0000
  • 3ab42d80c4 bootstrap: add a dev role for the Incus claudebox host Claude 2026-07-17 15:24:31 +0000
  • 0bb6b638df feat(db): bring ad-hoc dump/restore on-box as rig db Claude 2026-07-17 15:16:35 +0000
  • d8055e2525
    Merge pull request #14 from claude-hdb/fix/runner-install-repo-guard Daniel Marin 2026-07-13 21:00:46 +0100
  • e2a0951a91 ci: enumerate shellcheck inputs with globstar, not by hand claude-hdb 2026-07-13 19:59:28 +0000
  • 9c6c6c9477 fix(ci): shellcheck -x, and lint commands/lib/ at all claude-hdb 2026-07-13 19:56:33 +0000
  • d4ab362964 fix(runner): install refuses a box registered to another repo claude-hdb 2026-07-13 14:57:28 +0000
  • af7e8b4071
    Merge pull request #11 from claude-hdb/feat/runner-lifecycle Daniel Marin 2026-07-13 14:33:10 +0100
  • deb6f653e3 docs: README sections for runner status, remove, and repoint claude-hdb 2026-07-13 13:25:27 +0000
  • fcee110183 feat(runner): status, remove, and repoint — the runner lifecycle verbs claude-hdb 2026-07-13 13:25:27 +0000
  • 8692652c0f
    Merge pull request #10 from claude-hdb/fix/backup-bindings-validation Daniel Marin 2026-07-12 20:59:21 +0100
  • c3f812ddaf fix(coolify): validate the dump bindings, and stop printing $EDITOR claude-hdb 2026-07-12 19:55:39 +0000
  • a654f52f44
    Merge pull request #9 from claude-hdb/feat/coolify-backup-timer Daniel Marin 2026-07-12 20:16:52 +0100
  • 25a957079c feat(coolify): install the control-plane dump as a systemd timer claude-hdb 2026-07-12 19:14:07 +0000
  • 5d5cc906a8
    Merge pull request #7 from claude-hdb/fix/tailnet-hostname-converges Daniel Marin 2026-07-12 18:00:32 +0100