todo: one file per item, grouped by theme, with a generated index
TODO.md had reached 1050 lines and 72 open items across 28 sections, read mostly on a phone. It is now a directory: todo/<theme>/<item>.md, one card per file, with frontmatter carrying id, status, created date and order, and the prose body copied across verbatim. TODO.md becomes a generated index (bun run todo:index). Dates: where an item's prose stated one it is used; otherwise its old section's; otherwise 2026-08-20, floored at the day before the split rather than invented. date_source records which. Shaped for a two-way Kanban board, filed as todo/tooling — a card is a file, id is the identity, frontmatter is the machine's half and the body is the owner's. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
theme: backburner
|
||||
heading: "Backburner"
|
||||
kind: theme
|
||||
---
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
id: backburner/four-foreign-keys-are-over-postgres-s-63
|
||||
title: "Four foreign keys are over Postgres's 63-character limit and re-create on every `db:push`"
|
||||
theme: backburner
|
||||
status: open
|
||||
created: 2026-08-19
|
||||
date_source: stated
|
||||
order: 1
|
||||
---
|
||||
|
||||
**Four foreign keys are over Postgres's 63-character limit and re-create on every `db:push`.**
|
||||
Found 2026-08-19 while pushing `chat_notification_prefs`. Not a blocker and not causing trouble:
|
||||
eight extra statements per push, no prompt, no data touched — the same harmless churn already
|
||||
documented for `pk_music_now_playing`, and recorded here only so the next person reading a push
|
||||
plan knows it is not their change.
|
||||
|
||||
command_hq_session_tags_session_row_id_command_hq_sessions_id_fk 64
|
||||
command_hq_watcher_fires_session_row_id_command_hq_sessions_id_fk 65
|
||||
bitcoin_wallet_frozen_utxos_wallet_id_bitcoin_wallet_wallets_id_fk 66
|
||||
bitcoin_wallet_chain_cache_wallet_id_bitcoin_wallet_wallets_id_fk 65
|
||||
|
||||
The fix is the one `src/databases/CLAUDE.md` already prescribes and these four missed — declare
|
||||
them with `foreignKey({ name: 'fk_…', … })` under 63 characters, exactly as
|
||||
`fk_user_integrations_server_integration` was. **Renaming a constraint is not a data change**, but
|
||||
it does mean one push where the old name drops and the new one is added, so do it deliberately
|
||||
rather than folded into an unrelated change. Note the two bitcoin-wallet ones live in that
|
||||
plugin's own repository (`plugins/bitcoin-wallet/db/schema.ts`), so this spans two repos and the
|
||||
plugin half only churns on a host where that plugin is installed.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
id: backburner/music-tagging-feature
|
||||
title: "Music tagging feature"
|
||||
theme: backburner
|
||||
status: open
|
||||
created: 2026-08-20
|
||||
date_source: assumed
|
||||
order: 2
|
||||
---
|
||||
|
||||
**Music tagging feature** (`/music`, Mp3tag-inspired). v1 was scoped as a two-panel workspace —
|
||||
file browser left, table right, single "Load" context-menu item flattening audio files into the
|
||||
table. Discarded before completion; would need `GET /file-browser/flatten-audio`, a
|
||||
`useFilesAPI.flattenAudio` method, and the Music app panel rebuilt from scratch.
|
||||
Reference in New Issue
Block a user