Operator

Operator là thứ duy nhất trong cây thật sự làm việc. Luật định hình mọi thứ còn lại về nó được ghi đúng một lần, trong INDEX.md:

Một operator làm đúng một việc trong một lượt tuyến tính. Nó không gọi operator khác, không điều phối workflow, không tự dừng giữa chừng, không trả chỉ dẫn điều khiển dạng văn xuôi. Chỉ cha mới ánh xạ một output đã validate sang bước chuyển kế tiếp.

Gói operator

operators/<id>/ gồm năm file:

FileLà gì
operator.mdFile viết tay duy nhất: Việc, các mục luật riêng, rồi tám bảng
operator.vi.mdBản đối chiếu cho người; không bao giờ là authority lúc chạy
operator.jsonid, domain, job, và resources (profile, quyền, ba câu trả lời chính sách)
errors.jsonCác mã dừng operator này sở hữu, kèm cách xử lý, domain và fallback
validate.mjsThứ mà chỉ operator này kiểm được trên response của chính nó
self-test.mjsChứng minh validator; npm test chạy hết

templates/operator.template.md là contract mà scripts/validate-operator.mjs ép: tiêu đề phải là # <operator.id>, và tài liệu phải mang Việc, các mục luật tự do, Context, Đầu vào, Yêu cầu, Các bước, Đầu ra, Dừng và Kế tiếp, mỗi mục kèm bảng của nó. Validator sau đó đối chiếu các bảng đó với nhau, với errors/, và với templates/kinds.

Tám bảng

BảngCộtCố định điều gì
ContextAlias, Bind, Bắt buộcMọi vị trí operator được đọc, theo alias, và cách ràng buộc từng cái
Đầu vàoKind, Từ đâu, Bắt buộcCác kind mà một nhánh trước phải đã sinh ra
Yêu cầuTrường, Kiểu, Mặc định, HỏiNội dung request.json; trường có Mặc định là thì phải hỏi người
Các bước#, Bước, Tham số, Đọc, Ghi, Dừng vớiLượt tuyến tính, và mỗi bước được dừng với mã nào
Đầu raKind, File, Kiểu, Bắt buộcMọi file nhánh sinh ra và kind định kiểu cho nó
DừngMã, Cách xử lýMọi mã operator có thể phát ra
Kế tiếpKhi nào, OperatorMột response done được bàn giao đi đâu

Các mục luật nằm giữa Việc và Context là văn xuôi riêng của operator — architecture.decide mang “Quan sát trước khi đề xuất”, “Đang có sẵn không phải là thẩm quyền”, “Chứng minh, đừng giả định”, “Phản biện là một trao đổi lồng” và “Ranh giới”. Chúng được đọc như một phần của gói, và các trang tham chiếu chép lại nguyên văn.

Thẩm quyền nằm trong schema, không nằm trong văn xuôi

INDEX.md viết: “Thẩm quyền nằm trong schema của operator, không nằm ở file này hay ở SKILL.md. git.publish không diễn đạt được force push; release.deploy không chạy nổi khi thiếu authorization đã khai; uat.verify không có trường nào chứa nổi credential.” Một operator có vẻ cần nhiều hơn mức nó cho phép thì đó chính là câu trả lời, không phải một chướng ngại phải đi vòng.

Đọc một operator

Đừng nạp trước cả cây. Một operator ràng buộc tập chủ đề nhỏ nhất mà quyết định của nó cần, mỗi chủ đề kèm fingerprint và kho luật đầy đủ, và không được phát ra định danh nào ngoài kho đó. Các trang trong Tham chiếu → Operator chính là các file operator.vi.md như chúng đang có.