paperlint 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.github/CLAUDE.md +22 -0
  2. package/.github/CLAUDE.md.spec.ts +20 -0
  3. package/CLAUDE.md +59 -515
  4. package/CONTRIBUTING.md +2 -2
  5. package/README.md +68 -128
  6. package/dist/CLAUDE.md.spec.d.ts +3 -0
  7. package/dist/CLAUDE.md.spec.d.ts.map +1 -0
  8. package/dist/CLAUDE.md.spec.js +62 -0
  9. package/dist/CLAUDE.md.spec.js.map +1 -0
  10. package/dist/build.d.ts +1 -1
  11. package/dist/build.js +2 -2
  12. package/dist/cli.d.ts +5 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +52 -6
  15. package/dist/cli.js.map +1 -1
  16. package/dist/domain/layout-tree.d.ts +19 -0
  17. package/dist/domain/layout-tree.d.ts.map +1 -0
  18. package/dist/domain/layout-tree.js +32 -0
  19. package/dist/domain/layout-tree.js.map +1 -0
  20. package/dist/domain/lookup-cache.d.ts +2 -2
  21. package/dist/domain/lookup-cache.js +2 -2
  22. package/dist/domain/paper-layout.d.ts +81 -0
  23. package/dist/domain/paper-layout.d.ts.map +1 -0
  24. package/dist/domain/paper-layout.js +259 -0
  25. package/dist/domain/paper-layout.js.map +1 -0
  26. package/dist/domain/repro-layout.d.ts +80 -0
  27. package/dist/domain/repro-layout.d.ts.map +1 -0
  28. package/dist/domain/repro-layout.js +247 -0
  29. package/dist/domain/repro-layout.js.map +1 -0
  30. package/dist/domain/scaffold-layout.d.ts +28 -0
  31. package/dist/domain/scaffold-layout.d.ts.map +1 -0
  32. package/dist/domain/scaffold-layout.js +81 -0
  33. package/dist/domain/scaffold-layout.js.map +1 -0
  34. package/dist/eslint-rules/CLAUDE.md.spec.d.ts +3 -0
  35. package/dist/eslint-rules/CLAUDE.md.spec.d.ts.map +1 -0
  36. package/dist/eslint-rules/CLAUDE.md.spec.js +39 -0
  37. package/dist/eslint-rules/CLAUDE.md.spec.js.map +1 -0
  38. package/dist/eslint-rules/install-path-literals.d.ts +1 -1
  39. package/dist/eslint-rules/install-path-literals.js +4 -4
  40. package/dist/eslint-rules/install-path-literals.js.map +1 -1
  41. package/dist/eslint-rules/pdf-last-page-balance.js +1 -1
  42. package/dist/eslint-rules/prereg-coverage.d.ts +98 -0
  43. package/dist/eslint-rules/prereg-coverage.d.ts.map +1 -0
  44. package/dist/eslint-rules/prereg-coverage.js +274 -0
  45. package/dist/eslint-rules/prereg-coverage.js.map +1 -0
  46. package/dist/folder-layout-hook.d.ts +21 -0
  47. package/dist/folder-layout-hook.d.ts.map +1 -0
  48. package/dist/folder-layout-hook.js +117 -0
  49. package/dist/folder-layout-hook.js.map +1 -0
  50. package/dist/folder-layout-rule.d.ts +22 -0
  51. package/dist/folder-layout-rule.d.ts.map +1 -0
  52. package/dist/folder-layout-rule.js +107 -0
  53. package/dist/folder-layout-rule.js.map +1 -0
  54. package/dist/init.js +1 -1
  55. package/dist/init.js.map +1 -1
  56. package/dist/lib/agent-cli-version.js +1 -1
  57. package/dist/lib/agent-cli-version.js.map +1 -1
  58. package/dist/new-paper.d.ts +4 -1
  59. package/dist/new-paper.d.ts.map +1 -1
  60. package/dist/new-paper.js +40 -6
  61. package/dist/new-paper.js.map +1 -1
  62. package/dist/references.d.ts +1 -1
  63. package/dist/references.d.ts.map +1 -1
  64. package/dist/references.js +2 -2
  65. package/dist/references.js.map +1 -1
  66. package/dist/repro-layout-rule.d.ts +16 -0
  67. package/dist/repro-layout-rule.d.ts.map +1 -0
  68. package/dist/repro-layout-rule.js +81 -0
  69. package/dist/repro-layout-rule.js.map +1 -0
  70. package/dist/tex-requirements.js +1 -1
  71. package/dist/toolchain.js +1 -1
  72. package/docs/ci.md +60 -0
  73. package/docs/configuration.md +2 -0
  74. package/docs/e2e.md +3 -3
  75. package/docs/incidents.md +5 -5
  76. package/docs/install.md +20 -16
  77. package/docs/layout.md +154 -0
  78. package/docs/optional-rules.md +5 -4
  79. package/docs/references.md +5 -2
  80. package/docs/rules/paper/allowed-files-only.md +192 -0
  81. package/docs/rules/repro/allowed-files-only.md +128 -0
  82. package/docs/rules/study/declare-sample.md +146 -0
  83. package/docs/rules.md +53 -50
  84. package/docs/skills.md +6 -3
  85. package/docs/venues.md +94 -0
  86. package/eslint-rules/CLAUDE.md +44 -0
  87. package/eslint-rules/CLAUDE.md.spec.ts +43 -0
  88. package/eslint-rules/install-path-literals.harness.mjs +1 -1
  89. package/eslint-rules/install-path-literals.ts +4 -4
  90. package/eslint-rules/pdf-last-page-balance.ts +1 -1
  91. package/eslint-rules/prereg-coverage.test.ts +448 -0
  92. package/eslint-rules/prereg-coverage.ts +419 -0
  93. package/eslint.config.mjs +6 -3
  94. package/hooks/CLAUDE.md +34 -0
  95. package/hooks/CLAUDE.md.spec.ts +30 -0
  96. package/lib/agent-cli-version.ts +1 -1
  97. package/lib/skill-trigger-cases.harness.mjs +51 -5
  98. package/lib/skill-trigger-cases.mjs +53 -15
  99. package/package.json +2 -2
  100. package/plugin/CLAUDE.md +22 -0
  101. package/plugin/CLAUDE.md.spec.ts +22 -0
  102. package/plugin/hooks/hooks.json +9 -0
  103. package/scripts/coverage-config.test.ts +2 -1
  104. package/skills/CLAUDE.md +19 -0
  105. package/skills/CLAUDE.md.spec.ts +18 -0
  106. package/skills/analyze-sibling-paper/SKILL.md +2 -2
  107. package/skills/analyze-sibling-paper/SKILL.md.spec.ts +1 -1
  108. package/skills/build-benchmark/SKILL.md +14 -1
  109. package/skills/build-benchmark/SKILL.md.spec.ts +13 -0
  110. package/skills/build-label-page/SKILL.md +118 -0
  111. package/skills/build-label-page/SKILL.md.spec.ts +129 -0
  112. package/skills/build-label-page/build-label-page.eval.mjs +15 -0
  113. package/skills/build-label-page/build-label-page.test.ts +959 -0
  114. package/skills/build-label-page/references/checklist.md +148 -0
  115. package/skills/build-label-page/references/example-generator.py +803 -0
  116. package/skills/find-venue/SKILL.md +5 -3
  117. package/skills/find-venue/SKILL.md.spec.ts +4 -2
  118. package/skills/grade-paper-writing/SKILL.md +7 -7
  119. package/skills/grade-paper-writing/SKILL.md.spec.ts +6 -6
  120. package/skills/map-prior-work/SKILL.md +2 -2
  121. package/skills/map-prior-work/SKILL.md.spec.ts +1 -1
  122. package/skills/paper-pipeline/SKILL.md +8 -6
  123. package/skills/paper-pipeline/SKILL.md.spec.ts +7 -5
  124. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +19 -9
  125. package/skills/paper-pipeline/references/acceptance-gate.md +19 -19
  126. package/skills/paper-pipeline/references/artifact-checklist.md +5 -0
  127. package/skills/paper-pipeline/references/pipeline-status-template.md +30 -1
  128. package/skills/paper-pipeline/repro/2026-08-07-fork-check.log +1 -1
  129. package/skills/paper-pipeline/repro/2026-08-07-fork-check2.log +1 -1
  130. package/skills/paper-pipeline/repro/2026-08-07-language-eval-pilot.log +1 -1
  131. package/skills/paper-pipeline/repro/2026-08-07-language-eval-raw.log +1 -1
  132. package/skills/paper-pipeline/repro/2026-08-08-framing-vs-vocabulary-oracle.log +48 -48
  133. package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-A6-oracle.log +8 -8
  134. package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-oracle.log +48 -48
  135. package/skills/paper-pipeline/repro/2026-08-08-parent-replication-gpw.log +2 -2
  136. package/skills/paper-pipeline/repro/2026-08-08-parent-replication.mjs +3 -3
  137. package/skills/paper-pipeline/repro/2026-10-13-grade-paper-writing-ablation-preflight-after.log +81 -0
  138. package/skills/paper-pipeline/repro/2026-10-13-grade-paper-writing-ablation-preflight-before.log +81 -0
  139. package/skills/paper-pipeline/repro/2026-10-13-grade-paper-writing-ablation-setupdiff.log +59 -0
  140. package/skills/paper-pipeline/repro/2026-10-13-grade-paper-writing-trigger.jsonl +1 -0
  141. package/skills/paper-pipeline/repro/2026-10-13-grade-paper-writing-trigger.log +22 -0
  142. package/skills/paper-pipeline/repro/README.md +4 -0
  143. package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +2 -2
  144. package/skills/paper-pipeline/scripts/extract-ref-facts.mjs +2 -2
  145. package/skills/paper-pipeline/scripts/extract-ref-facts.test.mjs +4 -2
  146. package/skills/paper-pipeline/scripts/generated-code.harness.mjs +7 -2
  147. package/skills/paper-pipeline/scripts/generated-code.mjs +8 -4
  148. package/skills/paper-pipeline/scripts/generated-code.test.ts +15 -1
  149. package/skills/paper-status/SKILL.md +2 -2
  150. package/skills/paper-status/SKILL.md.spec.ts +1 -1
  151. package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +21 -102
  152. package/skills/study-accepted-papers/SKILL.md +163 -161
  153. package/skills/study-accepted-papers/SKILL.md.spec.ts +167 -165
  154. package/skills/study-accepted-papers/references/base-rates.md +69 -0
  155. package/skills/study-accepted-papers/references/mechanisms.md +181 -0
  156. package/skills/verify-citations/SKILL.md +2 -2
  157. package/skills/verify-citations/SKILL.md.spec.ts +1 -1
  158. package/src/CLAUDE.md +23 -1
  159. package/src/CLAUDE.md.spec.ts +72 -0
  160. package/src/build.ts +2 -2
  161. package/src/cli.harness.mjs +42 -0
  162. package/src/cli.test.ts +90 -6
  163. package/src/cli.ts +78 -5
  164. package/src/domain/layout-tree.test.ts +32 -0
  165. package/src/domain/layout-tree.ts +47 -0
  166. package/src/domain/lookup-cache.ts +2 -2
  167. package/src/domain/paper-layout.test.ts +264 -0
  168. package/src/domain/paper-layout.ts +336 -0
  169. package/src/domain/repro-layout.test.ts +222 -0
  170. package/src/domain/repro-layout.ts +311 -0
  171. package/src/domain/scaffold-layout.ts +104 -0
  172. package/src/folder-layout-hook.test.ts +214 -0
  173. package/src/folder-layout-hook.ts +141 -0
  174. package/src/folder-layout-rule.test.ts +235 -0
  175. package/src/folder-layout-rule.ts +151 -0
  176. package/src/hooks-settings.harness.ts +9 -8
  177. package/src/init.ts +1 -1
  178. package/src/layout-docs.test.ts +52 -0
  179. package/src/new-paper.harness.mjs +23 -1
  180. package/src/new-paper.test.ts +299 -6
  181. package/src/new-paper.ts +51 -5
  182. package/src/paper-files.test.ts +9 -6
  183. package/src/references.test.ts +5 -5
  184. package/src/references.ts +2 -2
  185. package/src/repro-layout-rule.test.ts +114 -0
  186. package/src/repro-layout-rule.ts +121 -0
  187. package/src/rule-cases.test.ts +98 -0
  188. package/src/tex-requirements.ts +1 -1
  189. package/src/toolchain.ts +1 -1
  190. package/templates/paper/PIPELINE-STATUS.md +41 -7
@@ -0,0 +1,117 @@
1
+ /**
2
+ * The `paper-folder-layout` hook — `paper/allowed-files-only` and `repro/allowed-files-only` BEFORE a file is
3
+ * created, not at the next lint. PreToolUse on `Edit|Write|MultiEdit` (`plugin/hooks/hooks.json`):
4
+ * when the file about to be written does not exist yet and would add an entry the layout does not
5
+ * allow — at a paper folder's root, or at the top of its `repro/` — the call is denied, and the
6
+ * reason is the rule's own message: where the entry goes, and the layout drawn. The agent writes it
7
+ * where it belongs instead, in the same turn.
8
+ *
9
+ * ── WHAT IT NEVER BLOCKS ─────────────────────────────────────────────────────────
10
+ * - A file that already exists. Editing is never refused, wherever the file is: a paper whose
11
+ * folder predates the layout keeps working, and the rule reports what is out of place.
12
+ * - A new file inside an entry that already exists, even one the layout does not allow: the entry is
13
+ * not new, and the rule reports it once, by name. Only a NEW entry is refused.
14
+ * - Anything outside a paper folder (no `PIPELINE-STATUS.md` above it).
15
+ * A new study folder in `repro/` is created with its `README.md` first: any other first file in it
16
+ * is refused with `repro/allowed-files-only`'s "without a README.md" message.
17
+ *
18
+ * ── WHAT IT CANNOT SEE ───────────────────────────────────────────────────────────
19
+ * A shell command (`mv`, `cp`, a script writing files) is not an Edit or a Write, and this hook never
20
+ * sees it. The guarantee is the lint: both rules fail `paperlint lint`, in CI, whatever wrote the
21
+ * entry. The hook only saves the round trip. It does not read the paper's `rules` either: a paper
22
+ * that switched a layout rule off is still refused a new stray entry.
23
+ *
24
+ * ── ONE FUNCTION PER RULE, NOT TWO LISTS ─────────────────────────────────────────
25
+ * The texts are `strayTexts` (`src/folder-layout-rule.ts`) and `reproTexts`
26
+ * (`src/repro-layout-rule.ts`), the functions the rules report with.
27
+ *
28
+ * ── WHY IT IS NOT A VIGILES PROGRAM LIKE ITS NEIGHBOURS (measured 2026-10-12, vigiles 38) ──────
29
+ * A shipped `.hook.mjs` may import nothing but `vigiles/hook` (`checkHookImports`), so it cannot call
30
+ * this package's function; its only way to a tool is `run()`, whose output reaches stderr and never
31
+ * the hook's answer (`paper-status-gates.hook.mjs` measured that); and a `provide()` command runs
32
+ * before the reaction without the event, so it cannot know which file is written. Each of the three
33
+ * would mean a second copy of the layout. So `paperlint hook paper-folder-layout` runs this module
34
+ * in-process (`runHook`, src/cli.ts), behind the same wiring command as the other hooks, which is
35
+ * what `paperlint init` merges and `paperlint doctor` reads.
36
+ *
37
+ * ── THE CHEAP FIRST STEP ─────────────────────────────────────────────────────────
38
+ * Before reading any settings or listing any folder, the hook looks for the nearest folder above the
39
+ * file that holds `PIPELINE-STATUS.md` — the file every paper has and the rules are reported on — with
40
+ * one `isFile` per ancestor and nothing else: no git, no lint. No such folder: no output.
41
+ */
42
+ import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
43
+ import { callerPath } from "./caller-path.js";
44
+ import { ESCAPE_HATCH } from "./domain/paper-layout.js";
45
+ import { README, REPRO_DIR, isStudyName } from "./domain/repro-layout.js";
46
+ import { fieldOf } from "./domain/record.js";
47
+ import { strayTexts } from "./folder-layout-rule.js";
48
+ import { reproTexts } from "./repro-layout-rule.js";
49
+ /** The file every paper folder has, and the rules are reported on. */
50
+ const STATUS_FILE = "PIPELINE-STATUS.md";
51
+ /** The target file's absolute path from the payload; null when there is none to read. */
52
+ export function writtenPath(payload) {
53
+ const input = fieldOf(payload, "tool_input");
54
+ const raw = fieldOf(input, "file_path") ?? fieldOf(input, "notebook_path");
55
+ if (typeof raw !== "string" || raw === "")
56
+ return null;
57
+ if (isAbsolute(raw))
58
+ return resolve(raw);
59
+ const cwd = fieldOf(payload, "cwd");
60
+ return typeof cwd === "string" && isAbsolute(cwd) ? resolve(cwd, raw) : null;
61
+ }
62
+ /**
63
+ * The nearest folder above `file` holding `PIPELINE-STATUS.md`, up to the root; null when none, and
64
+ * null for anything under a folder named `extra/`, which lint never reads: an archived paper kept
65
+ * there carries its own status file and is not a paper to hold to the layout.
66
+ */
67
+ export function paperFolderOf(file, files) {
68
+ // The same reach as lint's `**/extra/` ignore: a folder named extra/ anywhere above the file.
69
+ if (dirname(file).split(sep).includes(ESCAPE_HATCH))
70
+ return null;
71
+ const up = (dir) => {
72
+ if (files.isFile(callerPath(join(dir, STATUS_FILE))))
73
+ return dir;
74
+ const parent = dirname(dir);
75
+ return parent === dir ? null : up(parent);
76
+ };
77
+ return up(dirname(file));
78
+ }
79
+ /** The entry `segments` would add under `dir`, as the layout judges it; null when it exists. */
80
+ const newEntry = (dir, [name = "", ...below], deps) => deps.listDir(callerPath(dir)).includes(name)
81
+ ? null
82
+ : { name, kind: below.length > 0 ? "dir" : "file" };
83
+ /** Why creating `segments` (relative to the paper folder `dir`) breaks the layout; null when not. */
84
+ function refusal(dir, segments, deps) {
85
+ const atRoot = newEntry(dir, segments, deps);
86
+ const [rootText] = atRoot === null ? [] : strayTexts(dir, [atRoot], deps.files);
87
+ if (rootText !== undefined)
88
+ return rootText;
89
+ const [top, ...inRepro] = segments;
90
+ if (top !== REPRO_DIR || inRepro.length === 0)
91
+ return null;
92
+ const entry = newEntry(join(dir, REPRO_DIR), inRepro, deps);
93
+ // A new study folder starts with its README.md: that write is what makes it complete.
94
+ if (entry === null ||
95
+ (isStudyName(entry.name) && inRepro.slice(1).join("/") === README))
96
+ return null;
97
+ const [text] = reproTexts(dir, [entry], deps.files);
98
+ return text ?? null;
99
+ }
100
+ /** The hook: the payload of an Edit or a Write in, Claude Code's refusal out, or null to allow. */
101
+ export function folderLayoutHook(payload, deps) {
102
+ const file = writtenPath(payload);
103
+ const dir = file === null ? null : paperFolderOf(file, deps.files);
104
+ if (file === null || dir === null || deps.files.isFile(callerPath(file)))
105
+ return null;
106
+ const reason = refusal(dir, relative(dir, file).split(/[\\/]/), deps);
107
+ return reason === null
108
+ ? null
109
+ : {
110
+ hookSpecificOutput: {
111
+ hookEventName: "PreToolUse",
112
+ permissionDecision: "deny",
113
+ permissionDecisionReason: reason,
114
+ },
115
+ };
116
+ }
117
+ //# sourceMappingURL=folder-layout-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-layout-hook.js","sourceRoot":"","sources":["../src/folder-layout-hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type LayoutEntry } from "./domain/paper-layout.ts";
2
+ import type { FolderRuleModule } from "./folder-venue-rule.ts";
3
+ import type { Files } from "./ports/files.ts";
4
+ import type { ListDir } from "./ports/talk-media.ts";
5
+ /** What the rule reads with: the disk, and the names in a directory. */
6
+ export interface FolderLayoutDeps {
7
+ readonly files: Files;
8
+ readonly listDir: ListDir;
9
+ }
10
+ /** What the paper's settings name at the root of `dir`, each once; none without readable settings. */
11
+ export declare function declaredRoots(dir: string, files: Files): readonly string[];
12
+ /**
13
+ * The text of each stray entry among `entries` of the paper folder `dir` — THE one function behind
14
+ * both the rule and the `paper-folder-layout` hook (`src/folder-layout-hook.ts`), so the two cannot
15
+ * disagree about what is allowed or what to say.
16
+ */
17
+ export declare const strayTexts: (dir: string, entries: readonly LayoutEntry[], files: Files) => readonly string[];
18
+ /** The rule, reading the folder and the paper's settings through `deps`. */
19
+ export declare function folderLayoutRules(deps: FolderLayoutDeps): Readonly<Record<"allowed-files-only", FolderRuleModule>>;
20
+ /** The level it is on at in paperlint's own config, for every paper's `PIPELINE-STATUS.md`. */
21
+ export declare const FOLDER_LAYOUT_RULE_LEVELS: Readonly<Record<"paper/allowed-files-only", "error">>;
22
+ //# sourceMappingURL=folder-layout-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-layout-rule.d.ts","sourceRoot":"","sources":["../src/folder-layout-rule.ts"],"names":[],"mappings":"AAwBA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKrD,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAwBD,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,MAAM,EAAE,CAU1E;AAYD;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,EACX,SAAS,SAAS,WAAW,EAAE,EAC/B,OAAO,KAAK,KACX,SAAS,MAAM,EAC4D,CAAC;AAiB/E,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,GACrB,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAwB1D;AAED,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAC9C,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,CACF,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * `paper/allowed-files-only` — the root of a paper folder holds only paperlint's own files and folders.
3
+ *
4
+ * What may stand there, and why each entry, is `src/domain/paper-layout.ts` (the one list) and
5
+ * docs/rules/paper/allowed-files-only.md. This file reads the folder and the paper's settings, and reports.
6
+ *
7
+ * ── WHY A RULE THAT LISTS A DIRECTORY ───────────────────────────────────────────
8
+ * A structure linter over file NAMES (ls-lint, ESLint's `project-structure`) judges the files handed
9
+ * to it, and ESLint is handed only the files paperlint lints: a stray `.pdf`, `.py` or `.md` is never
10
+ * one of them, so a rule fired per file cannot see it. Listing the folder is one `readdir`; a rule is
11
+ * plain JS and may do it (root CLAUDE.md, "Measure before calling it impossible").
12
+ *
13
+ * ── WHICH FILE IT REPORTS ON ─────────────────────────────────────────────────────
14
+ * The folder is not a file ESLint lints; `PIPELINE-STATUS.md` is, in every paper (`paperlint lint`
15
+ * requires it, `paperlint new` writes it). Each stray entry is one finding on its first line, the
16
+ * place `paper/folder-venue-leftover` reports for the same reason.
17
+ *
18
+ * ── WHAT THE SETTINGS ADD ────────────────────────────────────────────────────────
19
+ * `pdf`, `talk.dir`, and a preset file of the paper's own (`extends`, or any cycle's) may name an
20
+ * entry at the root; each such entry is allowed while the settings name it. Settings that do not parse
21
+ * add nothing: `paperlint lint` refuses them before ESLint runs, and `pdf/profile` names the problem.
22
+ */
23
+ import { basename, dirname, join, posix, relative, resolve } from "node:path";
24
+ import { callerPath } from "./caller-path.js";
25
+ import { judgeLayout, strayMessage, } from "./domain/paper-layout.js";
26
+ import { readPaperSettings } from "./paper-settings.js";
27
+ import { rulePageUrl } from "./venue-rules.js";
28
+ const STATUS_FILE = "PIPELINE-STATUS.md";
29
+ /** The first segment of `p`, relative to the paper folder `dir`; null when it is not inside it. */
30
+ function rootOf(dir, p) {
31
+ const first = relative(dir, resolve(dir, p)).split(/[\\/]/, 1).join("");
32
+ return first === "" || first === ".." ? null : first;
33
+ }
34
+ /** A preset spec that names a file (`./venue.jsonc`), not a shipped preset (`paperlint:aidc`). */
35
+ const isPresetFile = (spec) => spec.startsWith("./") || spec.startsWith("../");
36
+ /** Every path the settings name relative to the paper: the PDF, the talk folder, its preset files. */
37
+ const pathsOf = (s) => [
38
+ ...(s.pdf === null ? [] : [s.pdf]),
39
+ ...(s.talk === null ? [] : [s.talk.dir]),
40
+ ...[
41
+ s.extends,
42
+ ...(s.cycles?.list ?? []).map((c) => c.venue.kind === "preset" ? c.venue.extends : null),
43
+ ].filter((spec) => spec !== null && isPresetFile(spec)),
44
+ ];
45
+ /** What the paper's settings name at the root of `dir`, each once; none without readable settings. */
46
+ export function declaredRoots(dir, files) {
47
+ const read = readPaperSettings(files, dir);
48
+ if (!read.ok || read.value === null)
49
+ return [];
50
+ return [
51
+ ...new Set(pathsOf(read.value)
52
+ .map((p) => rootOf(dir, posix.normalize(p)))
53
+ .filter((r) => r !== null)),
54
+ ];
55
+ }
56
+ /** The folder's root entries, each a file or a folder. */
57
+ const entriesOf = (dir, deps) => [...deps.listDir(callerPath(dir))].sort().map((name) => ({
58
+ name,
59
+ kind: deps.files.isFile(callerPath(join(dir, name))) ? "file" : "dir",
60
+ }));
61
+ /**
62
+ * The text of each stray entry among `entries` of the paper folder `dir` — THE one function behind
63
+ * both the rule and the `paper-folder-layout` hook (`src/folder-layout-hook.ts`), so the two cannot
64
+ * disagree about what is allowed or what to say.
65
+ */
66
+ export const strayTexts = (dir, entries, files) => judgeLayout(entries, { roots: declaredRoots(dir, files) }).map(strayMessage);
67
+ const META = {
68
+ type: "suggestion",
69
+ docs: {
70
+ description: "the paper folder's root holds only paperlint's own files and folders; anything else goes into the folder for its kind, or extra/",
71
+ url: rulePageUrl("paper/allowed-files-only"),
72
+ },
73
+ schema: [],
74
+ messages: {
75
+ // The whole text is `strayMessage` (src/domain/paper-layout.ts), the one the hook that fires on
76
+ // writing such an entry sends too.
77
+ stray: "{{text}}",
78
+ },
79
+ };
80
+ /** The rule, reading the folder and the paper's settings through `deps`. */
81
+ export function folderLayoutRules(deps) {
82
+ return {
83
+ "allowed-files-only": {
84
+ meta: META,
85
+ create(context) {
86
+ if (basename(context.filename) !== STATUS_FILE)
87
+ return {};
88
+ return {
89
+ root() {
90
+ const dir = dirname(context.filename);
91
+ const at = context.sourceCode.getLocFromIndex(0);
92
+ strayTexts(dir, entriesOf(dir, deps), deps.files).forEach((text) => {
93
+ context.report({
94
+ loc: { start: at, end: at },
95
+ messageId: "stray",
96
+ data: { text },
97
+ });
98
+ });
99
+ },
100
+ };
101
+ },
102
+ },
103
+ };
104
+ }
105
+ /** The level it is on at in paperlint's own config, for every paper's `PIPELINE-STATUS.md`. */
106
+ export const FOLDER_LAYOUT_RULE_LEVELS = { "paper/allowed-files-only": "error" };
107
+ //# sourceMappingURL=folder-layout-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-layout-rule.js","sourceRoot":"","sources":["../src/folder-layout-rule.ts"],"names":[],"mappings":"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"}
package/dist/init.js CHANGED
@@ -447,7 +447,7 @@ function papersLines(decl, why) {
447
447
  ` \`npx paperlint new <name>\` creates the first paper there.`,
448
448
  ];
