結構定義
協定版本 1 使用 JSON Schema Draft 2020-12:
https://json-schema.org/draft/2020-12/schema標準模型恰好有三個支柱:
- Vision —
research、prd、context - Loop —
triage、design-document、spec、ticket - Evidence —
adr、audit、record、drift
Drift 是 Evidence 類型,不是支柱。 前九種類型是 Markdown 文件類別;Record 和 Drift Event 則是 JSON 封套。
匯出項目
@langdrift/sdk/schema 匯出:
SCHEMA_VERSION,目前為字面值1schemas,每種產出物類型各有一個結構定義projectSchemapillarSchemas.vision、.loop和.evidenceartifactPillars,類型與支柱的對應關係
每個支柱結構定義都內嵌所需的定義與產出物格式,因此產生的結構定義檔案可獨立使用。
驗證行為
結構定義要求明確的 schema_version: 1。
產出物 ID 不可為空,也不可含空白字元。
Markdown 中繼資料需要 type、schema_version、id、title,以及至少一位擁有者。
Record、Drift Event、參照、actor 與專案欄位則分別定義。
若協定定義封閉的物件格式,便會拒絕未知屬性。 驗證器不會強制轉換型別、套用預設值、移除欄位或遷移不支援的版本。 格式檢查涵蓋日期、日期時間及其他協定專用字串。
x-langdrift 是附在標準 JSON Schema 斷言旁的協定指引。
它記錄文件類型、版本、套件管理的來源 glob、前置資料命名空間與必填欄位、參照關係、支柱及酬載資源等資訊。
一般 JSON Schema 驗證器可以忽略此擴充;LangDrift 則用它來描述解釋方式。
結構定義描述可攜式輸入。 它不會定義 Product Vision 公式,也不會證明後端、整合或 MCP 伺服器存在。