aboutsummaryrefslogtreecommitdiff
path: root/.claude/commands/lint-org.md
diff options
context:
space:
mode:
Diffstat (limited to '.claude/commands/lint-org.md')
-rw-r--r--.claude/commands/lint-org.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/.claude/commands/lint-org.md b/.claude/commands/lint-org.md
index 953629c..d9719fa 100644
--- a/.claude/commands/lint-org.md
+++ b/.claude/commands/lint-org.md
@@ -50,6 +50,7 @@ Out of scope (refuse, don't try to lint):
| `invalid-fuzzy-link` | (1) Repair to a `[[*Heading]]` ref if a similar heading exists. (2) Drop to `=verbatim label=` text. (3) Skip. |
| `misplaced-heading` *(verbatim-asterisk case)* | (1) Strip asterisks and rephrase to preserve semantics. (2) Convert surrounding markup to `~code~` style. (3) Skip. |
| `suspicious-language-in-src-block` | (1) Emit an Emacs init one-liner that registers the language. (2) Change the block label to `text` or `example`. (3) Skip. |
+| `level-2-dated-header` *(custom check, not org-lint)* | A `** <YYYY-MM-DD> …` heading is a completion defect per `todo-format.md` (no keyword, so `--archive-done` can't archive it). (1) Convert to `DONE`/`CANCELLED` + `CLOSED:`, keeping the heading text — the usual fix. (2) Demote to `***` if it's really a mis-leveled sub-entry. (3) Skip (a dated-log-format org file where `**` dates are intentional). |
| anything else | Surface the raw `org-lint` message and ask the user how to proceed. |
## Phase A — Run the script
@@ -59,10 +60,10 @@ Out of scope (refuse, don't try to lint):
3. Invoke the script:
```bash
- emacs --batch -q -l .ai/scripts/lint-org.el FILE
+ emacs --batch -q -l .ai/scripts/lint-org.el --fix FILE
```
- The script applies every mechanical fix, then emits structured stdout. First line is a summary; each subsequent line is a plist describing one issue:
+ `--fix` is required for the writes — the script's default invocation is report-only (a linter reports, it doesn't write). With the flag, the script applies every mechanical fix, then emits structured stdout. First line is a summary; each subsequent line is a plist describing one issue:
```
;; lint-org: file=todo.org mechanical=4 judgment=11