複製視圖
複製 Canvas 或 DOM 的輸出,而不是原始 LaTeX source。
不變量
01 / 失效模式
頁面可以看起來完全正常,底下的式子卻早已變形。SSSP 把驗證放到 commit 之前,不再讓事後修復流程反過來猜原始來源。
複製 Canvas 或 DOM 的輸出,而不是原始 LaTeX source。
\b、\t 或 \n 等序列被解碼成控制字元。
寬泛的 repair regex 修好一個 delimiter,卻破壞其他合法 TeX。
渲染視圖 → 複製 → 猜來源 → 修復討論 → canonical source → 驗證 → 渲染02 / 協定解剖
Canonical document 是具型別、具版本的物件;export 由它編譯而來,audit trail 記錄它如何改變。用下方控制項,查看同一個節點在三種視角下的樣子。
{
"id": "eq-0001",
"type": "math_block",
"latex": "\\forall x\\in X,\\;P(x)",
"checksum": "sha256:4b8c…e21f"
}具型別資料才是權威;delimiter 並不屬於 math payload。
## Stability claim
$$
\forall x\in X,\;P(x)
$$
<!-- derived from eq-0001 -->Markdown 從 canonical data 產生,任何時候都能重新編譯。
{
"operation": "append_node",
"revision_before": 2,
"revision_after": 3,
"actor": "assistant",
"reason": "add stability claim"
}版本、操作者、原因與校驗和都跟著 mutation record 走。
具型別的學術節點,加上 semantic 與 claim ledgers。
Create、append、replace 都受 revision 與 checksum 保護。
七個工具,可透過 stdio 或 basic Streamable HTTP 使用。
03 / 可執行介面
代理透過明確的操作改變 canonical document;讀取、驗證、export 與 snapshot 都是具名步驟,而不是藏在背後的副作用。
sssp.create_document建立 canonical document。sssp.append_node附加一個具型別節點,驗證後才原子提交。sssp.replace_node以 revision 與 checksum 衝突保護取代單一節點。sssp.read_node不經 rendered export,直接讀 canonical data。sssp.validate_document執行結構、字元與 MathJax 驗證。sssp.export_document編譯衍生的 Markdown 視圖。sssp.commit_version建立不可變、已驗證的 snapshot。控制字元、PUA、zero-width marker、校驗和、重複 ID 與 TeX 基礎結構。
建立已驗證 snapshot 前,MathJax 會解析每個 canonical math block。
Claim consistency、symbol drift 與 semantic diff 仍是研究工作,不是現在式保證。
04 / 狀態與邊界
SSSP v0.2 已可執行並通過測試,但還不是 production multi-writer 學術服務。公開網站負責說明協定,不會裸露一個未驗證身分的寫入端點。
git clone https://github.com/kakon77777-commits/SSSP.git
cd SSSP
npm install
python src/mcp_server.py