| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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.
|
| |
|
|
| |
The studio opened with every column's span tints expanded, so the first view was crowded with colors the user hadn't asked to see. I set paletteShowFull to false in initApp, so the palette opens showing one tile per column and the existing arrow control expands the spans. The flip lives in the boot path rather than the module default, so the palette gates keep their full-palette baseline. The two that assert span tiles (#counttest, #paltoggletest) now opt into full mode explicitly. A new #paldefaulttest gate asserts the opening collapsed state.
|
| |
|
|
| |
The picker panel's background (#161412) sat a few shades off the page background (#0d0b0a), so it was hard to tell apart from the page. I gave it the studio's gold accent border (#e8bd30) and lifted the background to #1f1c19, both already used in the toolbar chrome, so the panel reads as a distinct surface. The #pickertest gate asserts the accent border and a per-channel background lift of at least 12 over the page, so the distinction can't quietly regress.
|
| |
|
|
| |
Fix shipped in 56d105f0; visual sign-off lives under Manual testing and validation.
|
| |
|
|
| |
Built and shipped in 0682b24f. Visual sign-off lives under Manual testing and validation.
|
| |
|
|
| |
Craig confirmed alert does have elements, so the dropped-packages task was a false alarm.
|
| |
|
|
| |
Resolved by 9e99749d. Dated-rewrote the VERIFY to a log entry.
|
| |
|
|
| |
Routed two emacs/studio captures: move the clear-palette button, and drop dropdown packages with no preview elements. Both need design or a criterion from Craig before implementing.
|
| |
|
|
| |
Routed an emacs-owned roam capture into Open Work. Needs design (which prompt, diff-then-return loop) before it's implementable.
|
| |
|
|
| |
Resolved by afd2ddad. Dated-rewrote the VERIFY to a log entry per the todo format.
|