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
@@ -1,2 +1,7 @@
% teach:
% gap: 会写 $QK^\top$,但没想过收缩沿哪条边、$K^\top$ 要不要真的换面
% takeaway: 这一节问的是形状对齐,不是模块拓扑
% jump: none
% omit: 摘录之外的全文结构
\section{这篇论文在问什么}
每头的 $Q$ 和 $K$ 沿哪一条边收缩,$K^\top$ 要不要真的换面?
@@ -1,3 +1,8 @@
% teach:
% gap: 把 $K^\top$ 当成记号上的装饰,不当成一次真实的换面
% takeaway: 打分沿 $d_h$ 收缩,收缩边必须等长
% jump: fixture 只写 $QK^\top$,没说明转置是物理换面而非书写约定
% omit: 多头拼接与输出投影
\section{主张与贡献}
\splabel{C1}
打分是 $(T\times d_h)(d_h\times T)\to(T\times T)$。$K^\top$ 必须物理换面,收缩边等长。
@@ -1,2 +1,7 @@
% teach:
% gap: 不知道形状类的图该交给哪个子仓库
% takeaway: 主张是轴长与收缩边时走 supertensor
% jump: none
% omit: 模块拓扑(那是 superfig 的活)
\section{总结与延伸}
形状对齐的公式图只交给 supertensor。