paperlint 12.1.0 → 13.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 (131) hide show
  1. package/dist/adapters/memory/index.d.ts +5 -0
  2. package/dist/adapters/memory/index.d.ts.map +1 -1
  3. package/dist/adapters/memory/index.js +16 -0
  4. package/dist/adapters/memory/index.js.map +1 -1
  5. package/dist/adapters/node/index.d.ts +1 -0
  6. package/dist/adapters/node/index.d.ts.map +1 -1
  7. package/dist/adapters/node/index.js +1 -0
  8. package/dist/adapters/node/index.js.map +1 -1
  9. package/dist/adapters/node/move-file.io.d.ts +4 -0
  10. package/dist/adapters/node/move-file.io.d.ts.map +1 -0
  11. package/dist/adapters/node/move-file.io.js +12 -0
  12. package/dist/adapters/node/move-file.io.js.map +1 -0
  13. package/dist/adapters/yaml/index.d.ts +3 -0
  14. package/dist/adapters/yaml/index.d.ts.map +1 -0
  15. package/dist/adapters/yaml/index.js +17 -0
  16. package/dist/adapters/yaml/index.js.map +1 -0
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +48 -7
  19. package/dist/cli.js.map +1 -1
  20. package/dist/cycle-rules.d.ts +3 -3
  21. package/dist/cycle-rules.d.ts.map +1 -1
  22. package/dist/cycle-rules.js +1 -2
  23. package/dist/cycle-rules.js.map +1 -1
  24. package/dist/domain/cycle.d.ts +16 -2
  25. package/dist/domain/cycle.d.ts.map +1 -1
  26. package/dist/domain/cycle.js +21 -42
  27. package/dist/domain/cycle.js.map +1 -1
  28. package/dist/domain/paper-layout.d.ts.map +1 -1
  29. package/dist/domain/paper-layout.js +5 -2
  30. package/dist/domain/paper-layout.js.map +1 -1
  31. package/dist/domain/paths.d.ts +12 -0
  32. package/dist/domain/paths.d.ts.map +1 -1
  33. package/dist/domain/paths.js +22 -1
  34. package/dist/domain/paths.js.map +1 -1
  35. package/dist/domain/scaffold-layout.js +1 -1
  36. package/dist/domain/versions-migration.d.ts +51 -0
  37. package/dist/domain/versions-migration.d.ts.map +1 -0
  38. package/dist/domain/versions-migration.js +252 -0
  39. package/dist/domain/versions-migration.js.map +1 -0
  40. package/dist/domain/versions.d.ts +167 -0
  41. package/dist/domain/versions.d.ts.map +1 -0
  42. package/dist/domain/versions.js +457 -0
  43. package/dist/domain/versions.js.map +1 -0
  44. package/dist/eslint-rules/paper-stages.d.ts +7 -0
  45. package/dist/eslint-rules/paper-stages.d.ts.map +1 -1
  46. package/dist/eslint-rules/paper-stages.js +62 -7
  47. package/dist/eslint-rules/paper-stages.js.map +1 -1
  48. package/dist/eslint-rules/rule-context.d.ts +2 -0
  49. package/dist/eslint-rules/rule-context.d.ts.map +1 -1
  50. package/dist/ports/move-file.d.ts +7 -0
  51. package/dist/ports/move-file.d.ts.map +1 -0
  52. package/dist/ports/move-file.js +2 -0
  53. package/dist/ports/move-file.js.map +1 -0
  54. package/dist/ports/yaml.d.ts +5 -0
  55. package/dist/ports/yaml.d.ts.map +1 -0
  56. package/dist/ports/yaml.js +2 -0
  57. package/dist/ports/yaml.js.map +1 -0
  58. package/dist/submission.d.ts +2 -0
  59. package/dist/submission.d.ts.map +1 -1
  60. package/dist/submission.js +49 -9
  61. package/dist/submission.js.map +1 -1
  62. package/dist/version-rules.d.ts +16 -0
  63. package/dist/version-rules.d.ts.map +1 -0
  64. package/dist/version-rules.js +201 -0
  65. package/dist/version-rules.js.map +1 -0
  66. package/dist/versions-command.d.ts +37 -0
  67. package/dist/versions-command.d.ts.map +1 -0
  68. package/dist/versions-command.js +209 -0
  69. package/dist/versions-command.js.map +1 -0
  70. package/dist/versions.d.ts +76 -0
  71. package/dist/versions.d.ts.map +1 -0
  72. package/dist/versions.js +164 -0
  73. package/dist/versions.js.map +1 -0
  74. package/docs/configuration.md +76 -2
  75. package/docs/layout.md +5 -5
  76. package/docs/rules/cycle/camera-ready-source.md +62 -0
  77. package/docs/rules/cycle/draft-drift.md +47 -0
  78. package/docs/rules/cycle/port-done.md +2 -2
  79. package/docs/rules/cycle/record.md +2 -1
  80. package/docs/rules/cycle/submitted-frozen.md +65 -0
  81. package/docs/rules/paper/allowed-files-only.md +1 -1
  82. package/docs/rules/versions/layout.md +88 -0
  83. package/docs/rules.md +25 -11
  84. package/docs/submission.md +21 -3
  85. package/eslint-rules/paper-stages.test.mjs +62 -0
  86. package/eslint-rules/paper-stages.ts +67 -8
  87. package/eslint-rules/prereg-coverage.test.ts +1 -0
  88. package/eslint-rules/rule-context.ts +2 -0
  89. package/package.json +2 -1
  90. package/skills/paper-pipeline/references/pipeline-status-template.md +4 -1
  91. package/skills/submit-paper/SKILL.md +18 -10
  92. package/skills/submit-paper/SKILL.md.spec.ts +17 -9
  93. package/skills/submit-paper/references/publishers/acm.md +5 -3
  94. package/src/adapters/memory/index.test.ts +22 -0
  95. package/src/adapters/memory/index.ts +21 -0
  96. package/src/adapters/node/index.ts +1 -0
  97. package/src/adapters/node/move-file.io.ts +21 -0
  98. package/src/adapters/node/move-file.test.ts +51 -0
  99. package/src/adapters/yaml/index.test.ts +16 -0
  100. package/src/adapters/yaml/index.ts +17 -0
  101. package/src/cli.test.ts +43 -0
  102. package/src/cli.ts +58 -6
  103. package/src/cycle-rules.ts +4 -5
  104. package/src/domain/cycle.test.ts +27 -0
  105. package/src/domain/cycle.ts +38 -6
  106. package/src/domain/paper-layout.ts +5 -2
  107. package/src/domain/paths.test.ts +28 -1
  108. package/src/domain/paths.ts +34 -1
  109. package/src/domain/scaffold-layout.ts +1 -1
  110. package/src/domain/versions-migration.test.ts +410 -0
  111. package/src/domain/versions-migration.ts +429 -0
  112. package/src/domain/versions.test.ts +564 -0
  113. package/src/domain/versions.ts +706 -0
  114. package/src/ports/move-file.ts +8 -0
  115. package/src/ports/yaml.ts +5 -0
  116. package/src/rule-cases.test.ts +157 -8
  117. package/src/submission-freeze.test.ts +320 -0
  118. package/src/submission-new.test.ts +11 -1
  119. package/src/submission.ts +82 -11
  120. package/src/version-rules.test.ts +222 -0
  121. package/src/version-rules.ts +282 -0
  122. package/src/versions-command.test.ts +594 -0
  123. package/src/versions-command.ts +360 -0
  124. package/src/versions.ts +286 -0
  125. package/dist/eslint-rules/cycle-stage.d.ts +0 -39
  126. package/dist/eslint-rules/cycle-stage.d.ts.map +0 -1
  127. package/dist/eslint-rules/cycle-stage.js +0 -119
  128. package/dist/eslint-rules/cycle-stage.js.map +0 -1
  129. package/docs/rules/cycle/stage.md +0 -85
  130. package/eslint-rules/cycle-stage.test.mjs +0 -131
  131. package/eslint-rules/cycle-stage.ts +0 -141
