feat: land superpaper v1 notes scaffold

Add the ledger schema, class router, lint codes, ingest/build
pipeline, and three work-tree examples: align derivation,
superfig delegation, and supertensor delegation.
This commit is contained in:
dela
2026-08-17 10:01:30 +08:00
parent c2bec6f55a
commit 3a322aa8dc
89 changed files with 3522 additions and 11 deletions
@@ -0,0 +1,29 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: align
grammar: derivation
toolkit: align
signals: [rewrite-figure]
include: figures/F1/build/F1.pdf
status: included
evidence: []
terms: []
source_assets: []
+28
View File
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: bad
grammar: pipeline
toolkit: not-a-toolkit
signals: [pipeline]
status: planned
evidence: []
terms: []
source_assets: []
+28
View File
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C99
title: dangling
grammar: pipeline
toolkit: superfig
signals: [pipeline]
status: planned
evidence: []
terms: []
source_assets: []
+21
View File
@@ -0,0 +1,21 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: one, kind: contribution, status: core}
- {id: C1, text: two, kind: contribution, status: supporting}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
@@ -0,0 +1,30 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: vector
grammar: pipeline
toolkit: superfig
signals: [pipeline]
include: null
request: figures/F1/F1.request.md
status: included
evidence: []
terms: []
source_assets: []
@@ -0,0 +1,6 @@
schema: superpaper.ledger/v1
paper:
title: Missing id
source: {kind: excerpt}
coverage:
mode: excerpt
+28
View File
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: mixed
grammar: architecture
toolkit: superfig
signals: [axis, architecture]
status: planned
evidence: []
terms: []
source_assets: []
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: none
grammar: none
toolkit: none
signals: []
status: planned
evidence: []
terms: []
source_assets: []
+20
View File
@@ -0,0 +1,20 @@
schema: superpaper.ledger/v1
retired_ids: [C1]
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
@@ -0,0 +1,29 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F2
claim: C1
title: shot
grammar: screenshot
toolkit: screenshot
signals: [table]
include: figures/F2/wrong.png
status: included
evidence: []
terms: []
source_assets: []
+28
View File
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: derive
grammar: derivation
toolkit: superderive
signals: [rewrite-figure]
status: planned
evidence: []
terms: []
source_assets: []
@@ -0,0 +1,28 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: mismatch
grammar: screenshot
toolkit: superfig
signals: [loss-curve]
status: planned
evidence: []
terms: []
source_assets: []
+20
View File
@@ -0,0 +1,20 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
+20
View File
@@ -0,0 +1,20 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
+7
View File
@@ -0,0 +1,7 @@
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\usepackage{superfig}
hello
\end{document}
+30
View File
@@ -0,0 +1,30 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: missing pdf
grammar: pipeline
toolkit: superfig
signals: [pipeline]
request: figures/F1/F1.request.md
include: figures/F1/build/F1.pdf
status: included
evidence: []
terms: []
source_assets: []
@@ -0,0 +1 @@
toolkit: superfig
+5
View File
@@ -0,0 +1,5 @@
\documentclass{article}
\begin{document}
\splabel{C1}
ok
\end{document}
+29
View File
@@ -0,0 +1,29 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures:
- id: F1
claim: C1
title: missing req
grammar: pipeline
toolkit: superfig
signals: [pipeline]
request: figures/F1/F1.request.md
status: planned
evidence: []
terms: []
source_assets: []
+5
View File
@@ -0,0 +1,5 @@
\documentclass{article}
\begin{document}
\splabel{C1}
ok
\end{document}
+21
View File
@@ -0,0 +1,21 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: smoke
title: Smoke
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: smoke, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols:
- {name: x, latex: "x", meaning: "input", kind: value}
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
+14
View File
@@ -0,0 +1,14 @@
\documentclass[a4paper]{article}
\input{notes-macros}
\renewcommand{\notetitle}{Smoke}
\begin{document}
\section{这篇论文在问什么}
一段动机。
\section{主张与贡献}
\splabel{C1} 这是核心主张。
\section{总结与延伸}
结束。
\appendix
\section{符号表}
\input{sections/symbols.tex}
\end{document}
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env python3
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts"))
from router import accepted, check_row, suggest
def expect(cond, msg):
if not cond:
raise SystemExit(f"FAIL: {msg}")
expect(suggest({"loss-curve"}) == "numeric", "loss-curve class")
expect(accepted("numeric") == frozenset({"screenshot", "matplotlib"}), "numeric accepted")
expect(suggest({"table"}) == "raster", "table class")
expect("matplotlib" not in accepted("raster"), "raster rejects matplotlib")
expect(suggest({"axis", "architecture"}) == "SPLIT:tensor+fig", "split order")
expect(
check_row({"axis", "architecture"}, "superfig") == "SP011",
"mixed row",
)
expect(check_row({"rewrite-figure"}, "align", phase=1) is None, "align ok")
expect(check_row({"rewrite-figure"}, "superderive", phase=1) == "SP010", "derive v1")
expect(suggest(set()) == "none", "empty")
expect(suggest({"notation"}) == "none", "notation")
expect(check_row(set(), "none", status="included") == "SP013", "none included")
expect(
check_row({"rewrite-figure"}, "align", include="figures/F1/build/F1.pdf") == "SP014",
"align include",
)
expect(
check_row({"architecture"}, "superfig", status="included", include=None) == "SP015",
"vector null include",
)
expect(
check_row({"table"}, "screenshot", status="included", include="nope.png", fig_id="F2")
== "SP016",
"screenshot path",
)
print("router_test ok")
+20
View File
@@ -0,0 +1,20 @@
schema: superpaper.ledger/v1
retired_ids: []
paper:
id: toy
title: Toy
source: {kind: excerpt}
coverage:
mode: excerpt
questions: []
claims:
- {id: C1, text: core claim, kind: contribution, status: core}
definitions: []
assumptions: []
lemmas: []
symbols: []
derivations: []
figures: []
evidence: []
terms: []
source_assets: []
+7
View File
@@ -0,0 +1,7 @@
\documentclass{article}
\usepackage{amsmath}
\begin{document}
% no label
hello
\end{document}