307 lines
8.1 KiB
JSON
307 lines
8.1 KiB
JSON
{
|
|
"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": {}
|
|
}
|
|
} |