Integrated Capstone
アクセシブルな静的レポート生成器をOSSとして公開・運営する
これは実施課題です。ページの閲覧や成果物の存在だけでは、完了・習得済みを主張できません。
Scenario
local prototypeを、監査済みJSONからJavaScriptなしの静的HTML・CSSレポートを生成するMIT OSSへ育てる。図はCSSとsemantic HTMLで表現しfile URLでも閲覧できる。公開repository、untrusted input、accessibility、deterministic build、CI、provenance、security response、第三者contribution、maintainer権限、90日roadmapまでを実証する課題である。
制約
- MIT licenseで公開し、prototype原本、秘密情報、個人情報、private archiveを公開履歴へ含めない
- 生成物はHTMLとCSSだけでfile URLから閲覧でき、client-side JavaScriptを含めない
- すべての図に同等のheading、table、listまたは文章構造を持たせ、keyboard、読み上げ、zoomを監査する
- 入力JSONをuntrusted dataとして扱い、unknown、duplicate key、型違反、path traversal、unsafe HTMLを拒否する
- 同一source snapshotから二回生成したartifactのbyte digestを一致させる
- CI green表示だけでなくtest、artifact digest、provenance subject、builder、release outcomeを独立検証する
- 第三者はissue、change、test、PR、review修正まで完遂できるがmergeとrelease権限はmaintainerに限定する
- SECURITY、Code of Conduct、CONTRIBUTING、governance、support、Errata、release policyを用意する
- clean-roomの第三者contributionを一件実施し、観測されたjourneyとblocked条件を記録する
- 90日間のsynthetic maintenance budget、bus factor、issue response SLO、release cadence、縮小条件を定義する
提出証拠
- Build
- MIT repository、strict input contract、deterministic static renderer、CSS-only graph、semantic equivalent、RED-GREEN-REFACTOR履歴、mutation、security test、accessibility audit、bounded performance report
- Operate
- fail-closed CI、verified digestとprovenance、releaseとrollback evidence、SECURITY・Errata・support route、issue response SLO、release incident drill、90日maintenance capacityとcost記録
- Explain
- 初参加者が同期説明なしでdiscover・prepare・submitできるcontribution journey、architecture・API・security・accessibility文書、plain-language governance、UTC decision log、公開roadmapと撤退条件
- Review
- clean-room第三者がfindingを含むissue・change・test・PRを提出し、maintainer review後にauthor fixを行う。別contributorが独立再評価し、入力schemaという単一制約だけを変更してdocs・CI・governance・release evidenceを再検証する
Milestone
- 対象利用者、problem、非目標、success metric、guardrail、privacy・accessibility impact、停止条件を定義する
- strict schemaと静的rendererをTDDで作り、unsafe input、determinism、performance、semantic equivalentを検証する
- repositoryをsanitizationし、OSS文書、template、review rule、CI、digest、provenance、release経路を整える
- clean-room第三者contributionを実施し、discoverからauthor fix・独立再評価までのobserved evidenceを監査する
- release incident drillを行い、issue SLO、maintenance cost、async governance、90日roadmapを更新する
レビュー質問
- 公開価値はREADME上の主張ではなく、どの利用者journeyと反証可能な観測で確認されたか
- untrusted inputがHTML、path、log、resource consumptionへ到達する境界で何を拒否するか
- CSS-onlyの図と同等のsemantic structureは情報量、順序、単位、関係を保持するか
- CI、digest、provenance、maintainer approval、release outcomeは同じartifactへ結び付くか
- 第三者contributorの成功が既存権限や口頭説明によらないことを何で証明するか
- open contributionとrelease decision rightsを分けながらappeal、bus factor、emergencyを扱えるか
統合するレッスン
- システム思考とエンジニアリングのトレードオフ
この課題では統合・補強して扱います。
- アルゴリズム選択を計算量と測定で検証する
この課題では統合・補強して扱います。
- 要求を発見し、境界と例外をドメインモデルへ結ぶ
この課題では統合・補強して扱います。
- API契約を失敗、再送、進化まで設計する
この課題では統合・補強して扱います。
- 変更理由でモジュール境界を設計しADRで更新する
この課題では統合・補強して扱います。
- TDDとリスク別テスト戦略で変更を証明する
この課題では統合・補強して扱います。
- 脅威モデルを設計・検証・残余リスクへ接続する
主評価: 資産、境界、攻撃経路、prevent・detect・recover、verification、残余riskを一つのtraceへ追跡する
- 負荷曲線と実測profileから安全容量を判断する
この課題では統合・補強して扱います。
- 利用者journeyからSLI、SLO、alert、runbookを導く
この課題では統合・補強して扱います。
- 人間中心設計で静的サイトの利用可能性を監査する
主評価: keyboard、zoom、読み上げを手動・機械監査し、適合と実利用journey成功を分けて検証する
- 静的グラフィックスを同等の情報構造として設計する
主評価: CSS-only graphと同等のtable・heading・文章について順序、単位、関係の同等性を検証する
- 反証可能な仮説から停止判断までを事前に設計する
主評価: 反証可能な利用者仮説、success metric、guardrail、停止条件を事前定義して継続判断を導く
- 読者の判断を支える設計文書とADRを構成する
この課題では統合・補強して扱います。
- 倫理・privacy・社会的影響を設計制約へ変える
この課題では統合・補強して扱います。
- 未知を残したままlegacy systemを安全に変更する
この課題では統合・補強して扱います。
- incident responseを検証可能な学習へ変える
この課題では統合・補強して扱います。
- CI・段階配信・supply chainを結果証拠で閉じる
主評価: CI、digest、provenance、canary、rollback outcomeを同一artifactへ追跡してreleaseを検証する
- engineering economicsで信頼性と容量へ投資する
この課題では統合・補強して扱います。
- コードレビューを協働品質システムとして運営する
主評価: priority、input evidence、actionable fix、author snapshot、別contributor再評価を一続きで実行する
- チームインターフェースで社会技術アーキテクチャを設計する
この課題では統合・補強して扱います。
- OSS governanceで貢献とリリースを持続可能にする
主評価: observed contribution journey、readiness条件、maintainer boundary、approval、release outcomeを監査する
- 時差と言語を越える非同期RFCを設計する
主評価: plain language、UTC期限、alternatives、dissent、response、reasoned resolutionを非同期RFCへ追跡する
- 証拠と撤退条件で技術方針を率いる
この課題では統合・補強して扱います。
評価基準
| Level | 観測可能な基準 |
|---|---|
| Incomplete | source公開またはlicense追加だけでOSS完成とし、利用者価値、安全な入力、accessibility、release outcome、第三者journeyを証明していない |
| Developing | repository、CI、文書、静的artifactはあるが、determinism、semantic equivalent、provenance検証、maintainer boundary、observed contributionのいずれかが宣言に留まる |
| Proficient | 利用者仮説から実装・accessibility・security・CI・release・governanceを追跡し、第三者contribution、修正、独立再評価、verified outcomeで価値を証明する |
| Exemplary | 未知入力、権限失効、security incident、maintainer不在でもfail closedかつ回復可能である。別timezoneの第三者が同期説明なしで再現しgovernanceを更新できる |