recess-cli 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "recess-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Safe Recess staff administration from the command line, for humans and coding agents.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -288,3 +288,4 @@ Dated, newest last. Add an entry every time reality surprises you.
288
288
  - 2026-07-21 — **Never answer "was this cancellation refund handled?" from the DB alone.** `CreditTransactionLog` only shows `--method tokens` grants; Stripe cash/balance path (`--method credit` / `--method refund`) lands only as invoice `credited_amount` + credit-note memo via `invoices list`. Observed live: Foundations of Science 8-11 7/20 — Zayn (full cash credit $30) and Andromeda (full balance credit $30) looked "open" in DB/token logs while admin CLI invoices already showed `credited_amount: 3000` with memo `Guide cancellation - Foundations of Science (8-11) 2026-07-20`. Always verify completion with `recess --json invoices list --subscription <sub>` (and the mixed-invoice test `credited_amount + token_refunded_cents == line amount`).
289
289
  - 2026-07-21 — **Future canceled session = pause, not credit.** When the cancel lands before the Sunday that starts the canceled week, no invoice exists yet — `invoices refund` has nothing to target. Use `billing pause --until` mid-week after that Sunday to void only that tick (Scratch 'n Hack 2 Aug 4 cancel → pause until 2026-08-06 on `sub_1TlVBBB…`). Documented in `reference/cancellation-credits.md` §3b. Don't route these threads to Linear; load this skill + cancellation-credits playbook immediately on `#cohort-cancellations` / "Please credit these students accordingly".
290
290
  - 2026-07-23 — `events reschedule` on a non-flexible course 400s (`allowFlexibleScheduling: false`) even for a simple ±10 min move (Space Technology & Rocket Launches / Starship). Check `course.allowFlexibleScheduling` on `cohorts get` **before** promising a reschedule. Staff workaround already in use: `events add` at the new cohort-local time + `events set-status CANCELED` on the original (silent — not `events cancel`). Enabling flexible scheduling is web-admin-only. Details: `reference/class-ops-reschedule.md`.
291
+ - 2026-08-04 — **`fetch failed` from any command means the agent's sandbox blocked the network, not that the session died.** Observed in Codex: `command -v recess` and `recess --help` work, but `recess --json doctor` returns `{"ok":false,"error":{"code":"unexpected_error","message":"fetch failed"}}`. Codex's default `workspace-write` sandbox has no network, and every non-preview command here calls the API. Do NOT respond by re-running `auth login` / `auth request` — the session is fine. Fix the sandbox instead: in `~/.codex/config.toml` set `sandbox_mode = "workspace-write"` plus a `[sandbox_workspace_write]` table with `network_access = true` (that table must sit AFTER any bare top-level keys, or TOML folds them into it), or run `codex --sandbox danger-full-access`. A genuinely expired session looks different: a clean `auth_required` / 401 from the API, not a transport failure.