Files
llm-wiki/harness/source/artifact-schemas/ca-skeleton-frontend/build-manifest.schema.json
T

54 lines
2.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "ca-skeleton-frontend/build-manifest.schema.json",
"title": "artifacts/release/build-manifest.json",
"description": "pnpm build 산출물. 세 branch 가 각각 다른 필드 집합을 제안하던 것을 합집합으로 확정한다 — bootstrap(FE-NFR-C04 build context), build-bundle(SLSA provenance), release-cache(release coherence 입력). 필드 추가·rename 은 Schema Owner 단독 결정이며 소비 branch 는 imports pin 으로 따라온다.",
"type": "object",
"additionalProperties": true,
"required": ["buildId", "commit", "builtAt", "buildContext", "assetManifestHash"],
"properties": {
"buildId": {
"type": "string",
"description": "release 식별자. build-bundle D7 provenance 최소선."
},
"commit": {
"type": "string",
"description": "빌드 대상 commit sha. build-bundle D7."
},
"builtAt": {
"type": "string",
"format": "date-time",
"description": "빌드 완료 시각(UTC ISO-8601)."
},
"buildContext": {
"type": "object",
"description": "FE-NFR-C04. hub §14.1 'context 가 없는 숫자는 evidence 로 인정하지 않는다' 를 만족시키는 최소 build context. bootstrap 이 제안한 nodeVersion/pnpmVersion/runnerImage 를 한 객체로 묶었다.",
"required": ["nodeVersion", "packageManagerVersion", "runnerImage"],
"additionalProperties": true,
"properties": {
"nodeVersion": { "type": "string" },
"packageManagerVersion": { "type": "string" },
"runnerImage": { "type": "string" }
}
},
"assetManifestHash": {
"type": "string",
"description": "hashed asset set 의 집계 해시. release-cache 가 release coherence 판정 입력으로 소비한다."
},
"assets": {
"type": "array",
"description": "산출된 hashed static asset 목록.",
"items": {
"type": "object",
"required": ["path", "contentHash", "bytes"],
"additionalProperties": true,
"properties": {
"path": { "type": "string" },
"contentHash": { "type": "string" },
"bytes": { "type": "integer", "minimum": 0 }
}
}
}
}
}