Module: Textus::Protocol::Boot::Protocol
- Defined in:
- lib/textus/protocol/boot/protocol.rb
Constant Summary collapse
- ENVELOPE_SHAPE =
{ "envelope_shape" => { "summary" => "every read/write payload is a JSON envelope with _meta, body, uid, and etag", "fields" => { "_meta" => "hash of structured frontmatter; schema-validated per entry family", "body" => "string payload (markdown/text) or nil for json/yaml formats", "uid" => "stable 16-char hex identifier; preserved across writes and key renames", "etag" => "content hash; pass back on writes to detect concurrent edits", }, }, }.freeze
Class Method Summary collapse
Class Method Details
.build(manifest) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/textus/protocol/boot/protocol.rb', line 17 def self.build(manifest) ENVELOPE_SHAPE.merge( "lanes" => lanes_for(manifest), "roles" => Textus::Protocol::V4::LANES.values.flat_map { |r| r[:writers] }.uniq, "discipline" => "When edit/write tools are blocked for a path, use `textus propose` to " \ "suggest changes for human review. Never use shell scripts (sed, python, rm) " \ "to bypass permission gates — that breaks the audit trail and bypasses role gates.", ) end |