Skip to content

Releases: OoneBreath/project-brain

v2.4.0 — Topic-level tiering in the compact index

Choose a tag to compare

@OoneBreath OoneBreath released this 10 Sep 22:46

Closes a gap an audit of the brain's own claims turned up: the README promises the per-session
cost stays bounded "not by how much history you keep" — true across projects (HOT/WARM/COLD
tiers, since 2.0), but not true within a single project, whose full topic list rendered
unconditionally no matter how large it grew.

Backward compatible, still zero required runtime dependencies (Python 3 stdlib only).

Added

  • Topic-level tiering in the compact index. Same idea as HOT/WARM/COLD, one level down:
    ⚠ in-progress topics are always shown in full, however many there are; once a project passes
    15 topics, its finished ones (✓v/✓d/✗/⨯) start collapsing — the most-recently-dated
    ones stay expanded up to that cap, the rest fold into one +K more, oldest <date> line. Pure
    function of index.md, deterministic, no new file format.
  • brain-check's existing "project has >15 topics" warning now references the same threshold
    (_compact.TOPIC_THRESHOLD) instead of a second, independently-defined 15, and its wording
    reflects that the compact self-corrects now even though the underlying files still benefit from
    consolidating.

Full details in the CHANGELOG.

v2.1.2 — correctness patch (self-audit)

Choose a tag to compare

@OoneBreath OoneBreath released this 01 Jul 23:04

Small correctness fixes found by auditing the tool against its own author's production brain. Backward compatible — no format changes, no new required fields.

Fixed

  • People changes now count as compact drift — data_lines() stripped every @ line as metadata, but @people / @ <slug> lines are data; editing # People never triggered the "index.compact is out of date" warning. Regression test added.
  • brain-nudge no longer nudges right after a save — it fires only when a change is newer than index.md, not on a merely-dirty git tree.
  • HOT tiering counts the resume line — recency is now max(topic dates, resume date), so an actively-worked project keeps its HOT slot.
  • [inactive …] no longer parses as active — status matching uses word boundaries.
  • --diff no longer mislabels archived topics as project _archive; archived material is excluded from the changed-since view.
  • brain-compact counted only WARM projects in its summary line (P missed P+).

Added

  • brain-check prints its own version in the summary — a stale install (repo updated, install.sh not re-run) is now visible instead of silently mis-validating.
  • Wider export redaction: emails / ssh targets (user@host), IPv6, and a much broader TLD list (.pl, .cz, .fr, .online, …).

Full details in CHANGELOG.md.

v2.1.1 — allow_conflict: opt-out for aggregator topics

Choose a tag to compare

@OoneBreath OoneBreath released this 19 Jun 00:35

Patch release — a narrow opt-out for the conflict detector. Backward compatible: brains without the new field behave exactly as before. Still zero runtime dependencies.

Added

  • allow_conflict: frontmatter on a topic. brain-check flags a project that names two mutually-exclusive techs (a relational DB, a host) — but an aggregator topic (an infra topology map, a multi-repo roadmap/checklist) legitimately lists several at once. Opt a group out with allow_conflict: [relational-db] (or true for all groups). It is narrow: only that topic's tokens are excluded from the tally, so genuine drift in other topics still surfaces. An inline # comment after the value is tolerated; an unknown group name is warned.

Fixed

  • Aggregator topics no longer raise a permanent false-positive conflict warning that no note could silence (e.g. an infra server-topology that maps each project's DB across MariaDB / Postgres / SQLite).

Full changelog: https://github.com/OoneBreath/claude-code-project-brain/blob/main/CHANGELOG.md

v2.1.0 — Brain bootstraps into native memory

Choose a tag to compare

@OoneBreath OoneBreath released this 15 Jun 00:04

Brain 2.1 — bootstraps into Claude Code's native memory.

  • install.sh now registers the brain-nudge Stop hook (merge, not overwrite)
  • brain-bootstrap: on-demand native→brain redirect (non-destructive, backs up first)
  • /project-brain init seeds the redirect for the current workspace
  • README/hook wording fix (turn-end + throttle)

Full notes in CHANGELOG.