feat: gate writer sections on a % teach: block (SP025)

Rewrite references/pedagogy.md around recite-vs-teach: reader model,
coverage density (sections_in is cite permission, not a to-do list),
intuition-before-formula three-beat, and paper-jump filling.

Every notes/sections/sec-*.tex must now answer gap / takeaway / jump /
omit above the first \section. lint.py checks presence only (it cannot
judge honesty); files opening with "% generated by" are exempt.

- scripts/lint.py: SP025 + is_writer_section / teach_gaps helpers
- tests/no-teach-block/: fixture with takeaway only, wired into test.sh
- examples/*: all 14 writer sections get real teach blocks
- SKILL.md, references/{agents,antipatterns,checklist}.md, DESIGN.md,
  assets/notes-template.tex: route writers and consistency agent
  through pedagogy.md
This commit is contained in:
dela
2026-09-17 10:06:54 +08:00
parent 49842c5153
commit 5170111823
26 changed files with 373 additions and 16 deletions
+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: []
+5
View File
@@ -0,0 +1,5 @@
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\input{sections/sec-01}
\end{document}
@@ -0,0 +1,4 @@
% takeaway: 有 takeaway,但缺 gap / jump / omit —— 闸门没走完
\section{一次前向与损失}
\splabel{C1}
前向只负责预测;损失在预测之后单独比较。