289 lines
13 KiB
YAML
289 lines
13 KiB
YAML
schema-version: 1
|
|
claims:
|
|
- id: C-IDENTITY
|
|
type: factual
|
|
statement: Content Harness는 자연어 기반 콘텐츠 요청을 문서 계획, 정확한 기술 시각화, 유기적 이미지 생성, 검토된 publication output으로 연결하는 provider-neutral Python 시스템입니다.
|
|
section: overview
|
|
sources: [{fact-id: F-IDENTITY}, {fact-id: F-CONTRACT-CHAIN}, {fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-SIBLING-MODEL
|
|
type: factual
|
|
statement: 이 저장소는 세 production harness를 sibling으로 유지하고, `workflow-runtime`만 라우팅·DAG 실행·결과 전달·publication을 조정하도록 책임을 나눕니다.
|
|
section: overview
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-ROUTING}]
|
|
status: supported
|
|
|
|
- id: C-DOCUMENT-CAPABILITY
|
|
type: factual
|
|
statement: "`document-writing`은 독자·서사·근거 연결·시각화 기회를 다루고, ContentJobRequest·Content Manifest·Narrative Plan·publication draft·Visual Request를 만듭니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-DOCUMENT}]
|
|
status: supported
|
|
|
|
- id: C-TECHNICAL-CAPABILITY
|
|
type: factual
|
|
statement: "`technical-visualization`은 근거에 묶인 semantic model, visual grammar, D2 렌더링, 문서·발표용 rendition을 소유합니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-TECHNICAL}]
|
|
status: supported
|
|
|
|
- id: C-IMAGE-CAPABILITY
|
|
type: factual
|
|
statement: "`image-generation`은 사진·일러스트·재질·분위기 같은 organic raster를 소유합니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-CAPABILITY-IMAGE}]
|
|
status: supported
|
|
|
|
- id: C-RUNTIME-CAPABILITY
|
|
type: factual
|
|
statement: "`workflow-runtime`은 contract validation, routing, cycle-free DAG, freshness, retry, immutable result 수집, integration dispatch, event와 portable output publication을 소유합니다."
|
|
section: capabilities
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-RUN-WORKSPACE}, {fact-id: F-PORTABLE-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-INTEGRATIONS
|
|
type: factual
|
|
statement: Markdown·Slides·HTML adapter는 runtime이 선택해 동결한 publication projection 하나만 소비하며, 내용·관점·route·renderer·provider를 다시 결정하지 않습니다.
|
|
section: capabilities
|
|
sources: [{fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-PREREQUISITES
|
|
type: factual
|
|
statement: 핵심 contract와 runtime은 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`, `setup.py`, `setup.cfg`, `Pipfile`, `poetry.lock`, `uv.lock`이 없어 하나의 정본 설치 명령을 제시할 수 없습니다.
|
|
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: 이 명령은 이번 README 작성 세션에서 exit code 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: "이 명령도 exit code 0으로 완료됐고 `primary_capability: document-writing`인 plan을 출력했습니다."
|
|
section: quick-start
|
|
sources: [{fact-id: F-EXECUTED-QUICK-CHECKS}]
|
|
status: supported
|
|
|
|
- id: C-CONTRACT-CHAIN
|
|
type: factual
|
|
statement: Contract chain은 `ContentJobRequest` → `Content Manifest` → `Narrative Plan` → `Visual Request` → `ArtifactSet` → frozen publication projection 순서로 책임을 좁혀 갑니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-CONTRACT-CHAIN}]
|
|
status: supported
|
|
|
|
- id: C-ROUTING
|
|
type: factual
|
|
statement: Visual Request의 신호가 technical-only이면 `technical-visualization`, image-only이면 `image-generation`, 둘 다이면 runtime-owned hybrid DAG로 라우팅됩니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-ROUTING}]
|
|
status: supported
|
|
|
|
- id: C-RUNTIME-OWNERSHIP
|
|
type: factual
|
|
statement: 각 harness는 plan 또는 immutable JobResult를 runtime에 반환합니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-ACCEPTANCE-BOUNDARY
|
|
type: factual
|
|
statement: 필수 review가 없는 유효한 technical 결과는 `produced`에 머물며 `accepted`나 integration-ready로 승격되지 않습니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-CAPABILITY-TECHNICAL}]
|
|
status: supported
|
|
|
|
- id: C-FLOW-VISUAL
|
|
type: factual
|
|
statement: 다음 흐름은 request와 contract가 runtime에서 sibling capability로 분기한 뒤 reviewed draft 또는 accepted ArtifactSet으로 합류하는 지점을 요약합니다.
|
|
section: execution-model
|
|
sources: [{fact-id: F-SIBLING-HARNESSES}, {fact-id: F-CONTRACT-CHAIN}, {fact-id: F-INTEGRATIONS}]
|
|
status: supported
|
|
|
|
- id: C-VERSIONED-FIXTURE
|
|
type: factual
|
|
statement: "`artifact/attempt-01/`에는 document·presentation·reveal-step SVG와 `accepted`/`ready` 상태의 manifest가 있지만, 이는 renderer-backed golden이 아니라 최소 contract fixture입니다."
|
|
section: artifacts
|
|
sources: [{fact-id: F-VERSIONED-VISUALS}]
|
|
status: supported
|
|
|
|
- id: C-LOCAL-P6-OUTPUT
|
|
type: factual
|
|
statement: "`runs/p6-all-harness-quality-executable-clean-architecture-20260717/output/` 아래에는 `final-document.md`, `index.html`, 전체 문서 `preview.png`, 문서·발표용 dependency-direction SVG, organic PNG 두 target, image candidate contact sheet와 validation manifest가 있습니다."
|
|
section: artifacts
|
|
sources: [{fact-id: F-LOCAL-CROSS-HARNESS-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-LOCAL-DOCVIS-OUTPUT
|
|
type: factual
|
|
statement: 문서와 기술 시각화를 함께 시험한 `runs/docvis-20260716-executable-clean-architecture-part1/`에는 통합 HTML, desktop·mobile 문서 preview, 두 figure의 target별 SVG와 PNG fallback, delivery·asset manifest가 있습니다.
|
|
section: artifacts
|
|
sources: [{fact-id: F-LOCAL-DOCUMENT-VISUALIZATION}]
|
|
status: supported
|
|
|
|
- id: C-LOCAL-IMAGE-OUTPUT
|
|
type: factual
|
|
statement: Best-of-three 이미지 예제인 `runs/img-20260716-japanese-animation-test/`는 3개 후보 중 attempt 2를 `BEST_OF_N_PASS`로 선택하고 `outputs/final-selected.png`를 남겼습니다.
|
|
section: artifacts
|
|
sources: [{fact-id: F-LOCAL-IMAGE-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-RUNS-POLICY
|
|
type: factual
|
|
statement: "`runs/**`는 `.gitignore` 대상인 로컬 immutable 실행 작업공간이며 cache나 source of truth가 아닙니다."
|
|
section: artifacts
|
|
sources: [{fact-id: F-RUNS-NONCANONICAL}, {fact-id: F-RUN-WORKSPACE}, {fact-id: F-PORTABLE-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-ASSET-PROMOTION
|
|
type: factual
|
|
statement: GitHub에서 지속되는 gallery가 필요하면 검토된 파일을 `examples/` 또는 별도 versioned 문서 asset 경로로 승격하고, provenance와 manifest를 함께 갱신해야 합니다.
|
|
section: artifacts
|
|
sources: [{fact-id: F-RUNS-NONCANONICAL}]
|
|
status: supported
|
|
|
|
- id: C-LAYER-OWNERSHIP
|
|
type: factual
|
|
statement: 이 소유권 지도에서 `.agents/.codex`는 adapter, `harnesses`는 capability 구현, `packages`는 contract와 runtime, `integrations`는 publication target을 담당합니다.
|
|
section: architecture
|
|
sources: [{fact-id: F-REPOSITORY-LAYERS}]
|
|
status: supported
|
|
|
|
- id: C-DEPENDENCY-DIRECTION
|
|
type: factual
|
|
statement: 정본 의존 방향은 adapter → harnesses → packages이며, `workflow-runtime`은 handler registry를 통해 harness를 실행하고 frozen projection만 integrations로 보냅니다.
|
|
section: architecture
|
|
sources: [{fact-id: F-REPOSITORY-LAYERS}, {fact-id: F-SIBLING-HARNESSES}, {fact-id: F-INTEGRATIONS}]
|
|
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`, exit code 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: 이 검증은 체크인된 contract fixture를 대상으로 하며 fresh renderer execution을 대신하지 않습니다.
|
|
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개 test가 통과했습니다."
|
|
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}]
|
|
status: supported
|
|
|
|
- id: C-FULL-SUITE-SCOPE
|
|
type: factual
|
|
statement: 전체 suite는 이번 README 작업에서 재실행하지 않았습니다.
|
|
section: verification
|
|
sources: [{fact-id: F-TEST-INVENTORY}]
|
|
status: supported
|
|
|
|
- id: C-E2E-PREREQUISITES
|
|
type: factual
|
|
statement: Renderer-backed E2E는 외부 Java/Gradle evidence repository, 외부 source document 또는 scope별 expert review 파일을 요구합니다.
|
|
section: verification
|
|
sources: [{fact-id: F-E2E-INPUTS}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-PACKAGING
|
|
type: factual
|
|
statement: dependency packaging manifest와 version pin이 없으므로 README는 임의의 패키지 설치 명령이나 최소 버전을 만들지 않습니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-NO-PACKAGE-MANIFEST}, {fact-id: F-PREREQUISITES}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-RUNS
|
|
type: factual
|
|
statement: 실제 PNG·SVG·HTML·Markdown 샘플은 로컬 `runs/`에 있지만 clean checkout이나 GitHub 링크의 영속성을 보장하지 않습니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-RUNS-NONCANONICAL}, {fact-id: F-LOCAL-CROSS-HARNESS-OUTPUT}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-BENCHMARKS
|
|
type: factual
|
|
statement: document-writing과 image-generation suite는 corpus만 정의되고 결과가 pending입니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-BENCHMARK-MATURITY}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-HYBRID
|
|
type: factual
|
|
statement: "`d2-svg-layer-compositor`의 자동 16-case 증거는 PASS지만 human Gate 3는 `PENDING`입니다."
|
|
section: limitations
|
|
sources: [{fact-id: F-HYBRID-PENDING}]
|
|
status: supported
|
|
|
|
- id: C-LIMIT-E2E
|
|
type: factual
|
|
statement: 전체 품질·dependency-direction·redraw 경로는 이 저장소만으로 완결되지 않고 외부 evidence/source와 완료된 expert review를 요구합니다.
|
|
section: limitations
|
|
sources: [{fact-id: F-E2E-INPUTS}]
|
|
status: supported
|
|
|
|
- id: C-DOCUMENTATION-MAP
|
|
type: factual
|
|
statement: 정본 설계는 `ARCHITECTURE.md`, 문서 색인은 `docs/README.md`, 실행 작업공간 정책은 `runs/README.md`에 있습니다.
|
|
section: documentation
|
|
sources: [{fact-id: F-REPOSITORY-LAYERS}, {fact-id: F-RUN-WORKSPACE}]
|
|
status: supported
|