Wednesday Session Lifecycle — Operator Guide
What it is, in one line: the handful of commands that start, close, hand off,
and persist a Wednesday working session — and the one confusion to avoid
(handoff ≠ commit ≠ push). Same triggers on every runtime (Claude Code, Telegram,
Grok, Gemini, Codex). Unchanged by the “Wednesday possesses Hermes” rework
(2026-05-29) — that added boot checks, not new commands.
Start a session
boot wednesday — the full start
Runs the canonical boot path: MCP scan, vault audit, agentic-OS health, daemon health, bus anomalies, active lessons, skill surface, state-drift check, self-check → then enters active posture with a one-line verdict (clean / warn / blocked / stale).
You’ll now also see (added 2026-05-29): [AGENTS] surfaced=N, [CAPS] skills cc=…/hermes=…, [LEARNING] N candidate(s). Those are status lines, not new
commands — just richer awareness at boot.
Use it: at the start of any real working session. If anything is stale or blocked, Wednesday stops and tells you — she won’t pretend the state is clean.
load wednesday — inspect only
Reads the boot file and stops in inspection state. No self-check, no active posture. Use when you want to look without “starting” her.
wake wednesday — resume after a load
Assumes a load wednesday happened earlier in the same session. If not, she says
the self-check was skipped and points you to boot wednesday.
Close a session
close session / /session-close — the proper full close
Runs the session-close gate (mandatory before any “session safe / good state” claim):
- Updates
runtime_state.json(phase + last meaningful session + trimmed pending). - Appends a
runtime_notes_trailentry (incl. realignments — your mid-session corrections, quoted). - Overwrites
scratchpad.mdcurrent focus (old → archive). - Updates memory for anything that changed.
- Re-reads + cross-checks phase consistency. Any mismatch → STOP + fix + re-run.
This is the closing trigger. A commit usually happens here as hygiene. Push does not — see below.
Hand off mid-task (NOT a close)
handoff
Writes task_handoff.md so another LLM runtime can pick up an unfinished task
(e.g. you hit a Claude rate limit and want to continue on Grok/Gemini). Wednesday
asks for: task name, done steps, next steps, context. Any runtime surfaces it on
next boot.
Important —
handoffis NOT how you commit or push. It only carries task state across a runtime switch. It writes one file. No git, no close.
clear handoff
Blanks task_handoff.md (task: "—"). Use when the task is done or the handoff is
no longer needed.
Persist to git (commit & push)
- commit — happens at close as hygiene (Wednesday commits the state/work). The vault tracks state files, so a close commit keeps history.
- push — explicit, never automatic. There IS a remote (
origin/main). Local commits accumulate until you saypush. (As of 2026-05-29 there were 34 commits parked locally — push only happens on your word.)
If you want everything on the remote, end with:
close session→ thenpush.
Cross-runtime parity (maintenance)
wednesday sync-all (or run _infra/scripts/wednesday-sync-all.py)
One command that brings every runtime to the same capability set (persona/SOUL + Claude-Code skills + agents + Hermes skills + MCP registry + capability registry). Run it after adding/editing skills or agents so Telegram-Wednesday and Claude-Code-Wednesday don’t drift apart. Boot already audits this and tells you if something’s stale.
Quick reference
| You want to… | Say | What it does | Auto-commit? | Auto-push? |
|---|---|---|---|---|
| Start working | boot wednesday | full boot + health + self-check | — | — |
| Just look | load wednesday | inspect, no start | — | — |
| Resume after load | wake wednesday | enter posture | — | — |
| Close properly | close session | state + scratchpad + notes + memory + verify | usually (hygiene) | ❌ |
| Switch runtime mid-task | handoff | writes task_handoff.md | ❌ | ❌ |
| Drop a handoff | clear handoff | blanks it | — | — |
| Upload to remote | push | git push origin main | — | ✅ (explicit) |
| Re-sync all runtimes | wednesday sync-all | parity across Claude/Telegram/etc. | — | — |
The one confusion to avoid
handoff, close session, and push are three different things:
handoff= “I’m switching runtime mid-task.” (one file, task state)close session= “we’re done for now.” (state files + verify; commit as hygiene)push= “put the commits on the remote.” (explicit, on your word)
A clean end-of-day is usually just: close session → push. You only use
handoff when a task is unfinished and you’re changing which LLM continues it.
Status (2026-05-29)
Triggers unchanged by the Hermes-possession rework. Boot now surfaces extra status
lines ([AGENTS], [CAPS], [LEARNING]) + an MCP scan; the session-close gate
dropped its old skill-review step. Canonical command definitions live in
CLAUDE.md (root) — this guide is the operator-facing summary.