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

  1. 対象利用者、problem、非目標、success metric、guardrail、privacy・accessibility impact、停止条件を定義する
  2. strict schemaと静的rendererをTDDで作り、unsafe input、determinism、performance、semantic equivalentを検証する
  3. repositoryをsanitizationし、OSS文書、template、review rule、CI、digest、provenance、release経路を整える
  4. clean-room第三者contributionを実施し、discoverからauthor fix・独立再評価までのobserved evidenceを監査する
  5. release incident drillを行い、issue SLO、maintenance cost、async governance、90日roadmapを更新する

レビュー質問

  1. 公開価値はREADME上の主張ではなく、どの利用者journeyと反証可能な観測で確認されたか
  2. untrusted inputがHTML、path、log、resource consumptionへ到達する境界で何を拒否するか
  3. CSS-onlyの図と同等のsemantic structureは情報量、順序、単位、関係を保持するか
  4. CI、digest、provenance、maintainer approval、release outcomeは同じartifactへ結び付くか
  5. 第三者contributorの成功が既存権限や口頭説明によらないことを何で証明するか
  6. open contributionとrelease decision rightsを分けながらappeal、bus factor、emergencyを扱えるか

統合するレッスン

  1. システム思考とエンジニアリングのトレードオフ

    この課題では統合・補強して扱います。

  2. アルゴリズム選択を計算量と測定で検証する

    この課題では統合・補強して扱います。

  3. 要求を発見し、境界と例外をドメインモデルへ結ぶ

    この課題では統合・補強して扱います。

  4. API契約を失敗、再送、進化まで設計する

    この課題では統合・補強して扱います。

  5. 変更理由でモジュール境界を設計しADRで更新する

    この課題では統合・補強して扱います。

  6. TDDとリスク別テスト戦略で変更を証明する

    この課題では統合・補強して扱います。

  7. 脅威モデルを設計・検証・残余リスクへ接続する

    主評価: 資産、境界、攻撃経路、prevent・detect・recover、verification、残余riskを一つのtraceへ追跡する

  8. 負荷曲線と実測profileから安全容量を判断する

    この課題では統合・補強して扱います。

  9. 利用者journeyからSLI、SLO、alert、runbookを導く

    この課題では統合・補強して扱います。

  10. 人間中心設計で静的サイトの利用可能性を監査する

    主評価: keyboard、zoom、読み上げを手動・機械監査し、適合と実利用journey成功を分けて検証する

  11. 静的グラフィックスを同等の情報構造として設計する

    主評価: CSS-only graphと同等のtable・heading・文章について順序、単位、関係の同等性を検証する

  12. 反証可能な仮説から停止判断までを事前に設計する

    主評価: 反証可能な利用者仮説、success metric、guardrail、停止条件を事前定義して継続判断を導く

  13. 読者の判断を支える設計文書とADRを構成する

    この課題では統合・補強して扱います。

  14. 倫理・privacy・社会的影響を設計制約へ変える

    この課題では統合・補強して扱います。

  15. 未知を残したままlegacy systemを安全に変更する

    この課題では統合・補強して扱います。

  16. incident responseを検証可能な学習へ変える

    この課題では統合・補強して扱います。

  17. CI・段階配信・supply chainを結果証拠で閉じる

    主評価: CI、digest、provenance、canary、rollback outcomeを同一artifactへ追跡してreleaseを検証する

  18. engineering economicsで信頼性と容量へ投資する

    この課題では統合・補強して扱います。

  19. コードレビューを協働品質システムとして運営する

    主評価: priority、input evidence、actionable fix、author snapshot、別contributor再評価を一続きで実行する

  20. チームインターフェースで社会技術アーキテクチャを設計する

    この課題では統合・補強して扱います。

  21. OSS governanceで貢献とリリースを持続可能にする

    主評価: observed contribution journey、readiness条件、maintainer boundary、approval、release outcomeを監査する

  22. 時差と言語を越える非同期RFCを設計する

    主評価: plain language、UTC期限、alternatives、dissent、response、reasoned resolutionを非同期RFCへ追跡する

  23. 証拠と撤退条件で技術方針を率いる

    この課題では統合・補強して扱います。

評価基準

4段階評価rubric
Level観測可能な基準
Incompletesource公開またはlicense追加だけでOSS完成とし、利用者価値、安全な入力、accessibility、release outcome、第三者journeyを証明していない
Developingrepository、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を更新できる