feat: 0.31.0 — project chronicle: modules and their history - #66
Merged
Merged
Conversation
…fset; leftovers end in a catch-all module
…terms, folder paths, ё = е
…checkout's chronicle
… module views; a broken member is skipped; migrate-project carries the registry
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_savecreates or updates a module: name, description, path and term hints, and a short "how it works now" state. Modules are a newmoduleevent in the journal, so a rebuild brings them back.task_create(modules=[...]),module_link(many tasks at once) andtask_close(module_notes=[...]), which adds a line to each module's history. An unknown module fails the call before anything is written.module_page(CLImodule 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.suggested_modules, picked from its words (and, for old tasks, their files) without a model call.task-journal stateand 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:mapmaps a project and sorts its past tasks, with the user confirming both.Upgrading
cargo install --force. The first command re-indexes the project once.modulelines with a warning and keeps every task. 0.31 re-indexes once after it, so no module is lost.📚 Chronicle:line at session start inviting you to map the project, optionalchronicleandsuggested_modulesfields intask_createreplies, andarchive/active.modulesintask-journal state.exportformat leaves outmodulelines, so hosts that group an export by task id see no phantom tasks.Details: CHANGELOG.md, section 0.31.0.