Generated report
Decision Digest
Generated with timbers report decision-digest --last 20 | claude -p --model opus
Retrospective summary from development-ledger entries. Project ADRs and design documents remain authoritative.
Replace Hugo with an in-repo Timbermill/Eleventy publishing harness
Observed: 2026-07-14
Sources: tb_2026-07-14T18:56:47Z_aa972e, tb_2026-07-14T18:56:49Z_292a0d
Context: The Hugo demo was tightly coupled to a single renderer and offered no reusable path for native project artifacts or a clear reading experience.
Decision: Build Timbermill as an Eleventy-based publishing harness that replaces Hugo, and prove its shape in-repo before considering an independently versioned companion repository.
Ship recurring reports as a minimal profile contract, not a workflow engine
Observed: 2026-07-16
Sources: tb_2026-07-14T18:56:46Z_dd9638, tb_2026-07-16T21:34:46Z_952783
Context: Repeatable reports needed a low-friction path from captured rationale to output without manually rebuilding selection and prompt conventions.
Decision: Define a small report-profile contract with a default scope, rather than a second workflow engine, and keep prompt behavior visible instead of hidden.
Trade-offs: Multi-repository rollups, native ADR ingestion, renderer extensions, audience navigation, and theme contracts were deliberately deferred to the broader Timbermill design pass.
Replace generated numbered ADRs with non-authoritative decision digests
Observed: 2026-07-14
Sources: tb_2026-07-14T16:01:48Z_4f92ec, tb_2026-07-14T18:56:48Z_545516
Context: Heuristically generated, numbered ADRs competed with authoritative project ADRs and created ambiguity about status, numbering, and ownership.
Decision: Emit decision digests as retrospective reports and leave native ADRs and design documents as the authoritative source.
Snapshot contributor identity at capture time, with --who replacing the automatic set
Observed: 2026-07-16
Sources: tb_2026-07-16T18:36:00Z_dca822, tb_2026-07-16T20:00:52Z_a7e399
Context: Workset SHAs can disappear after rebase, squash, shallow clone, or pruning, so person-level credit cannot rely on a later Git or LLM join.
Decision: Persist a capture-time contributor snapshot on each entry, keeping the contract domain-neutral and additive; bot identities count as valid identities.
Trade-offs: An explicit --who value replaces the entire automatic contributor set to avoid ambiguous merge semantics.
Add one rich Working Mill theme without building a theme engine
Observed: 2026-07-16
Sources: tb_2026-07-16T17:29:54Z_ea25f6
Context: The neutral baseline was readable but did not give Timbers a distinctive brand or demonstrate the capture-to-report transformation visually.
Decision: Ship a single rich theme while preserving the static host-neutral publishing contract, rather than building a general theme engine.
Trade-offs: The neutral theme remains recoverable only in Git history; runtime theme selection is deferred until a second real consumer exists.
Keep generated reports free of meta-process, retaining narrative only in the devblog
Observed: 2026-07-18
Sources: tb_2026-07-18T12:22:21Z_518536
Context: Some generated reports exposed model selection and drafting analysis instead of finished artifacts.
Decision: Forbid meta-process across every template so reports present finished, evidence-backed artifacts, while keeping narrative in the devblog because that is the artifact's intent.
Surface corrupt ledger entries on read instead of dropping them silently
Observed: 2026-07-14
Sources: tb_2026-07-14T18:56:30Z_e3210f
Context: Malformed ledger files could vanish silently from queries and generated artifacts.
Decision: Surface corrupt entries on reads so they fail loudly rather than disappearing without notice.