feat(sidenote): self-contained capture + checkbox lifecycle; ignore the parking file#21
Merged
Merged
Conversation
… current task A passing thought dropped mid-task reads as a new request, so the agent rushes the big task to get to it. /sidenote reframes it as a parked later-task: log it verbatim to .claude/sidenotes.md, one-line ack, resume with scope and pace unchanged. Bare /sidenote flushes the list. Wired into the installer (copy on install, remove on uninstall) and documented in the README alongside /scalable, including the plain-text SIDENOTE: prefix for agents without slash commands.
…times-i-think-about
fenceInto only stripped its own <!-- karpathy-skills --> block before re-appending, so running the installer against a file where the guidelines were hand-merged (verbatim '## 1. Think Before Coding' heading, no markers) appended a second full copy. Detect that heading outside our block and skip with a warning instead; wire up the previously-dead --force flag as the override. Mirrors the activate hook's dedup so both paths behave the same.
…times-i-think-about
…he parking file A verbatim thought parked mid-task is full of 'this / here / it' that dangles when another session or agent reads it cold. Each entry now carries a one-line anchor (task in progress, the file it points at, branch@sha) drawn only from context already in hand — no investigating, so the park contract holds. Entries use - [ ] / - [x]; a bare /sidenote flushes everything not checked off, so older un-checkboxed bullets still surface. Add a repo .gitignore for .claude/sidenotes.md so 'git add -A' can't sweep personal parked thoughts into shared history, and sync the README to match.
…times-i-think-about
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
A sidenote is logged verbatim — which means it's full of deictic references ("this is racy", "fix it later", "here") that only resolve in the session that wrote them. Read cold by another session or agent, the note is meaningless. (Confirmed unsolved in Claude Code itself.)
Changes
commands/sidenote.md): each entry now carries a one-line anchor — task in progress · the file/area "this/here" points at · branch@sha — drawn only from context already in hand. Explicit guard: filling the anchor must not open files, grep, or investigate the note's subject, so the park contract holds.- [ ]/- [x]. A bare/sidenoteflushes everything not checked off (so older un-checkboxed bullets still surface — no silent drops)..gitignore(new): excludes.claude/sidenotes.md. Guards against greybeard's own/mergeSOP (git add -A) sweeping personal parked thoughts into shared history — a near-miss already occurred. Native primitive, 2 lines, reversible.Decisions (via
/scalable).gitignoreguards greybeard's own repo only; a user-facing guard (store outside the working tree) is a separate, deferred product call.Verification
npm run check-syncgreen (guidelines source untouched); parking file confirmed absent fromgit status; command reads coherently end-to-end. Prompt/doc change — no shell-out surface beyond that.