Project state management using CONTEXT.md files with Past/Current/Future sections. Use when: "project context", "CONTEXT.md", "project status", "where are we", "project state".
Every project has a CONTEXT.md that tracks its state across three time horizons. This is the project's memory ā read it first, update it always.
Second Brain/Projects/{project-name}/
āāā README.md ā What is this project? (stable overview)
āāā CONTEXT.md ā Past / Current / Future (living document)
āāā {working files} ā Notes, docs, research
This section grows over time. It's the project's history.
This section changes frequently ā it's the "state snapshot."
This section provides direction and surfaces uncertainty.
Projects move through stages. Track the stage in CONTEXT.md frontmatter (status: field) and update as transitions happen.
Idea ā Active ā [Paused] ā Done ā [Archived]
A captured project that isn't actively being worked on.
status: idea
What to do: Create minimal CONTEXT.md with Past (why) and Future (what done looks like). No Current section needed yet.
The project is being worked on. CONTEXT.md is updated regularly.
status: active
What to do: Full CONTEXT.md with all three sections. Update after each session.
Intentionally on hold. The key is documenting why and when to resume.
status: paused
What to do: Update Current with:
Project goals are met.
status: done
What to do: Final CONTEXT.md update:
No longer relevant. Move to Second Brain/Projects/done/ if desired.
| Event | What to Update |
|---|---|
| Task completed | Current ā Tasks |
| New blocker found | Current ā Blockers |
| Decision made | Past ā Key Decisions (with date + reasoning) |
| Direction changed | Future ā Next Milestone, and Past ā Key Decisions |
| Milestone reached | Move to Past, set new Future milestone |
| Session ends with progress | Current ā Status, Current ā Tasks |
| Project paused | Status field, Current ā explain why |
Update as state changes:
updated: date in frontmatterSee template.md for the full Obsidian Templater template.