449
449
  }
450
- // Documented in README.md#install-and-set-up — update it when this changes.
450
+ // Documented in README.md#-getting-started and docs/install.md — update them when this changes.
451
451
  export async function init(dir, opts = {}) {
452
452
  const { log = console.log, err = console.error,
453
453
  // eslint-disable-next-line no-restricted-globals -- legacy I/O, moves behind a port in #76
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export function observeAgentCli({ spawnSync, program = "claude", characterized =
54
54
  const version = VERSION_IN.exec(raw)?.[1] ?? "";
55
55
  // ⚠️ EXIT 0 AND NOTHING ON STDOUT IS NOT A CLEAN OBSERVATION — it is exactly what the discarded
56
56
  // probe looked like, and reporting `characterized against ""` would be the same lie in a new
57
- // place. This is rule 4 of CLAUDE.md applied to the check that enforces it.
57
+ // place. This is the green zero of scripts/rules-see-files.mjs, applied to the check that enforces it.
58
58
  if (version === "")
59
59
  throw new Error(`\`${program} --version\` exited 0 but printed no version on stdout (got ${JSON.stringify(raw)}` +
60
60
  `${probe.stderr ? `, stderr ${JSON.stringify(probe.stderr.trim().slice(0, 200))}` : ""}). ` +
@@ -1 +1 @@
1
- {"version":3,"file":"agent-cli-version.js","sourceRoot":"","sources":["../../lib/agent-cli-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC;AA6BzC,MAAM,UAAU,eAAe,CAAC,EAC9B,SAAS,EACT,OAAO,GAAG,QAAQ,EAClB,aAAa,GAAG,iBAAiB,GAKlC;IACC,2FAA2F;IAC3F,2FAA2F;IAC3F,oDAAoD;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE;YACX,aAAa;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAAS,OAAO,oDAAoD;SAC3E,CAAC;IAEJ,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,gGAAgG;IAChG,6FAA6F;IAC7F,4EAA4E;IAC5E,IAAI,OAAO,KAAK,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,KAAK,OAAO,+DAA+D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC9F,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;YAC3F,8FAA8F;YAC9F,kEAAkE,CACrE,CAAC;IAEJ,MAAM,OAAO,GAAG,OAAO,KAAK,aAAa,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG;QACH,OAAO;QACP,aAAa;QACb,OAAO;QACP,IAAI,EAAE,OAAO;YACX,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,oDAAoD;gBACtF,GAAG,aAAa,8EAA8E;gBAC9F,uEAAuE;YACzE,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,6DAA6D;KACpG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent-cli-version.js","sourceRoot":"","sources":["../../lib/agent-cli-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC;AA6BzC,MAAM,UAAU,eAAe,CAAC,EAC9B,SAAS,EACT,OAAO,GAAG,QAAQ,EAClB,aAAa,GAAG,iBAAiB,GAKlC;IACC,2FAA2F;IAC3F,2FAA2F;IAC3F,oDAAoD;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE;YACX,aAAa;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAAS,OAAO,oDAAoD;SAC3E,CAAC;IAEJ,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,gGAAgG;IAChG,6FAA6F;IAC7F,uGAAuG;IACvG,IAAI,OAAO,KAAK,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,KAAK,OAAO,+DAA+D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC9F,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;YAC3F,8FAA8F;YAC9F,kEAAkE,CACrE,CAAC;IAEJ,MAAM,OAAO,GAAG,OAAO,KAAK,aAAa,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG;QACH,OAAO;QACP,aAAa;QACb,OAAO;QACP,IAAI,EAAE,OAAO;YACX,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,oDAAoD;gBACtF,GAAG,aAAa,8EAA8E;gBAC9F,uEAAuE;YACzE,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,6DAA6D;KACpG,CAAC;AACJ,CAAC"}
@@ -15,7 +15,8 @@ export declare const ALLOW_VENUE_NAME = "--allow-venue-name";
15
15
  /**
16
16
  * Why a name is refused, or null. `[a-z0-9._-]+` is the charset; a LEADING dot is refused on top
17
17
  * of it, because discovery skips dot-directories — a paper named `.x` would be created and then
18
- * never linted, which is worse than a refusal.
18
+ * never linted, which is worse than a refusal. `venues` and `extra` are refused for the same reason:
19
+ * the first is the venues' corpus beside the papers, the second is never linted.
19
20
  *
20
21
  * A name that names a venue — one of `venues`' names as whole words (`aisec-2026`) — is refused
21
22
  * too, the paper's own venue included: a paper that is rejected goes to another venue and keeps its
@@ -38,6 +39,8 @@ export type NewPaperResult = {
38
39
  /** The folder did not exist before this run. */
39
40
  readonly fresh: boolean;
40
41
  readonly files: readonly FileOutcome[];
42
+ /** The layout files written into a folder that was absent or empty, relative to it; none otherwise. */
43
+ readonly layout: readonly string[];
41
44
  } | {
42
45
  readonly ok: false;
43
46
  readonly reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"new-paper.d.ts","sourceRoot":"","sources":["../src/new-paper.ts"],"names":[],"mappings":"AA4BA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,QAE7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,6DAA6D;AAC7D,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,UAAU,EAAE,GAC5B,MAAM,GAAG,IAAI,CAaf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;CACxC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,iGAAiG;AACjG,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIzC,CAAC;AAEF,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3D;AAuED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAGD,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,cAAc,CAiChB;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAC1B,MAAM,EAAE,CAYV"}
1
+ {"version":3,"file":"new-paper.d.ts","sourceRoot":"","sources":["../src/new-paper.ts"],"names":[],"mappings":"AA0CA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,wBAAwB,CAAC;AAEhC,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,QAE7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,6DAA6D;AAC7D,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAKrD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,SAAS,UAAU,EAAE,GAC5B,MAAM,GAAG,IAAI,CAef;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IACpC,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GACtB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,uGAAuG;IACvG,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,iGAAiG;AACjG,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIzC,CAAC;AAEF,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;CAC3D;AAuED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAeD,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GACpB,cAAc,CAmChB;AAOD,iGAAiG;AACjG,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAC1B,MAAM,EAAE,CAiBV"}
package/dist/new-paper.js CHANGED
@@ -12,14 +12,23 @@
12
12
  * - the name is validated, because it becomes a path and, through the hooks, a shell argument.
13
13
  *
14
14
  * The only substitution is `{{name}}` → the folder name. Nothing else in a template is touched.
15
+ *
16
+ * Beside the three files, a NEW paper folder gets the layout the rules enforce (`SCAFFOLD_FILES`,
17
+ * src/domain/scaffold-layout.ts): its folders, each with a `.gitkeep` or a first file, so the layout
18
+ * is visible from the first commit. That is for a folder that is absent or empty. On a folder that
19
+ * holds anything, `new` adds only the missing three files, as before: a paper that already has its
20
+ * own shape is not given folders it did not choose, and one whose author deleted an empty folder
21
+ * does not get it back.
15
22
  */
16
23
  /* eslint-disable boundaries/dependencies -- legacy I/O, moves behind a port in #76 */
17
- import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
24
+ import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, writeFileSync, } from "node:fs";
18
25
  /* eslint-enable boundaries/dependencies */
19
- import { join } from "node:path";
26
+ import { dirname, join } from "node:path";
20
27
  import { fileURLToPath } from "node:url";
21
28
  import { CONFIG_FILE } from "#lib/paper-config";
22
29
  import { isRecord } from "./domain/record.js";
30
+ import { ESCAPE_HATCH, VENUES_DIR } from "./domain/paper-layout.js";
31
+ import { GITKEEP, SCAFFOLD_FILES, } from "./domain/scaffold-layout.js";
23
32
  import { venuesNamedBy, withoutVenues, } from "./domain/venue-name.js";
24
33
  /** The package's default templates. Read from disk, so they ship in the tarball (`files`). */
25
34
  export const PACKAGE_TEMPLATES = fileURLToPath(new URL("../templates/paper/", import.meta.url));
@@ -34,10 +43,13 @@ export const STATUS_FILE = "PIPELINE-STATUS.md";
34
43
  export const SOURCE_FILE = "paper.tex";
35
44
  /** The flag that lets `paperlint new` create a folder whose name names a venue. */
36
45
  export const ALLOW_VENUE_NAME = "--allow-venue-name";
46
+ /** Names the papers directory's layout already gives a meaning to (src/domain/paper-layout.ts). */
47
+ const RESERVED_NAMES = [VENUES_DIR, ESCAPE_HATCH];
37
48
  /**
38
49
  * Why a name is refused, or null. `[a-z0-9._-]+` is the charset; a LEADING dot is refused on top
39
50
  * of it, because discovery skips dot-directories — a paper named `.x` would be created and then
40
- * never linted, which is worse than a refusal.
51
+ * never linted, which is worse than a refusal. `venues` and `extra` are refused for the same reason:
52
+ * the first is the venues' corpus beside the papers, the second is never linted.
41
53
  *
42
54
  * A name that names a venue — one of `venues`' names as whole words (`aisec-2026`) — is refused
43
55
  * too, the paper's own venue included: a paper that is rejected goes to another venue and keeps its
@@ -51,6 +63,8 @@ export function nameProblem(name, venues) {
51
63
  return `\`${name}\` — a paper name may hold only a-z, 0-9, dot, underscore and hyphen (it becomes a path and a shell argument)`;
52
64
  if (name.startsWith("."))
53
65
  return `\`${name}\` — a name starting with a dot is skipped by paper discovery, so it would never be linted`;
66
+ if (RESERVED_NAMES.includes(name))
67
+ return `\`${name}\` — reserved: \`${VENUES_DIR}/\` beside the papers holds the venues' corpora, and lint never reads a folder named \`${ESCAPE_HATCH}/\`, so a paper by either name would be taken for something else or never linted`;
54
68
  const named = venuesNamedBy(name, venues);
55
69
  if (named.length === 0)
56
70
  return null;
@@ -112,7 +126,16 @@ function fromTemplate(file, { papersRoot, packageTemplates, name, venue, }) {
112
126
  ? { ok: true, value: { file, text: edited.text, from } }
113
127
  : edited;
114
128
  }
115
- // Documented in README.md#getting-started — update it when this changes.
129
+ /** The layout files `dir` is given: all of them when it holds nothing (absent, or made by hand and still empty), else none. */
130
+ const layoutFor = (dir, fresh) => fresh || readdirSync(dir).length === 0 ? SCAFFOLD_FILES : [];
131
+ /** Writes the layout files under `dir`; `wx` fails rather than overwrite, as for the three files. */
132
+ const writeLayout = (dir, layout) => {
133
+ layout.forEach(({ path, text }) => {
134
+ mkdirSync(dirname(join(dir, path)), { recursive: true });
135
+ writeFileSync(join(dir, path), text, { encoding: "utf8", flag: "wx" });
136
+ });
137
+ };
138
+ // Documented in README.md#-getting-started — update it when this changes.
116
139
  export function newPaper(papersRoot, name, opts) {
117
140
  const { packageTemplates = PACKAGE_TEMPLATES, venue = null } = opts;
118
141
  const problem = nameProblem(name, opts.venues);
@@ -139,6 +162,7 @@ export function newPaper(papersRoot, name, opts) {
139
162
  return planned;
140
163
  toWrite.push(planned.value);
141
164
  }
165
+ const scaffold = layoutFor(dir, fresh);
142
166
  // Read every template before writing any file, so a missing one leaves no half-made folder.
143
167
  mkdirSync(dir, { recursive: true });
144
168
  for (const { file, text, from } of toWrite) {
@@ -146,8 +170,13 @@ export function newPaper(papersRoot, name, opts) {
146
170
  writeFileSync(join(dir, file), text, { encoding: "utf8", flag: "wx" });
147
171
  files.push({ file, status: "created", from });
148
172
  }
149
- return { ok: true, dir, fresh, files };
173
+ writeLayout(dir, scaffold);
174
+ return { ok: true, dir, fresh, files, layout: scaffold.map((f) => f.path) };
150
175
  }
176
+ /** The folders the layout files sit in, each once, in order: `reviews/`, `repro/tools/`, … */
177
+ const layoutFolders = (paths) => [
178
+ ...new Set(paths.map((p) => `${dirname(p)}/`)),
179
+ ];
151
180
  /** The report lines, shared by `paperlint new` and the first-paper offer in `paperlint init`. */
152
181
  export function reportNewPaper(result, here) {
153
182
  if (!result.ok)
@@ -159,6 +188,11 @@ export function reportNewPaper(result, here) {
159
188
  out.push(f.status === "created"
160
189
  ? ` + ${f.file} (from the ${f.from === "project" ? `project's ${OVERRIDE_DIR}/` : "package"} template)`
161
190
  : ` = ${f.file} (kept — never overwritten)`);
162
- return out;
191
+ return result.layout.length === 0
192
+ ? out
193
+ : [
194
+ ...out,
195
+ ` + ${layoutFolders(result.layout).join(" ")} (the paper's layout; an empty folder holds a ${GITKEEP}, so git keeps it)`,
196
+ ];
163
197
  }
164
198
  //# sourceMappingURL=new-paper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"new-paper.js","sourceRoot":"","sources":["../src/new-paper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new-paper.js","sourceRoot":"","sources":["../src/new-paper.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { type ReadDatabase, type RecordedEntry, type RecordedReadDeps } from "./
9
9
  export declare const REFERENCES_SCHEMA = 3;
10
10
  export declare const REFERENCES_FILE = "references.json";
11
11
  /** The lookup cache's place in a paper: committed, beside the paper's other reproduction files. */
12
- export declare const LOOKUP_CACHE_FILE = "repro/references-cache.json";
12
+ export declare const LOOKUP_CACHE_FILE = "repro/data/references-cache.json";
13
13
  export declare const lookupCachePath: (paperDir: string) => string;
14
14
  /** Where a paper's reference verdicts live — beside `paper.facts.json`. */
15
15
  export declare const referencesPath: (paperDir: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  * stale when it changes (`pdf_sha256`); these are about the databases and are stale when THEY
20
20
  * change (`bib.sha256`). One staleness key per file, the way `pdf/fresh` already works.
21
21
  *
22
- * 🔴 WHAT THE CHECKERS ANSWERED IS KEPT, COMMITTED, IN `<paper>/repro/references-cache.json`
22
+ * 🔴 WHAT THE CHECKERS ANSWERED IS KEPT, COMMITTED, IN `<paper>/repro/data/references-cache.json`
23
23
  * (`domain/lookup-cache.ts`). Loaded before the check and saved after it — only when something new
24
24
  * was fetched, a refreshed answer included — so a build asks each question at most once every
25
25
  * MAX_AGE_DAYS, not once per build (#107: 217 s for 27 references, every build). The verdicts above are NOT cached: they are derived from the cached
@@ -53,7 +53,7 @@ import { entriesOfDatabases, recordedBibliography, } from "./recorded-bibliograp
53
53
  export const REFERENCES_SCHEMA = 3;
54
54
  export const REFERENCES_FILE = "references.json";
55
55
  /** The lookup cache's place in a paper: committed, beside the paper's other reproduction files. */
56
- export const LOOKUP_CACHE_FILE = "repro/references-cache.json";
56
+ export const LOOKUP_CACHE_FILE = "repro/data/references-cache.json";
57
57
  export const lookupCachePath = (paperDir) => join(paperDir, LOOKUP_CACHE_FILE);
58
58
  /** Where a paper's reference verdicts live — beside `paper.facts.json`. */
59
59
  export const referencesPath = (paperDir) => join(paperDir, "_build", REFERENCES_FILE);