-
Notifications
You must be signed in to change notification settings - Fork 0
Tracking Work Epics and Tasks
Epics, stories and tasks are structured memory — a passive, durable record of work that lives alongside memories, all under the unified memory command. Columbus stores and retrieves; it never drives, gates, or enforces transitions (see Scope Boundary).
The hierarchy is epic → story → task:
- An epic groups related work and carries tags, references, and history.
- A story belongs to an epic (
--parent epic_NNN). - A task belongs to a story (
--parent story_NNN); its epic is the story's. -
Status is a recorded field from a fixed vocabulary:
todo,in_progress,blocked,done,cancelled. Any status can move to any other — no order is enforced. - Every status change and comment is recorded in an append-only event log.
Each item is embedded, so it surfaces in semantic search.
$ columbus memory add epic --title "Configurable networking" --tag infra
epic_001 [todo] Configurable networking
$ columbus memory add story --parent epic_001 --title "Host & port overrides"
story_001 [todo] Host & port overrides (epic_001)
$ columbus memory add task --parent story_001 --title "Support HOST override"
task_001 [todo] Support HOST override (story_001)$ columbus memory update task task_001 --status in_progress --comment "started"
task_001 [in_progress] Support HOST override (story_001)
$ columbus memory update task task_001 --comment "blocked on tokenizer choice"--status accepts any of the five statuses; --comment attaches a note to the
event (alone, or annotating a status change).
Tie work to the code and memories it concerns (drift-checked, like memory evidence):
columbus memory update epic epic_001 --add-ref file:src/server.ts --add-ref memory:mem_001References resolve to indexed file / dir / memory / symbol targets; an
unresolved ref surfaces as a warning on the item (never fatal).
$ columbus show epic epic_001
epic_001 [todo] Configurable networking
tags: infra
…child stories & tasks, references (inline drift), and historyshow epic lists fields, references, history, and child stories/tasks; show task does the same for a task.
columbus memory list epic --status in_progress
columbus memory list story --parent epic_001
columbus memory list task --parent story_001Work items are first-class in search:
columbus search "networking" --kind epic
columbus search "override" --kind taskAnd show file | symbol | memory lists, in reverse, the work that references
that entity — answering "what touches this?"
columbus memory remove epic epic_001 --force # cascades stories + tasks; ids retired
columbus memory remove story story_001 --force # cascades tasks
columbus memory remove task task_001 --forceColumbus — the navigator your coding agent has been missing · local-only, deterministic code context · Repository · Issues · MIT License
Getting started
Concepts
Guides
- Using Columbus with Your Agent
- Searching Effectively
- Navigating Code
- Project Memory
- Tracking Work: Epics, Stories & Tasks
- Keeping the Index Fresh
Command reference
Reference
- Output Modes
- JSON Contract & Errors
- Exit Codes
- Configuration
- Supported Languages
- Color & Environment
Project