paperlint 6.0.0 → 6.2.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.
- package/dist/adapters/latex/index.d.ts +1 -1
- package/dist/adapters/latex/index.d.ts.map +1 -1
- package/dist/adapters/latex/index.js +3 -2
- package/dist/adapters/latex/index.js.map +1 -1
- package/dist/adapters/latex/prose.d.ts +6 -1
- package/dist/adapters/latex/prose.d.ts.map +1 -1
- package/dist/adapters/latex/prose.js +142 -31
- package/dist/adapters/latex/prose.js.map +1 -1
- package/dist/adapters/mp4box/index.d.ts +4 -0
- package/dist/adapters/mp4box/index.d.ts.map +1 -0
- package/dist/adapters/mp4box/index.js +46 -0
- package/dist/adapters/mp4box/index.js.map +1 -0
- package/dist/adapters/node/index.d.ts +1 -0
- package/dist/adapters/node/index.d.ts.map +1 -1
- package/dist/adapters/node/index.js +1 -0
- package/dist/adapters/node/index.js.map +1 -1
- package/dist/adapters/node/list-dir.io.d.ts +3 -0
- package/dist/adapters/node/list-dir.io.d.ts.map +1 -0
- package/dist/adapters/node/list-dir.io.js +15 -0
- package/dist/adapters/node/list-dir.io.js.map +1 -0
- package/dist/adapters/png/index.d.ts +11 -0
- package/dist/adapters/png/index.d.ts.map +1 -0
- package/dist/adapters/png/index.js +21 -0
- package/dist/adapters/png/index.js.map +1 -0
- package/dist/adapters/srt/index.d.ts +4 -0
- package/dist/adapters/srt/index.d.ts.map +1 -0
- package/dist/adapters/srt/index.js +12 -0
- package/dist/adapters/srt/index.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +40 -22
- package/dist/cli.js.map +1 -1
- package/dist/domain/register.d.ts +96 -0
- package/dist/domain/register.d.ts.map +1 -0
- package/dist/domain/register.js +136 -0
- package/dist/domain/register.js.map +1 -0
- package/dist/domain/talk.d.ts +121 -0
- package/dist/domain/talk.d.ts.map +1 -0
- package/dist/domain/talk.js +121 -0
- package/dist/domain/talk.js.map +1 -0
- package/dist/domain/tex-document.d.ts +19 -0
- package/dist/domain/tex-document.d.ts.map +1 -1
- package/dist/domain/tex-document.js +8 -3
- package/dist/domain/tex-document.js.map +1 -1
- package/dist/lib/paper-config.d.ts +2 -0
- package/dist/lib/paper-config.d.ts.map +1 -1
- package/dist/lib/paper-config.js +3 -0
- package/dist/lib/paper-config.js.map +1 -1
- package/dist/paper-settings.d.ts +3 -0
- package/dist/paper-settings.d.ts.map +1 -1
- package/dist/paper-settings.js +15 -9
- package/dist/paper-settings.js.map +1 -1
- package/dist/ports/latex.d.ts +6 -1
- package/dist/ports/latex.d.ts.map +1 -1
- package/dist/ports/talk-media.d.ts +18 -0
- package/dist/ports/talk-media.d.ts.map +1 -0
- package/dist/ports/talk-media.js +2 -0
- package/dist/ports/talk-media.js.map +1 -0
- package/dist/presets.d.ts +6 -0
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +8 -9
- package/dist/presets.js.map +1 -1
- package/dist/register-bands.d.ts +37 -0
- package/dist/register-bands.d.ts.map +1 -0
- package/dist/register-bands.js +196 -0
- package/dist/register-bands.js.map +1 -0
- package/dist/register.d.ts +4 -2
- package/dist/register.d.ts.map +1 -1
- package/dist/register.js +6 -45
- package/dist/register.js.map +1 -1
- package/dist/talk-rules.d.ts +65 -0
- package/dist/talk-rules.d.ts.map +1 -0
- package/dist/talk-rules.js +451 -0
- package/dist/talk-rules.js.map +1 -0
- package/dist/tex-requirements.d.ts +9 -0
- package/dist/tex-requirements.d.ts.map +1 -1
- package/dist/tex-requirements.js +28 -6
- package/dist/tex-requirements.js.map +1 -1
- package/dist/tex-venue-rules.d.ts +1 -1
- package/dist/tex-venue-rules.d.ts.map +1 -1
- package/dist/tex-venue-rules.js.map +1 -1
- package/docs/configuration.md +2 -1
- package/docs/rules/talk/captions-cover.md +47 -0
- package/docs/rules/talk/duration-floor.md +38 -0
- package/docs/rules/talk/duration.md +43 -0
- package/docs/rules/talk/one-slide-size.md +38 -0
- package/docs/rules/talk/profile.md +64 -0
- package/docs/rules/talk/required-files.md +39 -0
- package/docs/rules/talk/undeclared.md +35 -0
- package/docs/rules/talk/video-format.md +43 -0
- package/docs/rules/tex/claim-emphasis.md +71 -0
- package/docs/rules/tex/contrast-frames.md +100 -0
- package/docs/rules/tex/relation-markers.md +72 -0
- package/docs/rules.md +57 -42
- package/docs/talk.md +94 -0
- package/fixtures/talk/audio-only.mp4 +0 -0
- package/fixtures/talk/one-slide.png +0 -0
- package/fixtures/talk/short-audio.mp4 +0 -0
- package/fixtures/talk/talk.mov +0 -0
- package/fixtures/talk/talk.mp4 +0 -0
- package/fixtures/talk/talk.srt +7 -0
- package/lib/paper-config.harness.mjs +5 -2
- package/lib/paper-config.ts +4 -0
- package/package.json +3 -1
- package/presets/agenticdev.jsonc +29 -0
- package/presets/aidc.jsonc +50 -0
- package/presets/venue-profile.schema.json +180 -1
- package/skills/grade-paper-writing/SKILL.md +59 -27
- package/skills/grade-paper-writing/SKILL.md.spec.ts +58 -26
- package/src/adapters/latex/index.test.ts +91 -0
- package/src/adapters/latex/index.ts +3 -2
- package/src/adapters/latex/prose.ts +188 -58
- package/src/adapters/mp4box/index.test.ts +63 -0
- package/src/adapters/mp4box/index.ts +50 -0
- package/src/adapters/node/index.ts +1 -0
- package/src/adapters/node/list-dir.io.ts +15 -0
- package/src/adapters/node/list-dir.test.ts +30 -0
- package/src/adapters/png/index.test.ts +43 -0
- package/src/adapters/png/index.ts +29 -0
- package/src/adapters/srt/index.test.ts +24 -0
- package/src/adapters/srt/index.ts +13 -0
- package/src/cli.test.ts +12 -0
- package/src/cli.ts +50 -21
- package/src/domain/register.test.ts +153 -0
- package/src/domain/register.ts +261 -0
- package/src/domain/talk.test.ts +125 -0
- package/src/domain/talk.ts +274 -0
- package/src/domain/tex-document.ts +37 -3
- package/src/new-paper.test.ts +1 -0
- package/src/paper-settings.test.ts +18 -1
- package/src/paper-settings.ts +21 -11
- package/src/ports/latex.ts +6 -0
- package/src/ports/talk-media.ts +19 -0
- package/src/presets.ts +14 -9
- package/src/register-bands.test.ts +327 -0
- package/src/register-bands.ts +291 -0
- package/src/register.ts +7 -37
- package/src/rule-cases.test.ts +177 -20
- package/src/talk-rules.test.ts +459 -0
- package/src/talk-rules.ts +672 -0
- package/src/tex-requirements.ts +56 -8
- package/src/tex-venue-rules.ts +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tex-venue-rules.d.ts","sourceRoot":"","sources":["../src/tex-venue-rules.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tex-venue-rules.d.ts","sourceRoot":"","sources":["../src/tex-venue-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tex-venue-rules.js","sourceRoot":"","sources":["../src/tex-venue-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tex-venue-rules.js","sourceRoot":"","sources":["../src/tex-venue-rules.ts"],"names":[],"mappings":"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"}
|
package/docs/configuration.md
CHANGED
|
@@ -81,7 +81,7 @@ refused by name. `node_modules/`, `.git/` and `<papers>/.template/` are skipped.
|
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
The same keys as the root file, minus the project-only ones (`papersDir`, `structure` and the
|
|
84
|
-
skills' keys), which are refused here by name. **It merges over the root file:** its `extends`,
|
|
84
|
+
skills' keys), which are refused here by name, plus `talk`, which only a paper has. **It merges over the root file:** its `extends`,
|
|
85
85
|
`kind` and `pdf` win; one it does not set comes from the root.
|
|
86
86
|
|
|
87
87
|
| key | what it is |
|
|
@@ -90,6 +90,7 @@ skills' keys), which are refused here by name. **It merges over the root file:**
|
|
|
90
90
|
| `kind` | the kind of paper (`short`, `research`, …) whose page limit applies |
|
|
91
91
|
| `pdf` | where the built PDF is, relative to the paper, when it is not `paper.pdf` |
|
|
92
92
|
| `identity` | what identifies the authors — names, handles, emails, affiliations, your own project names. A blind venue's PDF must say none of it ([`anonymity/identity`](rules/anonymity/identity.md)). Joined with the root's list |
|
|
93
|
+
| `talk` | how this paper is presented, `{ "mode": "remote-video" }` plus optional `dir`, `files`, `one_slide` — the `talk/*` rules judge its finished files ([`talk.md`](talk.md)). Only here: the root file refuses it |
|
|
93
94
|
| `rules` | rule overrides for this paper alone — `{ "<rule>": "<severity>" }`, or blocks with globs relative to the paper |
|
|
94
95
|
| `$comment` | a note for humans; ignored |
|
|
95
96
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# talk/captions-cover
|
|
2
|
+
|
|
3
|
+
**Level:** warn · **Reads:** `paper.tex` → `paperlint.json` (`talk`), the captions file (SubRip,
|
|
4
|
+
`.srt`) and the video's headers
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
Captions that do not cover the video:
|
|
9
|
+
|
|
10
|
+
- no cue at all (`noCues`);
|
|
11
|
+
- the first cue starts more than `maxStartS` into the video (`lateStart`);
|
|
12
|
+
- the last cue ends more than `maxEndGapS` before the video does (`earlyEnd`);
|
|
13
|
+
- two consecutive cues are more than `maxGapS` apart (`gap`).
|
|
14
|
+
|
|
15
|
+
The `.srt` is read with a parser (`srt-parser-2`); only the cue times are used.
|
|
16
|
+
|
|
17
|
+
## Why
|
|
18
|
+
|
|
19
|
+
Captions generated from one take and attached to another, or cut short by a tool, still play — and
|
|
20
|
+
stop matching the speech partway through. Coverage against the video's length is the part a count
|
|
21
|
+
can see.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
Warning — the AgenticDev talk's last cue ends 4.2 s before the video:
|
|
26
|
+
|
|
27
|
+
> papers/agenticdev-2026/talk/agenticdev-2026-talk.srt: the last caption ends at 5:16.6 (316.6 s),
|
|
28
|
+
> and the video runs 5:20.8 (320.84 s) — more than 2 s uncaptioned at the end
|
|
29
|
+
|
|
30
|
+
Passing: cues from 0 s to within 2 s of the end, no silence between cues over 5 s.
|
|
31
|
+
|
|
32
|
+
## Options / preset fields
|
|
33
|
+
|
|
34
|
+
`{ "maxStartS": 1, "maxEndGapS": 2, "maxGapS": 5 }`. ⚠️ **These thresholds are not calibrated.**
|
|
35
|
+
They are a first guess, checked against one real talk only (93 cues, first at 0 s, largest gap
|
|
36
|
+
1.4 s; its last cue ends 4.2 s before the video does, so it warns on `maxEndGapS`). They should be set from the posted talks of a venue, measured with this
|
|
37
|
+
same rule, before the rule is raised above a warning.
|
|
38
|
+
|
|
39
|
+
## What it does not check
|
|
40
|
+
|
|
41
|
+
Whether the words match the speech, their spelling, line length, reading speed. Captions in another
|
|
42
|
+
format than SubRip.
|
|
43
|
+
|
|
44
|
+
## How to fix
|
|
45
|
+
|
|
46
|
+
Regenerate the captions from the final video, or extend the last cue; raise a threshold in the
|
|
47
|
+
paper's `rules` when a silence is intended (a closing slide).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# talk/duration-floor
|
|
2
|
+
|
|
3
|
+
**Level:** warn · **Reads:** `paper.tex` → `paperlint.json` (`talk`, `kind`), the preset's
|
|
4
|
+
`talk.kinds`, and the video's headers
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
The video runs shorter than the slot's `talk_s_min` for the paper's kind (`tooShort`).
|
|
9
|
+
|
|
10
|
+
## Why
|
|
11
|
+
|
|
12
|
+
A venue that states a window ("6–7 min talk") states a floor, and a ceiling-only check pushes every
|
|
13
|
+
talk toward shorter. Whether a short talk is a problem is the author's call — some sessions welcome
|
|
14
|
+
extra questions — so this is a warning, and a separate rule: turn it off for a paper, or raise it to
|
|
15
|
+
an error, without touching the ceiling.
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
Warning — the AgenticDev talk measured 320.84 s against the organizers' 6–7 minutes:
|
|
20
|
+
|
|
21
|
+
> papers/agenticdev-2026/talk/agenticdev-2026-talk.mp4 runs 5:20.8 (320.84 s), under the 6:00.0
|
|
22
|
+
> (360 s) talk agenticdev asks for a short paper — decide whether that is fine, or set this rule to
|
|
23
|
+
> off for the paper
|
|
24
|
+
|
|
25
|
+
Passing: any length from `talk_s_min` up.
|
|
26
|
+
|
|
27
|
+
## Options / preset fields
|
|
28
|
+
|
|
29
|
+
No rule options. Preset: `talk.kinds.<kind>.talk_s_min`; without it the rule is silent.
|
|
30
|
+
|
|
31
|
+
## What it does not check
|
|
32
|
+
|
|
33
|
+
The ceiling (`talk/duration`).
|
|
34
|
+
|
|
35
|
+
## How to fix
|
|
36
|
+
|
|
37
|
+
Lengthen the talk, or decide it is fine and set `"talk/duration-floor": "off"` in the paper's
|
|
38
|
+
`rules`.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# talk/duration
|
|
2
|
+
|
|
3
|
+
**Level:** error · **Reads:** `paper.tex` → `paperlint.json` (`talk`, `kind`), the preset's
|
|
4
|
+
`talk.kinds`, and the video's headers
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
- The video runs longer than the slot's `talk_s_max` for the paper's kind (`tooLong`).
|
|
9
|
+
- The video's first audio track is more than `trackToleranceS` (default 1 s) shorter or longer than
|
|
10
|
+
the video itself (`trackMismatch`) — a cut or a re-encode dropped or padded sound.
|
|
11
|
+
|
|
12
|
+
The length is the container's own (the movie header), read with MP4Box.js; the audio track's length
|
|
13
|
+
is its own media duration. On the AgenticDev talk both read 320.84 s and 320.86 s, the same numbers
|
|
14
|
+
ffmpeg prints.
|
|
15
|
+
|
|
16
|
+
## Why
|
|
17
|
+
|
|
18
|
+
A remote talk is played in a fixed slot; a video over it is cut by the session chair, usually at the
|
|
19
|
+
conclusion. Measuring the file — not a word count of the script — is the only number the venue
|
|
20
|
+
limits: a script of 948 words, timed at the script's own assumed 125 words per minute, predicted
|
|
21
|
+
7.6 minutes; the recording ran 5.35.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
Failing — an AgenticDev short paper (`talk_s_max` 420):
|
|
26
|
+
|
|
27
|
+
> papers/p/talk/talk.mp4 runs 7:12.0 (432 s), over the 7:00.0 (420 s) talk agenticdev sets for this
|
|
28
|
+
> kind of paper — cut it
|
|
29
|
+
|
|
30
|
+
Passing: a 5:20.8 video with its audio track ending within a second of it.
|
|
31
|
+
|
|
32
|
+
## Options / preset fields
|
|
33
|
+
|
|
34
|
+
`{ "trackToleranceS": 1 }`. Preset: `talk.kinds.<kind>.talk_s_max`.
|
|
35
|
+
|
|
36
|
+
## What it does not check
|
|
37
|
+
|
|
38
|
+
The floor — that is `talk/duration-floor`, separate so its severity can be set on its own. A video
|
|
39
|
+
that does not parse (see `talk/video-format`) or is missing (see `talk/required-files`).
|
|
40
|
+
|
|
41
|
+
## How to fix
|
|
42
|
+
|
|
43
|
+
Cut the talk; re-export with the audio and the picture the same length.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# talk/one-slide-size
|
|
2
|
+
|
|
3
|
+
**Level:** error · **Reads:** `paper.tex` → `paperlint.json` (`talk.one_slide`), the preset's
|
|
4
|
+
`talk.one_slide`, and the one-slide image's PNG header
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
- The one-slide image is not the declared size (`size`).
|
|
9
|
+
- The file is not a PNG (`notPng`).
|
|
10
|
+
|
|
11
|
+
The size is the paper's `talk.one_slide` when it states one, else the preset's. When neither states
|
|
12
|
+
a size, the rule is silent: a size nobody asked for is not a requirement. The width and height are
|
|
13
|
+
read from the PNG's `IHDR` header; the pixels are never decoded.
|
|
14
|
+
|
|
15
|
+
## Why
|
|
16
|
+
|
|
17
|
+
A one-slide summary is shown on a fixed canvas — a poster wall, a session screen, a page of the
|
|
18
|
+
program. An image of another size is letterboxed or cropped.
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
Failing — the paper declares `"one_slide": { "width_px": 1920, "height_px": 1080 }`:
|
|
23
|
+
|
|
24
|
+
> papers/p/talk/one-slide.png is 1280×720 px, and the one-slide must be 1920×1080 px
|
|
25
|
+
|
|
26
|
+
Passing: a 1920×1080 PNG.
|
|
27
|
+
|
|
28
|
+
## Options / preset fields
|
|
29
|
+
|
|
30
|
+
No rule options. Preset: `talk.one_slide`. Paper: `talk.one_slide`, which wins.
|
|
31
|
+
|
|
32
|
+
## What it does not check
|
|
33
|
+
|
|
34
|
+
Its content; formats other than PNG; a missing file (`talk/required-files`).
|
|
35
|
+
|
|
36
|
+
## How to fix
|
|
37
|
+
|
|
38
|
+
Render the image at the declared size, or correct the declared size.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# talk/profile
|
|
2
|
+
|
|
3
|
+
**Level:** error · **Reads:** `paper.tex` → `paperlint.json` (`talk`, `kind`, `extends`) and the
|
|
4
|
+
venue preset's `talk` block
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
A talk the other `talk/*` rules cannot judge, one reason at a time:
|
|
9
|
+
|
|
10
|
+
- the paper declares `talk` and names no venue preset (`noPreset`);
|
|
11
|
+
- the preset has no `talk` block (`noTalkBlock`);
|
|
12
|
+
- the paper's `talk.mode` is not one of the preset's `modes` (`mode`);
|
|
13
|
+
- the paper names no `kind` (`kindMissing`), or the preset sets no talk slot for that kind
|
|
14
|
+
(`kindNoSlot`).
|
|
15
|
+
|
|
16
|
+
## Why
|
|
17
|
+
|
|
18
|
+
Every other talk rule needs one of these to say anything. Without a slot the length is not checked;
|
|
19
|
+
without a talk block nothing is. A rule that went quiet for these reasons would look exactly like a
|
|
20
|
+
rule that checked and passed, so this one says which piece is missing.
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
Failing — AgenticDev allows only remote video:
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"extends": "paperlint:agenticdev",
|
|
29
|
+
"kind": "short",
|
|
30
|
+
"talk": { "mode": "in-person" }
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
> `agenticdev` allows the talk modes remote-video; this paper declares `in-person`
|
|
35
|
+
|
|
36
|
+
Failing — the email gave the short-paper slot only:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"extends": "paperlint:agenticdev",
|
|
41
|
+
"kind": "full",
|
|
42
|
+
"talk": { "mode": "remote-video" }
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
> `agenticdev` sets no talk slot for a `full` paper, so the video's length is not checked; its talk
|
|
47
|
+
> kinds: short
|
|
48
|
+
|
|
49
|
+
Passing: `"kind": "short", "talk": { "mode": "remote-video" }`.
|
|
50
|
+
|
|
51
|
+
## Options / preset fields
|
|
52
|
+
|
|
53
|
+
No rule options. Preset: `talk.modes` (a list; empty or absent allows any mode) and `talk.kinds`.
|
|
54
|
+
|
|
55
|
+
## What it does not check
|
|
56
|
+
|
|
57
|
+
A preset or `paperlint.json` that does not resolve or parse at all: `pdf/profile` reports that, and
|
|
58
|
+
every talk rule is silent.
|
|
59
|
+
|
|
60
|
+
## How to fix
|
|
61
|
+
|
|
62
|
+
Declare the mode the venue allows; set `kind`; when the venue's talk numbers are not in the shipped
|
|
63
|
+
preset, put them in your own preset (`"extends": "./my-venue.jsonc"`) with a `talk` block that
|
|
64
|
+
quotes the organizers.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# talk/required-files
|
|
2
|
+
|
|
3
|
+
**Level:** error · **Reads:** `paper.tex` → `paperlint.json` (`talk`), the preset's
|
|
4
|
+
`talk.artifacts` and `talk.video.captions`, and the talk folder
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
A file the venue requires for the paper's talk mode that is not in the talk folder — one finding per
|
|
9
|
+
missing file (`missing`). The required set is `talk.artifacts[<mode>].required`, plus `captions`
|
|
10
|
+
when `talk.video.captions` is `"required"` and the mode owes a video.
|
|
11
|
+
|
|
12
|
+
## Why
|
|
13
|
+
|
|
14
|
+
Submitting a talk is usually a form with several uploads, the evening before. A missing one-slide
|
|
15
|
+
image is noticed when the form asks for it; this rule notices it when the paper is linted.
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
Failing — AgenticDev requires a video and a one-slide for a remote talk, and `talk/one-slide.png` is
|
|
20
|
+
not there:
|
|
21
|
+
|
|
22
|
+
> agenticdev asks for the one-slide of a remote-video talk, and papers/p/talk/one-slide.png is not
|
|
23
|
+
> there — add it, or name the file in `talk.files`
|
|
24
|
+
|
|
25
|
+
Passing: `talk/talk.mp4` and `talk/one-slide.png` both present (or the names given in `talk.files`).
|
|
26
|
+
|
|
27
|
+
## Options / preset fields
|
|
28
|
+
|
|
29
|
+
No rule options. Preset: `talk.artifacts`, `talk.video.captions`. Paper: `talk.dir`, `talk.files`.
|
|
30
|
+
|
|
31
|
+
## What it does not check
|
|
32
|
+
|
|
33
|
+
Whether a present file is any good — the other talk rules read the contents. Optional artifacts.
|
|
34
|
+
A paper that declares no `talk` (see `talk/undeclared`).
|
|
35
|
+
|
|
36
|
+
## How to fix
|
|
37
|
+
|
|
38
|
+
Put the file in the talk folder under its default name ([`docs/talk.md`](../../talk.md)), or name
|
|
39
|
+
it in the paper's `talk.files`.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# talk/undeclared
|
|
2
|
+
|
|
3
|
+
**Level:** warn · **Reads:** `paper.tex` → `paperlint.json` and the paper's `talk/` folder
|
|
4
|
+
|
|
5
|
+
## What it catches
|
|
6
|
+
|
|
7
|
+
An `.mp4` file in the paper's `talk/` folder while the paper declares no `talk` (`undeclared`).
|
|
8
|
+
|
|
9
|
+
## Why
|
|
10
|
+
|
|
11
|
+
Every other talk rule is silent until the paper declares `talk`. A video made and never declared
|
|
12
|
+
would be sent unchecked, and the silence would read as "checked and fine". This is the other
|
|
13
|
+
direction of `talk/required-files`: a file with no declaration, rather than a declaration with no
|
|
14
|
+
file.
|
|
15
|
+
|
|
16
|
+
## Examples
|
|
17
|
+
|
|
18
|
+
Failing: `papers/p/talk/talk.mp4` exists, `papers/p/paperlint.json` has no `talk`:
|
|
19
|
+
|
|
20
|
+
> papers/p/talk/talk.mp4 is a talk video, and this paper declares no `talk`, so its length and
|
|
21
|
+
> format are not checked — declare it in paperlint.json: "talk": { "mode": "remote-video" }
|
|
22
|
+
|
|
23
|
+
Passing: the same file with `"talk": { "mode": "remote-video" }` declared.
|
|
24
|
+
|
|
25
|
+
## Options / preset fields
|
|
26
|
+
|
|
27
|
+
None.
|
|
28
|
+
|
|
29
|
+
## What it does not check
|
|
30
|
+
|
|
31
|
+
Only the default folder `talk/` and only `.mp4` files; a video elsewhere is not looked for.
|
|
32
|
+
|
|
33
|
+
## How to fix
|
|
34
|
+
|
|
35
|
+
Declare the talk in the paper's `paperlint.json`, or move the file out of `talk/`.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# talk/video-format
|
|
2
|
+
|
|
3
|
+
**Level:** error · **Reads:** `paper.tex` → `paperlint.json` (`talk`), the preset's `talk.video`,
|
|
4
|
+
and the video's headers and size
|
|
5
|
+
|
|
6
|
+
## What it catches
|
|
7
|
+
|
|
8
|
+
- The file is not ISO media at all — no `ftyp` box first, or no `moov` box (`unreadable`). Reported
|
|
9
|
+
whatever the preset says, because no other talk rule can read such a file.
|
|
10
|
+
- `container: "mp4"` and the file is QuickTime inside (major brand `qt `), whatever its extension
|
|
11
|
+
(`container`).
|
|
12
|
+
- `min_height_px` and the video track is shorter (`height`), or there is no video track
|
|
13
|
+
(`noVideoTrack`).
|
|
14
|
+
- `max_bytes` and the file is larger (`bytes`).
|
|
15
|
+
|
|
16
|
+
## Why
|
|
17
|
+
|
|
18
|
+
Upload forms reject by format and size, and "HD" is a stated requirement. A `.mov` renamed to
|
|
19
|
+
`.mp4` plays on the author's machine and fails in the form or in the session's player.
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
Failing — a 1280×720 video against a venue asking for 1080 px:
|
|
24
|
+
|
|
25
|
+
> papers/p/talk/talk.mp4 is 720 px high, under the 1080 px myvenue asks for — export at a higher
|
|
26
|
+
> resolution
|
|
27
|
+
|
|
28
|
+
Passing: the AgenticDev talk, 1920×1080 H.264 in an `isom` MP4, against `min_height_px` 720.
|
|
29
|
+
|
|
30
|
+
## Options / preset fields
|
|
31
|
+
|
|
32
|
+
No rule options. Preset: `talk.video.container`, `talk.video.min_height_px`, `talk.video.max_bytes`.
|
|
33
|
+
A field the preset does not set is not checked. Without a `talk` block the rule is silent.
|
|
34
|
+
|
|
35
|
+
## What it does not check
|
|
36
|
+
|
|
37
|
+
Codec, frame rate, bitrate, audio format, rotation metadata (the height is the track's, before any
|
|
38
|
+
rotation), loudness.
|
|
39
|
+
|
|
40
|
+
## How to fix
|
|
41
|
+
|
|
42
|
+
Export as MP4 (H.264 and AAC are what every player takes) at the venue's resolution; re-encode at a
|
|
43
|
+
lower bitrate to fit the size limit.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# tex/claim-emphasis
|
|
2
|
+
|
|
3
|
+
**Level:** warn · **Reads:** `paper.tex` and the files it includes → `paperlint.json`
|
|
4
|
+
|
|
5
|
+
## What it catches
|
|
6
|
+
|
|
7
|
+
A body that sets its claims in bold inside running sentences more often than the accepted papers of
|
|
8
|
+
its venue do. A claim in bold is a `\textbf{…}` (or `{\bfseries …}`, `{\bf …}`) that:
|
|
9
|
+
|
|
10
|
+
- stands **inside** a sentence — not opening a paragraph or a list item, where bold is a label
|
|
11
|
+
(`\textbf{Varying the volume}. We …`, `\item \textbf{A corpus of questions}: …`), braces around it
|
|
12
|
+
or not; and
|
|
13
|
+
- **states** rather than names: six words or more, or holding a number
|
|
14
|
+
(`\textbf{median coverage is 2.5/10}`, `\textbf{they react to the dangerous word}`).
|
|
15
|
+
|
|
16
|
+
A term in bold (`\textbf{Pressure-Acoustic Transformation (PAT)}`), italics and `\emph`, headings,
|
|
17
|
+
run-in headings, captions, tables and figures are not counted. Counted per 10,000 words of the body.
|
|
18
|
+
|
|
19
|
+
Above the band it reports once at the start of the body, then once at every claim in bold, where it
|
|
20
|
+
stands. Below the band it reports once. A body under 2 000 words, or a paper whose preset records no
|
|
21
|
+
anchors, is not judged.
|
|
22
|
+
|
|
23
|
+
## Why
|
|
24
|
+
|
|
25
|
+
Setting a finding in bold is how a post makes a point land; an accepted paper puts the number in a
|
|
26
|
+
sentence that says whose it is, or in a table. Measured on the LaTeX source, per 10,000 words:
|
|
27
|
+
|
|
28
|
+
| paper | words | claims in bold | per 10,000 |
|
|
29
|
+
| ------------------------------------------------------- | ----: | -------------: | ---------: |
|
|
30
|
+
| `leaking-queries-acsac25` (ACSAC 2025) | 9133 | 0 | 0.0 |
|
|
31
|
+
| `rr-dataset-quality-acsac24` (ACSAC 2024) | 8130 | 0 | 0.0 |
|
|
32
|
+
| `secure-acsac24` (ACSAC 2024) | 7519 | 0 | 0.0 |
|
|
33
|
+
| `llm-splained-acsac25` (ACSAC 2025) | 9529 | 1 | 1.0 |
|
|
34
|
+
| `barovox-acsac24` (ACSAC 2024) | 7670 | 8 | 10.4 |
|
|
35
|
+
| the paper reviewers called a blog post, current version | 10476 | 42 | 40.1 |
|
|
36
|
+
| the same paper, before its rewrite | 6128 | 42 | 68.5 |
|
|
37
|
+
| `agenticdev-acm26` (ours, "too informal", ACM) | 4374 | 8 | 18.3 |
|
|
38
|
+
|
|
39
|
+
Two shapes were measured and left out, because they do not separate the groups: all bold inside a
|
|
40
|
+
sentence (accepted papers 0–44 per 10,000, that paper 60 — terms in bold are common), and
|
|
41
|
+
phrases of six words or more in italics (accepted 0–7.8, the paper 4.8 — italics carry quotes and
|
|
42
|
+
examples). BaroVox's 8 are six of its results set in bold (_0.35_, _4.09/5_, …), its claim of a
|
|
43
|
+
_first-ever use of this technique on pressure sensors_, and a dataset name with a digit
|
|
44
|
+
(_SpeechCommand256_). That name and LLM-splained's one count, a list of topics in bold, are the two
|
|
45
|
+
false positives in the corpus; the band keeps both papers inside.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
|
|
49
|
+
```latex
|
|
50
|
+
We find that \textbf{the median guard blocks 2 of 10 disasters}. % a claim in bold
|
|
51
|
+
The median guard blocks 2 of 10 disasters (Table~\ref{t:cov}). % none
|
|
52
|
+
We introduce \textbf{GateBench}, a harness for scraped guards. % none: a term
|
|
53
|
+
\textbf{Threat model.} The attacker controls the prompt. % none: a run-in heading
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Options / preset fields
|
|
57
|
+
|
|
58
|
+
No rule options. The band is the venue preset's `register.anchors`, exactly as for
|
|
59
|
+
[`tex/contrast-frames`](contrast-frames.md), which explains how it is derived. For `paperlint:aidc` it
|
|
60
|
+
is **0–17.8**.
|
|
61
|
+
|
|
62
|
+
## What it does not check
|
|
63
|
+
|
|
64
|
+
Whether a bold phrase deserves emphasis, a claim in bold shorter than six words with no number
|
|
65
|
+
(_it is unsafe_), or emphasis by other means (capitals, colour, a box).
|
|
66
|
+
|
|
67
|
+
## How to fix
|
|
68
|
+
|
|
69
|
+
Take the bold off a finding and let the sentence carry it — with its owner (_we measured_, a
|
|
70
|
+
`\ref` to the table) — or move the number into a table or figure. Keep bold for a term at its
|
|
71
|
+
definition and for a label that opens a paragraph.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# tex/contrast-frames
|
|
2
|
+
|
|
3
|
+
**Level:** warn · **Reads:** `paper.tex` and the files it includes → `paperlint.json`
|
|
4
|
+
|
|
5
|
+
## What it catches
|
|
6
|
+
|
|
7
|
+
A body whose contrast frames — a claim set against a rejected alternative — run outside the band
|
|
8
|
+
the accepted papers of its venue set. Counted per 10,000 words of the body, in these forms:
|
|
9
|
+
|
|
10
|
+
| form | example |
|
|
11
|
+
| ------------------------------- | --------------------------------------------------------------- |
|
|
12
|
+
| _X, not Y_ (and `;`, `---`) | _they react to the dangerous word, not the dangerous operation_ |
|
|
13
|
+
| _X, and not Y_ · _X, but not Y_ | _it reads the field, and not the raw input_ |
|
|
14
|
+
| _not X but Y_ (one clause) | _over-blocking is not a side metric but a precondition_ |
|
|
15
|
+
| _rather than_ | _it fires on the mention rather than the act_ |
|
|
16
|
+
| _instead of_ | _it reads the whole event instead of the command_ |
|
|
17
|
+
| _as opposed to_ | _it matches words as opposed to operations_ |
|
|
18
|
+
|
|
19
|
+
Not counted: _not only … but also_; a negated clause followed by _, but_ (_the audit is not
|
|
20
|
+
reported, but …_); _, not yet_ · _not already_ · _not necessarily_ and their kin, which reject
|
|
21
|
+
nothing; _without_ and _unlike_ — both measured, both as frequent in accepted papers as in the
|
|
22
|
+
paper reviewers called a blog post, so they would add noise and no signal.
|
|
23
|
+
|
|
24
|
+
Above the band it reports once at the start of the body — the count, the rate, the band and the
|
|
25
|
+
anchors' own range, with the first three sentences — and then once at every frame, with the words
|
|
26
|
+
around it, so an editor shows where to rewrite. Below the band it reports once. A body under 2 000
|
|
27
|
+
words is not judged, and neither is a paper whose preset records no anchors.
|
|
28
|
+
|
|
29
|
+
It reads the same body as [`tex/register`](register.md): from the start of the document, the
|
|
30
|
+
abstract included, to `\appendix` or the bibliography, includes spliced in; headings, run-in
|
|
31
|
+
headings, captions, tables, figures and code are not prose.
|
|
32
|
+
|
|
33
|
+
## Why
|
|
34
|
+
|
|
35
|
+
Reviewers called a paper "too informal" and "a blogpost". Its body set a claim against what it is
|
|
36
|
+
not several times per page — the device carries the argument in place of a word that names the
|
|
37
|
+
relation (_because_, _therefore_). Measured on the LaTeX source, per 10,000 words:
|
|
38
|
+
|
|
39
|
+
| paper | words | frames | per 10,000 |
|
|
40
|
+
| ---------------------------------------------------------- | ----: | -----: | ---------: |
|
|
41
|
+
| `barovox-acsac24` (ACSAC 2024) | 7670 | 1 | 1.3 |
|
|
42
|
+
| `rr-dataset-quality-acsac24` (ACSAC 2024) | 8130 | 3 | 3.7 |
|
|
43
|
+
| `secure-acsac24` (ACSAC 2024) | 7519 | 3 | 4.0 |
|
|
44
|
+
| `llm-splained-acsac25` (ACSAC 2025) | 9529 | 4 | 4.2 |
|
|
45
|
+
| `leaking-queries-acsac25` (ACSAC 2025) | 9133 | 5 | 5.5 |
|
|
46
|
+
| the paper reviewers called a blog post, before its rewrite | 6128 | 62 | 101.2 |
|
|
47
|
+
| the same paper, after a rewrite aimed at contrast frames | 6121 | 25 | 40.8 |
|
|
48
|
+
| the same paper, its current version | 10476 | 29 | 27.7 |
|
|
49
|
+
| `agenticdev-acm26` (ours, "too informal", ACM) | 4374 | 22 | 50.3 |
|
|
50
|
+
|
|
51
|
+
An independent blind hand count — a reader who did not know which text was which, counting every
|
|
52
|
+
explicit negation that rejects one named term for another, _without_ and _unlike_ included — put the
|
|
53
|
+
first version at ~86 per 10,000 words and four accepted ACSAC excerpts at ~9–19: a different counter,
|
|
54
|
+
the same five- to tenfold gap. Compare rates only within one counter.
|
|
55
|
+
|
|
56
|
+
## Examples
|
|
57
|
+
|
|
58
|
+
```latex
|
|
59
|
+
The guards react to the dangerous word, not the dangerous operation. % a frame
|
|
60
|
+
The guards match the words of a command; they do not parse the operation. % none
|
|
61
|
+
Because the guards match words, 24 of 46 block a harmless echo. % none
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Options / preset fields
|
|
65
|
+
|
|
66
|
+
No rule options. The band is the preset's: `register.anchors` in the venue preset, each anchor a
|
|
67
|
+
paper with its body's `words` and its count of each measure, as these rules count them:
|
|
68
|
+
|
|
69
|
+
```jsonc
|
|
70
|
+
"register": {
|
|
71
|
+
"anchors": [
|
|
72
|
+
{ "paper": "barovox-acsac24", "words": 7670, "contrast_frames": 1, "claim_emphasis": 8, "relation_markers": 31 }
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The band is the anchors' range widened at each end by two Poisson standard deviations of the anchor
|
|
78
|
+
standing there (an anchor with no occurrence is widened as if it had one; below zero is zero), so a
|
|
79
|
+
paper of that anchor's length and register falls outside it about one time in forty. For
|
|
80
|
+
`paperlint:aidc`, the anchors are the five accepted ACSAC papers above — AIDC has no accepted papers of
|
|
81
|
+
its own yet, and uses ACSAC's template — and the band is **0–10.4**. `src/register-bands.test.ts`
|
|
82
|
+
re-measures every anchor that has a fixture, so a change to a counter changes the preset with it.
|
|
83
|
+
|
|
84
|
+
A preset of your own gets a band the same way: measure accepted papers of the venue, as LaTeX
|
|
85
|
+
source, and record them (`anchorOf` in `src/register-bands.ts` is the one way an anchor is measured).
|
|
86
|
+
|
|
87
|
+
## What it does not check
|
|
88
|
+
|
|
89
|
+
Whether a given frame is needed. A frame is the right sentence where a reader would otherwise assume
|
|
90
|
+
the rejected alternative; the rule counts, and judging each one is the job of the `grade-paper-writing`
|
|
91
|
+
skill. It does not read a frame split over two sentences (_It is fast. Not exact._), a negation by
|
|
92
|
+
synonym (_ignores_, _fails to_), or anything in the appendix.
|
|
93
|
+
|
|
94
|
+
## How to fix
|
|
95
|
+
|
|
96
|
+
Say what the thing is and why, with the evidence, and name the relation to the sentence before —
|
|
97
|
+
_because_, _therefore_, _for example_ — instead of setting it against what it is not. Replacing
|
|
98
|
+
_, not_ with _rather than_ changes nothing: both are counted. Keep a frame where the rejected reading
|
|
99
|
+
is the one a reviewer brings to the page, and check after each rewrite that every claim and number
|
|
100
|
+
still says what it said.
|