Skip to content

[EPIC][v1.0.0] Mac向けenterprise product release Definition of Done #105

Description

@tuzuminami

Release verdict

現状は No-go。このepicは main@c4a13c4a022bc92b2a6ce359c6a317a957333262(2026-07-20時点) とGitHub Issue stateを基準に、Mac向けenterprise product levelのv1.0.0へ必要なrelease workを束ねる。

v1.0の製品境界

完了済み基盤(PRでclose済み)

これらはclosedであっても、後続Issueの変更後に#85/#115のrelease gateで再検証する。

P0 release blockers

P1 enterprise quality gates

Analysis / deliverables

Security / privacy / governance

Reliability / UX / operations

Critical path

  1. Public/release foundation: [P0][Legal] Apache-2.0 LICENSEを公式全文へ修復しGitHubのlicense検出を回復する #74[P0][CI] macOS品質gate・required checks・main保護を導入する #81[P0][Supply Chain] SBOM・transitive license・脆弱性・artifact provenanceをrelease gateにする #84[P0][Public Boundary] secret・PII・local path・release artifact scanをCI化する #104
  2. Trust boundary: [P0][Security] Local API全体を認証しlocalhost CSRFと不正ローカル操作を防止する #75 / [P0][Security] import/exportのファイル操作をTauriの明示選択scopeに限定する #77[P0][Security][Governance] v1.0のlocal-first trust boundary脅威モデルと検証マトリクスを確定する #114[P0][Network] loopback bindとruntime外部通信禁止をfail-closedで強制する #90 / [P0][Storage][Security] local data・DB・logs・runtime secretを最小権限で保護する #92[P0][Privacy] user・case・source参照をdataset-scoped keyed pseudonymへ置換する #91[P0][Privacy] maskingを安全なデータ境界にしraw PIIをAPI・保存・exportから除去する #76[P0][Security] CSV・Mermaid・Markdown・draw.io出力を文法別にescapeしinjectionを防止する #89
  3. Consent and lifecycle: [P0][Storage] project/案件単位でデータセットを完全分離する #40[P0][Consent] versioned consent receipt・purpose limitation・withdrawalをデータmodelへ追加する #93[P0][Consent] 実際の収集設定と一致する参加者向け説明書をローカル生成する #64 / [P0][Privacy][Storage] 保持期間ポリシーと自動削除を検証可能にする #53[P0][Privacy][Operations] アンインストールと全データ削除をscope付きで安全に完結する #54 / [P1][Audit] privacy-preserving local監査logと明示生成support bundleを実装する #94 / [P1][Privacy Governance] participant access・correction・withdrawal/delete requestをproject scopeで処理する #128; [P0][Storage][Security] local data・DB・logs・runtime secretを最小権限で保護する #92 / [P0][Privacy] user・case・source参照をdataset-scoped keyed pseudonymへ置換する #91[P0][Storage] 暗号化・検証可能なローカルbackup/restore/migrationを提供する #52[P1][Contract] API・backup・export schemaをversioningし互換性policyを定義する #86
  4. Safe import and mining evidence: [P0][Privacy] maskingを安全なデータ境界にしraw PIIをAPI・保存・exportから除去する #76[P0][Privacy][Import UX] CSV/JSONの列名を安全なmapping tokenへ変換し、previewからraw schema metadataを除去する #132[P0][UX] Finder file picker・drag and drop・save dialogでpath入力を不要にする #79[P0][Import] CSV/JSON importの破壊的replaceを明示mode・impact preview・transactionへ置換する #116; [P0][Privacy] maskingを安全なデータ境界にしraw PIIをAPI・保存・exportから除去する #76[P0][Mining UX] 案件スコープのラベル付けルールをUIで安全に編集・検証する #44[P1][Analysis] project・期間・case・activity filterを全画面と全exportで一貫適用する #100[P1][Analysis] findingsから元evidence・coverage・confidenceへtraceできるようにする #99[P1][Mining UX] バリアント分析を比較可能なevidence付き画面・exportにする #46 / [P1][Mining] ボトルネック候補を根拠・限界・改善仮説付きで説明可能にする #47 / [P1][Mining] アプリ切替を往復・中断・集中時間のevidenceとして分析・共有する #48
  5. External artifacts: [P0][Privacy] maskingを安全なデータ境界にしraw PIIをAPI・保存・exportから除去する #76 / [P0][Security] CSV・Mermaid・Markdown・draw.io出力を文法別にescapeしinjectionを防止する #89 / [P0][Privacy] user・case・source参照をdataset-scoped keyed pseudonymへ置換する #91 / [P0][Storage][Security] local data・DB・logs・runtime secretを最小権限で保護する #92 / [P1][Analysis] findingsから元evidence・coverage・confidenceへtraceできるようにする #99 / [P1][Analysis] project・期間・case・activity filterを全画面と全exportで一貫適用する #100 / [P1][Handoff Integrity] source dataset fingerprintとprocess artifact hashを分離しLLM handoffのtraceabilityを保証する #119 / [P0][Privacy][Export] activity・app・手動labelの外部共有分類と小標本再識別抑止を導入する #133[P1][UX][LLM Handoff] Mermaid用の手動LLM受け渡しをreview wizard化する #126[P1][Export UX] コンサル提出用のprivacy-safe成果物パッケージを生成する #50 / [P1][Report UX] 日英のevidence付き報告書テンプレート・編集・再生成を提供する #51. [P1][Privacy][Export] 保存先の同期・network・removable mediaを判定するmanaged export policyを導入する #127 is a shared export-destination gate.
  6. Mac product: [P0][macOS][Security] Tauriがlocal sidecarを所有するruntime基盤を先行実装する #107[P0][macOS] backendと記録agentを同梱した自己完結.appのlifecycleを実装する #78[P0][macOS][Security] 署名・notarization前提の配布パイプラインを整備する #57[P0][Quality] packaged .appのclean Mac E2Eとv1 release acceptanceを強制する #85. [P1][Recording] sleep/wake・clock change・agent crashでもsessionを正しく復旧する #95 / [P1][Privacy UX] 常時見える記録indicator・privacy zone・emergency pauseを追加する #98 / [P1][macOS][Privacy UX] permission preflight・revocation・import-only fallbackを実装する #124 / [P1][Recording Reliability] agent→API outage時のbounded queue・backpressure・visible safe pauseを実装する #130 attach to the same recording lifecycle; [P0][UX] 非エンジニア向けに復旧action付きエラー体験を統一する #63 / [P1][UX][IA] 初心者向けのタスク進行ナビゲーションと段階的な分析画面を設計する #125 make the journey non-engineer-safe.
  7. Cross-cutting quality: [P1][Security] import・HTTP・分析・exportにresource limitとcancelを導入する #88 supplies bounded resource/cancel primitives to [P1][UX] 長時間import・analysis・exportをbackground job化し進捗・cancel・retryを提供する #97; [P1][Storage][UX] stale revisionを拒否するmutation receiptとoptimistic concurrencyを実装する #122 supplies mutation receipts to [P1][UX][Data Safety] event編集・exclude・split・merge・bulk操作にrevision付きundo/redoを提供する #120; [P1][Accessibility] キーボード・VoiceOver・視覚的理解で主要journeyを完走可能にする #59 / [P1][i18n] 日英の用語・翻訳完全性・表示品質をrelease gate化する #60 / [P1][Quality] critical-path coverage・failure-injection・test skip policyをrelease gate化する #115 validate all critical journeys. [P1][OSS] SECURITY・CONTRIBUTING・CODE_OF_CONDUCT・SUPPORT・templateを整備する #103 / [P1][Release] version・SemVer・upgrade・rollback・support matrixをv1.0へ統一する #101 / [P1][Docs] 公開feature matrixを実装・UI・READMEと自動同期する #102 complete the public release boundary.

