feat: path budget - a file's path stays at 160 characters or fewer; new, rename, move and raw accept refuse more, lint reports Long Paths (#163)
CI / verify (push) Successful in 2m9s
Release / release (push) Successful in 38s

Files changed:
- CHANGES.md
- README.md
- VERSION
- instructions/page-lifecycle.md
- kb/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/_util.py
- tools/chemenu/commands/lint.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/page_ops.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_page_ops.py
- tools/chemenu/tests/test_raw_cmd.py
- tools/chemenu/tests/test_titles.py
- tools/chemenu/titles.py
This commit is contained in:
torben committed 2026-09-30 23:08:36 +02:00
1 parent 03743ebbc0
commit 04aebdeccf
18 files changed
+394 -29

No files matched your search

+5
View File
@@ -41,6 +41,11 @@ same way the real run does. The rule is in `kb/CONTRACT.md` § Titles are identi
is checked, so this is also the fix for `lint`'s **Unportable Titles** finding: rename the page
away from the title that breaks the rule. A change of case alone (`Foo` to `FOO`) is allowed.
The path `kb/<collection>/<dir>/<New>.md` also has to stay within the path budget of 160
characters (`kb/CONTRACT.md` § Titles are identifiers); `rename` refuses a longer `--to` before
writing, `--dry-run` included. Renaming away from a too-long page is the fix for `lint`'s **Long
Paths** finding, and works the same way as for an unportable title.
**If `--from` is not a page but is referenced**, rename instead repoints those references onto
the existing `--to` page and moves nothing. That is the fix for a reference spelled
`act_runner` when the page is `Act Runner`.