Skip to content

feat: 0.31.0 — project chronicle: modules and their history - #66

Merged
Shahinyanm merged 23 commits into
mainfrom
feat/project-chronicle
Oct 4, 2026
Merged

Shahinyanm merged 23 commits into
mainfrom
feat/project-chronicle

Conversation

@Shahinyanm

Copy link
Copy Markdown
Member

This release turns the journal into a map of the system. A project splits into modules — parts of the system by meaning, not folders or tickets. Every task belongs to one or more modules, and each module keeps its own history. The agent keeps this chronicle up to date by itself: the journal tells it what is missing and what to do next.

For users

  • module_save creates or updates a module: name, description, path and term hints, and a short "how it works now" state. Modules are a new module event in the journal, so a rebuild brings them back.
  • Tasks link to modules through task_create(modules=[...]), module_link (many tasks at once) and task_close(module_notes=[...]), which adds a line to each module's history. An unknown module fails the call before anything is written.
  • module_page (CLI module show) shows a module's current state, the decisions, rejections and constraints of all its tasks, its open tasks and its history. A task's pack now names its modules.
  • A new task without modules gets suggested_modules, picked from its words (and, for old tasks, their files) without a model call.
  • The session start (Claude Code and Codex), tool replies, task-journal state and the Claude Code mod name the most important gap: no map yet, tasks without a module, a module whose state lags behind its tasks, or an active task without a module.
  • /task-journal:map maps a project and sorts its past tasks, with the user confirming both.
  • One map per repository: a git worktree uses its main checkout's map, while its tasks stay in its own journal. A module page gathers tasks from every worktree, removed ones included.

Upgrading

  • Restart open Claude Code and Codex sessions after cargo install --force. The first command re-indexes the project once.
  • A 0.29 or 0.30 binary next to 0.31 skips module lines with a warning and keeps every task. 0.31 re-indexes once after it, so no module is lost.
  • Before you create a module, the visible changes are a 📚 Chronicle: line at session start inviting you to map the project, optional chronicle and suggested_modules fields in task_create replies, and archive / active.modules in task-journal state.
  • Every export format leaves out module lines, so hosts that group an export by task id see no phantom tasks.

Details: CHANGELOG.md, section 0.31.0.

… module views; a broken member is skipped; migrate-project carries the registry
@Shahinyanm
Shahinyanm merged commit f25cc8c into main Oct 4, 2026
7 checks passed
@Shahinyanm
Shahinyanm deleted the feat/project-chronicle branch October 4, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant