Files
bot-bottle/docs/decisions
didericis d89d389bef ci(coverage): add auto-updated "core coverage" badge
Surface the metric ADR 0004 says matters — the critical security/logic
core, currently 95% — as a README badge, distinct from the
informational global `coverage` badge.

- scripts/critical-modules.txt: single source of truth for the core
  module list. scripts/coverage.sh now reads it (instead of a hardcoded
  string) and update-badges.yml reads the same file, so the badge and
  the `critical` report cannot drift.
- update-badges.yml: a `core coverage` step reuses the unit-coverage
  data (every core module is unit-tested, so unit-only is accurate for
  it) and sed-updates the new badge, like the existing ones.
- README: `core coverage 95%` badge linking to ADR 0004 so a reader can
  find out what "core" means.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9
2026-06-26 02:19:35 -04:00
..

Decision records

Short, durable records of decisions — one file per decision. This is a lightweight Architecture Decision Record practice: capture what was decided and why in a versioned file so the reasoning lives in the clone, not in a Gitea issue thread or a chat log that disappears when the host does.

See docs/research/issue-tracking-vs-in-repo-decision-history.md for the rationale behind keeping decision history in-repo, and docs/README.md for when to write a decision record vs. a PRD or research note.

Format

One Markdown file per decision, numbered sequentially and zero-padded (0001-…, 0002-…), matching the PRD numbering style. Keep it short — the discipline is writing it down, not the ceremony.

# ADR 0000: <short imperative title>

- **Status:** Proposed | Accepted | Superseded by ADR NNNN
- **Date:** YYYY-MM-DD
- **Deciders:** <who>

## Context
What forced the decision; the constraints in play.

## Decision
What we decided, stated plainly.

## Consequences
What follows — the good, and the costs/trade-offs accepted.

## Links
PRDs, research notes, issues/PRs. Gitea links are convenience
pointers; the reasoning above must stand without them.

The records are the index: ls docs/decisions/ or skim the titles. No hand-maintained list to keep in sync.