qa-sre-learning-mvp

Portfolio Readiness Report

ポートフォリオ提出準備レポート

1. 目的

このレポートは、qa-sre-learning-mvp が QA/SRE 志向のポートフォリオMVPとして提示可能な状態にあるかを評価するものである。

このリポジトリは、構造化された学習データを対象に、小規模でありながら再現可能な品質パイプラインを示す。

主目的は、大規模なアプリケーションを構築することではない。むしろ、以下を実証することである。

2. エグゼクティブサマリー

現在の提出準備状況:

Status: Ready for v0.1.0 release candidate

このリポジトリは、以下のコマンドが local と CI の両方で成功する場合、小型の QA/SRE ポートフォリオMVPとして扱える。

bun run check

現在の実装は、以下のパイプラインを示している。

data/raw/learning-items.json
  -> schema validation
  -> source policy validation
  -> negative fixture tests
  -> quality report generation
  -> report freshness check
  -> dependency policy validation
  -> public safety check
  -> GitHub Actions quality gate

3. 実装済み機能

3.1 データスキーマ検証

Status:

Implemented

Evidence:

src/schemas/learning-item.schema.ts
src/cli/validate-data.ts

Validation command:

bun run validate:data

この検査により、data/raw/learning-items.json が期待される learning item schema に従っていることを確認する。

3.2 ソースポリシー検証

Status:

Implemented

Evidence:

src/application/validate-source-policy.ts
src/cli/validate-policy.ts
tests/validate-source-policy.test.ts

Validation command:

bun run validate:policy

source policy は、基本的な schema validation を超えたプロジェクト固有のルールを検査する。

例:

3.3 異常系 fixture coverage

Status:

Implemented

Evidence:

data/fixtures/invalid-learning-items.json
tests/invalid-fixture.test.ts

この機能により、品質システムが有効なデータを受け入れるだけでなく、不正なデータを拒否できることを確認する。

negative tests は以下を対象とする。

3.4 品質レポート生成

Status:

Implemented

Evidence:

src/application/build-quality-report.ts
src/cli/generate-report.ts
reports/quality-report.md
tests/build-quality-report.test.ts

Generation command:

bun run report

生成されるレポートには以下が含まれる。

3.5 レポート鮮度検査

Status:

Implemented

Evidence:

package.json

Validation command:

bun run report:check

この検査は reports/quality-report.md を再生成し、commit済みのレポートが古い場合に失敗する。

これにより、以下の状態を防ぐ。

data or report logic changed
  -> report was not regenerated
  -> stale report remains committed

3.6 依存関係の再現性

Status:

Implemented

Evidence:

package.json
bun.lock

Expected checks:

bun install --frozen-lockfile
bun run validate:dependencies

この検査により、依存関係のversionが管理され、CI環境でinstallを再現できることを確認する。

このリポジトリでは、以下のような依存関係指定を避けるべきである。

"latest"

3.7 公開安全性チェック

Status:

Implemented

Evidence:

scripts/check-public-safety.sh
package.json

Validation command:

bun run validate:public-safety

この検査は、public repository にcommitすべきでないファイルを検出する。

例:

3.8 統合品質ゲート

Status:

Implemented

Primary command:

bun run check

統合品質ゲートには以下が含まれる。

3.9 GitHub Actions 品質ゲート

Status:

Implemented

Evidence:

.github/workflows/quality-gate.yml

CI workflow:

checkout repository
  -> setup Bun
  -> bun install --frozen-lockfile
  -> bun run check
  -> upload quality-report artifact

GitHub Actions quality gate は、local checks が CI 上でも再現できることを検証する。

3.10 ドキュメント

Status:

Implemented

Evidence:

README.md
docs/architecture.md
docs/acceptance-criteria.md

現在のドキュメントは以下を扱う。

4. Acceptance Criteria Review

以下の表は、acceptance criteria に対する現在の準備状況をまとめたものである。

AreaStatusEvidence
Data schema validationPassbun run validate:data
Source policy validationPassbun run validate:policy
Negative fixturesPasstests/invalid-fixture.test.ts
Unit testsPassbun test
Quality report generationPassbun run report
Report freshnessPassbun run report:check
Dependency reproducibilityPassbun run validate:dependencies
Public safetyPassbun run validate:public-safety
Integrated quality gatePassbun run check
GitHub Actions quality gatePass.github/workflows/quality-gate.yml
Architecture documentationPassdocs/architecture.md
Acceptance criteria documentationPassdocs/acceptance-criteria.md

5. Local Verification Commands

このリポジトリをポートフォリオ成果物として提示する前に、以下を実行する。

bun run typecheck
bun test
bun run validate:data
bun run validate:policy
bun run validate:dependencies
bun run validate:public-safety
bun run report
bun run report:check
bun run check

Expected result:

All checks pass.

6. CI Verification

GitHub Actions workflow は以下で成功するべきである。

Workflow:

quality-gate

Workflow file:

.github/workflows/quality-gate.yml

Expected result:

quality-gate: success

CI run では、以下もartifactとしてuploadされるべきである。

quality-report

7. Portfolio Value

このリポジトリは、以下の QA/SRE 関連スキルを示す。

QA-Relevant Skills

SRE-Relevant Skills

Software Engineering Skills

8. Known Limitations

現在のMVPでは、以下はまだ検証していない。

これらの制約は、v0.1.0 では許容可能である。現在の目的は、小規模な QA/SRE 志向の validation pipeline を示すことであり、完全なproduction serviceを構築することではないためである。

9. Recommended Interview Explanation

簡潔な説明:

このリポジトリは、構造化された学習データを題材にした小型のQA/SRE志向MVPです。

ZodでJSONデータを検証し、プロジェクト固有のsource policy checkを適用し、invalid fixtureをtestし、決定的なquality reportを生成します。さらに、reportが最新であることを検査し、dependency reproducibilityを確認し、public repositoryに不適切なファイルをscanし、同じquality gateをGitHub Actionsで実行します。

目的は、大規模アプリケーションではなく、再現可能なquality pipelineを示すことです。

より技術的な説明:

このプロジェクトでは、schema validation、source policy validation、report generation、file I/O、CLI entry points、testsを別レイヤーに分離しています。

統合品質ゲートは `bun run check` として提供し、GitHub Actions上でも再現しています。生成されたreportはcommitされ、freshness checkにより、data、validation logic、report outputが乖離しないようにしています。

10. Current Readiness Decision

Current decision:

The repository is ready to proceed toward v0.1.0 release preparation.

Reason:

The core QA/SRE quality pipeline is implemented, documented, locally reproducible, and CI-verifiable.

11. Recommended Next Steps

Recommended next steps:

1. main 上で bun run check が成功することを確認する。

2. main 上で GitHub Actions quality-gate が成功することを確認する。

3. README と documentation links を確認する。

4. v0.1.0 release tag を作成する。

5. GitHub Release notes を追加する。

6. required quality-gate checks を伴う branch protection を検討する。

7. 任意で quality report を static site として公開する。

12. v0.1.0 Release Candidate Checklist

v0.1.0 をtaggingする前に、以下を確認する。

13. Final Assessment

qa-sre-learning-mvp は、以下を示す小型ポートフォリオMVPとして適している。

data quality
  -> validation
  -> negative tests
  -> report generation
  -> report freshness
  -> dependency reproducibility
  -> public safety
  -> CI quality gate
  -> documentation

このリポジトリは、今後、実装中心の作業から release preparation と presentation polish に移行するべきである。