summaryrefslogtreecommitdiff
path: root/docs/STATE.md
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-22 12:26:48 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-22 12:26:48 +0200
commit597811e780e423120bdbd61a17d78fb7c5733415 (patch)
treed98f1a8ad27daf223622523afe028cbf2cb3a6f8 /docs/STATE.md
parent0f286b6eda8405f14f18543f6b56bf0bd29c4fc9 (diff)
downloadbokf-0.1.64.tar.gz
bokf-0.1.64.zip
docs: TUI interaction model (draft lifecycle, explicit Spara, F2 actions)v0.1.64
Diffstat (limited to 'docs/STATE.md')
-rw-r--r--docs/STATE.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/STATE.md b/docs/STATE.md
index cbfd8dd..8bcf83e 100644
--- a/docs/STATE.md
+++ b/docs/STATE.md
@@ -53,6 +53,13 @@ unit tests and the docs consistency check.
employer name there too (it previously used the Comfortaa wordmark). The
invoice's `FAKTURA` outline is unchanged; the `MAKANDRA AB` outlines in
`src/wordmark.h` are now unused at runtime.
+- **TUI interaction model (2026-09-22, design, not implemented)**: the UX
+ session settled two focus modes, three entity lifecycles, explicit
+ `Spara` in every savable form and `<UTKAST>` drafts persisted to
+ `$XDG_CACHE_HOME/bokf/drafts.json` (deletable from both the list and the
+ editor), plus one `tui_action` registry per screen behind `F2` (no `§`).
+ Spec in `TUI-GUIDELINES.md` "Interaction model"; decisions in
+ `DECISIONS.md` #28. Rollout is backlog item 17.
- **Mail configuration**: Makandra AB (org 2) has **no** `smtp_*` settings
in bokf, so `invoice.send` there is `SMTP_NOT_CONFIGURED` (fine if
invoices are sent elsewhere — set them up when wanted). Mock AB (org 1)
@@ -121,6 +128,11 @@ None open. Completed items that used to be listed here are archived in
16. Test fixtures (`t_fresh_org()`) + one test file per domain
(`tests/core_<domain>.c`) so `--only` stops cascading; pilot with one
domain.
+17. Interaction-model rollout (spec: `TUI-GUIDELINES.md` "Interaction
+ model", decisions #28): `struct tui_action` + `F2` menu in the widget
+ layer, `clients/drafts.[ch]`, the Kunder pilot, then the other
+ registers; settings get `Spara`; pty scenarios for draft
+ create/save/delete/reload.
Original entries for the struck items are in `docs/DECISIONS.md`.