================================================================================
<YOUR PROJECT NAME> — NOTES
================================================================================

================================================================================
FOR THE ASSISTANT — READ ME FIRST
================================================================================
These three files are the working instructions for the AI assistant while it
works in this workspace. This is the NOTES file (general text + session
notes). To know EXACTLY how to work in this workspace, do this in order:
  1. READ rules.txt FIRST — the RULES file: how the assistant should behave,
     code conventions, repo map, known constraints, non-negotiables.
  2. CHECK errors.txt BEFORE debugging AND before writing code — the ERROR
     LOG: known errors, causes and fixes are already documented there.
     Don't repeat mistakes.
  3. RETURN here (notes.txt) for general text: what this project is, and
     current session notes / open topics.
All three files cross-reference each other: any one leads to the other two.

================================================================================
THE THREE-FILE SYSTEM
================================================================================
  notes.txt        = general text / session notes (this file)
  rules.txt        = RULES — how the assistant behaves, conventions, repo
                     map, non-negotiables
  errors.txt       = ERROR LOG — every error encountered, its cause, and
                     the fix that worked (append new errors there)

Rule of thumb:
  - notes / general text    -> notes.txt
  - behavior / conventions  -> rules.txt
  - failures / fixes        -> errors.txt

================================================================================
PROJECT OVERVIEW (fill in)
================================================================================
<Describe the project here: what it does, the stack, how to run and test it,
and anything a new session must know.>

================================================================================
SESSION NOTE FORMAT
================================================================================
End each working session by appending a dated, titled note below. Format:

  ================================================================================
  SESSION NOTE (YYYY-MM-DD): TITLE
  ================================================================================
  WHAT HAPPENED  — what was done this session
  CURRENT STATE  — where things stand (open items, tooling state)
  NEXT-SESSION STARTER — the obvious next step
  ================================================================================

EXAMPLE SESSION NOTE:

================================================================================
SESSION NOTE (2026-08-08): EXAMPLE
================================================================================
WHAT HAPPENED
- Installed the three-file system and the error-log tooling.
- Logged the first two errors (webhook KeyError, resize timeouts) with
  causes written BEFORE the fixes.

CURRENT STATE
- Error log: 3 entries / 0 errors / 0 warnings; 2 non-FIXED items.
- Git gate installed (commit-msg hook).

NEXT-SESSION STARTER
- Run `python start.py` (STEP 0 health check included).
- Commit convention: git commit -m "... (AREA: <what broke>)".
- Obvious next work: the image resize timeout (OPEN).
================================================================================

================================================================================
SESSION NOTE (2026-08-09): v0.4.0 SHIPPED + LIVE PAGES VERIFIED
================================================================================
WHAT HAPPENED
- Companion decision-log released v0.4.0 (PR #12 -> master 790fc5b): the --stats analytics
  command, _topic_of heuristic docs, and the OPEN-decision resolve chore. Release decision
  dogfooded first (26 decisions, lint 0/0); master CI 9/9 green; draft published (draft: false).
- Mirrored the v0.4.0 SESSION NOTE into this repo's notes.txt so both repos' boot recall tell
  the same story.
- Verified both live repo pages via GitHub API + HTTP checks: 8/8 badges per repo (16 total,
  all HTTP 200), releases current (this repo v0.7.0, decision-log v0.4.0).
CURRENT STATE
- This repo: 125 tests, 17 entries lint 0/0, v0.7.0 live, gate + drift guard green, tree clean.
- Decision-log: 124 tests, 26 decisions lint 0/0, v0.4.0 live.
NEXT-SESSION STARTER
- Candidate fix: decision-log README lacks the PR-workflow section this repo documents
  (CONTRIBUTING.md only).
- Distribution remains the lever: 0 stars / 1 watcher - pitch kit ready to post.
================================================================================

SESSION NOTE (2026-08-10): real-test re-run vs shipped masters - 2293/2293 green (error-log 749, decision-log 770, log-ai 774 incl live Ollama) with the stdin-utf8 fix live in all 3 (masters 1e4441e/73fa3f2/97036db). Re-run caught a 3rd recurrence of the HEAD-anchored-SHA-pin class: 3 VERIFY pins used `git log --oneline -1`, broke on every PR merge. Hardened all 5 to history-anchored `git log --oneline | grep -q`, fixed stale test-count pins (128/127/95 -> 132/131/96), added workspace rule 13 (VERIFY SHA PINS MUST BE HISTORY-ANCHORED). Workspace 98/98 pins, boot rc=0. Lesson: pins referencing commits must use history membership, never HEAD.
