Documentation
¶
Overview ¶
Package project auto-detects the pieces of work a life is organised around and assembles a dossier for each — its notes, the people involved, the files it touches, its goals, and recent progress — without the user filing anything.
Detection needs no manual step: the rollup pipeline already distils captured activity into project notes in the vault, and this package treats every such note as a project, then pulls together everything connected to it from the same index the rest of the system uses — the note graph, the memory store, and the raw event log. The result is the "what's going on with X" view a good chief-of-staff keeps in their head.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Age ¶
Age renders a timestamp as a human "how long ago", for the CLI.
"just now" used to cover the whole first hour, which is the one place in this product that granularity is not a detail: the line it produces is "Last checkpoint by claude, just now", and an agent reading that about a handoff fifty minutes and one context-switch old is being told something false about how current the plan is. `brain doctor` said "20 minutes ago" for the same checkpoint at the same moment, so the two disagreed in front of the user.
Types ¶
type FileRef ¶
type FileRef struct {
Path string `json:"path"`
Count int `json:"count"`
LastTS int64 `json:"last_ts"`
}
FileRef is a file the project has touched, aggregated from the event log.
type ProgressItem ¶
type ProgressItem struct {
TS int64 `json:"ts"`
Kind string `json:"kind"` // event | note | memory
Text string `json:"text"`
}
ProgressItem is one recent sign of life on the project.
type Project ¶
type Project struct {
Slug string `json:"slug"`
Name string `json:"name"`
Aliases []string `json:"aliases,omitempty"`
Notes []Ref `json:"notes"`
People []Ref `json:"people"`
Files []FileRef `json:"files"`
Goals []string `json:"goals"`
Progress []ProgressItem `json:"progress"`
Memories []memory.Memory `json:"memories"`
Convos int `json:"conversations"` // learned-from conversations touching this project
LastActive int64 `json:"last_active"`
}
Project is the assembled dossier.