{ "schema-version": 1, "mode": "bootstrap", "current": "APPLIED", "history": [ { "state": "INITIALIZED" }, { "state": "INPUT_CAPTURED", "gates": [ { "name": "request", "ok": true, "warnings": [], "data": null } ] }, { "state": "REPOSITORY_SNAPSHOTTED", "gates": [ { "name": "snapshot", "ok": true, "warnings": [], "data": { "diff-hash": "sha256:4d351050ecdfa25ea9e39b22c7c5bc0c686b60aa1f9fef7a02f86ae073151f1e" } } ] }, { "state": "FACTS_EXTRACTED", "gates": [ { "name": "facts", "ok": true, "warnings": [], "data": { "fact_ids": [ "F-README-CONTRACT-001", "F-IDENTITY-001", "F-STACK-001", "F-MODULES-001", "F-DEPENDENCY-POLICY-001", "F-CODE-BOUNDARY-001", "F-CORE-001", "F-COMPOSITION-001", "F-SAMPLE-001", "F-BOOTSTRAP-001", "F-HEALTH-001", "F-CONTAINER-001", "F-LOCKS-001", "F-CHECK-001", "F-VERIFICATION-COMMANDS-001", "F-DOCS-001", "F-TEMPLATE-LIMIT-001" ] } } ] }, { "state": "PROJECT_PROFILED", "gates": [ { "name": "profile", "ok": true, "warnings": [], "data": { "profile": "project-template" } } ] }, { "state": "README_PLANNED", "gates": [ { "name": "brief", "ok": true, "warnings": [], "data": null }, { "name": "outline", "ok": true, "warnings": [], "data": { "section_ids": [ "overview", "project-value", "architecture", "quick-start", "adoption", "verification", "documentation" ] } } ] }, { "state": "README_DRAFTED", "gates": [ { "name": "conformance", "ok": true, "warnings": [], "data": { "sections": [ "overview", "project-value", "architecture", "quick-start", "adoption", "verification", "documentation" ] } }, { "name": "claim_map", "ok": true, "warnings": [], "data": { "claims": [ "C-STACK-001", "C-POSITION-001", "C-MODULE-COUNT-001", "C-FORCED-DEPS-001", "C-FORCED-CODE-001", "C-FORCED-LOCKS-001", "C-FORCED-SAMPLE-001", "C-VISUAL-MEANING-001", "C-DOMAIN-001", "C-APPLICATION-001", "C-ADAPTERS-001", "C-SHARED-001", "C-BOOTSTRAP-MODULE-001", "C-SAMPLE-ROLE-001", "C-TWO-LAYERS-001", "C-PREREQUISITES-001", "C-BOOTSTRAP-COMMAND-001", "C-HEALTH-001", "C-BOOTSTRAP-SIDE-EFFECT-001", "C-CLEANUP-001", "C-IDENTITY-001", "C-ADOPT-SAMPLE-001", "C-NEW-MODULE-POLICY-001", "C-VERIFY-TEST-001", "C-VERIFY-ARCH-001", "C-VERIFY-SAMPLE-001", "C-VERIFY-CHECK-001", "C-CHECK-SCOPE-001", "C-DOCS-STRATEGY-001", "C-LIMIT-CHOICES-001", "C-LIMIT-LOCAL-001" ] } } ] }, { "state": "VISUALS_PLANNED", "gates": [ { "name": "visual_plan", "ok": true, "warnings": [], "data": { "visuals": [ "architecture-dependency-direction" ] } } ] }, { "state": "STRUCTURALLY_VALIDATED", "gates": [ { "name": "github_markdown", "ok": true, "warnings": [], "data": null } ] }, { "state": "TECHNICALLY_VERIFIED", "gates": [ { "name": "verify", "ok": true, "warnings": [], "data": { "schema-version": 1, "state": "PASS", "verification-level": "static", "execution-verified": false, "checks": { "commands": { "total": 6, "verified": 6, "manual-required": 0, "failed": 0 }, "paths": { "total": 9, "verified": 9, "failed": 0 }, "anchors": { "total": 0, "verified": 0, "failed": 0 }, "readme-contracts": { "total": 3, "verified": 3, "failed": 0 } }, "failures": [], "limitations": [] } }, { "name": "secret_scan", "ok": true, "warnings": [], "data": null } ] }, { "state": "QUALITY_REVIEWED", "gates": [ { "name": "review", "ok": true, "warnings": [], "data": { "verdict": "PASS", "score": 96, "findings": [ { "id": "QR-003", "severity": "minor", "category": "repository-contract", "section": "quick-start", "message": "저장소 테스트가 요구하는 README 호환성 literal 두 개가 최초 후보에서 누락됐다.", "evidence": [ "sampleOffTest 실제 실행에서 DeveloperExperienceContractTest.java:62가 실패했다.", "테스트가 요구하는 세 literal을 readme-contract fact로 추가하고 execution gate가 검사하도록 개선했다.", "후보에 비가시적 호환성 marker를 추가해 독자용 문구를 왜곡하지 않았다." ], "route-to": "FACTS_EXTRACTED", "status": "resolved" }, { "id": "QR-001", "severity": "minor", "category": "command-boundary", "section": "quick-start", "message": "bootstrap 내부 Docker preflight 설명이 직접 실행 명령처럼 추출될 수 있었다.", "evidence": [ "첫 기술 게이트가 inline docker info를 repository-facts에 없는 문서 명령으로 차단했다.", "수정 후 설명을 Docker CLI와 daemon 연결 확인이라는 서술로 바꾸고 재검증했다." ], "route-to": "README_DRAFTED", "status": "resolved" }, { "id": "QR-002", "severity": "minor", "category": "architecture-clarity", "section": "overview", "message": "초기 레이어 나열의 화살표가 의존 방향으로 오해될 여지가 있었다.", "evidence": [ "초기 domain → application → adapter → bootstrap 표기를 중립적인 책임 목록으로 변경했다.", "실제 의존 방향은 architecture Mermaid에서 별도로 명시한다." ], "route-to": "README_DRAFTED", "status": "resolved" } ] } } ] }, { "state": "READY_FOR_APPLY", "gates": [] }, { "state": "APPLIED", "gates": [] } ], "rework": { "iterations": 0, "findings": {} } }