@@ -1 +1 @@
1
- {"version":3,"file":"cycle-rules.js","sourceRoot":"","sources":["../src/cycle-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle-rules.js","sourceRoot":"","sources":["../src/cycle-rules.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@
37
37
  *
38
38
  * Parsed by hand: the domain imports no schema library (see `src/CLAUDE.md`).
39
39
  */
40
+ import type { Opaque } from "ts-essentials";
40
41
  import { type Result } from "./result.ts";
41
42
  import { type Deadline, type IsoDate } from "./deadline.ts";
42
43
  /** The venue of an attempt: a preset paperlint resolves, or a venue named by hand (no preset yet). */
@@ -68,9 +69,22 @@ export type Outcome = {
68
69
  };
69
70
  export declare const OUTCOME_KINDS: readonly Outcome["kind"][];
70
71
  export type Phase = "porting" | "prepared";
72
+ /**
73
+ * A cycle's id: the name of the attempt's folder, `versions/<id>/`, and the first part of its keys in
74
+ * `versions/lock.json`. Minted only by `isCycleId`, so every freeze, migration, lock and layout check
75
+ * holds an id that is one path segment: no `/` or `\`, never `.` or `..`, never empty. The charset is
76
+ * kept small on purpose — lowercase letters, digits and hyphens, starting with a letter or a digit —
77
+ * so the name means the same folder on every filesystem, case-insensitive ones included.
78
+ */
79
+ export type CycleId = Opaque<string, "CycleId">;
80
+ /** The id's one owner: `parseLock` builds its key pattern from this too. */
81
+ export declare const CYCLE_ID_PATTERN = "[a-z0-9][a-z0-9-]*";
82
+ export declare const isCycleId: (s: string) => s is CycleId;
83
+ /** An id the caller holds as text (a test, a literal), checked where it becomes one; a bad one throws. */
84
+ export declare function cycleId(s: string): CycleId;
71
85
  export interface Cycle {
72
- /** What a stage refers to (`stages[].cycle`): unique in the list. */
73
- readonly id: string;
86
+ /** What a stage refers to (`stages[].cycle`), and the attempt's folder: unique in the list. */
87
+ readonly id: CycleId;
74
88
  readonly venue: CycleVenue;
75
89
  /** A key of the preset's `format.kinds`; null when the venue has one kind or none is chosen. */
76
90
  readonly kind: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../../src/domain/cycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../../src/domain/cycle.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,3 @@
1
- /**
2
- * THE CYCLE — one attempt of a paper at one venue: where it goes, as what kind, when the attempt was
3
- * decided, the venue's deadlines as they were read, which submission on the portal is this paper's,
4
- * and how the attempt ended. A paper's `paperlint.json` holds them as a LIST, `cycles`, oldest first:
5
- *
6
- * {
7
- * "id": "beta-2027",
8
- * "venue": { "kind": "preset", "extends": "paperlint:beta" }, // or { "kind": "named", "name", "url" }
9
- * "kind": "technical",
10
- * "opened": "2026-09-09",
11
- * "phase": "porting", // default "prepared"
12
- * "deadlines": [{ "what": "submission", "observed": [{ "at": "2026-10-23 AoE", "source": "call", "url": "…", "read": "2026-09-09" }] }],
13
- * "submission": { "id": 7 },
14
- * "outcome": { "kind": "open" }
15
- * }
16
- *
17
- * ── WHY A LIST OF ATTEMPTS, NOT ONE VENUE ───────────────────────────────────────────────
18
- * A paper goes to a venue, is rejected, and goes to the next one; the settings that every reader
19
- * takes from the file — `extends`, `kind`, `submission` — are the CURRENT attempt's, and change
20
- * together when the attempt changes. Held flat, they lag the decision (the preset is switched "when
21
- * the port lands", weeks later) and the decision itself has no field, so it is written as a comment.
22
- * Here it is a record: the new attempt is a new entry, the old one gets its `outcome`.
23
- *
24
- * ── THE PHASE, and why it is DECLARED ────────────────────────────────────────────────────
25
- * The day a new venue is chosen, the source is still in the old venue's template. The venue's format
26
- * checks are then not wrong, but not applicable: a page count under the wrong template says nothing
27
- * about the new limit. `"phase": "porting"` says the port is open work; the format rules are silent
28
- * under it, and `cycle/port-done` fires when the class line already matches the venue's template
29
- * and the phase still says porting. The declaration cannot lie for long in either direction, and it
30
- * is a record of work, not a softer severity. Absent, the phase is `prepared`.
31
- *
32
- * ── THE DEADLINES ARE READINGS ───────────────────────────────────────────────────────────
33
- * Each deadline records what the portal and the call said, where and when, and an optional human
34
- * override; the earlier reading binds unless overridden (`deadline.ts`). For a venue with a preset,
35
- * the portal's readings come from the preset — updated with the package — and the paper adds the
36
- * call's readings and its overrides on top.
37
- *
38
- * Parsed by hand: the domain imports no schema library (see `src/CLAUDE.md`).
39
- */
40
1
  import { err, ok } from "./result.js";
41
2
  import { fieldOf, isRecord } from "./record.js";
42
3
  import { isIsoDate, parseDeadlines, unknownKey, } from "./deadline.js";
@@ -46,6 +7,16 @@ export const OUTCOME_KINDS = [
46
7
  "rejected",
47
8
  "withdrawn",
48
9
  ];
10
+ /** The id's one owner: `parseLock` builds its key pattern from this too. */
11
+ export const CYCLE_ID_PATTERN = "[a-z0-9][a-z0-9-]*";
12
+ const CYCLE_ID = new RegExp(`^${CYCLE_ID_PATTERN}$`);
13
+ export const isCycleId = (s) => CYCLE_ID.test(s);
14
+ /** An id the caller holds as text (a test, a literal), checked where it becomes one; a bad one throws. */
15
+ export function cycleId(s) {
16
+ if (!isCycleId(s))
17
+ throw new Error(`not a cycle id: ${s}`);
18
+ return s;
19
+ }
49
20
  // ── parsing ────────────────────────────────────────────────────────────────────────────
50
21
  const KNOWN_KEYS = [
51
22
  "id",
@@ -146,10 +117,18 @@ const kindOf = (v) => v === undefined || v === null
146
117
  : typeof v === "string"
147
118
  ? ok(v)
148
119
  : err('"kind" must be a string or null');
149
- function parseHead(v, at) {
150
- const id = v["id"];
120
+ /** A cycle's id, checked as the folder name it becomes. */
121
+ function parseId(id, at) {
151
122
  if (typeof id !== "string" || id === "")
152
123
  return err(`${at}: "id" must be a non-empty string (what stages refer to)`);
124
+ return isCycleId(id)
125
+ ? ok(id)
126
+ : err(`${at}: "id" «${id}» is not one folder name — an id is lowercase letters, digits and hyphens, starting with a letter or a digit (conf-2026): it names the attempt's folder, versions/<id>/`);
127
+ }
128
+ function parseHead(v, at) {
129
+ const id = parseId(v["id"], at);
130
+ if (!id.ok)
131
+ return id;
153
132
  const venue = parseVenue(v["venue"], at);
154
133
  if (!venue.ok)
155
134
  return venue;
@@ -163,7 +142,7 @@ function parseHead(v, at) {
163
142
  if (!isPhase(phase))
164
143
  return err(`${at}: "phase" must be "porting" or "prepared"`);
165
144
  return ok({
166
- id,
145
+ id: id.value,
167
146
  venue: venue.value,
168
147
  kind: kind.value,
169
148
  opened,
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../src/domain/cycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../src/domain/cycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paper-layout.d.ts","sourceRoot":"","sources":["../../src/domain/paper-layout.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGnE,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC/B;AAED,+FAA+F;AAC/F,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAwB,CAAC;AAExD,iFAAiF;AACjF,MAAM,WAAW,KAAK;IACpB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,kDAAkD;AAClD,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC,oGAAoG;AACpG,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,4EAA4E;AAC5E,eAAO,MAAM,eAAe,EAAE,SAAS,KAAK,EAoB3C,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAuC,CAAC;AAEhF,6EAA6E;AAC7E,eAAO,MAAM,cAAc,EAAE,SAAS,KAAK,EAe1C,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAAsC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAMjD,CAAC;AAgDF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAE7C,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAA+B,CAAC;AAUtE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,EA0BA,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,YAAY,uXAC0T,CAAC;AAsBpV,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,SAAS,KAAK,EAAE,CAiBlB;AAED,4FAA4F;AAC5F,eAAO,MAAM,WAAW,EAAE,SAAS,QAAQ,EAW1C,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,iBAAiB,EAAE,MAA4C,CAAC;AAE7E,8FAA8F;AAC9F,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,QAAQ,EAgB3C,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,EAAE,MAGhC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAO7C"}
1
+ {"version":3,"file":"paper-layout.d.ts","sourceRoot":"","sources":["../../src/domain/paper-layout.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGnE,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC/B;AAED,+FAA+F;AAC/F,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,EAAE,QAAwB,CAAC;AAExD,iFAAiF;AACjF,MAAM,WAAW,KAAK;IACpB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,kDAAkD;AAClD,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC,oGAAoG;AACpG,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,4EAA4E;AAC5E,eAAO,MAAM,eAAe,EAAE,SAAS,KAAK,EAoB3C,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAAuC,CAAC;AAEhF,6EAA6E;AAC7E,eAAO,MAAM,cAAc,EAAE,SAAS,KAAK,EAkB1C,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAAsC,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAMjD,CAAC;AAgDF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAE7C,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAA+B,CAAC;AAUtE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,EA0BA,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,YAAY,uXAC0T,CAAC;AAsBpV,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,SAAS,KAAK,EAAE,CAiBlB;AAED,4FAA4F;AAC5F,eAAO,MAAM,WAAW,EAAE,SAAS,QAAQ,EAW1C,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,iBAAiB,EAAE,MAA4C,CAAC;AAE7E,8FAA8F;AAC9F,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,QAAQ,EAgB3C,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,EAAE,MAGhC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAO7C"}
@@ -14,7 +14,7 @@
14
14
  * - what `paperlint new` scaffolds: `PIPELINE-STATUS.md`, `paper.tex`, `paperlint.json`;
15
15
  * - what the build writes: `paper.pdf` and `_build/`, and TeX's own byproducts beside `paper.tex`
16
16
  * (pdflatex runs in the paper folder without `-output-directory`), which are never reported;
17
- * - what the rules read: `versions/` (`paper/stages`), `reviews/` (`review/frontmatter`),
17
+ * - what the rules read: `versions/` (`versions/layout`, `paper/stages`), `reviews/` (`review/frontmatter`),
18
18
  * `siblings/` (`sibling/frontmatter`), `talk/` (the `talk/` rules' default folder);
19
19
  * - what the skills read or write at the root: `README.md`, `CLAUDE.md`, `CLAIMS.md`, `NOTES.md`,
20
20
  * `SUBMIT-CHECKLIST.md`, `research/`, `repro/`, `figures/`, `submission/`;
@@ -62,7 +62,10 @@ export const ROOT_FILES = ROOT_FILE_NOTES.map((f) => f.name);
62
62
  /** The folders the root may hold, by exact name, each with what it holds. */
63
63
  export const ROOT_DIR_NOTES = [
64
64
  { name: "_build", note: "the facts `paperlint build` writes" },
65
- { name: "versions", note: "each stage's frozen PDF and source" },
65
+ {
66
+ name: "versions",
67
+ note: "each stage's frozen PDF and source — per attempt, versions/<cycle>/, with lock.json",
68
+ },
66
69
  { name: "reviews", note: "dated reviews and pass reports" },
67
70
  { name: "siblings", note: "the cards of competing papers" },
68
71
  { name: "research", note: "dated research and decision records" },
@@ -1 +1 @@
1
- {"version":3,"file":"paper-layout.js","sourceRoot":"","sources":["../../src/domain/paper-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paper-layout.js","sourceRoot":"","sources":["../../src/domain/paper-layout.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Opaque } from "ts-essentials";
2
+ import { type Result } from "./result.ts";
2
3
  /**
3
4
  * An absolute path. Minted by `absolutePath` (a checked string) or `joinPath` (an absolute base and
4
5
  * segments) only, so nothing holding one has to ask whether it is relative.
@@ -8,4 +9,15 @@ export type AbsolutePath = Opaque<string, "AbsolutePath">;
8
9
  export declare function absolutePath(p: string): AbsolutePath;
9
10
  /** `segments` under `base`: absolute because `base` is. */
10
11
  export declare const joinPath: (base: AbsolutePath, ...segments: string[]) => AbsolutePath;
12
+ /**
13
+ * A file of a paper, by its path relative to the paper folder, in one spelling: posix-normalized, no
14
+ * leading `./`, never absolute, never out of the folder (`..`), never the folder itself. Two
15
+ * spellings of one file (`./versions/a.tex`, `versions/a.tex`) are then one value, so comparing,
16
+ * grouping and checking paths is comparing strings.
17
+ */
18
+ export type PaperPath = Opaque<string, "PaperPath">;
19
+ /** A path as a paper's record spells it, normalized; or why it names no file inside the paper. */
20
+ export declare function paperPath(raw: string): Result<PaperPath, string>;
21
+ /** A path the code composes from parts it already holds (`versions/<key>`); one that is not throws. */
22
+ export declare function asPaperPath(p: string): PaperPath;
11
23
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/domain/paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAK1D,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAGpD;AAED,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,GACnB,MAAM,YAAY,EAClB,GAAG,UAAU,MAAM,EAAE,KACpB,YAAqD,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/domain/paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAK1D,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAGpD;AAED,2DAA2D;AAC3D,eAAO,MAAM,QAAQ,GACnB,MAAM,YAAY,EAClB,GAAG,UAAU,MAAM,EAAE,KACpB,YAAqD,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAWpD,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAKhE;AAED,uGAAuG;AACvG,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAIhD"}
@@ -1,5 +1,6 @@
1
1
  /** Paths as the domain holds them. */
2
- import { isAbsolute, join } from "node:path";
2
+ import { isAbsolute, join, posix } from "node:path";
3
+ import { err, ok } from "./result.js";
3
4
  // The brand's one owner: the predicate IS the check, so no assertion is needed to mint the type.
4
5
  const isAbsolutePath = (p) => isAbsolute(p);
5
6
  /** A path the caller holds as text, checked where it becomes a value. A relative one throws. */
@@ -10,4 +11,24 @@ export function absolutePath(p) {
10
11
  }
11
12
  /** `segments` under `base`: absolute because `base` is. */
12
13
  export const joinPath = (base, ...segments) => absolutePath(join(base, ...segments));
14
+ // The brand's one owner, as for AbsolutePath: the predicate is the check.
15
+ const isPaperPath = (p) => p !== "." &&
16
+ p !== ".." &&
17
+ !p.startsWith("../") &&
18
+ !isAbsolute(p) &&
19
+ !p.includes("\\") &&
20
+ posix.normalize(p) === p;
21
+ /** A path as a paper's record spells it, normalized; or why it names no file inside the paper. */
22
+ export function paperPath(raw) {
23
+ const p = posix.normalize(raw);
24
+ return isPaperPath(p)
25
+ ? ok(p)
26
+ : err(`\`${raw}\` is not a path inside the paper folder`);
27
+ }
28
+ /** A path the code composes from parts it already holds (`versions/<key>`); one that is not throws. */
29
+ export function asPaperPath(p) {
30
+ if (!isPaperPath(p))
31
+ throw new Error(`not a path inside the paper folder: ${p}`);
32
+ return p;
33
+ }
13
34
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/domain/paths.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAS7C,iGAAiG;AACjG,MAAM,cAAc,GAAG,CAAC,CAAS,EAAqB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvE,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAkB,EAClB,GAAG,QAAkB,EACP,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/domain/paths.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAQnD,iGAAiG;AACjG,MAAM,cAAc,GAAG,CAAC,CAAS,EAAqB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvE,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAkB,EAClB,GAAG,QAAkB,EACP,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC;AAUzD,0EAA0E;AAC1E,MAAM,WAAW,GAAG,CAAC,CAAS,EAAkB,EAAE,CAChD,CAAC,KAAK,GAAG;IACT,CAAC,KAAK,IAAI;IACV,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IACpB,CAAC,UAAU,CAAC,CAAC,CAAC;IACd,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IACjB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAE3B,kGAAkG;AAClG,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,0CAA0C,CAAC,CAAC;AAC9D,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * Git keeps files, not folders: an empty folder is not in the first commit, which is the point of
17
17
  * scaffolding. A folder that holds nothing else gets a `.gitkeep`; a folder that holds a real file
18
18
  * (`repro/` with its README.md) gets none. `.gitkeep` is the convention, not a paperlint file, and no
19
- * rule reads it: `paper/stages` looks for `*.pdf` in `versions/`, the review and sibling rules lint
19
+ * rule reads it: `versions/layout` and `paper/stages` look for `*.pdf` in `versions/`, the review and sibling rules lint
20
20
  * `*.md`, `repro/allowed-files-only` judges the top of `repro/` only, and neither `tools/` nor `data/` is
21
21
  * listed by any rule.
22
22
  *
@@ -0,0 +1,51 @@
1
+ import type { CycleId } from "./cycle.ts";
2
+ import { type PaperPath } from "./paths.ts";
3
+ import { type Result } from "./result.ts";
4
+ import { type Entry, type FileFacts, type Lock } from "./versions.ts";
5
+ /** A file moved (or copied), both paths parsed: one spelling per file, inside the paper folder. */
6
+ export interface Move {
7
+ readonly from: PaperPath;
8
+ readonly to: PaperPath;
9
+ }
10
+ export interface MigrationPlan {
11
+ /**
12
+ * A source two stages were built from, copied to every destination but its last, which the move
13
+ * takes: done before the moves, so each copy reads the file before it leaves.
14
+ */
15
+ readonly copies: readonly Move[];
16
+ readonly moves: readonly Move[];
17
+ /** The lock after the migration: what was there, and an entry per file moved or source lost. */
18
+ readonly lock: Lock;
19
+ }
20
+ export interface MigrationInput {
21
+ readonly cycleIds: readonly CycleId[];
22
+ /** The scorecard's `stages:` list, as its YAML parsed. */
23
+ readonly stages: readonly unknown[];
24
+ /** The entries directly in `versions/`. */
25
+ readonly root: readonly Entry[];
26
+ /** The size and digest of a file of the paper, by its path relative to the paper; null when absent. */
27
+ readonly factsOf: (rel: PaperPath) => FileFacts | null;
28
+ /** The lock already there (versions frozen on send since), or none. */
29
+ readonly lock: Lock;
30
+ /** Whether a file of the paper is there, by its path relative to the paper: a destination taken. */
31
+ readonly exists: (rel: PaperPath) => boolean;
32
+ }
33
+ /** The whole migration, or every reason it cannot run: nothing is planned that could stop half-way. Pure. */
34
+ export declare function planMigration(input: MigrationInput): Result<MigrationPlan, readonly string[]>;
35
+ /**
36
+ * The plan replayed on the paths it touches, before the disk is: each copy and each move needs its
37
+ * source and a free destination at its step, and every file the new lock vouches for is there at the
38
+ * end. The planner's own checks give the reasons a person can act on; this is the backstop that turns
39
+ * any plan they let through by mistake into a refusal, never a paper moved half-way. Pure.
40
+ */
41
+ export declare function rehearse(plan: MigrationPlan, exists: (p: PaperPath) => boolean): Result<null, readonly string[]>;
42
+ /** The YAML between the scorecard's `---` lines; null when it has none. Pure. */
43
+ export declare function frontmatterOf(markdown: string): string | null;
44
+ /**
45
+ * The scorecard with its `stages:` key — the line and every indented or list line under it — taken
46
+ * out of the frontmatter; the frontmatter itself dropped when nothing is left in it. Null when there
47
+ * is no `stages:` key at the top of a frontmatter. Pure: the caller checks the result with a YAML
48
+ * parser, so a layout this misreads is refused, not written.
49
+ */
50
+ export declare function withoutStages(markdown: string): string | null;
51
+ //# sourceMappingURL=versions-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versions-migration.d.ts","sourceRoot":"","sources":["../../src/domain/versions-migration.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAML,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,IAAI,EAIV,MAAM,eAAe,CAAC;AAEvB,mGAAmG;AACnG,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAChC,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,EAAE,CAAC;IAChC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC;IACvD,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;CAC9C;AAoPD,6GAA6G;AAC7G,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,GACpB,MAAM,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC,CAe1C;AAyCD;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,GAChC,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC,CAwBjC;AAMD,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa7D"}