| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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
|
| |
|
|
| |
theme-studio coverage, google-keep)
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
vterm-to-ghostel)
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| |
|
|
| |
harness rewrite
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
| |
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.
|
| |
|
|
| |
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).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
The cleanup pass bumped three child priority cookies up to match their parents (down-only).
|
| | |
|
| |
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
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.
|