paperlint 2.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.
- package/.github/dependabot.yml +72 -0
- package/.github/workflows/ci.yml +297 -0
- package/.github/workflows/dependabot-automerge.yml +70 -0
- package/.github/workflows/pr-title.yml +59 -0
- package/.github/workflows/release.yml +54 -0
- package/CLAUDE.md +598 -0
- package/CONTRIBUTING.md +159 -0
- package/LICENSE +21 -0
- package/README.md +240 -0
- package/action.harness.mjs +287 -0
- package/action.mutations.mjs +162 -0
- package/action.yml +138 -0
- package/bin/rpp.mjs +43 -0
- package/dist/action-ref.d.ts +12 -0
- package/dist/action-ref.d.ts.map +1 -0
- package/dist/action-ref.js +16 -0
- package/dist/action-ref.js.map +1 -0
- package/dist/adapters/banal/failure.d.ts +73 -0
- package/dist/adapters/banal/failure.d.ts.map +1 -0
- package/dist/adapters/banal/failure.js +58 -0
- package/dist/adapters/banal/failure.js.map +1 -0
- package/dist/adapters/banal/index.d.ts +17 -0
- package/dist/adapters/banal/index.d.ts.map +1 -0
- package/dist/adapters/banal/index.js +56 -0
- package/dist/adapters/banal/index.js.map +1 -0
- package/dist/adapters/banal/install.d.ts +26 -0
- package/dist/adapters/banal/install.d.ts.map +1 -0
- package/dist/adapters/banal/install.js +15 -0
- package/dist/adapters/banal/install.js.map +1 -0
- package/dist/adapters/banal/invocation.d.ts +48 -0
- package/dist/adapters/banal/invocation.d.ts.map +1 -0
- package/dist/adapters/banal/invocation.js +43 -0
- package/dist/adapters/banal/invocation.js.map +1 -0
- package/dist/adapters/banal/locate.d.ts +50 -0
- package/dist/adapters/banal/locate.d.ts.map +1 -0
- package/dist/adapters/banal/locate.js +34 -0
- package/dist/adapters/banal/locate.js.map +1 -0
- package/dist/adapters/banal/output.d.ts +27 -0
- package/dist/adapters/banal/output.d.ts.map +1 -0
- package/dist/adapters/banal/output.js +112 -0
- package/dist/adapters/banal/output.js.map +1 -0
- package/dist/adapters/banal/pin.d.ts +19 -0
- package/dist/adapters/banal/pin.d.ts.map +1 -0
- package/dist/adapters/banal/pin.js +15 -0
- package/dist/adapters/banal/pin.js.map +1 -0
- package/dist/adapters/banal/probe.d.ts +12 -0
- package/dist/adapters/banal/probe.d.ts.map +1 -0
- package/dist/adapters/banal/probe.js +27 -0
- package/dist/adapters/banal/probe.js.map +1 -0
- package/dist/adapters/banal/run.d.ts +89 -0
- package/dist/adapters/banal/run.d.ts.map +1 -0
- package/dist/adapters/banal/run.js +104 -0
- package/dist/adapters/banal/run.js.map +1 -0
- package/dist/adapters/banal/settings.d.ts +18 -0
- package/dist/adapters/banal/settings.d.ts.map +1 -0
- package/dist/adapters/banal/settings.js +29 -0
- package/dist/adapters/banal/settings.js.map +1 -0
- package/dist/adapters/banal/xml.d.ts +48 -0
- package/dist/adapters/banal/xml.d.ts.map +1 -0
- package/dist/adapters/banal/xml.js +67 -0
- package/dist/adapters/banal/xml.js.map +1 -0
- package/dist/adapters/curl/download.io.d.ts +14 -0
- package/dist/adapters/curl/download.io.d.ts.map +1 -0
- package/dist/adapters/curl/download.io.js +69 -0
- package/dist/adapters/curl/download.io.js.map +1 -0
- package/dist/adapters/curl/index.d.ts +6 -0
- package/dist/adapters/curl/index.d.ts.map +1 -0
- package/dist/adapters/curl/index.js +6 -0
- package/dist/adapters/curl/index.js.map +1 -0
- package/dist/adapters/memory/index.d.ts +43 -0
- package/dist/adapters/memory/index.d.ts.map +1 -0
- package/dist/adapters/memory/index.js +79 -0
- package/dist/adapters/memory/index.js.map +1 -0
- package/dist/adapters/node/files.io.d.ts +3 -0
- package/dist/adapters/node/files.io.d.ts.map +1 -0
- package/dist/adapters/node/files.io.js +31 -0
- package/dist/adapters/node/files.io.js.map +1 -0
- package/dist/adapters/node/host.io.d.ts +3 -0
- package/dist/adapters/node/host.io.d.ts.map +1 -0
- package/dist/adapters/node/host.io.js +14 -0
- package/dist/adapters/node/host.io.js.map +1 -0
- package/dist/adapters/node/index.d.ts +25 -0
- package/dist/adapters/node/index.d.ts.map +1 -0
- package/dist/adapters/node/index.js +14 -0
- package/dist/adapters/node/index.js.map +1 -0
- package/dist/adapters/node/process.io.d.ts +14 -0
- package/dist/adapters/node/process.io.d.ts.map +1 -0
- package/dist/adapters/node/process.io.js +41 -0
- package/dist/adapters/node/process.io.js.map +1 -0
- package/dist/adapters/node/workspace.io.d.ts +4 -0
- package/dist/adapters/node/workspace.io.d.ts.map +1 -0
- package/dist/adapters/node/workspace.io.js +33 -0
- package/dist/adapters/node/workspace.io.js.map +1 -0
- package/dist/adapters/pdfjs/fill.d.ts +42 -0
- package/dist/adapters/pdfjs/fill.d.ts.map +1 -0
- package/dist/adapters/pdfjs/fill.js +91 -0
- package/dist/adapters/pdfjs/fill.js.map +1 -0
- package/dist/build-engine.d.ts +48 -0
- package/dist/build-engine.d.ts.map +1 -0
- package/dist/build-engine.js +148 -0
- package/dist/build-engine.js.map +1 -0
- package/dist/build.d.ts +163 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +575 -0
- package/dist/build.js.map +1 -0
- package/dist/cli.d.ts +151 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +951 -0
- package/dist/cli.js.map +1 -0
- package/dist/doctor.d.ts +42 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +280 -0
- package/dist/doctor.js.map +1 -0
- package/dist/domain/geometry.d.ts +71 -0
- package/dist/domain/geometry.d.ts.map +1 -0
- package/dist/domain/geometry.js +35 -0
- package/dist/domain/geometry.js.map +1 -0
- package/dist/domain/host.d.ts +16 -0
- package/dist/domain/host.d.ts.map +1 -0
- package/dist/domain/host.js +8 -0
- package/dist/domain/host.js.map +1 -0
- package/dist/domain/page-layout.d.ts +34 -0
- package/dist/domain/page-layout.d.ts.map +1 -0
- package/dist/domain/page-layout.js +8 -0
- package/dist/domain/page-layout.js.map +1 -0
- package/dist/domain/paths.d.ts +5 -0
- package/dist/domain/paths.d.ts.map +1 -0
- package/dist/domain/paths.js +2 -0
- package/dist/domain/paths.js.map +1 -0
- package/dist/domain/result.d.ts +23 -0
- package/dist/domain/result.d.ts.map +1 -0
- package/dist/domain/result.js +10 -0
- package/dist/domain/result.js.map +1 -0
- package/dist/domain/sha256.d.ts +7 -0
- package/dist/domain/sha256.d.ts.map +1 -0
- package/dist/domain/sha256.js +14 -0
- package/dist/domain/sha256.js.map +1 -0
- package/dist/domain/text.d.ts +6 -0
- package/dist/domain/text.d.ts.map +1 -0
- package/dist/domain/text.js +7 -0
- package/dist/domain/text.js.map +1 -0
- package/dist/engine.d.ts +93 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +119 -0
- package/dist/engine.js.map +1 -0
- package/dist/exit-code.d.ts +22 -0
- package/dist/exit-code.d.ts.map +1 -0
- package/dist/exit-code.js +10 -0
- package/dist/exit-code.js.map +1 -0
- package/dist/facts-file.d.ts +96 -0
- package/dist/facts-file.d.ts.map +1 -0
- package/dist/facts-file.js +134 -0
- package/dist/facts-file.js.map +1 -0
- package/dist/hooks-settings.d.ts +141 -0
- package/dist/hooks-settings.d.ts.map +1 -0
- package/dist/hooks-settings.js +306 -0
- package/dist/hooks-settings.js.map +1 -0
- package/dist/init.d.ts +201 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +579 -0
- package/dist/init.js.map +1 -0
- package/dist/latex-log.d.ts +80 -0
- package/dist/latex-log.d.ts.map +1 -0
- package/dist/latex-log.js +187 -0
- package/dist/latex-log.js.map +1 -0
- package/dist/latex-loop.d.ts +129 -0
- package/dist/latex-loop.d.ts.map +1 -0
- package/dist/latex-loop.js +113 -0
- package/dist/latex-loop.js.map +1 -0
- package/dist/link-skills.d.ts +51 -0
- package/dist/link-skills.d.ts.map +1 -0
- package/dist/link-skills.js +199 -0
- package/dist/link-skills.js.map +1 -0
- package/dist/new-paper.d.ts +48 -0
- package/dist/new-paper.d.ts.map +1 -0
- package/dist/new-paper.js +110 -0
- package/dist/new-paper.js.map +1 -0
- package/dist/pdf-facts.d.ts +44 -0
- package/dist/pdf-facts.d.ts.map +1 -0
- package/dist/pdf-facts.js +239 -0
- package/dist/pdf-facts.js.map +1 -0
- package/dist/pdf-geometry.d.ts +170 -0
- package/dist/pdf-geometry.d.ts.map +1 -0
- package/dist/pdf-geometry.js +158 -0
- package/dist/pdf-geometry.js.map +1 -0
- package/dist/ports/download.d.ts +9 -0
- package/dist/ports/download.d.ts.map +1 -0
- package/dist/ports/download.js +2 -0
- package/dist/ports/download.js.map +1 -0
- package/dist/ports/files.d.ts +11 -0
- package/dist/ports/files.d.ts.map +1 -0
- package/dist/ports/files.js +2 -0
- package/dist/ports/files.js.map +1 -0
- package/dist/ports/measure-geometry.d.ts +8 -0
- package/dist/ports/measure-geometry.d.ts.map +1 -0
- package/dist/ports/measure-geometry.js +2 -0
- package/dist/ports/measure-geometry.js.map +1 -0
- package/dist/ports/process.d.ts +45 -0
- package/dist/ports/process.d.ts.map +1 -0
- package/dist/ports/process.js +2 -0
- package/dist/ports/process.js.map +1 -0
- package/dist/ports/tool-installer.d.ts +29 -0
- package/dist/ports/tool-installer.d.ts.map +1 -0
- package/dist/ports/tool-installer.js +2 -0
- package/dist/ports/tool-installer.js.map +1 -0
- package/dist/ports/workspace.d.ts +18 -0
- package/dist/ports/workspace.d.ts.map +1 -0
- package/dist/ports/workspace.js +2 -0
- package/dist/ports/workspace.js.map +1 -0
- package/dist/rules-config.d.ts +34 -0
- package/dist/rules-config.d.ts.map +1 -0
- package/dist/rules-config.js +132 -0
- package/dist/rules-config.js.map +1 -0
- package/dist/structure.d.ts +34 -0
- package/dist/structure.d.ts.map +1 -0
- package/dist/structure.js +149 -0
- package/dist/structure.js.map +1 -0
- package/dist/tex-requirements.d.ts +43 -0
- package/dist/tex-requirements.d.ts.map +1 -0
- package/dist/tex-requirements.js +127 -0
- package/dist/tex-requirements.js.map +1 -0
- package/dist/toolchain.d.ts +159 -0
- package/dist/toolchain.d.ts.map +1 -0
- package/dist/toolchain.js +542 -0
- package/dist/toolchain.js.map +1 -0
- package/dist/types.d.ts +110 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/docs/configuration.md +235 -0
- package/docs/e2e.md +152 -0
- package/docs/incidents.md +59 -0
- package/docs/install.md +170 -0
- package/docs/optional-rules.md +107 -0
- package/docs/package-shape-options.md +262 -0
- package/docs/prior-art/README.md +76 -0
- package/docs/prior-art/blocking-vs-advisory.md +83 -0
- package/docs/prior-art/content-delivery.md +124 -0
- package/docs/prior-art/multi-mode-tools.md +106 -0
- package/docs/prior-art/nondeterministic-checks.md +99 -0
- package/docs/prior-art/package-location.md +422 -0
- package/docs/prior-art/paper-folder-scaffolding.md +538 -0
- package/docs/prior-art/readme-structure.md +69 -0
- package/docs/prior-art/repro/README.md +92 -0
- package/docs/prior-art/repro/claim1-allowedtools.mjs +66 -0
- package/docs/prior-art/repro/claim1-at2.mjs +40 -0
- package/docs/prior-art/repro/claim1-crosschannel.mjs +54 -0
- package/docs/prior-art/repro/claim1-frontmatter.mjs +76 -0
- package/docs/prior-art/repro/claim1-hook-payload-reporter.mjs +10 -0
- package/docs/prior-art/repro/claim1-plugin-frontmatter.mjs +27 -0
- package/docs/prior-art/repro/claim1-plugin-skill.mjs +52 -0
- package/docs/prior-art/repro/claim1-project-skill.mjs +81 -0
- package/docs/prior-art/repro/claim2-marketplace-flat-asclaimed.json +1 -0
- package/docs/prior-art/repro/claim2-marketplace-negative-control.json +1 -0
- package/docs/prior-art/repro/claim2-marketplace-nested-exact.json +9 -0
- package/docs/prior-art/repro/claim2-marketplace-nested-noversion.json +9 -0
- package/docs/prior-art/repro/claim2-marketplace-nested-range.json +1 -0
- package/docs/prior-art/repro/claim3-imports.mjs +50 -0
- package/docs/prior-art/repro/claim4-find-package-json.mjs +8 -0
- package/docs/prior-art/repro/claim4-package-dir.mjs +39 -0
- package/docs/prior-art/repro/claim4-parent-arg.mjs +17 -0
- package/docs/prior-art/repro/claim4-resolve-apis.mjs +21 -0
- package/docs/prior-art/repro/claim4-setup-consumers.mjs +45 -0
- package/docs/prior-art/repro/claim4-yarn-pnp.mjs +70 -0
- package/docs/prior-art/repro/claim5-bin-launch.mjs +39 -0
- package/docs/prior-art/repro/claim5-exports-mutation.mjs +57 -0
- package/docs/prior-art/repro/claim5-resolved-location-and-bin.mjs +33 -0
- package/docs/prior-art/repro/claim6-candidate-ambiguity.mjs +17 -0
- package/docs/prior-art/repro/claim6-doc-path-candidates.mjs +27 -0
- package/docs/prior-art/test-tooling.md +131 -0
- package/docs/rules.md +58 -0
- package/docs/texlive-install-decision.md +230 -0
- package/docs/toolchain.md +152 -0
- package/eslint-rules/doc-fields.harness.mjs +336 -0
- package/eslint-rules/doc-fields.mjs +186 -0
- package/eslint-rules/doc-fields.mutations.mjs +96 -0
- package/eslint-rules/install-path-literals.harness.mjs +121 -0
- package/eslint-rules/install-path-literals.mjs +108 -0
- package/eslint-rules/install-path-literals.mutations.mjs +62 -0
- package/eslint-rules/latex-language.harness.mjs +599 -0
- package/eslint-rules/latex-language.mjs +591 -0
- package/eslint-rules/latex-language.mutations.mjs +196 -0
- package/eslint-rules/paper-research-question.harness.mjs +146 -0
- package/eslint-rules/paper-research-question.mjs +180 -0
- package/eslint-rules/paper-research-question.mutations.mjs +127 -0
- package/eslint-rules/paper-stages.harness.mjs +356 -0
- package/eslint-rules/paper-stages.mjs +455 -0
- package/eslint-rules/paper-stages.mutations.mjs +157 -0
- package/eslint-rules/paper-typography.harness.mjs +291 -0
- package/eslint-rules/paper-typography.mjs +313 -0
- package/eslint-rules/paper-typography.mutations.mjs +131 -0
- package/eslint-rules/papers.harness.mjs +259 -0
- package/eslint-rules/papers.mjs +166 -0
- package/eslint-rules/papers.mutations.mjs +186 -0
- package/eslint-rules/pdf-last-page-balance.harness.mjs +206 -0
- package/eslint-rules/pdf-last-page-balance.mjs +208 -0
- package/eslint-rules/review-findings-cause.harness.mjs +228 -0
- package/eslint-rules/review-findings-cause.mjs +135 -0
- package/eslint-rules/review-findings-cause.mutations.mjs +72 -0
- package/eslint-rules/temp-root-realpath.harness.mjs +176 -0
- package/eslint-rules/temp-root-realpath.mjs +129 -0
- package/eslint-rules/temp-root-realpath.mutations.mjs +99 -0
- package/eslint-rules/tex-build.harness.mjs +753 -0
- package/eslint-rules/tex-build.mjs +322 -0
- package/eslint-rules/tex-build.mutations.mjs +258 -0
- package/eslint.config.mjs +521 -0
- package/fixtures/build-e2e/acmart/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/acmart/paper.tex +11 -0
- package/fixtures/build-e2e/acmart/venue.json +1 -0
- package/fixtures/build-e2e/broken/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/broken/paper.tex +7 -0
- package/fixtures/build-e2e/cite/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/cite/build.sh +5 -0
- package/fixtures/build-e2e/cite/paper.tex +10 -0
- package/fixtures/build-e2e/cite/refs.bib +9 -0
- package/fixtures/build-e2e/empty/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/empty/paper.tex +6 -0
- package/fixtures/build-e2e/fallback/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/fallback/paper.tex +11 -0
- package/fixtures/build-e2e/guards/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/guards/paper.tex +10 -0
- package/fixtures/build-e2e/no-source/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/unbalanced/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/unbalanced/paper.tex +28 -0
- package/fixtures/build-e2e/unbalanced/refs.bib +269 -0
- package/fixtures/install-path-literals/clean.fixture.mjs +3 -0
- package/fixtures/install-path-literals/clean.md +15 -0
- package/fixtures/install-path-literals/defect.fixture.mjs +3 -0
- package/fixtures/install-path-literals/defect.md +14 -0
- package/fixtures/latex-language/clean.tex +50 -0
- package/fixtures/latex-language/defect.tex +52 -0
- package/fixtures/paper-research-question/comment-only/PIPELINE-STATUS.md +9 -0
- package/fixtures/paper-research-question/comment-only/paper.tex +7 -0
- package/fixtures/paper-research-question/declared-not-in-paper/PIPELINE-STATUS.md +10 -0
- package/fixtures/paper-research-question/declared-not-in-paper/paper.tex +6 -0
- package/fixtures/paper-research-question/draft/PIPELINE-STATUS.md +6 -0
- package/fixtures/paper-research-question/draft/paper.tex +2 -0
- package/fixtures/paper-research-question/markdown-no-rq/PIPELINE-STATUS.md +9 -0
- package/fixtures/paper-research-question/markdown-no-rq/paper.md +4 -0
- package/fixtures/paper-research-question/shipped-no-rq/PIPELINE-STATUS.md +12 -0
- package/fixtures/paper-research-question/shipped-no-rq/paper.tex +3 -0
- package/fixtures/paper-research-question/shipped-with-rq/PIPELINE-STATUS.md +10 -0
- package/fixtures/paper-research-question/shipped-with-rq/paper.tex +2 -0
- package/fixtures/paper-stages/authors-ran/PIPELINE-STATUS.md +16 -0
- package/fixtures/paper-stages/marker-in-prose/PIPELINE-STATUS.md +17 -0
- package/fixtures/paper-stages/nofile/PIPELINE-STATUS.md +8 -0
- package/fixtures/paper-stages/noheader/PIPELINE-STATUS.md +1 -0
- package/fixtures/paper-stages/noheader/versions/2026-07-22-submitted.pdf +0 -0
- package/fixtures/paper-stages/nothing/PIPELINE-STATUS.md +3 -0
- package/fixtures/paper-stages/ok/PIPELINE-STATUS.md +9 -0
- package/fixtures/paper-stages/ok/versions/2026-07-22-submitted.pdf +0 -0
- package/fixtures/paper-stages/stale/PIPELINE-STATUS.md +1 -0
- package/fixtures/paper-stages/stale/versions/2026-07-22-submitted.STALE-WRONG-FILE.pdf +0 -0
- package/fixtures/paper-stages/twice/PIPELINE-STATUS.md +14 -0
- package/fixtures/paper-stages/twice/versions/2026-08-06-submitted.pdf +0 -0
- package/fixtures/paper-stages/twice/versions/2026-10-24-submitted.pdf +0 -0
- package/fixtures/paper-stages/undeclared/PIPELINE-STATUS.md +8 -0
- package/fixtures/paper-stages/undeclared/versions/2026-07-22-submitted.pdf +0 -0
- package/fixtures/paper-stages/undeclared/versions/2026-08-29-camera-ready.pdf +0 -0
- package/fixtures/paper-stages/wrongsize/PIPELINE-STATUS.md +8 -0
- package/fixtures/paper-stages/wrongsize/versions/2026-07-22-submitted.pdf +0 -0
- package/fixtures/paper-typography/clean-paper/paper.tex +29 -0
- package/fixtures/paper-typography/messy-paper/paper.tex +27 -0
- package/fixtures/pdf-facts/README.md +22 -0
- package/fixtures/pdf-facts/corrupt-font.pdf +0 -0
- package/fixtures/pdf-facts/encrypted.pdf +0 -0
- package/fixtures/pdf-facts/hidden-text.pdf +0 -0
- package/fixtures/pdf-facts/hidden-text.tex +28 -0
- package/fixtures/pdf-facts/t3-all.pdf +0 -0
- package/fixtures/pdf-facts/t3-all.tex +8 -0
- package/fixtures/pdf-facts/t3-mixed.pdf +0 -0
- package/fixtures/pdf-facts/t3-mixed.tex +9 -0
- package/fixtures/pdf-facts/ttf.pdf +2240 -1
- package/fixtures/pdf-facts/ttf.tex +6 -0
- package/fixtures/real-markdown-paper/baseline.json +24 -0
- package/fixtures/real-markdown-paper/baseline.mjs +48 -0
- package/fixtures/render-paper/build-clean.sh +25 -0
- package/fixtures/render-paper/build-defect.sh +15 -0
- package/fixtures/review-findings-cause/clean.md +17 -0
- package/fixtures/review-findings-cause/defect.md +14 -0
- package/fixtures/review-findings-cause/old-debt.md +14 -0
- package/fixtures/review-findings-cause/quiet-in-fence.md +16 -0
- package/fixtures/tex-build/clean.tex +21 -0
- package/fixtures/tex-build/defect.tex +24 -0
- package/fixtures/tex-build/frontmatter-clean.tex +25 -0
- package/fixtures/tex-build/frontmatter-defect.tex +23 -0
- package/fixtures/toolchain-mirror/catalog.txt +5 -0
- package/fixtures/toolchain-mirror/install-tl +27 -0
- package/fixtures/toolchain-mirror/release-texlive.txt +3 -0
- package/fixtures/toolchain-mirror/release-year +1 -0
- package/fixtures/toolchain-mirror/stub-kpsewhich +8 -0
- package/fixtures/toolchain-mirror/stub-pdflatex +3 -0
- package/fixtures/toolchain-mirror/stub-tlmgr +44 -0
- package/hooks/hooks.harness.mjs +713 -0
- package/hooks/hooks.mutations.mjs +337 -0
- package/hooks/paper-edit-guard.hook.d.mts +13 -0
- package/hooks/paper-edit-guard.hook.mjs +457 -0
- package/hooks/paper-skills-nudge.hook.mjs +136 -0
- package/hooks/paper-status-gates.hook.mjs +156 -0
- package/hooks/paper-status-gates.sh +91 -0
- package/lib/agent-cli-version.harness.mjs +165 -0
- package/lib/agent-cli-version.mjs +106 -0
- package/lib/agent-cli-version.mutations.mjs +109 -0
- package/lib/markdown.mjs +386 -0
- package/lib/mutation-driver.harness.mjs +227 -0
- package/lib/mutation-driver.mjs +397 -0
- package/lib/mutation-driver.mutations.mjs +68 -0
- package/lib/paper-config.d.mts +34 -0
- package/lib/paper-config.harness.mjs +286 -0
- package/lib/paper-config.mjs +142 -0
- package/lib/paper-config.mutations.mjs +143 -0
- package/lib/skill-checks.mjs +701 -0
- package/lib/skill-corpus.mjs +403 -0
- package/lib/skill-eval-fixture.mjs +63 -0
- package/lib/skill-eval-kit.mjs +257 -0
- package/lib/skill-trigger-cases.harness.mjs +170 -0
- package/lib/skill-trigger-cases.mjs +446 -0
- package/lib/skill-trigger-cases.mutations.mjs +65 -0
- package/lib/trigger-ledger.mjs +215 -0
- package/package.json +97 -0
- package/plugin/.claude-plugin/plugin.json +8 -0
- package/plugin/hooks/hooks.json +30 -0
- package/scripts/check.harness.mjs +177 -0
- package/scripts/check.mjs +239 -0
- package/scripts/check.mutations.mjs +110 -0
- package/scripts/eslint-report-guard.mjs +82 -0
- package/scripts/exclusive.mjs +138 -0
- package/scripts/harness-api.frozen.json +76 -0
- package/scripts/harness-api.test.ts +175 -0
- package/scripts/layer-legacy-frozen.d.mts +28 -0
- package/scripts/layer-legacy-frozen.mjs +152 -0
- package/scripts/layer-legacy-frozen.test.ts +115 -0
- package/scripts/layer-legacy.frozen.json +50 -0
- package/scripts/mutation-batteries-frozen.harness.mjs +204 -0
- package/scripts/mutation-batteries-frozen.mjs +238 -0
- package/scripts/mutation-batteries.frozen.json +117 -0
- package/scripts/release-config.test.ts +90 -0
- package/scripts/rules-are-content-only.harness.mjs +113 -0
- package/scripts/rules-are-content-only.mjs +138 -0
- package/scripts/rules-are-content-only.mutations.mjs +81 -0
- package/scripts/rules-see-files.harness.mjs +115 -0
- package/scripts/rules-see-files.mjs +99 -0
- package/scripts/rules-see-files.mutations.mjs +131 -0
- package/scripts/run-mutations.mjs +100 -0
- package/scripts/semantic-release-plugins.d.ts +16 -0
- package/skills/README.md +15 -0
- package/skills/analyze-sibling-paper/SKILL.md +170 -0
- package/skills/analyze-sibling-paper/SKILL.md.spec.ts +186 -0
- package/skills/analyze-sibling-paper/analyze-sibling-paper.eval.mjs +19 -0
- package/skills/analyze-sibling-paper/analyze-sibling-paper.harness.mjs +23 -0
- package/skills/argument-arc/SKILL.md +177 -0
- package/skills/argument-arc/SKILL.md.spec.ts +192 -0
- package/skills/argument-arc/argument-arc.eval.mjs +19 -0
- package/skills/argument-arc/argument-arc.harness.mjs +23 -0
- package/skills/build-benchmark/SKILL.md +213 -0
- package/skills/build-benchmark/SKILL.md.spec.ts +220 -0
- package/skills/build-benchmark/build-benchmark.eval.mjs +19 -0
- package/skills/build-benchmark/build-benchmark.harness.mjs +23 -0
- package/skills/build-benchmark/references/adversarial-cold-repro.md +68 -0
- package/skills/camera-ready/SKILL.md +148 -0
- package/skills/camera-ready/SKILL.md.spec.ts +164 -0
- package/skills/camera-ready/camera-ready.eval.mjs +19 -0
- package/skills/camera-ready/camera-ready.harness.mjs +23 -0
- package/skills/cold-read-diff/SKILL.md +160 -0
- package/skills/cold-read-diff/SKILL.md.spec.ts +166 -0
- package/skills/cold-read-diff/cold-read-diff.eval.mjs +19 -0
- package/skills/cold-read-diff/cold-read-diff.harness.mjs +23 -0
- package/skills/draft-paper/SKILL.md +152 -0
- package/skills/draft-paper/SKILL.md.spec.ts +169 -0
- package/skills/draft-paper/draft-paper.eval.mjs +19 -0
- package/skills/draft-paper/draft-paper.harness.mjs +23 -0
- package/skills/extend-paper/SKILL.md +99 -0
- package/skills/extend-paper/SKILL.md.spec.ts +116 -0
- package/skills/extend-paper/extend-paper.eval.mjs +19 -0
- package/skills/extend-paper/extend-paper.harness.mjs +23 -0
- package/skills/find-venue/SKILL.md +128 -0
- package/skills/find-venue/SKILL.md.spec.ts +145 -0
- package/skills/find-venue/find-venue.eval.mjs +19 -0
- package/skills/find-venue/find-venue.harness.mjs +23 -0
- package/skills/grade-paper-writing/SKILL.md +436 -0
- package/skills/grade-paper-writing/SKILL.md.spec.ts +453 -0
- package/skills/grade-paper-writing/fixtures/control_gopen.txt +1 -0
- package/skills/grade-paper-writing/fixtures/control_human_paper.txt +1 -0
- package/skills/grade-paper-writing/fixtures/rewrite.txt +1 -0
- package/skills/grade-paper-writing/fixtures/specimen.txt +1 -0
- package/skills/grade-paper-writing/fixtures/structure-checks.md +22 -0
- package/skills/grade-paper-writing/grade-paper-writing.eval.mjs +19 -0
- package/skills/grade-paper-writing/grade-paper-writing.harness.mjs +23 -0
- package/skills/grade-paper-writing/prose-lint.mjs +713 -0
- package/skills/harden-paper/SKILL.md +318 -0
- package/skills/harden-paper/SKILL.md.spec.ts +336 -0
- package/skills/harden-paper/check-numbers.sh +33 -0
- package/skills/harden-paper/check-release-claims.sh +35 -0
- package/skills/harden-paper/fixtures/uncited-assertions-sample.md +43 -0
- package/skills/harden-paper/fixtures/uncited-assertions-sample.tex +77 -0
- package/skills/harden-paper/harden-paper.eval.mjs +19 -0
- package/skills/harden-paper/harden-paper.harness.mjs +23 -0
- package/skills/map-prior-work/SKILL.md +211 -0
- package/skills/map-prior-work/SKILL.md.spec.ts +227 -0
- package/skills/map-prior-work/map-prior-work.eval.mjs +19 -0
- package/skills/map-prior-work/map-prior-work.harness.mjs +23 -0
- package/skills/osf-artifact-upload/SKILL.md +52 -0
- package/skills/osf-artifact-upload/SKILL.md.spec.ts +59 -0
- package/skills/osf-artifact-upload/osf-artifact-upload.eval.mjs +22 -0
- package/skills/osf-artifact-upload/osf-artifact-upload.harness.mjs +103 -0
- package/skills/paper-adversarial-review/SKILL.md +126 -0
- package/skills/paper-adversarial-review/SKILL.md.spec.ts +142 -0
- package/skills/paper-adversarial-review/paper-adversarial-review.eval.mjs +19 -0
- package/skills/paper-adversarial-review/paper-adversarial-review.harness.mjs +23 -0
- package/skills/paper-pipeline/PIPELINE-MAP.md +371 -0
- package/skills/paper-pipeline/SKILL.md +499 -0
- package/skills/paper-pipeline/SKILL.md.spec.ts +517 -0
- package/skills/paper-pipeline/description-language.eval.mjs +347 -0
- package/skills/paper-pipeline/framing-vs-vocabulary.eval.mjs +891 -0
- package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +1254 -0
- package/skills/paper-pipeline/paper-pipeline.eval.mjs +22 -0
- package/skills/paper-pipeline/paper-pipeline.harness.mjs +143 -0
- package/skills/paper-pipeline/pipeline-firing.baseline.json +270 -0
- package/skills/paper-pipeline/pipeline-firing.eval.mjs +664 -0
- package/skills/paper-pipeline/pipeline-language.eval.mjs +672 -0
- package/skills/paper-pipeline/references/acceptance-gate.md +329 -0
- package/skills/paper-pipeline/references/acl-venue-rules.md +142 -0
- package/skills/paper-pipeline/references/anonymization.md +68 -0
- package/skills/paper-pipeline/references/artifact-checklist.md +93 -0
- package/skills/paper-pipeline/references/body-vs-appendix.md +97 -0
- package/skills/paper-pipeline/references/credit-criteria.md +69 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-probe/README.md +35 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-probe/run_retext.mjs +24 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-probe/sentences.txt +11 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-probe/test_sentences.py +25 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-prose-checkers.md +538 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-reproducible-tooling.md +431 -0
- package/skills/paper-pipeline/references/occupancy-2026-08-06-staleness-and-orchestration.md +592 -0
- package/skills/paper-pipeline/references/pipeline-status-template.md +162 -0
- package/skills/paper-pipeline/references/review-ratchet.md +36 -0
- package/skills/paper-pipeline/references/sweep-2026-08-09-ideal-pipeline.md +585 -0
- package/skills/paper-pipeline/references/writing-craft.md +448 -0
- package/skills/paper-pipeline/repro/2026-08-07-description-language-control.log +63 -0
- package/skills/paper-pipeline/repro/2026-08-07-fork-check.log +52 -0
- package/skills/paper-pipeline/repro/2026-08-07-fork-check2.log +33 -0
- package/skills/paper-pipeline/repro/2026-08-07-language-eval-pilot.log +33 -0
- package/skills/paper-pipeline/repro/2026-08-07-language-eval-raw.log +166 -0
- package/skills/paper-pipeline/repro/2026-08-08-framing-vs-vocabulary-oracle.json +338 -0
- package/skills/paper-pipeline/repro/2026-08-08-framing-vs-vocabulary-oracle.log +118 -0
- package/skills/paper-pipeline/repro/2026-08-08-framing-vs-vocabulary-raw.log +245 -0
- package/skills/paper-pipeline/repro/2026-08-08-framing-vs-vocabulary.json +776 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-A6-oracle.log +53 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-A6-raw.log +89 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-oracle.json +450 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-oracle.log +136 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-raw.log +242 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation-setupdiff.log +59 -0
- package/skills/paper-pipeline/repro/2026-08-08-grade-paper-writing-ablation.json +1032 -0
- package/skills/paper-pipeline/repro/2026-08-08-parent-replication-gpw.json +139 -0
- package/skills/paper-pipeline/repro/2026-08-08-parent-replication-gpw.log +98 -0
- package/skills/paper-pipeline/repro/2026-08-08-parent-replication.mjs +92 -0
- package/skills/paper-pipeline/repro/README.md +129 -0
- package/skills/paper-pipeline/repro/analyze-language-eval.py +116 -0
- package/skills/paper-pipeline/scripts/README.md +344 -0
- package/skills/paper-pipeline/scripts/announce.mjs +67 -0
- package/skills/paper-pipeline/scripts/artifact-coverage.harness.mjs +496 -0
- package/skills/paper-pipeline/scripts/artifact-coverage.mjs +397 -0
- package/skills/paper-pipeline/scripts/artifact-coverage.mutations.mjs +218 -0
- package/skills/paper-pipeline/scripts/check-provenance.mjs +184 -0
- package/skills/paper-pipeline/scripts/consumer.d.mts +32 -0
- package/skills/paper-pipeline/scripts/consumer.harness.mjs +562 -0
- package/skills/paper-pipeline/scripts/consumer.mjs +535 -0
- package/skills/paper-pipeline/scripts/consumer.mutations.mjs +190 -0
- package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +457 -0
- package/skills/paper-pipeline/scripts/extract-ref-facts.mjs +656 -0
- package/skills/paper-pipeline/scripts/extract-ref-facts.mutations.mjs +54 -0
- package/skills/paper-pipeline/scripts/fixtures/clean/PIPELINE-STATUS.md +51 -0
- package/skills/paper-pipeline/scripts/fixtures/dirty/PIPELINE-STATUS.md +52 -0
- package/skills/paper-pipeline/scripts/fixtures/dirty/paper.md +6 -0
- package/skills/paper-pipeline/scripts/fixtures/real-bib/refs.bib +153 -0
- package/skills/paper-pipeline/scripts/generated-code.harness.mjs +466 -0
- package/skills/paper-pipeline/scripts/generated-code.mjs +338 -0
- package/skills/paper-pipeline/scripts/generated-code.mutations.mjs +254 -0
- package/skills/paper-pipeline/scripts/ledger.mjs +623 -0
- package/skills/paper-pipeline/scripts/ledger.selftest.mjs +286 -0
- package/skills/paper-pipeline/scripts/pipeline-check.harness.mjs +389 -0
- package/skills/paper-pipeline/scripts/pipeline-check.mjs +737 -0
- package/skills/paper-pipeline/scripts/pipeline-check.mutations.mjs +54 -0
- package/skills/paper-pipeline/scripts/pipeline-edges.mjs +169 -0
- package/skills/paper-pipeline/scripts/population-map.harness.mjs +178 -0
- package/skills/paper-pipeline/scripts/population-map.mjs +181 -0
- package/skills/paper-pipeline/scripts/population-map.mutations.mjs +65 -0
- package/skills/paper-pipeline/scripts/population-map.selftest.mjs +122 -0
- package/skills/paper-pipeline/scripts/provenance.harness.mjs +240 -0
- package/skills/paper-pipeline/scripts/provenance.mutations.mjs +59 -0
- package/skills/paper-pipeline/scripts/round-diff.harness.mjs +881 -0
- package/skills/paper-pipeline/scripts/round-diff.mjs +576 -0
- package/skills/paper-pipeline/scripts/round-diff.mutations.mjs +276 -0
- package/skills/paper-pipeline/scripts/run-mechanical.mjs +633 -0
- package/skills/paper-pipeline/scripts/status.mjs +295 -0
- package/skills/paper-status/SKILL.md +183 -0
- package/skills/paper-status/SKILL.md.spec.ts +190 -0
- package/skills/paper-status/paper-status.eval.mjs +22 -0
- package/skills/paper-status/paper-status.harness.mjs +25 -0
- package/skills/pc-panel-review/SKILL.md +263 -0
- package/skills/pc-panel-review/SKILL.md.spec.ts +280 -0
- package/skills/pc-panel-review/pc-panel-review.eval.mjs +19 -0
- package/skills/pc-panel-review/pc-panel-review.harness.mjs +23 -0
- package/skills/plan-paper-timeline/SKILL.md +182 -0
- package/skills/plan-paper-timeline/SKILL.md.spec.ts +200 -0
- package/skills/plan-paper-timeline/fixtures/fake-google-calendar.mjs +239 -0
- package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +431 -0
- package/skills/plan-paper-timeline/plan-paper-timeline.effects.mutations.mjs +65 -0
- package/skills/plan-paper-timeline/plan-paper-timeline.eval.mjs +19 -0
- package/skills/plan-paper-timeline/plan-paper-timeline.harness.mjs +23 -0
- package/skills/render-paper/SKILL.md +159 -0
- package/skills/render-paper/SKILL.md.spec.ts +166 -0
- package/skills/render-paper/check-render.sh +419 -0
- package/skills/render-paper/checkers-requirements.txt +55 -0
- package/skills/render-paper/ensure-checkers.sh +69 -0
- package/skills/render-paper/extract-pdf-facts.harness.mjs +166 -0
- package/skills/render-paper/extract-pdf-facts.mjs +144 -0
- package/skills/render-paper/render-paper.eval.mjs +19 -0
- package/skills/render-paper/render-paper.harness.mjs +339 -0
- package/skills/research-ideate/SKILL.md +136 -0
- package/skills/research-ideate/SKILL.md.spec.ts +152 -0
- package/skills/research-ideate/research-ideate.eval.mjs +19 -0
- package/skills/research-ideate/research-ideate.harness.mjs +23 -0
- package/skills/skill-contract.mutations.mjs +179 -0
- package/skills/study-accepted-papers/SKILL.md +206 -0
- package/skills/study-accepted-papers/SKILL.md.spec.ts +223 -0
- package/skills/study-accepted-papers/study-accepted-papers.eval.mjs +19 -0
- package/skills/study-accepted-papers/study-accepted-papers.harness.mjs +23 -0
- package/skills/submit-paper/SKILL.md +182 -0
- package/skills/submit-paper/SKILL.md.spec.ts +199 -0
- package/skills/submit-paper/check-deanon.sh +149 -0
- package/skills/submit-paper/references/publishers/acm.md +92 -0
- package/skills/submit-paper/references/venues/agenticdev.jsonc +108 -0
- package/skills/submit-paper/references/venues/agenticdev.md +139 -0
- package/skills/submit-paper/references/venues/agenticdev.tex +19 -0
- package/skills/submit-paper/references/venues/aisec.jsonc +101 -0
- package/skills/submit-paper/references/venues/aisec.md +105 -0
- package/skills/submit-paper/references/venues/paper-guards.tex +41 -0
- package/skills/submit-paper/references/venues/realm.jsonc +81 -0
- package/skills/submit-paper/references/venues/realm.md +155 -0
- package/skills/submit-paper/references/venues/tex-base.jsonc +50 -0
- package/skills/submit-paper/references/venues/venue-profile.schema.json +74 -0
- package/skills/submit-paper/submit-paper.eval.mjs +19 -0
- package/skills/submit-paper/submit-paper.harness.mjs +23 -0
- package/skills/sweep-design-space/SKILL.md +269 -0
- package/skills/sweep-design-space/SKILL.md.spec.ts +285 -0
- package/skills/sweep-design-space/sweep-design-space.eval.mjs +19 -0
- package/skills/sweep-design-space/sweep-design-space.harness.mjs +23 -0
- package/skills/tighten-paper/SKILL.md +368 -0
- package/skills/tighten-paper/SKILL.md.spec.ts +384 -0
- package/skills/tighten-paper/structure.mjs +371 -0
- package/skills/tighten-paper/tighten-paper.eval.mjs +19 -0
- package/skills/tighten-paper/tighten-paper.harness.mjs +23 -0
- package/skills/verify-citations/SKILL.md +328 -0
- package/skills/verify-citations/SKILL.md.spec.ts +345 -0
- package/skills/verify-citations/scripts/bib-authors.mjs +479 -0
- package/skills/verify-citations/scripts/bib-authors.test.mjs +175 -0
- package/skills/verify-citations/scripts/verify-cites.mjs +1108 -0
- package/skills/verify-citations/scripts/verify-cites.test.mjs +735 -0
- package/skills/verify-citations/verify-citations.eval.mjs +19 -0
- package/skills/verify-citations/verify-citations.harness.mjs +23 -0
- package/src/CLAUDE.md +51 -0
- package/src/action-ref.test.ts +26 -0
- package/src/action-ref.ts +15 -0
- package/src/adapters/banal/failure.test.ts +63 -0
- package/src/adapters/banal/failure.ts +118 -0
- package/src/adapters/banal/index.test.ts +119 -0
- package/src/adapters/banal/index.ts +100 -0
- package/src/adapters/banal/install.test.ts +20 -0
- package/src/adapters/banal/install.ts +41 -0
- package/src/adapters/banal/invocation.test.ts +74 -0
- package/src/adapters/banal/invocation.ts +95 -0
- package/src/adapters/banal/locate.test.ts +52 -0
- package/src/adapters/banal/locate.ts +84 -0
- package/src/adapters/banal/output.test.ts +140 -0
- package/src/adapters/banal/output.ts +141 -0
- package/src/adapters/banal/pin.ts +30 -0
- package/src/adapters/banal/probe.ts +35 -0
- package/src/adapters/banal/run.test.ts +191 -0
- package/src/adapters/banal/run.ts +244 -0
- package/src/adapters/banal/settings.test.ts +31 -0
- package/src/adapters/banal/settings.ts +55 -0
- package/src/adapters/banal/xml.test.ts +111 -0
- package/src/adapters/banal/xml.ts +112 -0
- package/src/adapters/curl/download.io.ts +73 -0
- package/src/adapters/curl/download.test.ts +55 -0
- package/src/adapters/curl/index.ts +5 -0
- package/src/adapters/memory/index.ts +131 -0
- package/src/adapters/node/files.io.ts +39 -0
- package/src/adapters/node/files.test.ts +28 -0
- package/src/adapters/node/host.io.ts +15 -0
- package/src/adapters/node/index.ts +36 -0
- package/src/adapters/node/process.io.ts +49 -0
- package/src/adapters/node/process.test.ts +46 -0
- package/src/adapters/node/workspace.io.ts +40 -0
- package/src/adapters/node/workspace.test.ts +58 -0
- package/src/adapters/pdfjs/fill.test.ts +111 -0
- package/src/adapters/pdfjs/fill.ts +141 -0
- package/src/build-engine.harness.mjs +314 -0
- package/src/build-engine.ts +219 -0
- package/src/build.harness.mjs +631 -0
- package/src/build.mutations.mjs +195 -0
- package/src/build.ts +793 -0
- package/src/cli.harness.mjs +2007 -0
- package/src/cli.mutations.mjs +448 -0
- package/src/cli.ts +1189 -0
- package/src/doctor.harness.mjs +396 -0
- package/src/doctor.mutations.mjs +175 -0
- package/src/doctor.ts +356 -0
- package/src/domain/geometry.ts +108 -0
- package/src/domain/host.ts +23 -0
- package/src/domain/page-layout.ts +32 -0
- package/src/domain/paths.ts +5 -0
- package/src/domain/result.test.ts +26 -0
- package/src/domain/result.ts +29 -0
- package/src/domain/sha256.test.ts +12 -0
- package/src/domain/sha256.ts +21 -0
- package/src/domain/text.ts +11 -0
- package/src/engine.harness.mjs +252 -0
- package/src/engine.ts +176 -0
- package/src/exit-code.test.ts +21 -0
- package/src/exit-code.ts +38 -0
- package/src/facts-file.test.ts +240 -0
- package/src/facts-file.ts +241 -0
- package/src/hooks-settings.harness.mjs +386 -0
- package/src/hooks-settings.mutations.mjs +116 -0
- package/src/hooks-settings.ts +434 -0
- package/src/init.ts +900 -0
- package/src/latex-log.harness.mjs +226 -0
- package/src/latex-log.ts +234 -0
- package/src/latex-loop.harness.mjs +449 -0
- package/src/latex-loop.ts +211 -0
- package/src/link-skills.harness.mjs +273 -0
- package/src/link-skills.mutations.mjs +136 -0
- package/src/link-skills.ts +258 -0
- package/src/new-paper.harness.mjs +216 -0
- package/src/new-paper.mutations.mjs +79 -0
- package/src/new-paper.ts +158 -0
- package/src/pdf-facts.harness.mjs +188 -0
- package/src/pdf-facts.ts +327 -0
- package/src/pdf-geometry.harness.mjs +254 -0
- package/src/pdf-geometry.ts +300 -0
- package/src/ports/download.ts +10 -0
- package/src/ports/files.ts +11 -0
- package/src/ports/measure-geometry.ts +8 -0
- package/src/ports/process.ts +46 -0
- package/src/ports/tool-installer.ts +33 -0
- package/src/ports/workspace.ts +20 -0
- package/src/rules-config.harness.mjs +114 -0
- package/src/rules-config.ts +178 -0
- package/src/structure.harness.mjs +179 -0
- package/src/structure.mutations.mjs +83 -0
- package/src/structure.ts +166 -0
- package/src/tex-requirements.harness.mjs +238 -0
- package/src/tex-requirements.ts +181 -0
- package/src/toolchain.harness.mjs +651 -0
- package/src/toolchain.ts +755 -0
- package/src/types.ts +106 -0
- package/templates/paper/PIPELINE-STATUS.md +72 -0
- package/templates/paper/paper.md +4 -0
- package/templates/paper/paper.tex +8 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
matched pairs: OK (8 cases × 4 pairs × 2 languages × 2 trial(s) = 128 runs; origins: 14 en, 18 ru; 37 skills installed → 36 competitors per run)
|
|
2
|
+
Spent: 902,258 tokens (35 in · 5.1k out · 776.0k cache) · ~$1.04 API-equivalent
|
|
3
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
4
|
+
Spent: 808,469 tokens (31 in · 4.0k out · 685.2k cache) · ~$0.99 API-equivalent
|
|
5
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
6
|
+
Session so far: 1,710,727 tokens · ~$2.03 API-equivalent
|
|
7
|
+
|
|
8
|
+
=== tighten-paper — structural bloat — cut/fold/merge, NOT sentence craft
|
|
9
|
+
en: 88% (8 runs)
|
|
10
|
+
1.00 [ru] the paper has bloated and the middle sags — what do I cut?
|
|
11
|
+
1.00 [en] this draft is 14 pages against a 9 page limit, what goes
|
|
12
|
+
1.00 [ru] after three review rounds it is all filler and hedges, I need a cu
|
|
13
|
+
0.50 [en] sections 4 and 5 say the same thing twice, and nobody would skim a
|
|
14
|
+
ru: 75% (8 runs)
|
|
15
|
+
1.00 [ru] статья раздулась, середина провисает — что резать?
|
|
16
|
+
1.00 [en] в черновике 14 страниц при лимите 9, что убираем
|
|
17
|
+
1.00 [ru] после трёх раундов ревью там одна вода и хеджи, нужен план сокраще
|
|
18
|
+
0.00 [en] секции 4 и 5 говорят одно и то же дважды, и это невозможно пролист
|
|
19
|
+
|
|
20
|
+
skill en ru delta
|
|
21
|
+
tighten-paper 88% 75% -13pp
|
|
22
|
+
|
|
23
|
+
OVERALL en 7/8 (88%) ru 6/8 (75%) delta -13pp
|
|
24
|
+
|
|
25
|
+
SPLIT BY ORIGIN — is the gap about language, or about which side was translated?
|
|
26
|
+
origin en ru delta
|
|
27
|
+
en-original 75% 50% -25pp (3/4 vs 2/4)
|
|
28
|
+
ru-original 100% 100% +0pp (4/4 vs 4/4)
|
|
29
|
+
|
|
30
|
+
No gate: this file measures an effect, it does not enforce one. Read OVERALL first, then SPLIT BY ORIGIN — a gap that appears only on translated Russian is a finding about translation, not about Russian.
|
|
31
|
+
|
|
32
|
+
total spend: $2.03 API-equivalent
|
|
33
|
+
no baseline at /home/user/mine/.claude/skills/paper-pipeline/pipeline-language.baseline.json — record one with --update-baseline
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
matched pairs: OK (8 cases × 4 pairs × 2 languages × 3 trial(s) = 192 runs; origins: 14 en, 18 ru; 37 skills installed → 36 competitors per run)
|
|
2
|
+
Spent: 1,347,349 tokens (53 in · 6.0k out · 1161.5k cache) · ~$1.53 API-equivalent
|
|
3
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
4
|
+
Spent: 1,263,264 tokens (51 in · 7.0k out · 1090.6k cache) · ~$1.43 API-equivalent
|
|
5
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
6
|
+
Session so far: 2,610,613 tokens · ~$2.96 API-equivalent
|
|
7
|
+
|
|
8
|
+
=== tighten-paper — structural bloat — cut/fold/merge, NOT sentence craft
|
|
9
|
+
en: 92% (12 runs)
|
|
10
|
+
1.00 [ru] the paper has bloated and the middle sags — what do I cut?
|
|
11
|
+
1.00 [en] this draft is 14 pages against a 9 page limit, what goes
|
|
12
|
+
1.00 [ru] after three review rounds it is all filler and hedges, I need a cu
|
|
13
|
+
0.67 [en] sections 4 and 5 say the same thing twice, and nobody would skim a
|
|
14
|
+
ru: 67% (12 runs)
|
|
15
|
+
1.00 [ru] статья раздулась, середина провисает — что резать?
|
|
16
|
+
0.33 [en] в черновике 14 страниц при лимите 9, что убираем
|
|
17
|
+
1.00 [ru] после трёх раундов ревью там одна вода и хеджи, нужен план сокраще
|
|
18
|
+
0.33 [en] секции 4 и 5 говорят одно и то же дважды, и это невозможно пролист
|
|
19
|
+
Spent: 1,443,611 tokens (64 in · 7.7k out · 1254.6k cache) · ~$1.59 API-equivalent
|
|
20
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
21
|
+
Session so far: 4,054,224 tokens · ~$4.55 API-equivalent
|
|
22
|
+
Spent: 1,219,781 tokens (54 in · 11.1k out · 1029.4k cache) · ~$1.56 API-equivalent
|
|
23
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
24
|
+
Session so far: 5,274,005 tokens · ~$6.10 API-equivalent
|
|
25
|
+
|
|
26
|
+
=== grade-paper-writing — prose craft — the sentence is the unit, NOT the section
|
|
27
|
+
en: 67% (12 runs)
|
|
28
|
+
1.00 [ru] grade how it is written — it reads like a wall of jargon
|
|
29
|
+
0.33 [en] is the writing any good or does it read like shit
|
|
30
|
+
0.67 [ru] the abstract sounds clumsy even though the substance is fine, grad
|
|
31
|
+
0.67 [en] grade the craft: title, abstract, sentence clarity, hedge stacking
|
|
32
|
+
ru: 25% (12 runs)
|
|
33
|
+
0.33 [ru] оцени как написано — читается как стена жаргона
|
|
34
|
+
0.00 [en] текст вообще нормальный или читается как дерьмо
|
|
35
|
+
0.00 [ru] abstract звучит криво хотя по смыслу всё на месте, дай оценку проз
|
|
36
|
+
0.67 [en] оцени ремесло: заголовок, аннотация, ясность предложений, нагромож
|
|
37
|
+
Spent: 1,165,006 tokens (47 in · 6.5k out · 980.5k cache) · ~$1.47 API-equivalent
|
|
38
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
39
|
+
Session so far: 6,439,011 tokens · ~$7.57 API-equivalent
|
|
40
|
+
Spent: 803,102 tokens (32 in · 3.8k out · 625.0k cache) · ~$1.30 API-equivalent
|
|
41
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
42
|
+
Session so far: 7,242,113 tokens · ~$8.87 API-equivalent
|
|
43
|
+
|
|
44
|
+
=== argument-arc — argument architecture — does one conclusion become inevitable
|
|
45
|
+
en: 83% (12 runs)
|
|
46
|
+
1.00 [ru] a reviewer has now said twice that we throw disconnected ideas at
|
|
47
|
+
0.67 [en] does the paper actually carry a reader to one conclusion or just l
|
|
48
|
+
0.67 [ru] we introduce five named things and three numbers — that feels like
|
|
49
|
+
1.00 [en] before the big rewrite I want one sentence per section, bottom up
|
|
50
|
+
ru: 50% (12 runs)
|
|
51
|
+
1.00 [ru] ревьюер второй раз пишет что мы кидаем в него идеи без связи
|
|
52
|
+
0.00 [en] статья реально ведёт читателя к одному выводу или просто перечисля
|
|
53
|
+
0.00 [ru] мы вводим пять именованных штук и три числа — по-моему это перебор
|
|
54
|
+
1.00 [en] перед большой переписью хочу по одному предложению на секцию, сниз
|
|
55
|
+
Spent: 1,722,432 tokens (70 in · 9.9k out · 1528.1k cache) · ~$1.72 API-equivalent
|
|
56
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
57
|
+
Session so far: 8,964,545 tokens · ~$10.59 API-equivalent
|
|
58
|
+
Spent: 1,312,088 tokens (51 in · 9.5k out · 1121.6k cache) · ~$1.57 API-equivalent
|
|
59
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
60
|
+
Session so far: 10,276,633 tokens · ~$12.16 API-equivalent
|
|
61
|
+
|
|
62
|
+
=== paper-adversarial-review — ONE hostile reviewer, fast
|
|
63
|
+
en: 83% (12 runs)
|
|
64
|
+
1.00 [ru] red-team this paper, what will reviewer 2 hit it with
|
|
65
|
+
0.33 [en] would reviewer 2 buy this claim about the hook finding
|
|
66
|
+
1.00 [ru] find the weak spots before submission — one hostile but fair revie
|
|
67
|
+
1.00 [en] what is our desk reject risk and where do we overclaim
|
|
68
|
+
ru: 75% (12 runs)
|
|
69
|
+
1.00 [ru] red-team эту статью, чем будет бить reviewer 2
|
|
70
|
+
0.00 [en] купится ли reviewer 2 на это утверждение про находку с хуком
|
|
71
|
+
1.00 [ru] найди слабые места до сабмита — один злой но честный рецензент
|
|
72
|
+
1.00 [en] какой у нас риск desk reject и где мы переобещаем
|
|
73
|
+
Spent: 2,371,996 tokens (101 in · 17.8k out · 2160.1k cache) · ~$2.09 API-equivalent
|
|
74
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
75
|
+
Session so far: 12,648,629 tokens · ~$14.25 API-equivalent
|
|
76
|
+
Spent: 2,511,258 tokens (109 in · 17.3k out · 2301.1k cache) · ~$2.11 API-equivalent
|
|
77
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
78
|
+
Session so far: 15,159,887 tokens · ~$16.36 API-equivalent
|
|
79
|
+
|
|
80
|
+
=== pc-panel-review — the WHOLE committee + an accept probability, not one reviewer
|
|
81
|
+
en: 75% (12 runs)
|
|
82
|
+
0.33 [ru] honestly, what is the acceptance probability for this paper
|
|
83
|
+
1.00 [en] simulate the whole program committee, not one reviewer
|
|
84
|
+
1.00 [ru] what will the PC discussion decide — accept or reject
|
|
85
|
+
0.67 [ru] I need several independent reviewers with different lenses plus a
|
|
86
|
+
ru: 58% (12 runs)
|
|
87
|
+
0.00 [ru] какая вероятность принятия у этой статьи, если честно
|
|
88
|
+
1.00 [en] смоделируй весь программный комитет, а не одного рецензента
|
|
89
|
+
0.67 [ru] что решат на PC discussion — accept или reject
|
|
90
|
+
0.67 [ru] нужно несколько независимых ревьюеров с разными линзами плюс мета-
|
|
91
|
+
Spent: 1,120,795 tokens (46 in · 5.2k out · 937.9k cache) · ~$1.43 API-equivalent
|
|
92
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
93
|
+
Session so far: 16,280,682 tokens · ~$17.80 API-equivalent
|
|
94
|
+
Spent: 1,536,237 tokens (66 in · 9.3k out · 1345.3k cache) · ~$1.64 API-equivalent
|
|
95
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
96
|
+
Session so far: 17,816,919 tokens · ~$19.44 API-equivalent
|
|
97
|
+
|
|
98
|
+
=== cold-read-diff — fires AFTER a prose edit — the reader with no context
|
|
99
|
+
en: 67% (12 runs)
|
|
100
|
+
0.67 [ru] I rewrote the third paragraph of the intro — check the sentences a
|
|
101
|
+
1.00 [en] just edited the threats section, would a reader with no context ge
|
|
102
|
+
1.00 [ru] I fixed the wording in 4.2, run a fresh reader over it before I cl
|
|
103
|
+
0.00 [ru] these sentences are short, true, and it is still unclear what they
|
|
104
|
+
ru: 67% (12 runs)
|
|
105
|
+
0.33 [ru] я переписал третий абзац intro — проверь что предложения вообще чт
|
|
106
|
+
1.00 [en] только что правил секцию threats, поймёт ли её читатель без контек
|
|
107
|
+
1.00 [ru] поправил формулировки в 4.2, прогони свежим читателем до того как
|
|
108
|
+
0.33 [ru] эти предложения короткие, правдивые и всё равно непонятно что они
|
|
109
|
+
Spent: 2,601,385 tokens (111 in · 16.3k out · 2392.0k cache) · ~$2.13 API-equivalent
|
|
110
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
111
|
+
Session so far: 20,418,304 tokens · ~$21.56 API-equivalent
|
|
112
|
+
Spent: 2,372,195 tokens (100 in · 19.0k out · 2155.8k cache) · ~$2.12 API-equivalent
|
|
113
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
114
|
+
Session so far: 22,790,499 tokens · ~$23.69 API-equivalent
|
|
115
|
+
|
|
116
|
+
=== verify-citations — are the cites REAL — a pre-submit metadata gate
|
|
117
|
+
en: 92% (12 runs)
|
|
118
|
+
1.00 [ru] check that every citation is real before submission
|
|
119
|
+
0.67 [en] did we hallucinate any of these refs
|
|
120
|
+
1.00 [ru] verify the metadata on every cite — year, venue, authors, doi
|
|
121
|
+
1.00 [en] one bibtex entry looks invented to me, check the whole bibliograph
|
|
122
|
+
ru: 67% (12 runs)
|
|
123
|
+
1.00 [ru] проверь что все цитаты настоящие перед сабмитом
|
|
124
|
+
0.00 [en] мы не выдумали какие-нибудь из этих ссылок
|
|
125
|
+
0.67 [ru] сверь метаданные по каждому cite — год, венью, авторы, doi
|
|
126
|
+
1.00 [en] одна bibtex-запись выглядит выдуманной, проверь всю библиографию
|
|
127
|
+
Spent: 938,215 tokens (35 in · 4.4k out · 758.4k cache) · ~$1.35 API-equivalent
|
|
128
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
129
|
+
Session so far: 23,728,714 tokens · ~$25.04 API-equivalent
|
|
130
|
+
Spent: 1,268,180 tokens (49 in · 8.5k out · 1077.7k cache) · ~$1.55 API-equivalent
|
|
131
|
+
Billed to: your Claude subscription — $0 metered ✅
|
|
132
|
+
Session so far: 24,996,894 tokens · ~$26.59 API-equivalent
|
|
133
|
+
|
|
134
|
+
=== map-prior-work — who already did this — BEFORE drafting, reshapes the contribution
|
|
135
|
+
en: 67% (12 runs)
|
|
136
|
+
0.00 [ru] who has already done this before us — I want to know before I star
|
|
137
|
+
1.00 [en] sweep the landscape: everyone working on this, prior versus concur
|
|
138
|
+
0.67 [ru] I need a related-work skeleton and a verdict on what we can still
|
|
139
|
+
1.00 [en] find every competing group in this space and date them against our
|
|
140
|
+
ru: 75% (12 runs)
|
|
141
|
+
0.00 [ru] кто уже это сделал до нас — хочу знать до того как начну писать
|
|
142
|
+
1.00 [en] прочеши ландшафт: все кто работает над этим, prior против concurre
|
|
143
|
+
1.00 [ru] нужен скелет related work и вердикт что мы ещё можем клеймить свои
|
|
144
|
+
1.00 [en] найди все конкурирующие группы в этой области и датируй их относит
|
|
145
|
+
|
|
146
|
+
skill en ru delta
|
|
147
|
+
tighten-paper 92% 67% -25pp
|
|
148
|
+
grade-paper-writing 67% 25% -42pp
|
|
149
|
+
argument-arc 83% 50% -33pp
|
|
150
|
+
paper-adversarial-review 83% 75% -8pp
|
|
151
|
+
pc-panel-review 75% 58% -17pp
|
|
152
|
+
cold-read-diff 67% 67% +0pp
|
|
153
|
+
verify-citations 92% 67% -25pp
|
|
154
|
+
map-prior-work 67% 75% +8pp
|
|
155
|
+
|
|
156
|
+
OVERALL en 75/96 (78%) ru 58/96 (60%) delta -18pp
|
|
157
|
+
|
|
158
|
+
SPLIT BY ORIGIN — is the gap about language, or about which side was translated?
|
|
159
|
+
origin en ru delta
|
|
160
|
+
en-original 81% 60% -21pp (34/42 vs 25/42)
|
|
161
|
+
ru-original 76% 61% -15pp (41/54 vs 33/54)
|
|
162
|
+
|
|
163
|
+
No gate: this file measures an effect, it does not enforce one. Read OVERALL first, then SPLIT BY ORIGIN — a gap that appears only on translated Russian is a finding about translation, not about Russian.
|
|
164
|
+
|
|
165
|
+
total spend: $26.59 API-equivalent
|
|
166
|
+
no baseline at /home/user/mine/.claude/skills/paper-pipeline/pipeline-language.baseline.json — record one with --update-baseline
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"skill": "tighten-paper",
|
|
4
|
+
"cell": "AH",
|
|
5
|
+
"prompt": "produce a cut and fold plan for this draft — which sections do not earn their place",
|
|
6
|
+
"pick": "tighten-paper",
|
|
7
|
+
"ok": true
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"skill": "tighten-paper",
|
|
11
|
+
"cell": "AH",
|
|
12
|
+
"prompt": "tell me which parts are TMI and belong in the appendix instead of the paper",
|
|
13
|
+
"pick": "tighten-paper",
|
|
14
|
+
"ok": true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"skill": "tighten-paper",
|
|
18
|
+
"cell": "AH",
|
|
19
|
+
"prompt": "reorder and merge whatever is needed so it is not too long for its contribution",
|
|
20
|
+
"pick": "tighten-paper",
|
|
21
|
+
"ok": true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"skill": "tighten-paper",
|
|
25
|
+
"cell": "AH",
|
|
26
|
+
"prompt": "give me a structural verdict on this drafted paper, cover to cover, as an editor would",
|
|
27
|
+
"pick": "tighten-paper",
|
|
28
|
+
"ok": true
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"skill": "tighten-paper",
|
|
32
|
+
"cell": "AL",
|
|
33
|
+
"prompt": "decide what gets deleted from this manuscript and list it back to me",
|
|
34
|
+
"pick": "tighten-paper",
|
|
35
|
+
"ok": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"skill": "tighten-paper",
|
|
39
|
+
"cell": "AL",
|
|
40
|
+
"prompt": "tell me which two chapters should be welded into one, and which should go last",
|
|
41
|
+
"pick": "tighten-paper",
|
|
42
|
+
"ok": true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"skill": "tighten-paper",
|
|
46
|
+
"cell": "AL",
|
|
47
|
+
"prompt": "I want a shortlist of paragraphs to delete so it fits on fewer pages",
|
|
48
|
+
"pick": "tighten-paper",
|
|
49
|
+
"ok": true
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"skill": "tighten-paper",
|
|
53
|
+
"cell": "AL",
|
|
54
|
+
"prompt": "rank the chapters by how little they matter, worst first, so I know where to swing the axe",
|
|
55
|
+
"pick": "tighten-paper",
|
|
56
|
+
"ok": true
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"skill": "tighten-paper",
|
|
60
|
+
"cell": "SH",
|
|
61
|
+
"prompt": "this feels long and overly complex, and the middle drags",
|
|
62
|
+
"pick": "tighten-paper",
|
|
63
|
+
"ok": true
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"skill": "tighten-paper",
|
|
67
|
+
"cell": "SH",
|
|
68
|
+
"prompt": "after three review rounds it has collected a lot of hedge-mass",
|
|
69
|
+
"pick": "tighten-paper",
|
|
70
|
+
"ok": true
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"skill": "tighten-paper",
|
|
74
|
+
"cell": "SH",
|
|
75
|
+
"prompt": "it does not deliver its point and nobody could skim it",
|
|
76
|
+
"pick": "tighten-paper",
|
|
77
|
+
"ok": true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"skill": "tighten-paper",
|
|
81
|
+
"cell": "SH",
|
|
82
|
+
"prompt": "it is too long for its contribution and hard to read cover to cover",
|
|
83
|
+
"pick": "tighten-paper",
|
|
84
|
+
"ok": true
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"skill": "tighten-paper",
|
|
88
|
+
"cell": "SL",
|
|
89
|
+
"prompt": "people keep bailing out partway through and I cannot tell why",
|
|
90
|
+
"pick": "NONE",
|
|
91
|
+
"ok": false
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"skill": "tighten-paper",
|
|
95
|
+
"cell": "SL",
|
|
96
|
+
"prompt": "there is a nine page ceiling and I am well over it",
|
|
97
|
+
"pick": "tighten-paper",
|
|
98
|
+
"ok": true
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"skill": "tighten-paper",
|
|
102
|
+
"cell": "SL",
|
|
103
|
+
"prompt": "my co-author says the whole thing sprawls and he lost the thread",
|
|
104
|
+
"pick": "tighten-paper",
|
|
105
|
+
"ok": true
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"skill": "tighten-paper",
|
|
109
|
+
"cell": "SL",
|
|
110
|
+
"prompt": "every paragraph seems necessary to me and yet the whole is exhausting",
|
|
111
|
+
"pick": "cold-read-diff",
|
|
112
|
+
"ok": false
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"skill": "grade-paper-writing",
|
|
116
|
+
"cell": "AH",
|
|
117
|
+
"prompt": "grade the writing craft in this draft and name the offending sentence in each dimension",
|
|
118
|
+
"pick": "grade-paper-writing",
|
|
119
|
+
"ok": true
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"skill": "grade-paper-writing",
|
|
123
|
+
"cell": "AH",
|
|
124
|
+
"prompt": "run the blind multi-grader panel over the prose clarity and jargon discipline",
|
|
125
|
+
"pick": "grade-paper-writing",
|
|
126
|
+
"ok": true
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"skill": "grade-paper-writing",
|
|
130
|
+
"cell": "AH",
|
|
131
|
+
"prompt": "score the title, the abstract and the intro architecture one to five",
|
|
132
|
+
"pick": "grade-paper-writing",
|
|
133
|
+
"ok": true
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"skill": "grade-paper-writing",
|
|
137
|
+
"cell": "AH",
|
|
138
|
+
"prompt": "grade how well this reads, hedge stacking included, and give me the fix for each",
|
|
139
|
+
"pick": "grade-paper-writing",
|
|
140
|
+
"ok": true
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"skill": "grade-paper-writing",
|
|
144
|
+
"cell": "AL",
|
|
145
|
+
"prompt": "mark this manuscript out of five on how it is put together at the sentence level",
|
|
146
|
+
"pick": "grade-paper-writing",
|
|
147
|
+
"ok": true
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"skill": "grade-paper-writing",
|
|
151
|
+
"cell": "AL",
|
|
152
|
+
"prompt": "give me a scored report card on the language, with the worst example under each heading",
|
|
153
|
+
"pick": "grade-paper-writing",
|
|
154
|
+
"ok": true
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"skill": "grade-paper-writing",
|
|
158
|
+
"cell": "AL",
|
|
159
|
+
"prompt": "rate how professional the phrasing sounds against papers people actually finish",
|
|
160
|
+
"pick": "NONE",
|
|
161
|
+
"ok": false
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"skill": "grade-paper-writing",
|
|
165
|
+
"cell": "AL",
|
|
166
|
+
"prompt": "assign a number to the quality of the English here and point at the ugliest example",
|
|
167
|
+
"pick": "NONE",
|
|
168
|
+
"ok": false
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"skill": "grade-paper-writing",
|
|
172
|
+
"cell": "SH",
|
|
173
|
+
"prompt": "the abstract reads like a wall of jargon",
|
|
174
|
+
"pick": "grade-paper-writing",
|
|
175
|
+
"ok": true
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"skill": "grade-paper-writing",
|
|
179
|
+
"cell": "SH",
|
|
180
|
+
"prompt": "the intro architecture is fine but the prose clarity is not",
|
|
181
|
+
"pick": "grade-paper-writing",
|
|
182
|
+
"ok": true
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"skill": "grade-paper-writing",
|
|
186
|
+
"cell": "SH",
|
|
187
|
+
"prompt": "there is hedge stacking everywhere and the point never lands",
|
|
188
|
+
"pick": "grade-paper-writing",
|
|
189
|
+
"ok": true
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"skill": "grade-paper-writing",
|
|
193
|
+
"cell": "SH",
|
|
194
|
+
"prompt": "the writing does not read well even though the draft is finished",
|
|
195
|
+
"pick": "grade-paper-writing",
|
|
196
|
+
"ok": true
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"skill": "grade-paper-writing",
|
|
200
|
+
"cell": "SL",
|
|
201
|
+
"prompt": "something about the way this is worded makes me wince and I cannot name it",
|
|
202
|
+
"pick": "NONE",
|
|
203
|
+
"ok": false
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"skill": "grade-paper-writing",
|
|
207
|
+
"cell": "SL",
|
|
208
|
+
"prompt": "my supervisor said the English gets in the way of the science",
|
|
209
|
+
"pick": "NONE",
|
|
210
|
+
"ok": false
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"skill": "grade-paper-writing",
|
|
214
|
+
"cell": "SL",
|
|
215
|
+
"prompt": "the sentences are correct but they feel like wet cardboard",
|
|
216
|
+
"pick": "cold-read-diff",
|
|
217
|
+
"ok": false
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"skill": "grade-paper-writing",
|
|
221
|
+
"cell": "SL",
|
|
222
|
+
"prompt": "I went through my own opening twice and still had to start over",
|
|
223
|
+
"pick": "NONE",
|
|
224
|
+
"ok": false
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"skill": "argument-arc",
|
|
228
|
+
"cell": "AH",
|
|
229
|
+
"prompt": "build the one-sentence-per-section outline before the large rewrite",
|
|
230
|
+
"pick": "argument-arc",
|
|
231
|
+
"ok": true
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"skill": "argument-arc",
|
|
235
|
+
"cell": "AH",
|
|
236
|
+
"prompt": "run the bottom-up inevitability pass over the argument architecture",
|
|
237
|
+
"pick": "argument-arc",
|
|
238
|
+
"ok": true
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"skill": "argument-arc",
|
|
242
|
+
"cell": "AH",
|
|
243
|
+
"prompt": "repair the argument architecture — the same structural objection keeps repeating",
|
|
244
|
+
"pick": "argument-arc",
|
|
245
|
+
"ok": true
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"skill": "argument-arc",
|
|
249
|
+
"cell": "AH",
|
|
250
|
+
"prompt": "check the name and number budget, the reader has too much to carry",
|
|
251
|
+
"pick": "argument-arc",
|
|
252
|
+
"ok": true
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"skill": "argument-arc",
|
|
256
|
+
"cell": "AL",
|
|
257
|
+
"prompt": "give me a single line for each part of the manuscript, working backwards from the finish",
|
|
258
|
+
"pick": "argument-arc",
|
|
259
|
+
"ok": true
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"skill": "argument-arc",
|
|
263
|
+
"cell": "AL",
|
|
264
|
+
"prompt": "make the ending feel unavoidable given everything before it, and tell me what to move",
|
|
265
|
+
"pick": "argument-arc",
|
|
266
|
+
"ok": true
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"skill": "argument-arc",
|
|
270
|
+
"cell": "AL",
|
|
271
|
+
"prompt": "count how many invented labels and figures the audience must memorise, and trim the list",
|
|
272
|
+
"pick": "tighten-paper",
|
|
273
|
+
"ok": false
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"skill": "argument-arc",
|
|
277
|
+
"cell": "AL",
|
|
278
|
+
"prompt": "lay out the chain of reasoning as a list so I can see where a link is missing",
|
|
279
|
+
"pick": "NONE",
|
|
280
|
+
"ok": false
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"skill": "argument-arc",
|
|
284
|
+
"cell": "SH",
|
|
285
|
+
"prompt": "the reader says we throw ideas at them",
|
|
286
|
+
"pick": "argument-arc",
|
|
287
|
+
"ok": true
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"skill": "argument-arc",
|
|
291
|
+
"cell": "SH",
|
|
292
|
+
"prompt": "the same structural objection repeats in every round",
|
|
293
|
+
"pick": "argument-arc",
|
|
294
|
+
"ok": true
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"skill": "argument-arc",
|
|
298
|
+
"cell": "SH",
|
|
299
|
+
"prompt": "there is no argument architecture here, just a sequence",
|
|
300
|
+
"pick": "argument-arc",
|
|
301
|
+
"ok": true
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"skill": "argument-arc",
|
|
305
|
+
"cell": "SH",
|
|
306
|
+
"prompt": "we blew the name and number budget somewhere in the middle",
|
|
307
|
+
"pick": "argument-arc",
|
|
308
|
+
"ok": true
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"skill": "argument-arc",
|
|
312
|
+
"cell": "SL",
|
|
313
|
+
"prompt": "each part is fine alone but together they do not add up to anything",
|
|
314
|
+
"pick": "tighten-paper",
|
|
315
|
+
"ok": false
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"skill": "argument-arc",
|
|
319
|
+
"cell": "SL",
|
|
320
|
+
"prompt": "my advisor cannot tell what the conclusion depends on",
|
|
321
|
+
"pick": "argument-arc",
|
|
322
|
+
"ok": true
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"skill": "argument-arc",
|
|
326
|
+
"cell": "SL",
|
|
327
|
+
"prompt": "the ending arrives without having been earned",
|
|
328
|
+
"pick": "NONE",
|
|
329
|
+
"ok": false
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"skill": "argument-arc",
|
|
333
|
+
"cell": "SL",
|
|
334
|
+
"prompt": "someone asked me what the point was and I gave three answers",
|
|
335
|
+
"pick": "NONE",
|
|
336
|
+
"ok": false
|
|
337
|
+
}
|
|
338
|
+
]
|