| name | rapt-form-haarm |
| description | RAPTor haARM Worker。僅由 rapt-modeling 或 rapt-reconcile DELEGATE 呼叫,依 payload 渲染 haARM v3.3 YAML 檔案。不推斷、不填補 payload 以外內容。 |
| metadata | {"user-invocable":false,"source":"project-level","skill-type":"worker"} |
RAPTor Form haARM — haARM Renderer Worker
先遵守 rapt-core:
- LOAD REF [rapt-core::principles.md]
- LOAD REF [rapt-core::planner-worker-contract.md]
- LOAD REF [rapt-form-haarm::references/haarm-format-anchor.md]
TRIGGER
- Planner 透過 DELEGATE 傳入 payload 呼叫
rapt-form-haarm。
- payload 含 target path、source evidence、dsl version 與 write mode。
SKIP
- payload 缺少 target path 或 source evidence。
- requested write path 超出 Artifact Output Contract。
- 需要推斷或補充 payload 以外內容才能完成的 DSL artifact。
PRINCIPLE: Artifact Output Contract(只寫 payload.target_path)
PRINCIPLE: STRICT SOP
Artifact Output Contract
| 操作 | 路徑 | 說明 |
|---|
| CREATE / UPDATE | payload.target_path | 由 caller 指定的 .haarm.yaml 路徑 |
| DENY | payload.target_path 以外任何路徑 | |
| DENY | ASK 使用者 | |
SOP
步驟 0:ASSERT payload 完整性
ASSERT: payload.target_path 以 .haarm.yaml 結尾
ASSERT: payload.content.metadata 存在(含 version: "3.3.0")
ASSERT: payload.content.roles 存在且非空
ASSERT: payload.source_evidence 存在
ASSERT: payload.dsl_version == "3.3.0"
若失敗 → EMIT 錯誤,停止
步驟 2:LOAD format rules
LOAD REF [rapt-form-haarm::references/haarm-format-anchor.md]
步驟 3:RENDER haARM YAML
依 payload.content 渲染:
metadata:
title: {metadata.title}
version: "3.3.0"
namespace: {metadata.namespace}
actors: [...]
roles: [...]
resources: [...]
permissions: [...]
access_control: []
constraints: []
步驟 4:VALIDATE 反模式
對照 rapt-modeling::rules/haarm-v33-rules.md AP-01~AP-05。
若有違規:EMIT 錯誤給 caller,停止。
步驟 5:WRITE payload.target_path
步驟 6:EMIT 完成
✅ rapt-form-haarm: 已寫入 {target_path}({N} roles, {M} permissions)
Worker Failure Contract
Worker 遇到下列任一情況時,不得產生任何檔案,必須立即回傳結構化的失敗結果。
worker_result:
status: failed
failure_kind: invalid_payload | missing_evidence | contract_violation | dsl_lint_failed | unsupported_case
target_path: <payload.target_path>
message: <失敗原因>
required_action: <Planner 需執行的後續修正動作>