paperlint 10.3.0 → 10.4.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 (139) hide show
  1. package/.github/workflows/ci.yml +15 -4
  2. package/README.md +1 -0
  3. package/dist/adapters/git/index.d.ts +10 -0
  4. package/dist/adapters/git/index.d.ts.map +1 -0
  5. package/dist/adapters/git/index.js +151 -0
  6. package/dist/adapters/git/index.js.map +1 -0
  7. package/dist/adapters/memory/index.d.ts +6 -0
  8. package/dist/adapters/memory/index.d.ts.map +1 -1
  9. package/dist/adapters/memory/index.js +8 -0
  10. package/dist/adapters/memory/index.js.map +1 -1
  11. package/dist/adapters/node/index.d.ts +1 -0
  12. package/dist/adapters/node/index.d.ts.map +1 -1
  13. package/dist/adapters/node/index.js +1 -0
  14. package/dist/adapters/node/index.js.map +1 -1
  15. package/dist/adapters/node/list-entries.io.d.ts +3 -0
  16. package/dist/adapters/node/list-entries.io.d.ts.map +1 -0
  17. package/dist/adapters/node/list-entries.io.js +24 -0
  18. package/dist/adapters/node/list-entries.io.js.map +1 -0
  19. package/dist/adapters/study-registry/index.d.ts +70 -10
  20. package/dist/adapters/study-registry/index.d.ts.map +1 -1
  21. package/dist/adapters/study-registry/index.js +84 -10
  22. package/dist/adapters/study-registry/index.js.map +1 -1
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +33 -3
  25. package/dist/cli.js.map +1 -1
  26. package/dist/domain/decide-first.d.ts +100 -0
  27. package/dist/domain/decide-first.d.ts.map +1 -0
  28. package/dist/domain/decide-first.js +102 -0
  29. package/dist/domain/decide-first.js.map +1 -0
  30. package/dist/domain/index-columns.d.ts +45 -0
  31. package/dist/domain/index-columns.d.ts.map +1 -0
  32. package/dist/domain/index-columns.js +62 -0
  33. package/dist/domain/index-columns.js.map +1 -0
  34. package/dist/domain/study-mode.d.ts +37 -0
  35. package/dist/domain/study-mode.d.ts.map +1 -0
  36. package/dist/domain/study-mode.js +45 -0
  37. package/dist/domain/study-mode.js.map +1 -0
  38. package/dist/domain/study-registry.d.ts +57 -10
  39. package/dist/domain/study-registry.d.ts.map +1 -1
  40. package/dist/domain/study-registry.js +106 -30
  41. package/dist/domain/study-registry.js.map +1 -1
  42. package/dist/outputs-before-decision-rule.d.ts +17 -0
  43. package/dist/outputs-before-decision-rule.d.ts.map +1 -0
  44. package/dist/outputs-before-decision-rule.js +90 -0
  45. package/dist/outputs-before-decision-rule.js.map +1 -0
  46. package/dist/ports/git-history.d.ts +44 -0
  47. package/dist/ports/git-history.d.ts.map +1 -0
  48. package/dist/ports/git-history.js +2 -0
  49. package/dist/ports/git-history.js.map +1 -0
  50. package/dist/ports/list-entries.d.ts +17 -0
  51. package/dist/ports/list-entries.d.ts.map +1 -0
  52. package/dist/ports/list-entries.js +2 -0
  53. package/dist/ports/list-entries.js.map +1 -0
  54. package/dist/ports/study-registry-codec.d.ts +6 -3
  55. package/dist/ports/study-registry-codec.d.ts.map +1 -1
  56. package/dist/studies.d.ts +4 -0
  57. package/dist/studies.d.ts.map +1 -1
  58. package/dist/studies.js +50 -22
  59. package/dist/studies.js.map +1 -1
  60. package/dist/study-gate.d.ts +14 -0
  61. package/dist/study-gate.d.ts.map +1 -0
  62. package/dist/study-gate.js +95 -0
  63. package/dist/study-gate.js.map +1 -0
  64. package/dist/study-index-input.d.ts +5 -0
  65. package/dist/study-index-input.d.ts.map +1 -0
  66. package/dist/study-index-input.js +13 -0
  67. package/dist/study-index-input.js.map +1 -0
  68. package/dist/study-modes.d.ts +45 -0
  69. package/dist/study-modes.d.ts.map +1 -0
  70. package/dist/study-modes.js +70 -0
  71. package/dist/study-modes.js.map +1 -0
  72. package/dist/study-registry-rule.d.ts +17 -1
  73. package/dist/study-registry-rule.d.ts.map +1 -1
  74. package/dist/study-registry-rule.js +34 -13
  75. package/dist/study-registry-rule.js.map +1 -1
  76. package/dist/study-run.d.ts +19 -0
  77. package/dist/study-run.d.ts.map +1 -0
  78. package/dist/study-run.js +9 -0
  79. package/dist/study-run.js.map +1 -0
  80. package/docs/design/study-modes.md +247 -0
  81. package/docs/design/study-registry.md +6 -0
  82. package/docs/e2e.md +8 -4
  83. package/docs/layout.md +22 -19
  84. package/docs/rules/repro/outputs-before-decision.md +119 -0
  85. package/docs/rules/repro/study-registered.md +47 -14
  86. package/docs/rules.md +54 -53
  87. package/docs/testing.md +1 -0
  88. package/package.json +2 -1
  89. package/scripts/check.ts +6 -0
  90. package/skills/camera-ready/SKILL.md +6 -1
  91. package/skills/camera-ready/SKILL.md.spec.ts +5 -0
  92. package/skills/draft-paper/SKILL.md +11 -3
  93. package/skills/draft-paper/SKILL.md.spec.ts +10 -2
  94. package/skills/harden-paper/SKILL.md +12 -2
  95. package/skills/harden-paper/SKILL.md.spec.ts +11 -1
  96. package/skills/osf-artifact-upload/SKILL.md +7 -1
  97. package/skills/osf-artifact-upload/SKILL.md.spec.ts +6 -0
  98. package/skills/pc-panel-review/SKILL.md +10 -3
  99. package/skills/pc-panel-review/SKILL.md.spec.ts +9 -2
  100. package/skills/tighten-paper/SKILL.md +5 -1
  101. package/skills/tighten-paper/SKILL.md.spec.ts +4 -0
  102. package/src/adapters/git/history.test.ts +121 -0
  103. package/src/adapters/git/index.test.ts +268 -0
  104. package/src/adapters/git/index.ts +227 -0
  105. package/src/adapters/memory/index.test.ts +15 -1
  106. package/src/adapters/memory/index.ts +13 -0
  107. package/src/adapters/node/index.ts +1 -0
  108. package/src/adapters/node/list-entries.io.ts +26 -0
  109. package/src/adapters/node/list-entries.test.ts +43 -0
  110. package/src/adapters/study-registry/index.test.ts +12 -9
  111. package/src/adapters/study-registry/index.ts +130 -24
  112. package/src/adapters/study-registry/mode.test.ts +162 -0
  113. package/src/cli.ts +47 -3
  114. package/src/domain/decide-first.test.ts +258 -0
  115. package/src/domain/decide-first.ts +243 -0
  116. package/src/domain/index-columns.test.ts +216 -0
  117. package/src/domain/index-columns.ts +105 -0
  118. package/src/domain/study-measurements.test.ts +9 -5
  119. package/src/domain/study-mode.test.ts +55 -0
  120. package/src/domain/study-mode.ts +78 -0
  121. package/src/domain/study-registry.test.ts +38 -31
  122. package/src/domain/study-registry.ts +170 -31
  123. package/src/new-paper.test.ts +5 -1
  124. package/src/outputs-before-decision-rule.test.ts +206 -0
  125. package/src/outputs-before-decision-rule.ts +124 -0
  126. package/src/ports/git-history.ts +44 -0
  127. package/src/ports/list-entries.ts +18 -0
  128. package/src/ports/study-registry-codec.ts +10 -3
  129. package/src/rule-cases.test.ts +78 -3
  130. package/src/studies-index-modes.test.ts +129 -0
  131. package/src/studies.test.ts +35 -11
  132. package/src/studies.ts +88 -27
  133. package/src/study-gate.test.ts +316 -0
  134. package/src/study-gate.ts +161 -0
  135. package/src/study-index-input.ts +23 -0
  136. package/src/study-modes.ts +120 -0
  137. package/src/study-registry-rule.test.ts +198 -11
  138. package/src/study-registry-rule.ts +51 -14
  139. package/src/study-run.ts +21 -0
