aboutsummaryrefslogtreecommitdiff
path: root/.ai/notes.org
Commit message (Collapse)AuthorAgeFilesLines
* chore(sentry): opt rulesets into the solo-implementation passCraig Jennings9 days1-0/+1
|
* chore(notes): stamp the 2026-07-20 task audit — open set current, two ↵Craig Jennings13 days1-2/+2
| | | | scouting tasks due
* chore(notes): stamp inbox-process marker for the 2026-07-18 passCraig Jennings2026-07-181-1/+1
|
* feat(spec): sentry supervisor workflow spec, review-completeCraig Jennings2026-07-141-2/+2
| | | | Spec for the overnight hygiene supervisor: ten serialized passes, mkdir-atomic locks with heartbeat under the runtime dir, a host-suffixed unpushed branch, interactive entry gates with no report-only mode, and roam-sync kept as the roam repo's only committer. All 10 decisions and 12 adversarial-review findings are resolved in the file; status stays DRAFT pending a deep read. The build task and three deferrals are filed.
* chore: archive completed tasks and close out the day's recordsCraig Jennings2026-07-131-1/+1
| | | | The archive sweep moves the finished routing feature and the cancelled ntfy proposal into Resolved, todo.org carries the day's review stamps and dated build entries, and the session record lands under its dated name.
* chore: file processed inbox handoffs and add two backlog tasksCraig Jennings2026-07-111-1/+1
|
* chore: drop AI co-author from generated-document headersCraig Jennings2026-07-091-1/+1
| | | | | | | | | | Every org document an agent writes carried `#+AUTHOR: Craig Jennings & Claude`. No template stamps that line. Agents copy it from a neighboring file, so one stray header propagates through everything generated afterward. My own repos tolerate the co-author line. Employers whose policy is that work product carries employee names alone do not. An `#+AUTHOR:` line survives conversion into docx, a wiki page, or a PDF that reaches a customer. I rewrote the header to `Craig Jennings` across the workflows, templates, specs, and design docs. The rule now lives in commits.md, so the next generated document starts correct rather than inheriting the mistake. Archived session logs keep their original headers as a record of what happened. The two Codex-authored design docs keep their byline, because Codex wrote them and relabeling would be a false attribution rather than the removal of one.
* chore(todo): archive three audit-closed tasks to ResolvedCraig Jennings2026-07-041-1/+1
|
* chore(todo): close three tasks the audit confirmed doneCraig Jennings2026-07-041-2/+2
| | | | | | | | | | The audit found three tasks code-complete with only validation left, so I closed each and flipped its spec to IMPLEMENTED: - Docs-lifecycle convention: all four build phases plus the file-to-id link conversion had shipped. Manual validation and the org-agenda vNext moved out to their own tasks. - Wrap-up inbox/transcript routing: the recommendation engine, the route-candidate marker, the wrap-up router, and route-batch all shipped green. Manual end-to-end validation and transcript filing moved out. - Cross-machine memory sync: verified the sync round-trip live across velox and ratio (a probe made on one reached the other, its deletion propagated back, both clones on one HEAD, no conflicts). The work and unknown-project write-refusal checks moved out. I also stamped the audit marker.
* docs(spec): flip autonomous-batch to IMPLEMENTED after the live trialCraig Jennings2026-07-021-0/+1
| | | | The first speedrun ran Craig's three-task set end to end: pre-flight Q&A once, three reviewed commits, one metrics record per task, one end-of-set page. He confirmed the run and granted :LOOP_MAY_COMMIT:, so the recurring loop may now commit here alongside the existing :COMMIT_AUTONOMY: waiver.
* feat(backlog): pin the commit-autonomy waiver and its degrade contractCraig Jennings2026-07-021-0/+1
| | | | | | The waiver is now a machine-read marker: ":COMMIT_AUTONOMY: yes" in notes.org's Workflow State, with ":LOOP_MAY_COMMIT: yes" as the separate grant for the unattended loop. An absent or non-yes marker reads as no, and the read is a fresh grep each run, never memory. A caller requesting autonomous-commit without the marker degrades to file-only, surfaced in both the run intro and the summary. I stamped rulesets' own :COMMIT_AUTONOMY: and left :LOOP_MAY_COMMIT: ungranted. Letting the recurring loop commit unattended is a separate trust decision.
* docs(specs): pilot the spec-sort retrofit on rulesets' own pileCraig Jennings2026-07-021-0/+1
| | | | Five specs moved to docs/specs/ with confirmed lifecycle keywords: agent-knowledge-base IMPLEMENTED (with the stated reason in its history line), inbox-workflow-consolidation READY, autonomous-batch-execution READY, encourage-kb-contribution READY, and wrapup-routing DOING. spec-sort recomputed twelve todo.org links and the moved specs' own outbound links, and stamped :LAST_SPEC_SORT:. The status board now answers "what's live" in one grep. The four -spec.org-named files in docs/design without a spec spine stay put as notes.
* chore: file KB orphan-review task; stamp inbox-process markerCraig Jennings2026-07-011-1/+1
|
* chore: stamp inbox-process markerCraig Jennings2026-06-301-1/+1
|
* docs: revise and ratify the no-approvals speedrun specCraig Jennings2026-06-291-1/+1
| | | | | | Recast the speedrun eligibility criteria as checkable gates, not adjectives: dropped the task-size gate so large tasks decompose into per-commit chunks, replaced the act-vs-file rule with a four-item defer checklist keyed on whether the failing test is writable from the task text, and added a pre-flight step that front-loads a run's decisions so it proceeds unattended after. Define :solo: and :quick: precisely enough to enforce in task-review and task-audit. Also record the spec storage and lifecycle-status decision (org-keyword authoritative, drop the filename suffix) and the requirement to retrofit existing docs across projects.
* chore(todo): reconcile tasks and cluster the flashcard toolingCraig Jennings2026-06-281-1/+1
| | | | Task audit. I folded two of Craig's cj decisions: coverage-summary.el stays a local-only helper (reframed from bug to chore, docs work only), and the flashcard-stats refutation exemption goes generic, a header-declared check-exemption that supersedes the old two-option fix. I noted that the unattended-cron task's v1 precondition has landed, so it's buildable now rather than blocked. And I grouped the three flashcard tasks (apkg converter, refutation mode, multi-tag reconcile) under one parent, since they all edit the same two scripts and want building together.
* chore: stamp inbox-process workflow markerCraig Jennings2026-06-281-1/+1
|
* chore: task audit — reconcile open work against realityCraig Jennings2026-06-241-1/+1
| | | | | | Audited the 23 open tasks against the git log, recent sessions, and file state. 19 are current. Two were stale: the agent-source task gets a dated note that the agent-neutral wording sweep (6ad0442) and the .emacs.d multi-LLM thread landed, with naming and shared-source extraction still open; the wrap-up-routing marker sub-task is repointed from the deleted process-inbox.org to inbox.org process mode after the 2026-06-23 consolidation. Stamped LAST_AUDIT. Claude-Session: https://claude.ai/code/session_017PtX1nt1rtYVATuzmzBS4f
* chore: archive session record + todo cleanupCraig Jennings2026-06-241-1/+1
| | | | | | Wrap of the inbox-consolidation / chime-fix / wrap-teardown / roam-sync session. Archives the session record, stamps the inbox-process marker, and applies todo hygiene (2 completed subtrees archived, one table reflowed to the 120-col standard). Claude-Session: https://claude.ai/code/session_017PtX1nt1rtYVATuzmzBS4f
* docs: inbox-consolidation spec + backlog filingsCraig Jennings2026-06-231-2/+2
| | | | | | The inbox-workflow consolidation reached a Ready spec — one inbox.org engine with process/monitor/roam modes, plus "auto inbox zero" as the interactive recurring roam check (the fully-unattended cron pass deferred to vNext). Files the backlog surfaced while triaging the inbox: the wrap-it-up teardown proposal, the agent-source improvements, the consolidation task itself, and the deferred unattended-cron pass.
* chore: task audit (reconcile open work, demote 2 skill designs)Craig Jennings2026-06-161-1/+1
| | | | I reconciled all 11 open tasks against session history and repo state and refreshed their review stamps. I corrected two stale preambles: helper-instance's shipped detection slices, and memories-sync's claim that work was pending when Phases 0-4 had already shipped. The create-documentation and research-writer skill designs drop to [#D]. Both are designed but unbuilt and wait on a real triggering task, so they shouldn't sit at [#C] against active work.
* chore: process inbox (file fix-speedrun task, clear pearl acks)Craig Jennings2026-06-151-1/+1
| | | | I filed the .emacs.d "fix speedrun" proposal as a [#C] spec task, with its content preserved in docs/design for spec-create later. The two pearl acks confirmed handoffs I'd already sent, so they needed nothing back.
* chore(ai): archive 2026-06-13 session records, update inbox markerCraig Jennings2026-06-141-1/+1
|
* chore: stamp 2026-06-13 inbox-process markerCraig Jennings2026-06-131-1/+1
|
* docs(rules): codify propagating synced-file edits back to rulesetsCraig Jennings2026-06-121-1/+1
| | | | | | A downstream edit to a rulesets-owned synced file (workflows, scripts, rules, protocols.org) is a stopgap the next template sync reverts. cross-project.md now documents the three-step propagation (edit locally, inbox-send the file to rulesets, include an intro note with the why and any companions to reconcile) so agents propagate a synced-file edit without being told. From the .emacs.d handoff 2026-06-12.
* chore: record memory-sweep results and file overnight handoffsCraig Jennings2026-06-121-1/+1
|
* chore: process home consolidation handoffs and file follow-upsCraig Jennings2026-06-111-1/+1
|
* chore(ai): archive session recordCraig Jennings2026-06-111-1/+1
|
* feat(kb): roam-sync script + timer units, old roam path repointedCraig Jennings2026-06-101-1/+1
| | | | Phase 0 of the agent KB spec: the org-roam KB now lives at ~/org/roam as a git repo on cjennings.net. roam-sync.sh (bats-tested: commit, rebase, push, conflict-abort) runs from a 15-minute systemd user timer; canonical unit files live in scripts/systemd/. Live references to the old ~/sync/org/roam path (the task-list pointer, the journal workflow, the notes template) repoint to ~/org/roam, and a transition symlink at the old location covers stragglers.
* chore(ai): archive session recordCraig Jennings2026-06-101-1/+1
|
* chore: file SessionStart-hook and wide-org-table follow-upsCraig Jennings2026-06-091-1/+1
| | | | Two work-project handoffs filed as backlog tasks: a SessionStart-on-clear auto-resume hook (after /flush), and wide org-table handling via an auto-wrap helper, a width lint, or a tightened standard. Inbox-process marker updated.
* chore(ai): archive session recordCraig Jennings2026-06-061-1/+1
|
* docs(design): add org-roam knowledge-base spec for shared agent memoryCraig Jennings2026-06-051-1/+1
| | | | The spec adopts the existing ~/sync/org/roam/ KB (Syncthing-synced, 484 files) as the shared store agents read from and write to, so cross-machine memory sync comes for free instead of needing new infrastructure. It recommends the mechanics (queried as files, capture in harness memory then promote durable facts to the KB, a claude-rules pointer, an :agent: write schema) and leaves the work/personal write boundary for ratification. Supersedes the dedicated-repo and two-tier approaches for the storage-and-sync half.
* chore(ai): archive session recordCraig Jennings2026-06-031-1/+1
|
* chore: file lint-followups reconcile and start-work justify-gate tasksCraig Jennings2026-06-021-1/+1
|
* fix(workflows): commit template-sync churn deterministicallyCraig Jennings2026-05-311-1/+1
| | | | | | | | 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): refresh session log and workflow-state markerCraig Jennings2026-05-301-1/+1
|
* chore(intake): file startup-rsync-dirty TODO, stamp :LAST_INBOX_PROCESS:, ↵Craig Jennings2026-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | clear processed inbox The process-inbox workflow walked the four inbox arrivals (one from home, one from jr-estate, two from health): - 2026-05-28-0858 home spec-naming-convention: implemented in bb28cfa. Deleted. - 2026-05-29-0832 jr-estate startup-rsync-carried-dirty: filed as [#B] :feature: TODO under Rulesets Open Work. Three options captured (skip-when-dirty, clean-files-only, clean-ref-based) with my recommendation noted. Deleted. - 2026-05-29-1111 health org-drill-anki initial: superseded by 1114. Deleted without filing. - 2026-05-29-1114 health org-drill-anki updated: implemented in 506ab6e. Deleted. The startup-rsync-dirty TODO also captures an anomaly the jr-estate handoff flagged: even with --delete, two files that DO exist in rulesets canonical (cross-project-broadcast.org, page-signal.org) did NOT propagate. This is likely a timing issue (those files were added after the jr-estate Phase A rsync ran). The anomaly is worth confirming when the TODO is picked up. notes.org Workflow State stamped :LAST_INBOX_PROCESS: 2026-05-29. Inbox now empty.
* chore(audit): task-audit pass + pearl intake from 2026-05-28 morningCraig Jennings2026-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* docs(todo): add priority and tag schemeCraig Jennings2026-05-281-0/+8
| | | | | | | | | | | | | | | | Adds an explicit [#A]-[#D] legend at the top of todo.org defining what each priority level means in practice. Type and effort tag conventions live alongside, since task-audit enforces both. [#A] now requires a SCHEDULED or DEADLINE date. A task that can't be dated isn't really [#A]. It belongs at [#B]. Tags split two ways. Type tags (:feature:, :chore:, :spec:, :bug:) are mandatory. Effort and autonomy tags (:quick:, :solo:) are optional and orthogonal. Both can apply to the same task. Seeds a Workflow State section in notes.org for the :LAST_AUDIT: marker that open-tasks.org Next Mode reads to decide whether to offer a task-audit run. The marker starts unset. The first task-audit run populates it.
* chore(skills): remove humanizer (superseded by voice)Craig Jennings2026-05-071-1/+1
| | | | | | | | I deleted humanizer/SKILL.md now that all three callers (commits.md, respond-to-cj-comments.md, start-work.md) invoke /voice instead. The 25 humanizer patterns live on as patterns 1-25 in voice/SKILL.md. Same source (Wikipedia's Signs of AI writing), same prose, same examples — just renumbered alongside the universal good-writing additions and the personal-only patterns. I also updated .ai/notes.org and .ai/workflows/wrap-it-up.org to reference /voice personal instead of the old humanizer + manual-passes flow. The wrap-it-up change landed upstream in claude-templates first so it survives the next startup rsync. todo.org gets the matching update: the voice TODO is marked DONE with a "Built and shipped" timestamp, the publish-mode terminology is renamed to personal-mode throughout, the V1 scope checklist is ticked, the open questions are resolved with the answers we landed on during implementation, and the migration section records the delete-not-alias decision.
* chore(ai): initialize project notes and Claude tooling surfacesCraig Jennings2026-05-061-0/+75
Replace the seed notes.org with project-specific context (layout, install modes, task tracker location, recent inflection point). Bring in the synced template surfaces (protocols, workflows, scripts, references, retrospectives, someday-maybe) as tracked content for this content/documentation project.