MLF 1.0 · Compiler 1.0.0
要壓平以後再說。先把結構留住。
把結構化的工作縮減成單一 token 序列時,通常會掉的東西 —— 座標、區域、語意角色、公式、相依邊、遍歷路徑、呈現提示、來源歷程,以及一份「這次匯入載不動什麼」的明確紀錄 —— MLF 全部保住。
manifest.json
唯一的進入點。選定文件層級的資源;沒有別的東西可以自稱是根。
餵給
容器與完整性 —— 不屬於那四個指紋
取自 README.md 的封包版面,每個成員標上它所餵給的指紋。.mlf 檔就是這同一個目錄的決定性、ZIP 相容交換形式。
狀態
| 元件 | 狀態 |
|---|---|
| MLF 1.0 容器與 manifest | 穩定 |
| CSV/Markdown/有界 XLSX 編譯 | 穩定的參考實作 |
| 驗證、指紋、差異、遷移、安全匯出 | 穩定 |
| 執行排程與模型投影 | 受支援的參考層 |
| 推論帳本、覆核、校準、OOD、接收治理 | 研究/受治理的擴充 |
| 完整的 Excel 執行相容性 | 不主張 |
| 可用於生產的自動相依推論 | 不主張 |
已驗證
在乾淨的 runner 上跨 Python 3.11/3.12/3.13 重跑:54 項通過,外加 CLI 煙霧測試與發行版建置。
投影論題
只有一份結構是正典。其餘一切都是它的視圖。
MLF 先保住完整的結構。序列、張量、圖、執行與人類視圖,都是那個結構的可逆投影。
這就是為什麼這個格式把路徑存成資料而不是假設列優先、把樣式放在自己的檔案裡而不是混進儲存格、以及把匯入掉了什麼記下來,而不是端出一份它撐不起來的乾淨結果。
六層
架構把六件事分開。穩定的檔案格式住在 L1–L3;上面的層消費這個格式,不重新定義它。
- L0實體基底
- L1容器與完整性穩定格式
- L2矩陣知識模型穩定格式
- L3公式、相依、路徑與歷程圖穩定格式
- L4執行與模型投影
- L5人類投影與治理
L1–L3 承載穩定的檔案格式。L4 與 L5 消費它,但不重新定義它。
公式三元組
只要公式存在,MLF 就同時保留它的三種表示。
text
來源運算式
正規化 AST
明確的相依邊已驗證
三者之間的不一致是證據,而且必須被回報。沒有任何一層可以默默覆寫其他兩層。
身分不是位置
座標回答的是「這格現在出現在哪」。穩定 ID 回答的是「這筆紀錄代表哪一個語意物件」。一次轉換在儲存格移動時應該保留身分,在語意身分改變時應該建立新的身分。
跑跑看
需要 Python 3.11 以上。
bash
python -m pip install -e .
mlfc --versionbash
mlfc compile examples/input/sample.csv examples/output/sample.mlf --overwrite
mlfc validate examples/output/sample.mlf
mlfc inspect examples/output/sample.mlf
mlfc fingerprint examples/output/sample.mlf匯出一份獨立的安全投影 —— 來源永遠不會被覆寫:
bash
mlfc export examples/output/sample.mlf examples/output/sample.safe-copy.xlsx --target xlsx