feat(skills,cli): dolibarr-sandbox-checkpoint — manage the sandbox iso-prod checkpoint #30

Merged
arcodange merged 1 commits from claude/sandbox-checkpoint-cli into main 2026-06-30 07:20:22 +02:00
Owner

Un skill + groupe CLI pour piloter le cycle de vie de la sandbox (ADR-0003), au lieu du ballet manuel kubectl/deno/.env qu'on vient de faire.

arcodange sandbox checkpoint status        # liveness + l'agent d'écriture est-il armé ?
arcodange sandbox checkpoint refresh --yes # re-seed iso-prod (DESTRUCTIF, gated)
arcodange sandbox checkpoint provision     # recrée ai_agent_sandbox (Playwright) + relink
arcodange sandbox checkpoint relink-env    # réécrit le .env du skill depuis la clé + vérifie

Le cycle de reset

refresh --yes  ──►  provision  ──►  (auto) relink-env
wipe+re-seed       recrée l'agent      réécrit le .env du
iso-prod (~3min)   (login = toi)       skill + vérifie l'auth
  • refresh enveloppe ops/sandbox/sandbox-lifecycle.sh ; exige --yes (il efface aussi l'agent, iso-prod écrase llx_user). --db-only saute le sync documents.
  • provision lance test/provisionSandbox.ts (tu fais le login admin — identifiants PROD, iso-prod) puis relink auto. Il re-grante banque lire d'office.
  • relink-env écrit le .env (mode 600) et vérifie via GET /users/info.
  • Les scripts résolvent la racine repo via ARCO_ROOT (posé par bin/arcodange) ou leur propre chemin → CLI ou standalone.

Testé

status rapporte armé/non-armé correctement ; refresh refuse sans --yes (exit 3) ; relink-env erre sans clé (exit 1) ; help/usage câblés.

Note : à lancer depuis un checkout à jour (origin/main) — le .env est écrit à côté du skill dolibarr-sandbox-write de ce checkout.

🤖 Generated with Claude Code

Un skill + groupe CLI pour piloter le cycle de vie de la sandbox (ADR-0003), au lieu du ballet manuel kubectl/deno/`.env` qu'on vient de faire. ```sh arcodange sandbox checkpoint status # liveness + l'agent d'écriture est-il armé ? arcodange sandbox checkpoint refresh --yes # re-seed iso-prod (DESTRUCTIF, gated) arcodange sandbox checkpoint provision # recrée ai_agent_sandbox (Playwright) + relink arcodange sandbox checkpoint relink-env # réécrit le .env du skill depuis la clé + vérifie ``` ### Le cycle de reset ``` refresh --yes ──► provision ──► (auto) relink-env wipe+re-seed recrée l'agent réécrit le .env du iso-prod (~3min) (login = toi) skill + vérifie l'auth ``` - **`refresh`** enveloppe `ops/sandbox/sandbox-lifecycle.sh` ; exige `--yes` (il efface aussi l'agent, iso-prod écrase `llx_user`). `--db-only` saute le sync documents. - **`provision`** lance `test/provisionSandbox.ts` (tu fais le login admin — **identifiants PROD**, iso-prod) puis relink auto. Il re-grante `banque lire` d'office. - **`relink-env`** écrit le `.env` (mode 600) et vérifie via `GET /users/info`. - Les scripts résolvent la racine repo via `ARCO_ROOT` (posé par `bin/arcodange`) ou leur propre chemin → CLI ou standalone. ### Testé `status` rapporte armé/non-armé correctement ; `refresh` refuse sans `--yes` (exit 3) ; `relink-env` erre sans clé (exit 1) ; help/usage câblés. > Note : à lancer depuis un checkout à jour (`origin/main`) — le `.env` est écrit à côté du skill `dolibarr-sandbox-write` *de ce checkout*. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
arcodange added 1 commit 2026-06-30 07:20:15 +02:00
A skill + CLI group to drive the ADR-0003 sandbox lifecycle, instead of the manual
kubectl/deno/.env dance:

  arcodange sandbox checkpoint status       # liveness + is the write agent armed?
  arcodange sandbox checkpoint refresh --yes # re-seed iso-prod (DESTRUCTIVE, gated)
  arcodange sandbox checkpoint provision     # re-create ai_agent_sandbox (Playwright) + relink
  arcodange sandbox checkpoint relink-env    # rewrite write skill .env from the key + verify

- refresh wraps ops/sandbox/sandbox-lifecycle.sh; requires --yes (it wipes the agent
  too, since iso-prod overwrites llx_user). --db-only skips the documents sync.
- provision runs test/provisionSandbox.ts (you do the admin login — PROD creds,
  iso-prod) then auto-relinks; relink-env writes .env mode 600 and verifies via
  GET /users/info.
- scripts resolve the repo root from ARCO_ROOT (set by bin/arcodange) or their own
  path, so they work via the CLI or standalone.

Tested: status reports armed/not-armed correctly; refresh refuses without --yes
(exit 3); relink-env errors with no key (exit 1); help/usage wired.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
arcodange merged commit d27b5bfd45 into main 2026-06-30 07:20:22 +02:00
arcodange deleted branch claude/sandbox-checkpoint-cli 2026-06-30 07:20:23 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: arcodange-org/erp#30