@@ -10,12 +10,16 @@
10
10
  * ── JSON, NEVER MARKDOWN ─────────────────────────────────────────────────────────
11
11
  * The registry is data: its text is parsed once, where it enters, against the schema in
12
12
  * `src/adapters/study-registry/` (`StudyRegistryCodec`). The index in `repro/README.md` is OUTPUT: it is
13
- * generated from the registry and compared as a string, between two fixed markers. Nothing parses it.
13
+ * generated from the registry, the plans' modes and git's history (src/domain/index-columns.ts), and
14
+ * compared cell by cell between two fixed markers, the two columns read from git left out. Nothing
15
+ * else parses it.
14
16
  *
15
17
  * Pure: the caller lists `repro/`, reads the registry and the README, and says which result files exist.
16
18
  */
17
19
  import { isAbsolute, posix, win32 } from "node:path";
18
20
  import { STUDIES_FILE, STUDY_SLUG } from "./repro-layout.js";
21
+ import { needsMode } from "./study-mode.js";
22
+ import { decisionCell, firstOutputCell, modeCell, } from "./index-columns.js";
19
23
  /** The registry, at the top of the paper's `repro/`; the layout allows it there. */
20
24
  export { STUDIES_FILE };
21
25
  export const STUDY_KINDS = [
@@ -71,6 +75,7 @@ export const PLAN_FIELDS = [
71
75
  "primary_outcome",
72
76
  "author_check",
73
77
  "extra",
78
+ "mode",
74
79
  ];
75
80
  /** The texts a plan must fill before the study runs, in the order they are named. */
76
81
  export const PLAN_TEXT_FIELDS = [
@@ -78,17 +83,37 @@ export const PLAN_TEXT_FIELDS = [
78
83
  "population.source",
79
84
  "population.draw.method",
80
85
  "primary_outcome",
86
+ "mode",
87
+ "mode.outputs",
88
+ "mode.decision.file",
89
+ "mode.decision.note",
90
+ "mode.reason",
81
91
  ];
92
+ /** The decision file `paperlint studies new` names for a study in `folder`, relative to the paper. */
93
+ export const decisionPath = (folder) => `repro/${folder}/${DECISION_FILE}`;
94
+ /** The decision file's name, beside the plan. */
95
+ export const DECISION_FILE = "decision.md";
82
96
  /**
83
- * The plan `paperlint studies new` writes: every field present, its value to fill. Its draw is of
84
- * all the population (a census); a sampled study changes it to `{ "kind": "seeded", "method", "seed" }`.
97
+ * The plan `paperlint studies new` writes for a study of `kind` in `folder`: every field present, its
98
+ * value to fill. Its draw is of all the population (a census); a sampled study changes it to
99
+ * `{ "kind": "seeded", "method", "seed" }`. A study that must declare its mode gets the default one,
100
+ * decided before the run, its decision file named and its outputs and note to fill.
85
101
  */
86
- export const planTemplate = () => ({
102
+ export const planTemplate = (kind, folder) => ({
87
103
  question: "",
88
104
  population: { source: "", draw: { kind: "all", method: "" } },
89
105
  arms: [],
90
106
  primary_outcome: "",
91
107
  author_check: null,
108
+ ...(needsMode(kind)
109
+ ? {
110
+ mode: {
111
+ kind: "decide_before_run",
112
+ outputs: [],
113
+ decision: { file: decisionPath(folder), note: "" },
114
+ },
115
+ }
116
+ : {}),
92
117
  });
93
118
  /** A plan's text as `paperlint studies new` writes it: JSON, two-space indented, a final newline. */
94
119
  export const planText = (p) => `${JSON.stringify(p, null, 2)}\n`;
@@ -122,17 +147,27 @@ export const titleWords = (title) => title.split(/\s+/u).filter((w) => w !== "")
122
147
  * Whether `path` stays inside the folder it is relative to. A backslash or a Windows absolute path
123
148
  * is refused outright: `posix.normalize` does not resolve `..\\`, while the host's `join` may.
124
149
  */
125
- const isInside = (path) => {
150
+ export const isInside = (path) => {
126
151
  if (path.includes("\\") || isAbsolute(path) || win32.isAbsolute(path))
127
152
  return false;
128
153
  const n = posix.normalize(path);
129
154
  return n !== ".." && !n.startsWith("../");
130
155
  };
156
+ /**
157
+ * Whether `folder` names one folder directly inside `repro/`: not empty, not `.` or `..`, and no
158
+ * separator or NUL. Every command and rule that reads a study's folder reads only such a one: a row
159
+ * naming `../x` would have them read and write outside the paper.
160
+ */
161
+ export const isFolderName = (folder) => folder !== "." && folder !== ".." && /^[^/\\\0]+$/u.test(folder);
131
162
  /**
132
163
  * The `<folder>/<plan>` of each row whose plan lies inside its folder: the files the judge needs read
133
164
  * (`StudyInput.plans`). A plan outside its folder is reported without being read.
134
165
  */
135
- export const planKeys = (r) => r.studies.flatMap((s) => s.plan !== undefined && isInside(s.plan) ? [`${s.folder}/${s.plan}`] : []);
166
+ export const planKeys = (r) => planRefs(r).map((p) => p.key);
167
+ /** Each plan `planKeys` names, with the kind of the study whose row names it: what its parser needs. */
168
+ export const planRefs = (r) => r.studies.flatMap((s) => s.plan !== undefined && isInside(s.plan) && isFolderName(s.folder)
169
+ ? [{ key: `${s.folder}/${s.plan}`, folder: s.folder, kind: s.kind }]
170
+ : []);
136
171
  /** Whether the row is the first of the registry with its value of `key`. */
137
172
  const isFirst = ({ r, s, i }, key) => r.studies.findIndex((o) => key(o) === key(s)) === i;
138
173
  const badId = ({ r, s }) => idNumber(r.prefix, s.id) === null
@@ -327,13 +362,13 @@ const judgeMeasurement = (r, m) => {
327
362
  /** What is wrong with a row, in a fixed order. */
328
363
  const judgeRow = (row) => ROW_CHECKS.map((check) => check(row)).filter((f) => f !== null);
329
364
  /** Whether the README's index is the one `r` generates; the finding when not. */
330
- function judgeIndex(r, readme) {
365
+ function judgeIndex(r, readme, plans) {
331
366
  if (readme === null)
332
367
  return { problem: "stale-index", why: "no-readme" };
333
368
  const block = embeddedIndex(readme);
334
369
  if (block === null)
335
370
  return { problem: "stale-index", why: "no-markers" };
336
- return indexInSync(readme, r)
371
+ return indexInSync(readme, r, { plans, history: new Map() })
337
372
  ? null
338
373
  : { problem: "stale-index", why: "differs" };
339
374
  }
@@ -351,7 +386,7 @@ export function judgeStudies(input) {
351
386
  return [{ problem: "unreadable", why: state.why }];
352
387
  const r = state.registry;
353
388
  const next = nextStudyId(r);
354
- const index = judgeIndex(r, input.readme);
389
+ const index = judgeIndex(r, input.readme, input.plans);
355
390
  return [
356
391
  ...input.folders
357
392
  .filter((f) => !r.studies.some((s) => s.folder === f))
@@ -368,15 +403,43 @@ export function judgeStudies(input) {
368
403
  // ── the index ─────────────────────────────────────────────────────────────────────
369
404
  /** A cell's text: one line, a backslash and then a pipe escaped, so `a\\|b` stays one cell. */
370
405
  const cell = (s) => s.replace(/\r?\n/gu, " ").replace(/\\/gu, "\\\\").replace(/\|/gu, "\\|");
371
- /** The columns of the index: each one's header, and its cell for a study. */
406
+ /** The mode the plan of `s` declares; null when it names none, or the plan is absent or unreadable. */
407
+ const declaredMode = (s, plans) => {
408
+ const state = s.plan !== undefined && isInside(s.plan)
409
+ ? plans.get(`${s.folder}/${s.plan}`)
410
+ : undefined;
411
+ return state === undefined ||
412
+ state.kind === "absent" ||
413
+ state.kind === "unreadable"
414
+ ? null
415
+ : (state.plan.mode ?? null);
416
+ };
417
+ /** What the index shows of `s` beyond its row. */
418
+ const factsOf = (s, at) => ({
419
+ mode: declaredMode(s, at.plans),
420
+ history: at.history.get(s.id) ?? null,
421
+ });
422
+ /**
423
+ * The columns of the index: each one's header, its cell for a study, and whether git's history is
424
+ * where the cell comes from — those two are never compared (src/domain/index-columns.ts).
425
+ */
372
426
  const COLUMNS = [
373
- { head: "id", of: (s) => s.id },
374
- { head: "title", of: (s) => cell(s.title) },
375
- { head: "status", of: (s) => s.status },
376
- { head: "result", of: (s) => cell(s.result ?? "—") },
377
- { head: "in paper", of: (s) => s.in_paper },
378
- { head: "folder", of: (s) => `[${s.folder}/](${s.folder}/)` },
427
+ { head: "id", of: (s) => s.id, fromGit: false },
428
+ { head: "title", of: (s) => cell(s.title), fromGit: false },
429
+ { head: "status", of: (s) => s.status, fromGit: false },
430
+ { head: "result", of: (s) => cell(s.result ?? "—"), fromGit: false },
431
+ { head: "in paper", of: (s) => s.in_paper, fromGit: false },
432
+ { head: "mode", of: (_, f) => cell(modeCell(f)), fromGit: false },
433
+ { head: "decision", of: (_, f) => decisionCell(f), fromGit: true },
434
+ { head: "first output", of: (_, f) => firstOutputCell(f), fromGit: true },
435
+ {
436
+ head: "folder",
437
+ of: (s) => `[${s.folder}/](${s.folder}/)`,
438
+ fromGit: false,
439
+ },
379
440
  ];
441
+ /** The positions of the columns read from git: left out when an index is compared. */
442
+ const FROM_GIT = COLUMNS.flatMap((c, i) => (c.fromGit ? [i] : []));
380
443
  /** The width a cell takes: its code points. */
381
444
  const widthOf = (s) => Array.from(s).length;
382
445
  /** `t` padded to `width`. */
@@ -386,16 +449,17 @@ const padded = (t, width) => t + " ".repeat(width - widthOf(t));
386
449
  * widest cell (at least 3), the way prettier writes a table — so formatting the README leaves it as
387
450
  * it is.
388
451
  */
389
- export function studyIndex(r) {
452
+ export function studyIndex(r, at) {
453
+ const studies = r.studies.map((s) => ({ s, f: factsOf(s, at) }));
390
454
  const sized = COLUMNS.map((c) => ({
391
455
  ...c,
392
- width: Math.max(3, widthOf(c.head), ...r.studies.map((s) => widthOf(c.of(s)))),
456
+ width: Math.max(3, widthOf(c.head), ...studies.map(({ s, f }) => widthOf(c.of(s, f)))),
393
457
  }));
394
458
  const line = (cells) => `| ${cells.join(" | ")} |`;
395
459
  return [
396
460
  line(sized.map((c) => padded(c.head, c.width))),
397
461
  line(sized.map((c) => "-".repeat(c.width))),
398
- ...r.studies.map((s) => line(sized.map((c) => padded(c.of(s), c.width)))),
462
+ ...studies.map(({ s, f }) => line(sized.map((c) => padded(c.of(s, f), c.width)))),
399
463
  ].join("\n");
400
464
  }
401
465
  /**
@@ -403,7 +467,7 @@ export function studyIndex(r) {
403
467
  * `---`. The index is judged on this, because the padding belongs to the formatter: prettier sizes a
404
468
  * column by display width, so a wide character pads differently from a code-point count.
405
469
  */
406
- const cellsOf = (table) => table
470
+ const cellsOf = (table, skip) => table
407
471
  .trim()
408
472
  .split("\n")
409
473
  .map((line) => line
@@ -411,15 +475,26 @@ const cellsOf = (table) => table
411
475
  .replace(/^\||\|$/gu, "")
412
476
  .split(/(?<!\\)\|/u)
413
477
  .map((c) => c.trim().replace(/^:?-{3,}:?$/u, "---"))
478
+ .filter((_, i) => !skip.includes(i))
414
479
  .join("|"))
415
480
  .join("\n");
416
- /** Whether `readme` holds the index of `r`, whatever padding a formatter gave its table. */
417
- export function indexInSync(readme, r) {
481
+ /** Whether `readme` holds the index of `r` in every column but those at `skip`, whatever its padding. */
482
+ const sameCells = (readme, index, skip) => {
418
483
  const block = readme === null ? null : embeddedIndex(readme);
419
- return block !== null && cellsOf(block) === cellsOf(studyIndex(r));
420
- }
484
+ return block !== null && cellsOf(block, skip) === cellsOf(index, skip);
485
+ };
486
+ /**
487
+ * Whether `readme` holds the index of `r`, whatever padding a formatter gave its table and whatever
488
+ * its two columns read from git say: what `repro/study-registered` checks.
489
+ */
490
+ export const indexInSync = (readme, r, at) => sameCells(readme, studyIndex(r, at), FROM_GIT);
491
+ /**
492
+ * Whether `readme` holds the index of `r` in every column, whatever its padding: when it does,
493
+ * `studies index` leaves the README as it is, so the padding a formatter gave the table stays.
494
+ */
495
+ export const indexCurrent = (readme, r, at) => sameCells(readme, studyIndex(r, at), []);
421
496
  /** The index between its markers, a blank line on each side. */
422
- export const indexBlock = (r) => `${INDEX_BEGIN}\n\n${studyIndex(r)}\n\n${INDEX_END}`;
497
+ export const indexBlock = (r, at) => `${INDEX_BEGIN}\n\n${studyIndex(r, at)}\n\n${INDEX_END}`;
423
498
  /**
424
499
  * Where `marker` stands alone on a line of `text`, at or after `from`; -1 when it does not. A marker
425
500
  * counts only there, where the generator writes it: prose can mention it and a cell can carry it, but
@@ -440,15 +515,16 @@ export function embeddedIndex(readme) {
440
515
  * `readme` with its index regenerated from `r`: the block replaced in place, appended when the README
441
516
  * has none, a README of its own when there is none.
442
517
  */
443
- export function withIndex(readme, r) {
518
+ export function withIndex(readme, r, at) {
519
+ const fresh = indexBlock(r, at);
444
520
  if (readme === null)
445
- return `${INDEX_HEADING}\n\n${indexBlock(r)}\n`;
521
+ return `${INDEX_HEADING}\n\n${fresh}\n`;
446
522
  const block = embeddedIndex(readme);
447
523
  if (block === null)
448
- return `${readme.trimEnd()}\n\n${indexBlock(r)}\n`;
524
+ return `${readme.trimEnd()}\n\n${fresh}\n`;
449
525
  const begin = markerAt(readme, INDEX_BEGIN);
450
526
  const after = begin + INDEX_BEGIN.length + block.length + INDEX_END.length;
451
- return `${readme.slice(0, begin)}${indexBlock(r)}${readme.slice(after)}`;
527
+ return `${readme.slice(0, begin)}${fresh}${readme.slice(after)}`;
452
528
  }
453
529
  /** The registry's text as `paperlint studies new` writes it: JSON, two-space indented, a final newline. */
454
530
  export const registryText = (r) => `${JSON.stringify(r, null, 2)}\n`;
@@ -500,7 +576,7 @@ const HEADS = {
500
576
  case "outside":
501
577
  return `${REGISTRY}: ${of} is outside its folder. What to do: keep the plan in the study's folder, as \`${PLAN_FILE}\`, and name it relative to the folder.`;
502
578
  case "unreadable":
503
- return `${plan} is not a study plan: ${f.reasons}. What to do: give it the fields on the rule's page — \`question\`, \`population\`, \`arms\`, \`primary_outcome\`.`;
579
+ return `${plan} is not a study plan: ${f.reasons}. What to do: give it the fields on the rule's page — \`question\`, \`population\`, \`arms\`, \`primary_outcome\`, and for a measurement its \`mode\`.`;
504
580
  case "unfilled":
505
581
  return `${plan} leaves ${listed(f.fields)} empty, and the study is ${tick(f.status)}: a plan is written before the runs. What to do: fill them in, or set the study back to \`designing\`.`;
506
582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"study-registry.js","sourceRoot":"","sources":["../../src/domain/study-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"study-registry.js","sourceRoot":"","sources":["../../src/domain/study-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type StudyDeps } from "./study-modes.ts";
2
+ import { type DecideFirstStudy } from "./domain/decide-first.ts";
3
+ import type { FolderRuleModule } from "./folder-venue-rule.ts";
4
+ import type { GitOrder } from "./ports/git-history.ts";
5
+ /** What the rule reads with: the registry's, and git's order. */
6
+ export interface OrderDeps extends StudyDeps {
7
+ readonly git: GitOrder;
8
+ }
9
+ /** Every decide-first study of the paper folder `paper`, with its tree and its history's order. */
10
+ export declare const decideFirstStudies: (paper: string, deps: OrderDeps) => readonly DecideFirstStudy[];
11
+ /** The rule, reading the folder and git through `deps`. */
12
+ export declare const outputsBeforeDecisionRules: (deps: OrderDeps) => Readonly<Record<"outputs-before-decision", FolderRuleModule>>;
13
+ /** Its level in paperlint's own config: an error. */
14
+ export declare const ORDER_RULE_LEVELS: Readonly<{
15
+ "repro/outputs-before-decision": "error";
16
+ }>;
17
+ //# sourceMappingURL=outputs-before-decision-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs-before-decision-rule.d.ts","sourceRoot":"","sources":["../src/outputs-before-decision-rule.ts"],"names":[],"mappings":"AAiBA,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAEV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKvD,iEAAiE;AACjE,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,EACb,MAAM,SAAS,KACd,SAAS,gBAAgB,EAoBxB,CAAC;AAiCL,2DAA2D;AAC3D,eAAO,MAAM,0BAA0B,GACrC,MAAM,SAAS,KACd,QAAQ,CAAC,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAc7D,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC;IACvC,+BAA+B,EAAE,OAAO,CAAC;CAC1C,CAAgD,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * `repro/outputs-before-decision` — a study decided before its run shows that order in git's
3
+ * history: every output entered history after the decision file did, and no output exists while the
4
+ * decision is uncommitted. What is judged, and why, is `src/domain/decide-first.ts` and
5
+ * docs/rules/repro/outputs-before-decision.md; this file finds the decide-first studies, lists their
6
+ * folders, asks git through the `GitOrder` port, and reports.
7
+ *
8
+ * ── WHY A RULE MAY ASK GIT HERE ────────────────────────────────────────────────
9
+ * `eslint-rules/` may not run git (eslint.config.mjs, `GIT_IN_A_RULE`): a pinned sha is deleted by a
10
+ * squash or a gc, and a shallow CI checkout has none. This rule pins no sha. It asks the history the
11
+ * checkout has for an ORDER, which a squash merge keeps when the decision was merged before the run
12
+ * (the decide-first workflow), and it reports a shallow clone by name instead of judging it.
13
+ *
14
+ * Reported on `PIPELINE-STATUS.md`, first line, like the other `repro/` rules.
15
+ */
16
+ import { basename, dirname, join } from "node:path";
17
+ import { callerPath } from "./caller-path.js";
18
+ import { filesUnder, modeStudies, onDisk, } from "./study-modes.js";
19
+ import { judgeOrder, orderMessage, } from "./domain/decide-first.js";
20
+ import { REPRO_DIR } from "./domain/repro-layout.js";
21
+ import { rulePageUrl } from "./venue-rules.js";
22
+ const STATUS_FILE = "PIPELINE-STATUS.md";
23
+ /** Every decide-first study of the paper folder `paper`, with its tree and its history's order. */
24
+ export const decideFirstStudies = (paper, deps) => modeStudies(paper, deps).flatMap(({ row, plan, mode, empty }) => {
25
+ // Only a ready plan decides: a draft may name no outputs, or an empty decision file.
26
+ if (mode.kind !== "decide_before_run" || empty.length > 0)
27
+ return [];
28
+ const folder = join(paper, REPRO_DIR, row.folder);
29
+ const decision = join(paper, mode.decision.file);
30
+ const on = onDisk(decision, deps);
31
+ return [
32
+ {
33
+ id: row.id,
34
+ folder: row.folder,
35
+ plan,
36
+ mode,
37
+ tree: filesUnder(folder, deps),
38
+ facts: on === "directory" || on === "symbolic link"
39
+ ? { kind: "not-a-file", what: on }
40
+ : deps.git.order(callerPath(folder), callerPath(decision)),
41
+ },
42
+ ];
43
+ });
44
+ const PROBLEMS = [
45
+ "decision-is-output",
46
+ "decision-deleted",
47
+ "decision-not-file",
48
+ "no-history",
49
+ "shallow",
50
+ "undecided-output",
51
+ "output-before-decision",
52
+ ];
53
+ const NAME = "repro/outputs-before-decision";
54
+ /** On `PIPELINE-STATUS.md`, every finding of every decide-first study of its paper, at its first line. */
55
+ const reportOn = (context, deps) => {
56
+ if (basename(context.filename) !== STATUS_FILE)
57
+ return {};
58
+ return {
59
+ root() {
60
+ const at = context.sourceCode.getLocFromIndex(0);
61
+ decideFirstStudies(dirname(context.filename), deps)
62
+ .flatMap(judgeOrder)
63
+ .forEach((f) => {
64
+ context.report({
65
+ loc: { start: at, end: at },
66
+ messageId: f.problem,
67
+ data: { text: orderMessage(f) },
68
+ });
69
+ });
70
+ },
71
+ };
72
+ };
73
+ /** The rule, reading the folder and git through `deps`. */
74
+ export const outputsBeforeDecisionRules = (deps) => ({
75
+ "outputs-before-decision": {
76
+ meta: {
77
+ type: "suggestion",
78
+ docs: {
79
+ description: "a study decided before its run shows it in git's history: every output entered history after its decision file, and none exists while the decision is uncommitted",
80
+ url: rulePageUrl(NAME),
81
+ },
82
+ schema: [],
83
+ messages: Object.fromEntries(PROBLEMS.map((p) => [p, "{{text}}"])),
84
+ },
85
+ create: (context) => reportOn(context, deps),
86
+ },
87
+ });
88
+ /** Its level in paperlint's own config: an error. */
89
+ export const ORDER_RULE_LEVELS = { "repro/outputs-before-decision": "error" };
90
+ //# sourceMappingURL=outputs-before-decision-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs-before-decision-rule.js","sourceRoot":"","sources":["../src/outputs-before-decision-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * What git says of a study's files — shaped by what the decide-first gate needs: whether a decision
3
+ * file is committed as it stands, and in which commit (`studies gate`); and whether
4
+ * each output entered history after the decision (`repro/outputs-before-decision`). The one
5
+ * implementation is `src/adapters/git/`; `src/cli.ts` wires it.
6
+ */
7
+ import type { OrderFacts } from "../domain/decide-first.ts";
8
+ import type { AbsolutePath } from "../domain/paths.ts";
9
+ export type { CommitAt, FirstCommit, Order, OrderFacts, } from "../domain/decide-first.ts";
10
+ export type Committed =
11
+ /** No commit has the file: untracked, ignored, only staged, or absent. */
12
+ {
13
+ readonly kind: "not-committed";
14
+ }
15
+ /** Committed, and changed since (edited, staged, deleted): the commit is not what is on disk. */
16
+ | {
17
+ readonly kind: "changed";
18
+ readonly commit: string;
19
+ }
20
+ /** Committed, then deleted in a later commit: it is not in HEAD, so there is nothing to gate on. */
21
+ | {
22
+ readonly kind: "deleted";
23
+ readonly commit: string;
24
+ }
25
+ /** Committed as it stands: the last commit that touched it, and that commit's date. */
26
+ | {
27
+ readonly kind: "committed";
28
+ readonly commit: string;
29
+ readonly date: string;
30
+ }
31
+ /** git could not answer: not installed, not a repository. */
32
+ | {
33
+ readonly kind: "unknown";
34
+ readonly why: string;
35
+ };
36
+ export interface GitHistory {
37
+ /** `file` (absolute, in the repository that holds `paper`), asked from the paper's folder. */
38
+ readonly committed: (paper: AbsolutePath, file: AbsolutePath) => Committed;
39
+ }
40
+ export interface GitOrder {
41
+ /** The order of `decision`'s first commit against every file's under `studyDir` (a folder that exists). */
42
+ readonly order: (studyDir: AbsolutePath, decision: AbsolutePath) => OrderFacts;
43
+ }
44
+ //# sourceMappingURL=git-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-history.d.ts","sourceRoot":"","sources":["../../src/ports/git-history.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY,EACV,QAAQ,EACR,WAAW,EACX,KAAK,EACL,UAAU,GACX,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,SAAS;AACnB,0EAA0E;AACxE;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;CAAE;AACpC,iGAAiG;GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACvD,oGAAoG;GAClG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACvD,uFAAuF;GACrF;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AACH,6DAA6D;GAC3D;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,UAAU;IACzB,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,KAAK,SAAS,CAAC;CAC5E;AAED,MAAM,WAAW,QAAQ;IACvB,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,EAAE,CACd,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,KACnB,UAAU,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=git-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-history.js","sourceRoot":"","sources":["../../src/ports/git-history.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A directory's entries with what each one is, read without following a symbolic link — so a walk
3
+ * that descends only into `dir` entries can neither loop on a link to an ancestor nor wander into a
4
+ * tree outside through one. The walker of a study's folder (`src/study-modes.ts`) reads with it.
5
+ */
6
+ import type { AbsolutePath } from "../domain/paths.ts";
7
+ /**
8
+ * One entry of a directory: a directory, a symbolic link (not followed), or a file — anything else on
9
+ * disk (a socket, a FIFO) reads as a file: a name, never descended into.
10
+ */
11
+ export interface DirEntry {
12
+ readonly name: string;
13
+ readonly kind: "file" | "dir" | "symlink";
14
+ }
15
+ /** The entries of `dir`; none when it does not exist or is not a directory. */
16
+ export type ListEntries = (dir: AbsolutePath) => readonly DirEntry[];
17
+ //# sourceMappingURL=list-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-entries.d.ts","sourceRoot":"","sources":["../../src/ports/list-entries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;CAC3C;AAED,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=list-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-entries.js","sourceRoot":"","sources":["../../src/ports/list-entries.ts"],"names":[],"mappings":""}
@@ -3,12 +3,15 @@
3
3
  * of `StudyRegistry` (`src/domain/study-registry.ts`). The one implementation is
4
4
  * `src/adapters/study-registry/` (zod); `src/cli.ts` wires it.
5
5
  */
6
- import type { ParsedPlan, ParsedRegistry } from "../domain/study-registry.ts";
6
+ import type { ParsedPlan, ParsedRegistry, StudyKind } from "../domain/study-registry.ts";
7
7
  export interface StudyRegistryCodec {
8
8
  /** A `studies.json`'s text: the registry, or the one reason it is not one of this schema. */
9
9
  readonly parse: (text: string) => ParsedRegistry;
10
- /** A study's `plan.json` text, strict: ready, a draft naming its empty texts, or why it is no plan. */
11
- readonly parsePlan: (text: string) => ParsedPlan;
10
+ /**
11
+ * A study's `plan.json` text, strict: ready, a draft naming its empty texts, or why it is no plan. A
12
+ * study of a `kind` that must declare its mode (a measurement) is ready only with one.
13
+ */
14
+ readonly parsePlan: (text: string, kind: StudyKind) => ParsedPlan;
12
15
  /** A plan still named `prereg.json`, loose: the same three outcomes. */
13
16
  readonly parseLegacyPlan: (text: string) => ParsedPlan;
14
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"study-registry-codec.d.ts","sourceRoot":"","sources":["../../src/ports/study-registry-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD,uGAAuG;IACvG,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;IACjD,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CACxD"}
1
+ {"version":3,"file":"study-registry-codec.d.ts","sourceRoot":"","sources":["../../src/ports/study-registry-codec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,UAAU,CAAC;IAClE,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CACxD"}