aboutsummaryrefslogtreecommitdiff
path: root/todo.org
Commit message (Collapse)AuthorAgeFilesLines
* chore(todo): close the three solo speedrun tasksCraig Jennings6 days1-6/+26
| | | | | | Close the modified-arrow copy-mode, face-diagnostic buttons, and latexmk activation tasks, and file their residual hands-on checks as VERIFYs under Manual testing and validation. Claude-Session: https://claude.ai/code/session_01BqrdWUo9GcznYX2pZr76gZ
* chore(todo): file today's inbox arrivals (ai-term teardown/multi-llm, ↵Craig Jennings6 days1-0/+14
| | | | theme-studio coverage, google-keep)
* docs(theme-studio): reconcile stale spec prose with resolved decisionsCraig Jennings6 days1-7/+7
| | | | Round-3 Codex review flagged one blocker: summary/readiness/risk text still described the superseded contracts (native color capture, build-inventory.el, dual dir-row sources). Reconciled the Scope tiers, For-the-implementer summary, legend source paragraph, three readiness dimensions, and the Risks section to match the resolved decisions. No decision changed, only the lagging prose. Findings 10/10, decisions 6/6, Ready pending go.
* docs(theme-studio): incorporate round-2 spec-review into nerd-icons specCraig Jennings6 days1-6/+7
| | | | Folded the six round-2 Codex blockers into the spec. Added the explicit 13-row v1 legend table and the missing-key rule. Settled dir-color precedence (the dir advice prepends nerd-icons-yellow, so it wins) and cross-package ownership (the bespoke pane owns only nerd-icons faces; nerd-icons-completion-dir-face stays in its own app). Named the concrete legend artifact and its failure behavior, reordered into an atomic assign-then-drop-tint phase, and added a contract-by-contract test plan. Findings 9/9, decisions 6/6. Ready pending go.
* docs(theme-studio): incorporate spec-review into nerd-icons colors specCraig Jennings6 days1-5/+11
| | | | Folded the three blocking Codex findings into the spec. Added the legend data contract (row schema, per-category sources, v1 scope). Corrected the native-color seed to ride the existing default-face pipeline rather than a new build-inventory.el capture that would double-seed. Resolved all six decisions. Spec is Ready pending Craig's go.
* docs(theme-studio): spec theme-driven nerd-icons colors + filetype legendCraig Jennings6 days1-0/+9
| | | | Drafts the spec to drop the runtime nerd-icons tint (so icon color is theme-driven) and add a theme-studio filetype-legend representation over the 34 nerd-icons-* color faces. Five decisions left open for review: color model, legend scope, seed source, config sequencing, and the dir advice. Filed the cross-linked task in todo.org.
* chore(todo): answer + close completion-icon face investigationCraig Jennings6 days1-4/+18
|
* feat(org): fontify and edit cj comment blocks as orgCraig Jennings6 days1-4/+13
| | | | Map the cj: src-block language to org-mode via org-src-lang-modes, so the prose inside a cj comment block (#+begin_src cj: comment ...) gets org font-lock in place and C-c ' opens an org-mode buffer to edit it. The block stays a src block, so the cj: grep marker and the cj-processing pipeline are unchanged.
* chore(todo): close ai-term keybinding task, file manual-verifyCraig Jennings6 days1-1/+11
|
* chore(todo): file emacs roam-inbox captures into Open WorkCraig Jennings6 days1-0/+23
| | | | Routed the four emacs-prefixed items from the shared roam inbox: filed three new tasks (ai-term keybinding home, completion-icon face, org formatting inside cj comments) and folded the control-arrow tmux copy-mode capture into the existing M-arrow copy-mode task.
* chore(todo): move gptel orphan tasks and API workspace to Someday/MaybeCraig Jennings6 days1-850/+868
| | | | After archiving gptel, I moved its feature backlog (renamed to "GPTel orphan tasks and useful ideas") and the gptel-dependent Org-native API workspace design out of Open Work into Someday/Maybe, each with a note on what happened and why they're kept. Most of the child tool ideas are agent-tool concepts that would transfer to the ai-term agents or an MCP layer, so they're reference rather than active work.
* chore(ai): archive gptel and remove it from the live configCraig Jennings6 days1-13/+11
| | | | | | | | | | I archived gptel to archive/gptel/ since I rarely use it. Moved there: the six gptel modules (ai-config, ai-conversations, ai-conversations-browser, ai-mcp, ai-quick-ask, ai-rewrite), the gptel-tools/ directory, custom/gptel-prompts.el, their test files and utilities, and the four gptel-only specs. Scrubbed from the live config: the ai-config require in init.el, which also drops the whole C-; a keymap; the gptel-mode emojify hook in font-config.el; the gptel-tools entries in the Makefile clean target and the coverage runner; and the gptel feature notes in README. Cancelled the open gptel tasks in todo.org (the AI Open Work issues, the feature-extension brainstorm, the velox gptel-magit bug). ai-term stays. It is the ghostel Claude launcher, independent of gptel. Verified: every module loads, a batch init launch reaches completion clean, and the full test suite shows only pre-existing coverage failures unrelated to this change.
* feat(theme-studio): locate preview elements by hover and clickCraig Jennings6 days1-0/+33
| | | | | | | | Hovering a data-face preview element shows its section, face, and effective value in the preview-label info line, and the element's title carries the full record: effective fg/bg plus a per-attribute source note (direct, inherited-from-X, default, or cleared-rendering-as-default). Clicking an on-pane element scrolls to and flashes its assignment row. Off-pane and cross-surface elements stay hover-only. A single owner-qualified registry keyed by {owner, face} backs both data-face surfaces, package and UI, so the same face name under two owners never collides. The pure helpers in app-core.js take all state as arguments and return data. The one stateful adapter, previewSpan, lives in previews.js and emits the escaped markup. os() stays a package-owner wrapper over previewSpan, and a unified locateClick dispatcher replaces the per-surface click branches. Covered by test-locate.mjs and four new browser gates. Full harness green.
* chore(todo): mark jumper register-hygiene bug doneCraig Jennings7 days1-1/+3
|
* chore(todo): mark F7 diff-aware coverage bug doneCraig Jennings7 days1-1/+3
|
* chore(todo): re-stamp reviewed tasks, file VAMP + ai-term/terminal tasksCraig Jennings7 days1-19/+82
|
* chore(todo): archive resolved tasks (erc-yank, C-; b pull-away, ↵Craig Jennings8 days1-182/+175
| | | | vterm-to-ghostel)
* chore(todo): file migrate-off-primitive-mocking test taskCraig Jennings8 days1-0/+12
|
* chore(todo): log games-config deferral, file restart smoke checkCraig Jennings8 days1-1/+15
|
* chore(todo): close erc-yank public-gist privacy bugCraig Jennings9 days1-5/+3
|
* chore(todo): close native-comp/GC bug, file restart manual checkCraig Jennings9 days1-11/+27
|
* chore(todo-format): level-2 VERIFY closes terminal, not datedCraig Jennings9 days1-20/+8
| | | | | | | | A resolved VERIFY at level 2 was rewritten to a dated org header (** 2026-... <desc>), following the old "VERIFY dates at all depths" rule. Dated headers at level 2 fall through every tool that keys on the keyword: --archive-done never moves them, task-review never selects them, and they pile up in Open Work. The rule is now depth-split, matching ordinary tasks. VERIFY dates only at level 3 and deeper. At level 2 it closes with a DONE/CANCELLED keyword plus a CLOSED line, the answer in the body. I fixed the two existing violations (the Dirvish d/D and C-; b pull-away VERIFYs, reverted from dated ** headers to ** DONE), and closed the two F9 GUI manual-test VERIFYs after confirming them.
* chore(todo): regrade erc-yank to A, merge popup+messenger, close refactor ↵Craig Jennings9 days1-15/+40
| | | | | | | | | program - erc-yank public-gist privacy trap regraded [#B] → [#A], tagged :quick:solo: - merged the unified-popup-policy and messenger-unification tasks into one [#A] task - refactoring program marked DONE (item-8 plan() factory consciously skipped) - stamped LAST_REVIEWED on the reviewed tasks
* chore(todo): archive resolved F9 3-window-collapse bugCraig Jennings9 days1-12/+11
|
* chore(todo): mark the browser-gates harness rewrite doneCraig Jennings9 days1-16/+12
|
* chore(todo): mark refactoring program nearly complete, scope the deferred ↵Craig Jennings9 days1-52/+32
| | | | harness rewrite
* chore(todo): close the F9 3-window-collapse bug, file its GUI verifyCraig Jennings9 days1-14/+18
|
* chore(todo): file the F9 3-window-collapse bug and the f9-fix manual testCraig Jennings9 days1-0/+26
|
* chore(todo): mark the 5 medium refactor extractions done, 8 items remainCraig Jennings9 days1-22/+11
|
* chore(todo): file parent task for the remaining refactoring batchCraig Jennings9 days1-0/+124
|
* chore(todo): mark window pull-away manual check passedCraig Jennings9 days1-8/+0
|
* fix(windows): shrink the pull-away reveal to the minimum window heightCraig Jennings9 days1-1/+1
| | | | minimize-window floors at window-min-height (4 lines), leaving roughly a 10% reveal. Bind window-min-height to 1 around it so the reveal opens at the ~2-line floor and the current window keeps almost the whole frame before the windsize arrows take over.
* chore(todo): update window pull-away notes to shipped behaviorCraig Jennings9 days1-5/+6
|
* chore(todo): close dirvish and window-pull tasks, file manual checksCraig Jennings9 days1-12/+19
|
* chore(todo): stamp task-review on 7 audit-filed tasksCraig Jennings9 days1-0/+21
|
* chore(todo): archive resolved org-lint follow-upsCraig Jennings9 days1-4/+3
|
* chore(todo): log the shipped theme-studio task batchCraig Jennings9 days1-0/+12
| | | | Record the second studio batch as dated entries: expander hovers, view-dropdown lock indicator, expand/collapse-all, expander-stays-open-on-rebuild, 18 language previews, and the box column move.
* fix(todo): repoint the broken signel link and close the org-lint follow-upsCraig Jennings9 days1-7/+5
| | | | The Signal task linked to a todo file in the old signel checkout, which no longer exists. I repointed it to the smoke project's todo (smoke is the evolved Signal package). I also reworded the bug-capture task's prose so its quoted TODO-heading strings stop tripping the misplaced-heading checker. A full org-lint pass now reports zero, so the follow-up task is closed.
* chore(todo): close shipped theme-studio widget tasksCraig Jennings9 days1-2/+11
| | | | Mark the reduce-width, custom weight/slant dropdown, language-dropdown, and lock-to-leftmost tasks done as dated log entries. Refresh the org-lint follow-up list (current line numbers, plus the broken signel-todo link).
* chore(todo): archive resolved face-coverage generator taskCraig Jennings9 days1-22/+21
|
* chore(todo): note face-coverage prefix-collision edgeCraig Jennings11 days1-1/+3
|
* chore(todo): close face-coverage generator taskCraig Jennings11 days1-1/+4
|
* chore(todo): file reproducible face-coverage generator taskCraig Jennings11 days1-0/+17
|
* chore(todo): archive resolved ai-term crash task, note zig-bump coordinationCraig Jennings11 days1-11/+12
|
* chore(todo): close ai-term crash task, file ghostel un-pin follow-upCraig Jennings11 days1-0/+14
|
* chore(todo): sync child task priorities to their parentsCraig Jennings12 days1-3/+3
| | | | The cleanup pass bumped three child priority cookies up to match their parents (down-only).
* chore(todo): file org-lint follow-ups as a taskCraig Jennings12 days1-0/+5
|
* chore(todo): group tasks into module projects and document statusesCraig Jennings13 days1-1869/+1889
| | | | I consolidated the loose top-level tasks under module "Open Work" parents for every module with four or more (Theme-Studio, Music, AI), and left tasks that already had subtasks as standalone projects. I marked the top-level container tasks PROJECT, top level only and never deeper, and demoted three PROJECT headings that were buried below the top level back to TODO. The priority scheme now documents every status keyword (TODO, PROJECT, DOING, WAITING, VERIFY, STALLED, DELEGATED, DONE, CANCELLED, FAILED), with PROJECT spelled out as a top-level container. I also routed the studio table-consistency task in from the roam inbox.
* docs(messenger): add the per-app keybinding alphabet to the unification specCraig Jennings13 days1-3/+3
| | | | | | I added a "Global Prefix Keybinding Alphabet" section to the messenger-unification spec. The per-app C-; prefix is a third keybinding surface, separate from the in-buffer chords (C-c C-c / C-c C-k / C-c C-a) and decision 6's cross-app verbs. Today the action leaf under each app is ad hoc: the same key means different things in Slack, Signal, Telega, and ERC. The section spells out the canonical actions, shows the inconsistency as a matrix, and proposes one leaf alphabet across all four, with the core seven verbs as the unifiable floor and the richer verbs as optional per-backend extensions. I also added a smoke-first parity note to Phase 1 (build the controllable signel replacement to the capability floor, not its ceiling) and promoted the todo task to [#A] "Unify Signel and All Messengers into one UX" with a direct link to the spec.
* feat(keybindings): mirror the C-; command family under C-c ;Craig Jennings13 days1-1/+9
| | | | C-; is GUI-only: terminals can't encode Control-semicolon, so the whole custom command family (calendar, AI, Slack, org, pearl, jump, and the rest) was unreachable in a terminal frame (emacs -nw, emacsclient -nw, or Emacs inside vterm/tmux). I bound the single cj/custom-keymap under C-c ; alongside C-;, so the same leaf keys reach the identical map in both GUI and TTY with no relearning and no per-module edits. C-c is the standard user prefix and always TTY-encodable. I audited every leaf key in the family and they're all TTY-safe (letters, digits, punctuation, SPC, and arrow keys), so nothing needed remapping.