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):

  1. Updates runtime_state.json (phase + last meaningful session + trimmed pending).
  2. Appends a runtime_notes_trail entry (incl. realignments — your mid-session corrections, quoted).
  3. Overwrites scratchpad.md current focus (old → archive).
  4. Updates memory for anything that changed.
  5. 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 — handoff is 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.
  • pushexplicit, never automatic. There IS a remote (origin/main). Local commits accumulate until you say push. (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 → then push.


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…SayWhat it doesAuto-commit?Auto-push?
Start workingboot wednesdayfull boot + health + self-check
Just lookload wednesdayinspect, no start
Resume after loadwake wednesdayenter posture
Close properlyclose sessionstate + scratchpad + notes + memory + verifyusually (hygiene)
Switch runtime mid-taskhandoffwrites task_handoff.md
Drop a handoffclear handoffblanks it
Upload to remotepushgit push origin main✅ (explicit)
Re-sync all runtimeswednesday sync-allparity 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 sessionpush. 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.