Commit graph

4 commits

Author SHA1 Message Date
Sid
aa73e2f727 feat(planctl): scanner — goldmark-backed InCode + LineMask classification
* cmd/planctl/scan.go: Scan() / scanBytes() construct a goldmark parser with
  the TaskList extension; AST walk populates InCode[] for CodeBlock /
  FencedCodeBlock / HTMLBlock and LineMask[] for inline CodeSpan nodes with
  +/-1 byte extension to cover the surrounding backticks.
* offsetToLineCol folds '\n' bytes into the preceding line so block segment
  Stop-1 maps correctly — a subtle off-by-one that tripped the closing fence
  and trailing blank-line tests before the fix landed.
* cmd/planctl/scan_test.go: 7 test functions covering fenced / indented /
  HTML blocks, inline code spans (substring + exact-range), nested emphasis
  around code, mixed features in one document, EOF-in-fenced-block, and
  trailing-newline splitLines variations.
* go.mod: goldmark promoted from indirect to direct (scan.go imports it).

Parent task 2.0 from dev/plans/26172-planctl/tasks.md.
Codex code-review session 019db23c-6c44-7d00-b3a4-6653882f0964 (2 rounds).
2026-04-21 17:02:59 -06:00
Sid
a7a79eab65 feat(planctl): project skeleton — cmd/planctl, goldmark dep, subcommand dispatch
* cmd/planctl/main.go: run() entry, --help (usage + classification codes),
  --version, lint subcommand stub, R6.1 sentinel for v2-reserved subcommands
  (list/next/complete/new-plan), R5.8 exit-2 for unknown subcommand/flag.
* go.mod: require github.com/yuin/goldmark v1.8.2 (will be promoted from
  indirect to direct once the scanner imports it in parent task 2).
* cmd/planctl/main_test.go: 8 subtests covering help/version/v2-reserved/
  unknown/no-args/lint-stub with // spec:planctl/... tags mirroring production.
* .gitignore: add planctl binary so stray go-build artifacts don't trip jj's
  snapshot size limit.

Parent task 1.0 from dev/plans/26172-planctl/tasks.md.
Codex code-review session 019db22d-7978-7e70-ae87-5242d1eedc25 (3 rounds).
2026-04-21 17:02:59 -06:00
Sid
7467ef65f8 feat(planctl): initialize feature branch + migrate plan dir
Planner→implementer handoff per dev/README.md: move the 26172-planctl plan dir (prd, design, tasks, codex-sessions, handoff) from the shared plans commit into this feature branch via jj squash, so tasks.md is visible in the branch's history for /process-task-list to consume.

Parent task 0.0 from dev/plans/26172-planctl/tasks.md.
2026-04-21 17:02:59 -06:00
Sid
ed72ab9d5c dev: add spec-driven workflow, agent skills, and AGENTS.md convention 2026-04-19 23:37:12 -06:00