bassclef
Architecture

Chronicle

Narrative record of a session — what shipped, what was decided, what's still open. Written automatically at session end by /session-end.

Ships with bassclef execution

The chronicle is not something you invoke by hand. It ships with bassclef and is written automatically as one of the MUST-tier obligations of /session-end. If you're closing a session with substantive work, the chronicle lands as part of that flow. You do not need to remember to run anything.

The /chronicle skill (also aliased as /session-log during the 2026-06-25 → 2026-10-31 rename grace window) exists for the case where you want to draft one on demand — for example, retroactively after a session that ended abruptly. In normal flow, /session-end composes it.

Use this when

You are ending a session and want to know what the chronicle will capture, or you are picking up a session where someone else left off and want to read what happened last time.

Skip this when

You are mid-session. Chronicles are session-end artifacts. Mid-session state lives in docs/whereami.md.

What it is

A chronicle is a Markdown file with YAML frontmatter that names what one session accomplished. Every session that ships substantive work produces one at close.

Path: chronicle/YYYY-MM-DD-<slug>.md (bassclef repo) or docs/chronicles/YYYY-MM-DD-<slug>.md (adopter repo).

Storage shape: Shape B (Markdown + YAML frontmatter) per state-spine.

Sections a chronicle carries

  • Frontmatter — session id, date, active goal reference, phase, outcome
  • What shipped — commits, PRs opened, artifacts produced
  • What was decided — new ADRs, canvas amendments, scope shifts
  • What's still open — items paused, deferred, or handed off to the next session
  • Gate evidence — which gates fired (temperance, verify, diagnose) with markers

The chronicle-template.md at templates/ in bassclef ships the full shape.

templates/chronicle-template.md

Who writes it

The /session-end skill writes the chronicle as one of its MUST-tier obligations. The /chronicle skill (also aliased as /session-log per ADR-040 during the rename grace window) drafts the body from the session's commits + conversation.

Session-end runs at the end of every substantive session. It composes /chronicle to produce the record — you don't invoke the drafting skill by hand in normal flow.

Session-end vs. session-rescue

Sometimes the session ends before /session-end fires — context exhaustion, sandbox teardown, OS interruption. When that happens, the Stop hook writes a session-rescue deferred-action entry. The next session sees the entry as BLOCKED: and completes the missing obligations.

Session-rescue is the safety net. Session-end is the primary path.

On this page

© 2025–2026 Sunjay Pandey·Privacy·Apache-2.0 code