템플릿 만들기·게시 · V2 계획
Template은 새 작업에 복사·적용할 수 있는 검증된 시작 상태입니다.
범위와 권위
이 문서는 Flow와 Project template의 작성·게시 흐름을 설명하는 V2 계획입니다. TemplateRelease의 serialization 형식과 실행 활성화는 승인된 sharing 계약이 소유하며, 그 계약은 현재 contract_only 상태입니다.
Component Node의 현재 보존선과 미래 V2 계약 권위는 「Component container V2와 서드파티 Node UI」입니다. 그 V2는 availability: contract_only이며 Node settings를 component-declared-settings@1로 선언당 최대 8개까지 받고 host control registry가 그립니다. Package가 제공하는 renderer·template asset은 허용하지 않습니다. 또한 Project authorization과 실행 trust P0가 닫힐 때까지 production의 모든 서드파티 Component 설치·실행은 계약상 허용하지 않습니다. 이는 현재 runtime gate가 구현됐다는 주장이 아니며, gate가 검증될 때까지 product activation을 끄라는 fail-closed 정책입니다.
먼저 종류를 선택
| 종류 | source | 사용 결과 |
|---|---|---|
| Flow template | exact Flow revision | 새 Flow |
| Project template | exact Project revision과 root Flow closure | 새 Project |
지금 선택할 수 있는 template kind는 위 표의 Flow template과 Project template입니다. Component template은 아래 「Component template은 다음 계약까지 유보」의 조건을 닫은 뒤 엽니다.
게시 순서
- Source와 template kind를 선택합니다.
- 포함할 dependency·asset·sample input을 확인합니다.
- Secret·개인정보·재배포 제한을 검사합니다.
- 사용자 preview와 manual을 작성하고 compatibility test를 실행합니다.
- Immutable candidate digest를 검토한 뒤 release를 게시합니다.
Component template은 다음 계약까지 유보
Component template의 작성·게시·적용은 구현 계획으로도 사용자 기능으로도 열지 않습니다. 다음 두 권위가 각각 versioned contract와 적합성 예제를 갖추고 승인된 뒤 successor에서만 추가합니다.
- setting value의 schema, validation, migration, diff와 persistence를 소유하는 별도 Component settings/template contract
- template preview나 editor가 rich UI를 요구할 경우 entry bytes, message envelope, capability, resource budget과 isolation을 소유하는 RFC-014 rich-surface admission
그전에는 Component package manifest에 template schema, template content, renderer, HTML/CSS/JS, font나 preview asset을 추가하지 않습니다. 예정된 필드나 packTemplate 구조를 이 문서의 예시로 미리 고정하지도 않습니다. 기존 V1 bytes와 non-empty settings를 읽는 호환성은 소급해 없애지 않지만, 그 호환성이 Component template 게시·실행을 허용하지는 않습니다.
Candidate에서 확인
- stable template key와 semantic version
- exact Flow/Project source revision과 destination compatibility
- required Flow dependency의 type·unit
- template content schema와 migration
- preview·font·locale dependency
- example data가 실제 고객 data를 포함하지 않는지
- manual과 screenshot이 현재 UI path를 설명하는지
Release와 update
게시된 release는 수정하지 않습니다. 변경은 새 version으로 게시합니다.
- compatible 설명·style 수정은 patch
- optional Flow block·Project asset 추가는 compatibility에 따라 minor
- required input, key, type·unit 또는 document schema 변경은 major
Update가 existing Flow·Project draft를 자동 덮어쓰지 않습니다. Impact와 diff를 보고 Apply합니다.
제거와 중단
Listing을 숨기거나 release를 deprecate해도 이미 생성된 Flow·Project와 그 dependency는 유지합니다. 보안상 block이 필요하면 이유, 영향과 안전한 replacement path를 표시합니다.