Lifeline v0.3.0

Curate well

How to keep a Lifeline ledger signal not noise: good entries, granularity, supersession, and avoiding ledger rot.

Lifeline lives or dies on one thing: the ledger stays true and dense. Writes are human-in-the-loop on purpose — the AI proposes, you approve — because a reasoning record that nobody curates rots, and a stale, confident ledger is worse than no ledger: it misleads the next mind faster. This page is the practice that keeps it worth reading.

The five habits

  1. One entry per unit of work with meaning — not per file, not per commit, not per tool call. A feature, a decision, a fix, an incident, a reversal. If it doesn't change what the next AI should believe, it's not an entry.
  2. The why is mandatory. The body is the rationale, and write-time refuses an empty one (Law 5: the why outweighs the what). "Switched to Postgres" is noise. "Postgres over SQLite — the audit needs cross-row ACID and we'll outgrow a single writer" is signal.
  3. Capture the decision and its rejected alternative. The gold is "we chose X over Y because Z." The road not taken is what stops the next agent from re-proposing Y next week.
  4. Supersede, never edit. Reversed a decision? lifeline log --kind correction --parents <id> (or the lifeline_recontextualize tool) writes a correction that supersedes the old entry by id. The past stays in history, marked reverted — never silently rewritten (Laws 2 & 3).
  5. Be ruthless at approval. The AI will over-propose. Reject the changelog-y ones. The ledger is a record of reasoning, not a diff of activity — git already has the activity.

What a good entry looks like

GOOD  kind=decision
      summary: "Anchor captured entries to the merge SHA, not a new id"
      body:    "Law 1 needs an immutable anchor; Law 3 fixes id = sha256(content+parents).
                Putting the SHA *in* the id would break determinism, so it rides in a
                sidecar (hub_entry_sources). Rejected: a parents-based link (no external SHA)."

BAD   kind=note
      summary: "Updated github.py"
      body:    "refactored some functions"          # what, not why — git has this

Ledger rot — the failure mode, named

The honest risk: entries pile up, a decision gets reversed in the code but not in the ledger, and six weeks later a fresh AI reads a confident lie. Lifeline is built to resist this, but it can't do it alone:

The anti-rot routine:

A well-curated Lifeline is small, dense, and current — a few hundred entries that a new mind reads in seconds and trusts completely. That trust is the entire product; protect it.

Lifeline — MIT licensed · Edit on GitHub ← Back to the lifeline