Definition of Done

  • P0/P1 checklistがすべてclose、または本epicにowner・理由・期限・user impactを持つ明示的なrelease exceptionが記録される
  • ./scripts/test.sh./scripts/lint.sh./scripts/check_licenses.sh./scripts/check_no_external_network.sh とCI required checksがpass
  • packaged artifactでinstall→first run→record/import→analyze→manual LLM handoff export→delete→quitを完走
  • signed/notarized/stapled artifact、SBOM、NOTICE、checksum、provenanceを検証
  • safe exportとsupport bundleにcanary PII/secretが0件
  • v0.1 dataのbackup/migration/rollbackを検証
  • Apple Siliconを必須検証し、Intel対応有無をrelease notesへ明記
  • README/日本語版/feature matrix/known limitations/support policyが実装と一致
  • tag/release/publishは別途Tuzumiの明示承認があるまで実行しない

Claude Code運用ルール

  • 1 Issue = 1 branch / PRを基本とし、本文の対象・非対象・依存関係を越えて実装を広げない。
  • 実装前に関連Issue、current main、schema/version、既存testを確認する。closed Issueのコードを前提にせず、acceptanceを現行treeで再検証する。
  • 各PRには Closes #<issue>、変更したcontract、実行した検証、残余risk、docs更新を記載する。
  • runtimeのnetwork、LLM、telemetry、recording禁止項目、OSS license境界を変更してはいけない。曖昧な判断は docs/OPEN_QUESTIONS.md に残す。
  • release/tag/publishはこのepicをcloseしても自動で実行しない。

検証記録

各IssueはPR、test evidence、残リスク、docs更新をリンクする。release candidate判定はこのepicへ Go / No-go / Conditional go として残す。

2026-07-20 バックログ整合更新

新規 release blocker

優先度と順序の補正

このepicのDefinition of Doneにある「P0/P1をすべてcloseまたは明示exception」は維持する。release/tag/publishはTuzumiの別途明示承認なしに行わない。

2026-07-20 release-tracking correction

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:governanceOSS governance, docs, and release policyepicTracks a multi-issue outcomepriority:P0Release blockerrelease:v1.0Targeted for OpsMineFlow v1.0.0

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions