240 lines
9.2 KiB
YAML
240 lines
9.2 KiB
YAML
schema-version: 1
|
|
claims:
|
|
- id: C-IDENTITY
|
|
type: factual
|
|
statement: 이 저장소는 자연어로 받은 콘텐츠 요청을 문서, 기술 그림, 이미지로 만드는 파이썬 프로젝트입니다.
|
|
section: overview
|
|
sources: [{fact-id: F-IDENTITY}, {fact-id: F-SIBLING-HARNESSES}]
|
|
status: supported
|
|
|
|
- id: C-SHOWCASE-STATUS
|
|
type: factual
|
|
statement: 아래 세 파일은 `p6-all-harness-quality-executable-clean-architecture-20260717` 실행에서 검토와 통합 검증을 통과한 결과입니다.
|
|
section: showcase
|
|
sources: [{fact-id: F-README-SHOWCASE}]
|
|
status: supported
|
|
|
|
- id: C-SHOWCASE-PROVENANCE
|
|
type: factual
|
|
statement: "[산출물 출처 기록](docs/assets/readme-showcase/provenance.yaml)에는 원본 실행 경로, 파일별 SHA-256 해시, 크기, 검토 상태가 들어 있습니다."
|
|
section: showcase
|
|
sources: [{fact-id: F-README-SHOWCASE}]
|
|
status: supported
|
|
|
|
- id: C-PREREQUISITES
|
|
type: factual
|
|
statement: 기본 실행에는 `Python 3`, `PyYAML`, `jsonschema`가 필요합니다.
|
|
section: quick-start
|
|
sources: [{fact-id: F-PREREQUISITES}]
|
|
status: supported
|
|
|
|
- id: C-INSTALLATION-LIMIT
|
|
type: factual
|
|
statement: "`pyproject.toml`, `requirements.txt` 같은 패키지 설정 파일도 없습니다."
|
|
section: quick-start
|
|
sources: [{fact-id: F-NO-PACKAGE-MANIFEST}]
|
|
status: supported
|
|
|
|
- id: C-CMD-CONTENT-JOB
|
|
type: factual
|
|
statement: python3 -m packages.content_job_contract.validate_content_job examples/clean-architecture/content-job-request.yaml --repo-root .
|
|
section: quick-start
|
|
sources: [{fact-id: F-EXAMPLE-CHAIN}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-CONTENT-JOB
|
|
type: factual
|
|
statement: 2026-07-19 실행에서는 종료 코드 0으로 끝났습니다.
|
|
section: quick-start
|
|
sources: [{fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CMD-FRONT-DOOR
|
|
type: factual
|
|
statement: python3 -m packages.workflow_runtime.content_runtime front-door --workflow-request examples/clean-architecture/workflow-request.content-job.yaml --repo-root .
|
|
section: quick-start
|
|
sources: [{fact-id: F-EXAMPLE-CHAIN}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-FRONT-DOOR
|
|
type: factual
|
|
statement: "2026-07-19 실행에서는 종료 코드 0과 `primary_capability: document-writing` 계획을 확인했습니다."
|
|
section: quick-start
|
|
sources: [{fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-DOCUMENT-CAPABILITY
|
|
type: factual
|
|
statement: 독자, 글의 순서, 근거 연결, 그림이 필요한 위치를 정합니다.
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-DOCUMENT}]
|
|
status: supported
|
|
|
|
- id: C-TECHNICAL-CAPABILITY
|
|
type: factual
|
|
statement: 코드와 문서에서 확인한 관계를 의미 모형으로 만들고 D2로 렌더링합니다.
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-TECHNICAL}]
|
|
status: supported
|
|
|
|
- id: C-IMAGE-CAPABILITY
|
|
type: factual
|
|
statement: 사진, 일러스트, 재질, 분위기처럼 유기적인 래스터 이미지를 만듭니다.
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-IMAGE}]
|
|
status: supported
|
|
|
|
- id: C-RUNTIME-CAPABILITY
|
|
type: factual
|
|
statement: "`workflow-runtime`은 요청 검사, 분기, 작업 순서, 재시도, 결과 취합을 담당합니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-RUN-WORKSPACE}]
|
|
status: supported
|
|
|
|
- id: C-INTEGRATIONS
|
|
type: factual
|
|
statement: "`Markdown`, `Slides`, `HTML` 어댑터는 작업 실행기가 확정한 게시 자료만 받습니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-CONTRACT-CHAIN
|
|
type: factual
|
|
statement: 파일 계약은 `ContentJobRequest` → `Content Manifest` → `Narrative Plan` → `Visual Request` → `ArtifactSet` → 게시 자료 순서로 이어집니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-CONTRACT-CHAIN}]
|
|
status: supported
|
|
|
|
- id: C-ROUTING
|
|
type: factual
|
|
statement: 그림 요청이 기술 관계만 포함하면 `technical-visualization`, 이미지 표현만 포함하면 `image-generation`으로 보냅니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-ROUTING}]
|
|
status: supported
|
|
|
|
- id: C-ACCEPTANCE-BOUNDARY
|
|
type: factual
|
|
statement: 구조 검사만 통과한 결과는 바로 게시하지 않습니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-CAPABILITY-DOCUMENT}, {fact-id: F-CAPABILITY-TECHNICAL}, {fact-id: F-CAPABILITY-IMAGE}, {fact-id: F-PORTABLE-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-FLOW-RELATIONSHIPS
|
|
type: factual
|
|
statement: "`workflow-runtime`이 세 하네스로 요청을 나누고, 검토를 마친 결과를 게시 자료로 합칩니다."
|
|
section: execution-model
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-CONTRACT-CHAIN}, {fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-DEPENDENCY-DIRECTION
|
|
type: factual
|
|
statement: 정본 의존 방향은 도구 연결부 → 하네스 → 공통 계약입니다.
|
|
section: architecture
|
|
sources: [{fact-id: F-REPOSITORY-LAYERS}, {fact-id: F-SIBLING-HARNESSES}, {fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-VERIFICATION-DATE
|
|
type: factual
|
|
statement: 아래 결과는 2026-07-19에 저장소 루트에서 확인했습니다.
|
|
section: verification
|
|
sources: [{fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CMD-CONTENT-MANIFEST
|
|
type: factual
|
|
statement: python3 -m packages.content_contract.validate_content examples/clean-architecture/content-manifest.yaml --repo-root .
|
|
section: verification
|
|
sources: [{fact-id: F-EXAMPLE-CHAIN}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-CONTENT-MANIFEST
|
|
type: factual
|
|
statement: 결과는 `VALID`, 종료 코드 0입니다.
|
|
section: verification
|
|
sources: [{fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CMD-ARTIFACT-SET
|
|
type: factual
|
|
statement: python3 -m packages.artifact_contract.validate_artifact_set examples/clean-architecture/artifact/attempt-01/artifact-set.yaml --request examples/clean-architecture/visual-request.yaml
|
|
section: verification
|
|
sources: [{fact-id: F-VERSIONED-VISUALS}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-ARTIFACT-SET
|
|
type: factual
|
|
statement: 이 명령은 버전 관리되는 계약 예시를 검사하며 새 그림을 렌더링하지 않습니다.
|
|
section: verification
|
|
sources: [{fact-id: F-VERSIONED-VISUALS}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CMD-LAYOUT-TEST
|
|
type: factual
|
|
statement: python3 -m unittest tests.conformance.test_repository_layout
|
|
section: verification
|
|
sources: [{fact-id: F-TEST-INVENTORY}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-LAYOUT-TEST
|
|
type: factual
|
|
statement: 구성 검사 18개가 통과했습니다.
|
|
section: verification
|
|
sources: [{fact-id: F-TEST-INVENTORY}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CMD-FULL-SUITE
|
|
type: factual
|
|
statement: "python3 -m unittest discover -s tests -p 'test_*.py'"
|
|
section: verification
|
|
sources: [{fact-id: F-TEST-INVENTORY}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-RESULT-FULL-SUITE
|
|
type: factual
|
|
statement: 전체 테스트 300개가 615.249초에 통과했습니다.
|
|
section: verification
|
|
sources: [{fact-id: F-TEST-INVENTORY}, {fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-E2E-PREREQUISITES
|
|
type: factual
|
|
statement: "외부 입력을 준비하는 방법은 [종단 간 작업 안내](tests/end-to-end/README.md)에 있습니다."
|
|
section: verification
|
|
sources: [{fact-id: F-E2E-INPUTS}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-PACKAGING
|
|
type: factual
|
|
statement: 패키지 설정 파일과 버전 고정값이 없어 하나의 재현 가능한 설치 명령을 제공하지 못합니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-NO-PACKAGE-MANIFEST}, {fact-id: F-PREREQUISITES}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-RUNS
|
|
type: factual
|
|
statement: "`runs/`는 버전 관리 대상이 아닙니다."
|
|
section: limitations
|
|
sources: [{fact-id: F-RUNS-NONCANONICAL}, {fact-id: F-README-SHOWCASE}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-E2E
|
|
type: factual
|
|
statement: 일부 종단 간 작업에는 외부 Java·Gradle 저장소, 원문, 완료된 전문가 검토 파일이 필요합니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-E2E-INPUTS}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-BENCHMARKS
|
|
type: factual
|
|
statement: 문서 작성과 이미지 생성 평가는 자료 구조만 정의돼 있고 결과는 아직 없습니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-BENCHMARK-MATURITY}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-HYBRID
|
|
type: factual
|
|
statement: "`d2-svg-layer-compositor`는 자동 검사에 통과했지만 사람 검토가 남아 있어 정식 렌더러로 분류하지 않습니다."
|
|
section: limitations
|
|
sources: [{fact-id: F-HYBRID-PENDING}]
|
|
status: supported
|