Opening a New Session —
Starting a fresh chat is structurally different from continuing one. The cheap part is opening the window. The valuable part is the protocol that runs once you do.
When to open one
The trigger is any of these, in priority order:
- You just closed the previous session — even if "just" means 30 seconds ago. The whole point of the close was to start fresh.
- You hit a Golden Save Point and decided to start a major new feature.
- New day. (Trivially.)
- The current session is over ~150 messages and the AI is visibly drifting — repeating itself, mis-remembering recent code, hallucinating function names. This is the forced trigger; the others are planned.
The SOP (3 steps)
1. Open a fresh chat thread
In the agent Desktop / the agent Code / claude.ai — whichever client you use — start a new thread. Don't reuse the previous one's title or seed prompt; it carries no actual state, but it tempts you to mentally continue rather than restart.
2. Decide whether to track
/wbTrack <target>//wbTrack toggles session-wide logging — every subsequent /wb* invocation appends a §N section to a shared session walkthrough. Useful when:
- You're learning the workflow and want a transcript to re-read.
- You're going to ship something user-visible and want a clean changelog source.
- You're going to run 5+ commands and want them aggregated.
Skip it for one-off sessions ("close one bug, commit, leave"). The tracker file becomes overhead-with-no-payoff if the session is short.
3. Run the orientation pair
If it's a new day or new package:
/wbStandup core2/
/wbContext <package>/wbStandup is breadth (what's in flight across the monorepo). /wbContext is depth (the package you're about to touch). Run breadth first — you might learn that the package you thought you'd work on isn't the one with the highest priority.
If it's a same-day continuation at a Golden Save Point: skip /wbStandup (you wrote one when closing the last session — read that file instead) and only run /wbContext if the package changed.
The same-day edge case
"I closed at 11am, opened a new session at 11:30am. Will
/wbTrackoverwrite my morning's tracker?"
No. The tracker, standup, plan, and audit files are all keyed by <scope>_<YYYYMMDD> — calendar date, not session. If a file already exists for today, the protocol is append, not overwrite:
track_core2_20260503.mdalready exists from this morning → second run appends a## 🔁 Run @ HH:MMsection after a---separator. Same file. No_v2suffix.standup_core2_20260503.mdalready exists → second run appends a new section. No new file.plan_core2_20260503.mdalready exists →/wbPlanwill explicitly ask whether to extend or create a sibling.
This is the "Cumulative Append" protocol, and it's deliberate: the calendar-day is the unit of persistence. If you end up running 4 sessions in one day on core2/, the morning's logs stay intact and the day's narrative reads top-to-bottom.
The exception: if you change scope (core2/ in the morning, wb-press/ in the afternoon), you get separate files because the scope token differs (track_core2_… vs track_wb-press_…). That's also correct — those are separate threads of work.
What this looks like as a loop
[close session] → [walk away or open new chat] → /wbTrack (?) → /wbStandup + /wbContext → work → [close session]
↑ ↓
└──────────────────────────────────────────────────────────────────────────────────┘The arrows are the only continuity that matters. Everything inside the box is ephemeral. Everything outside the box (the reports/, tracks/, context.md, dev.md artifacts) is what persists.
Next: 4_publishing_a_release — when one of those well-bracketed sessions exists to ship a package, the publishing pipeline is the arc that runs inside it.
