MLF 1.0 · mlfc 1.0.0
English

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 --version
bash
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