fix(plan): a 1.9 plan refuses placeholders and mixed-case bare names as files

Operator decision 22 (13.10); review finding 33f37f53.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-13 12:50:20 +02:00
commit 48b57284fe
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
3 changed files with 50 additions and 6 deletions

View file

@ -233,7 +233,8 @@ function pathGrammarIssue(n, code, shown, w) {
if (code === 'PLAN_STEP_PATH_NOT_A_PATH') {
return issue(code, `Step ${n}: ${w.subject} opens with a backticked span that is no path: ${shown}`,
`plan_version 1.9: the leading backticked spans of ${w.spans}; a call (\`parse()\`), an option ` +
'or a URL is description and goes after the path.');
'or a URL is description and goes after the path. A placeholder (`none`, `TBD`, `N/A`) names no ' +
'file, and neither does a mixed-case bare name (`Parser`): write `./Name` for such a file.');
}
return issue('PLAN_STEP_PATH_NOT_FIRST',
shown === '' ? `Step ${n}: ${w.none}` : `Step ${n}: ${w.subject} does not open with a backticked path: ${shown}`,