Short version first: this article was originally written around Obsidian handoff folders, but the current default stack is different.
The goal is still the same:
with one short command, continue exactly where the previous session left off.
What changed is where truth is stored and who is responsible for which layer.
Current division of labor:
- Hermes: orchestrates tasks, boundaries, and cross-session memory organization.
- Codex: local implementation, build, and verification.
- OMX: execution management (persistence, workers, Ralph/planning flow).
- personal-llm-wiki: long-cycle project management source of truth.
- Project repos: source-of-truth for execution state (
PROJECT_STATUS.md,HANDOFF.md, etc.).
This update is about replacing the handoff model, not discarding previous learnings.
Core principles (updated)
1. Separate management, execution, and handoff layers
Past failures usually came from mixing different time scales.
- Management layer (long-cycle) lives at
personal-llm-wiki/wiki/projects/<project>.md.- current stage, risks, and next moves
- it is a stable anchor, not the full execution transcript
- Execution layer (short-cycle truth) lives in the project repository.
PROJECT_STATUS.md,HANDOFF.md,NEXT-SESSION-START.md- plus factual notes under
analysis/,docs/, plans, and outputs
- Handoff layer records transition points.
- repo handoff docs + OMX session logs
2. Keep one canonical project entry, now in personal wiki
Each project still has one stable entry:
personal-llm-wiki/wiki/projects/<slug>.md
This entry contains:
- canonical repo path (for example
/home/weathour/文档/CPS-Papers/papers/vehicle-platoon-review) - stage, constraints, and next-step definition
- risk summary and status checkpoints
If a project already has a strong repo status system, we do not force the old Prompt/Plan/Implement/Documentation file set.
3. “Daily log” becomes “executable snapshot” for today’s todo
Long-running handoff now relies on:
personal-llm-wiki/wiki/_meta/maintenance/daily-todo-registry.md- periodic
personal-daily-todocron push
Its role is to decide today’s priorities, not to host authoritative execution truth.
New operating structure
1) Management page (personal wiki)
- Location:
personal-llm-wiki/wiki/projects/<slug>.md - Why it exists:
- quickly recover scope for Hermes and humans
- drive daily todo generation
- prevent cross-session path confusion
2) Execution truth layer (repo)
Inside the project repo, read in this order:
PROJECT_STATUS.mdHANDOFF.mdNEXT-SESSION-START.md(if present)docs/CURRENT_PLAN.md(if present)
3) Session handoff layer (traceable)
When ending a session, keep entries minimal and precise:
- what was decided and changed
- changed files / validation results
- 1–3 highest-priority next steps
- unresolved risks and verification assumptions
Also keep OMX session records (for example .omx/wiki/session-log-*.md) for global traceability.
Start / stop protocol
Start (context recovery)
You can now say:
Continue vehicle-platoon-reviewContinue security-state-aware-mixed-platoonHandle yxj-wiki maintenance
Then follow:
- read
personal-llm-wiki/wiki/projects/<slug>.md - read repo
PROJECT_STATUS.mdandHANDOFF.md - read
NEXT-SESSION-START.mdwhen available - check recent related
.omx/wiki/session-log-*.md
End (handoff)
You can now say:
Let’s stop here and add handoffRecord the state and risks before you stop
Then update:
HANDOFF.md(done items + next actions)PROJECT_STATUS.md(status evolution)- project page in
personal-llm-wiki(key direction/risk update) - local session log for cross-session retrieval
Why this update
This change is mainly for stability:
- less confusion between planning records and execution facts
- fewer stale notes treated as current state
- fewer handoff mismatches between layers
In short, the new flow is now:
(wiki entry) -> (repo truth) -> (handoff log)
If needed, I can provide a compact set of copy-paste templates for PROJECT_STATUS.md, NEXT-SESSION-START.md, and HANDOFF.md for your active projects.