Commit graph

5 commits

Author SHA1 Message Date
Sid
7fa52772b3 docs: add reference docs for both binaries + consolidated build guide
* docs/building.md — how to build jj-commitd and planctl from source,
  requirements, `go install` recipes, reproducible-build flags
  (`-trimpath -ldflags="-buildid="` per planctl PRD R7.3), test +
  benchmark commands, cross-compile, CI matrix link.
* docs/planctl.md — full command reference beyond --help: plan-dir
  discovery cases A-D, all 9 classification codes with severity and
  meaning, tag-grammar spec (including paren-aware annotations + the
  tag-unclosed recovery semantics), the five EARS regexes and the
  bold-prefix exemption, JSON schema, worked examples for pre-commit
  / CI / multi-plan / JSON consumers.
* docs/jj-commitd.md — architecture diagram, socket event protocol
  (session-start, post-edit, session-end, shutdown, status) with
  field tables, all env vars (REPO_ROOT, JJ_HOOK_DEBOUNCE_SEC,
  JJ_HOOK_STALE_MIN, JJ_HOOK_AUTO_SQUASH), baked-in timing constants,
  socket / log paths, fallback mode, troubleshooting.
* README.md — expanded the jj-commitd bullets and linked to each
  reference from a new "Documentation" section; kept top-level
  summaries terse.
2026-04-21 21:38:01 -06:00
Sid
c32ae6c99e feat(planctl): docs + close-out
* README.md: new `## planctl` section after the jj-commitd section —
  description, `go install` command, classification-code list,
  pointer to the plan dir.
* AGENTS.md: bullet under `dev/ workflow` pointing agents at
  `planctl lint` as a pre-codex sanity gate.
* dev/README.md: "Pre-codex planctl lint gate" paragraph in the
  Skill workflow section.
* tasks.md: appended full traceability matrix — one row per PRD
  R-id and one per design D§ id, with the tasks and tests covering
  each. Grep-verifiable against the `// spec:planctl/*` anchors.
* Dogfood pass (task 9.5) against dev/plans/26172-planctl/ flushed
  out real self-violations in the plan docs:
    - Expanded en-dash range tags (`R1.1–R1.7`) to explicit
      comma-separated lists.
    - Dropped comma-containing annotations (`D§0 (D-2, D-5)` →
      `D§0`).
    - Added D§2 / D§3 / D§7 umbrella citations to tasks 5.3 /
      3.1 / 7.7.
    - Applied the design §3.4 bold-prefix EARS exemption to R5.3
      / R5.4 / R5.5 / R5.11 (grammatically valid but non-strict
      EARS) by prepending short bold labels.
    - Updated PRD R5.11 to say `plan-directory basename` instead
      of `relative path from CWD` — resolving a long-standing
      divergence with task 6.4 + design §3.7 + the implementation.
* Final dogfood: `26172-planctl: clean (79 tasks, 45 requirements,
  21 design sections)`.

Parent task 9.0 from dev/plans/26172-planctl/tasks.md.
Codex code-review session: 019db302-b8a9-7e53-b1e3-feab4ed7081f (2 rounds).
2026-04-21 20:39:08 -06:00
sid
deb87b37a9 feat(commitd): legacy cleanup, conflict detection, session inventory, configurable reap/debounce
- On startup, daemon sweeps orphaned /tmp/jj-claude-*-files from pre-daemon
  hook versions and dead-PID tracking files from all repos
- Cross-session file conflicts detected on post-edit and returned in response
  (logged as warnings, non-blocking)
- session-start now returns inventory of all other active sessions with their
  tracked files, PIDs, and ages
- Stale session reap reduced from 2h to 30min default (matches idle shutdown),
  configurable via JJ_HOOK_STALE_MIN env var
- Debounce interval configurable via JJ_HOOK_DEBOUNCE_SEC env var (default 3s,
  max 30s) — previously documented but not implemented
- handleEvent response changed from bare bool to structured JSON with ok/error/
  sessions/conflicts fields (backward compatible — ok field still present)
- 30 Go tests (up from 13): inventory, conflicts, env vars, legacy cleanup
2026-03-29 03:50:06 -06:00
sid
cab94355fd feat: add session bookmarks, base tracking, auto-squash, and bug fixes
- Fix: set -e for manual commands (squash-wip, status, reap)
- Fix: portable mkdir lock for session-end leftover commit race condition
- Fix: ARG_MAX guard for large file lists (>500 files)
- Fix: walk up PPID chain to find long-lived ancestor process
- Fix: default mtime when stat fails (prevents arithmetic error)
- Add: wip/claude-{session} bookmark on each session commit
- Add: base revision tracking (-base file, shown in status)
- Add: JJ_HOOK_AUTO_SQUASH=1 opt-in auto-squash at session end
- Change: settings.local.json → settings.json (team-shared by default)
- Tests: 77 total (8 new for bookmarks, base, auto-squash, status, reap)
2026-03-23 04:16:01 -06:00
sid
fb1c2124c3 chore: initial jj + claude code workflow template 2026-03-21 11:30:08 -06:00