FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
monorepo scaffoldとshared contractsを整備する
後続機能が共通のpackage identity、言語間契約、参照evidenceから始められる基盤を作る
目的
database、同期、Control Center、Public Web、編集実行を依存順に構築するため、共通のworkspace構成と純粋なcontractが必要だった。
read-only参照から取り込むsourceとdesignをcontent-addressed evidenceへ固定し、変更時のstale判定まで共通化する必要があった。
実装
8つのworkspace packageと依存graphを作り、applicationとserviceにはbuild可能な最小shellだけを置いた。shared packageはfilesystem、network、processへ依存しないpure contractとして、編集identity、draftとarticle、canonical JSON、Unicode scalar単位の分割、screening envelopeを定義する。
- local controlのprotocol、固定error、service操作をTypeScriptとSwiftのgolden fixtureで一致させる。
- serverとControl Centerが公開するoperation集合の欠落と余分を検出する。
- productとdesignのgenerationからreference setを導出し、consumer evidenceをappend-onlyで記録する。
- source変更時のstale伝播と、正当なcarry-forwardだけを再計算可能にする。
- 指定した参照系列との不一致、境界外path、symlink、hardlink、ignored・secret疑い・未reviewのuntracked fileをfail closedで拒否する。
secret scanとpolicy auditを用意し、package graph、pure contract境界、legacy要素の不在、参照snapshotの不変条件を同じ検証入口から確認できるようにした。
一次Commitで追加されたshared editorial contractから、draft identity、記事本文、複数担当のcontributionをstrict schemaで固定する部分を示す。source配列と一意性refinementは後段から省略した。
図を描画しています…
確認したこと
確認結果
8つのpackageすべてでbuildとtypecheckが通った。
TypeScriptの13件とSwiftの1件のtestが通り、言語間contractが一致した。
live read-only reference検証と、75 fileのsecret scanが通った。
90件の要件と50件の受入条件に重複や監査errorがなかった。
scaffold、shared contracts、参照snapshot基盤は対象へ反映された。database、画面、実同期、外部resourceなど後続機能はcutoff時点で未実装だった。
完了とした根拠
8 packageのscaffold、編集・local control・参照snapshotのpure contract、言語間fixture、fail-closedな参照・secret policyを実装し、build、test、live参照、仕様監査を通過したことをもって完了とした。