aboutsummaryrefslogtreecommitdiff
path: root/inbox
Commit message (Collapse)AuthorAgeFilesLines
* chore: conform the task list to the Priority Scheme headerCraig Jennings37 hours1-2/+0
| | | | Rename the "Priority and Tag Scheme" section to "Rulesets Priority Scheme" so the repo follows the convention it just documented. Refresh the review dates on the open tasks and drop a processed inbox note.
* chore: archive session record, file done work, and log a cleanup bugCraig Jennings48 hours1-0/+2
| | | | The archive pass moved four closed subtrees to Resolved while reporting zero moves; the relocation was correct and the reporting defect is filed as a [#D] bug.
* chore: record memory-sweep results and file overnight handoffsCraig Jennings2 days5-0/+35
|
* chore: record first memory-sweep completion and file processed handoffsCraig Jennings2 days2-0/+30
|
* chore: file processed triage-guidance handoff from workCraig Jennings2 days1-0/+7
|
* chore: process home consolidation handoffs and file follow-upsCraig Jennings2 days3-0/+401
|
* fix(scripts): keep screenshot --launch from crashing the compositorCraig Jennings3 days1-5/+0
| | | | | | | | An XWayland client launched by --launch could send a configure request while the script tore down the headless output. Hyprland's damage path then dereferenced the removed monitor and the compositor aborted (Hyprland 0.55.2, coredump analysis in docs/design/). The fix has two layers. --launch now forces the Wayland backend (DISPLAY unset, GDK and Qt steered to wayland) so no XWayland surface exists to race. Teardown also polls until the launched clients actually unmap before removing the output. X11-only apps fail to map under the default, and some emacs builds are X11-only. The new --x11 flag allows XWayland for them, protected by the unmap wait. The no-window error hints at the flag.
* feat(workflows): rewrite daily-prep to the strict three-section templateCraig Jennings3 days3-363/+0
| | | | | | | | From the template spec Craig wrote 2026-06-10 plus four refinements from his review of the first new-format prep. The doc is now exactly Heads-Up, Day's Priorities, and Meetings / Focus Blocks. Two run modes replace full-prep and standup-only: Create ends with a mandatory priorities review gate (disagreement there signals todo.org staleness), and Update refreshes a day when the world moves. Both run a triage-intake first when none ran in the last hour. It retires the separate Standup Briefs and Upcoming Deadlines sections, the Anchor Tasks handoff, and the thin-link convention. Priorities entries now mirror their todo.org task heading and carry links and context in the body. Briefs nest under the standup they're reported in, with Blockers: None explicit. Meetings carry what to contribute and get, likely questions with answers, linked prep docs, and day-before prep blocks for unanswered questions. Focus blocks are linked menus, created the day before and marked free. The spec and the decisions handoff land in docs/design/.
* chore(ai): archive session recordCraig Jennings3 days4-0/+368
|
* fix(workflows): commit template-sync churn deterministicallyCraig Jennings13 days1-6/+0
| | | | | | | | Phase A's startup rsync copies template updates from rulesets into each project's .ai/, but nothing committed that churn, so it accumulated across sessions and eventually blocked Phase A.0's auto-fast-forward (git won't ff a dirty tree). Two projects hit it the same day. I added a Step 4.0 to wrap-it-up.org that commits the churn as its own chore commit before the session-work commit, guarded so it only auto-commits synced .ai paths matching rulesets canonical byte-for-byte and surfaces anything that doesn't. startup.org Phase C now surfaces leftover churn at session start as the crashed-session safety net. Both skip the rulesets repo, where .ai/ is a committed mirror. I also moved four misplaced PROPERTIES drawers in todo.org (DONE tasks) from after the resolution prose to immediately under the CLOSED line, so org parses them as real drawers.
* chore(ai): archive session record + sweep resolved tasksCraig Jennings14 days1-0/+6
| | | | Move the completed solo-batch, rename-tool, and coverage-fan-out tasks into Resolved, and file the lint-org judgment items for the next daily-prep.
* fix(lint-org): suppress verbatim-asterisk misplaced-heading false positivesCraig Jennings2026-05-301-25/+0
| | | | | | org-lint reads an =** Foo= verbatim span in body prose as a possible misplaced heading, but verbatim markup is never a real heading. lint-org kept surfacing these as judgment items, so they recurred in lint-followups.org on every wrap and could never be acted on, since the todo.org content was already correct. I added lo--verbatim-asterisk-at-line-p, which mirrors the markdown-bold detector: it checks the reported line and the one before it, since org-lint marks the blank line after the offender. A match is now suppressed silently, the same way the cj-comment false positives already are. I flipped the two tests that pinned the old judgment behavior, and confirmed todo.org lints clean (judgment=0). This resolves the checker-bug report I filed in the inbox earlier, which I removed.
* chore(inbox): file lint-org false-positive bug, drop unfixable follow-upsCraig Jennings2026-05-302-4/+25
| | | | The wrap-up lint pass kept re-flagging two verbatim-asterisk misplaced-heading items (=** DONE= and =** Startup Pull Ordering= shown as verbatim references in prose) that aren't real misplaced headings and can't be fixed in todo.org. Filed a checker-bug report in the inbox to suppress that class going forward, and dropped the two unactionable items from lint-followups.org.
* chore(ai): archive session record + lint follow-upsCraig Jennings2026-05-301-0/+4
|
* chore(todo): fix lint findings on todo.orgCraig Jennings2026-05-301-7/+0
| | | | Relocate two LAST_REVIEWED property drawers to sit directly under their headings (and after the CLOSED line on the DONE task) so org reads them as real properties instead of inert body text. Convert the dangling #16 custom-id link to a fuzzy heading link, since the target heading carries no CUSTOM_ID. The two remaining misplaced-heading warnings are verbatim org markup inside prose, so they're false positives and stay as-is.
* chore(ai): archive session record + lint follow-upsCraig Jennings2026-05-291-0/+7
| | | | | | | Multi-arc session: no-approvals batch, codex backlog triage, page-signal + broadcast infra, voice profile Phase 1 + Phase 2 with SKILL.md split, process-inbox formalization, wrap-it-up inbox sanity check.
* chore(intake): file codex enhancement backlog as docs/design + triage TODOCraig Jennings2026-05-281-80/+0
| | | | | | | | | | | | | | | | | | Codex left a 14-item enhancement backlog for rulesets at inbox/enhancements.org overnight. Moved it to docs/design/2026-05-28-rulesets-enhancement-backlog.org as the canonical reference and filed a single [#C] :spec: TODO to walk the items and decide accept-as-TODO, fold, defer, or reject for each. Two of the 14 already have homes: item #1 (runtime-neutral core) aligns with the existing Generic agent runtime support spec (#16), and item #2 (per-agent live session files) is exactly the Codex Phase 1 [#B] TODO filed earlier today. The triage focuses on the remaining 12. Also cleared the last-session PROCESSED-prefixed inbox file (open-tasks-hybrid-friction-cascade). The cascade+friction restructure it tracked landed in this morning's open-tasks.org edits, so the reference is no longer needed.
* feat(workflows): promote no-approvals.org to template, merge pearl framingCraig Jennings2026-05-281-98/+0
| | | | | | | | | | | | | | | | | | | | | | | Pearl independently built its own no-approvals workflow (handoff in this morning's inbox) and asked rulesets to take the best from both. That's cross-project signal that the workflow earns a place at the template tier. Promoted from =.ai/project-workflows/= to =claude-templates/.ai/workflows/= with a mirror under =.ai/workflows/=. INDEX entry added under "Tools and meta" listing the full set of trigger phrases. Merged from pearl's draft: the prominent "What's Suspended" / "What Stays On" split (same content as the prior "Contract" section, easier to scan), wider trigger phrases (the project-only version had fewer), the mode-resets-when-Craig-switches-topics guard, an explicit destructive-action carve-out as its own bullet rather than buried in the "real question" section, and a subagent-review-gate callout. Kept from the rulesets version: the Session Log update emphasis between items, the real-question include/exclude lists, and the don't-auto-wrap-up guard. A History section at the bottom records the merge for future archaeology.
* chore(audit): task-audit pass + pearl intake from 2026-05-28 morningCraig Jennings2026-05-286-325/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All 16 open tasks bucketed and updated. 14 received autonomous Phase C edits (13 type-tag additions per the new scheme plus #15's body refresh for the accumulating pearl signal). Phase D adjudicated two priority bumps and the morning's inbox spillover. Phase E stamped :LAST_AUDIT: in notes.org Workflow State. Autonomous Phase C: - Tagged tasks 1-11 and 13-14 with their type tag (:feature:, :chore:, :spec:), bumped LAST_REVIEWED to 2026-05-28. Tasks 12, 15, 16 already carried type tags. - Refreshed task #15 body to reference the four pearl pattern-catalog notes now in docs/design/ (six worked patterns total). Phase D adjudication: - #15 (cross-project pattern catalog) bumped [#C] to [#B]. Pearl shipped 6 worked examples plus a synthesizing principle and is asking for spec-review iterations. Design questions still open but evidence is past the tipping point. - Filed new [#B] :feature: TODO for the codex Phase 1 race-fix (AI_AGENT_ID + session-context.d/<id>.org), lifted from the broader runtime spec (#16). Phase 1 alone is low-risk and fixes a real correctness issue under simultaneous agents. Pearl intake (4 inbox files from this morning): - Moved 0155 (patterns 4-5) and 0303 (pattern 6) into docs/design/ alongside the prior two pattern-catalog notes. Referenced from #15. - Filed new [#C] :chore:quick:solo: TODO for pearl 0138's --archive-done sweep at the start of open-tasks.org Phase A. - Filed new [#C] :feature:solo: TODO for pearl 0226's spec-review.org Phase 6 implementation-task enumeration. - Deleted 0124. Already implemented this session as the audit-warranted pre-step plus the LAST_AUDIT stamp now live in the workflow files.
* chore(session): snapshot WIP, session-context, and inbox arrivalsCraig Jennings2026-05-286-0/+405
| | | | | | | | | | Bundles end-of-session state across three concerns. claude-templates/.ai/workflows/open-tasks.org: in-flight restructure of Next Mode into a two-question output (cascade + friction filter), +62 lines. Separate from the iteration-history work that landed in 55adf6e and 684b273. .ai/session-context.org: live session record covering startup through the iteration-history backfill. Captures the no-approvals mode and the full spec-review/spec-response cycle on the working draft. inbox/: five new arrivals from this session: four pearl notes (pattern catalog, prompts-ux, spec-review implementation, prompt collapse) plus one .emacs.d note (whats-next + task-audit). A sixth file, PROCESSED-prefixed, represents mid-handling state on the open-tasks friction-cascade suggestion from earlier in the session.
* chore(inbox): clear processed lint follow-upsCraig Jennings2026-05-261-3/+0
|
* chore(ai): archive session record + regen lint follow-upsCraig Jennings2026-05-251-0/+3
|
* chore(inbox): clear processed lint follow-upsCraig Jennings2026-05-251-5/+0
| | | | Both entries were non-actionable: a verbatim-marker false positive in a DONE task body, and a recurring staleness note now resolved by a review pass.
* chore(ai): archive session record, regen lint follow-ups, fix dangling todo linkCraig Jennings2026-05-241-0/+5
| | | | The claude-memory clone was removed this session, so the todo entry's file: link to it would dangle — switched to plain text.
* chore(inbox): clear recurring lint follow-upsCraig Jennings2026-05-231-15/+0
|
* chore(ai): archive session record, sweep completed tasks, queue follow-upsCraig Jennings2026-05-221-0/+5
| | | | Archived the session record. Moved six completed tasks from Open Work to Resolved: the 2026-05-04 audit-pass parent, the two commits.md overlay tasks, the make-remove feature, the mcp/ install-pipeline doc, and the wrap-it-up GitHub-host quick fix. Queued the one lint judgment and the task-review staleness note in the inbox for next-session processing.
* chore(inbox): queue wrap-up lint and task-review follow-upsCraig Jennings2026-05-211-0/+5
| | | | The lint sweep re-flagged the line-2070 misplaced-heading false positive (a ** inside verbatim markers in a DONE body), and the staleness check counted 12 top-level tasks unreviewed past 30 days.
* chore(ai): archive session record and task-review todo cleanupCraig Jennings2026-05-201-0/+5
| | | | Archive the DONE task-review implementation and the cancelled OV-1 skill from Open Work to Resolved. The follow-ups file picks up one lint judgment and the review-habit staleness line for the next daily-prep.
* chore(inbox): clear processed lint follow-upsCraig Jennings2026-05-201-28/+0
|
* chore(ai): archive session record and wrap-up lint followupsCraig Jennings2026-05-201-0/+14
|
* chore(ai): archive session record and wrap-up lint followupsCraig Jennings2026-05-191-0/+14
| | | | Records this session's process-rule additions (Discovery check in commits.md Step 1; mechanical primary trigger for session-context writes), ai launcher polish (per-project opening line + explicit end-of-session window placement), and the new triggers.md for cross-project launch phrases. Lint-followups carries the recurring misplaced-heading judgment at line 2143 (false positive: `**` inside `=...=` verbatim, leave alone) plus a date-coverage list, both deferred per the task-review spec.
* docs(protocols): mechanical primary trigger for session-context writesCraig Jennings2026-05-181-30/+0
| | | | | | | | The "If this session crashed right now..." heuristic was the trigger. It pushes the decision onto the agent every turn, and the agent's bias is to defer when no obvious milestone just happened. Four recent sessions in the work project showed the same drift. The pattern: substantive work, no mid-session writes, a wrap-time reconstruction afterward. The new primary trigger is mechanical. A turn that called any state-modifying tool (Edit, Write, Agent dispatch, MCP write, or Bash that mutates state) writes to the Session Log before the closing user-facing message. Pure-read turns (Read, Glob, Grep, read-only Bash) don't trigger. The existing high-loss bullets stay as elaboration. They aren't the trigger. The 5-turn safety net remains. The judgment heuristic is gone. The primary trigger replaces it.
* chore(inbox): cross-machine handoff from work re: mid-session log disciplineCraig Jennings2026-05-181-0/+30
|
* docs(commits): check disk before declaring /review-code unavailableCraig Jennings2026-05-183-223/+0
| | | | | | | | Step 1 told the agent to run /review-code but didn't say what to do when the skill exists on disk yet isn't in the session's available-skills list. The list covers plugin-installed skills only. User commands under ~/.claude/commands/ are routable as slash-commands but don't appear in it, so the agent could declare /review-code unavailable and fall through to the trivial-one-liner exception in Step 2. The new Discovery check tells the agent to verify both ~/.claude/commands/review-code.md and ./.claude/commands/review-code.md on disk before declaring the skill unavailable, and surface the mismatch rather than auto-skipping. Also drops three absorbed or stale inbox files: the skill-discovery handoff (signal absorbed by this edit), the missing-inbox-dir handoff (already resolved by 470085f), and a stale date-coverage scan output (deferred until the task-review habit lands).
* docs(inbox): Add handoffs on skill discovery and missing inbox dirCraig Jennings2026-05-172-0/+193
|
* chore(ai): archive session record and wrap-up lint followupsCraig Jennings2026-05-171-0/+15
|
* chore(ai): archive session record and wrap-up lint followupsCraig Jennings2026-05-161-0/+15
| | | | Records today's task-review spec + google-keep MCP install work. Lint-followups carries one misplaced-heading judgment (line 2153, false positive — `**` inside `=...=` verbatim) and a 9-entry date-coverage list, both deferred per the task-review spec's plan to retire the date-coverage scan once implemented.
* chore(inbox): track inbox/ with a .gitkeep so it persists across sessionsCraig Jennings2026-05-161-0/+0
|
* chore(inbox): remove sync-child-priority spec — implementedCraig Jennings2026-05-141-69/+0
|
* docs(respond-to-cj-comments): add no-cj-token-in-replies rule + ↵Craig Jennings2026-05-141-0/+69
child-priority-sync spec Skill update: refer to processed items as "cj comments" in chat replies, summaries, and todo.org entries — never write the literal token in my output. The reason is search hygiene: Craig greps his files for the token to find pending annotations, and noise from my replies clutters that. Spec drop into inbox/: child-priority-sync-todo-cleanup.md captures the implementation recommendation for adding --sync-child-priority to todo-cleanup.el plus four open questions (sync direction, opt-out mechanism for deliberately-lower children, auto-apply vs --check, no-priority-parent edge case) Craig needs to answer before wiring it in.