CAT-K1: mesh-knowledge asks for its records as a ledger, its states and its reviews stream, and says the new events
The manifest keeps postgres-database until the drop and asks, in the typed form, the ledger records (a type for each kind, the operations of the move), the states drafts, asked, findings and sent, and the stream reviews (kept for good, refusing when full, granted by the trusted value readers). It consumes claude-code's judged and says the eleven new events. The mesh-delivery indexer's judge accepts it (checked against main). Issue 1966. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -3,7 +3,81 @@
|
||||
"version": "1",
|
||||
"slug": "knowledge",
|
||||
"requires": [
|
||||
"postgres-database"
|
||||
"postgres-database",
|
||||
{
|
||||
"name": "records", "storage": "ledger", "template": "ledger", "options": {"max-mib": 1024},
|
||||
"types": [
|
||||
{
|
||||
"name": "decision",
|
||||
"schema": {
|
||||
"kind": {"type": "string"},
|
||||
"number": {"type": "integer"},
|
||||
"entry": {"type": "object"},
|
||||
"version": {"type": "object"},
|
||||
"pending-sections": {"type": "object"},
|
||||
"title": {"type": "string"},
|
||||
"text": {"type": "string"},
|
||||
"digest": {"type": "string", "digest-of": "text"},
|
||||
"why": {"type": "string"},
|
||||
"reason": {"type": "string"}
|
||||
},
|
||||
"operations": [
|
||||
{"name": "reserve", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "propose", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "write-section", "effect": "set-entry", "into": "pending-sections", "key": "title", "fields": ["title", "digest"], "sequence": true, "author": true},
|
||||
{"name": "submit", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "drop", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "import", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "form", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "take-over", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "review", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "ask", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "warrant", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "accept", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "withdraw", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "retract", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "draft", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "research",
|
||||
"schema": {
|
||||
"kind": {"type": "string"},
|
||||
"number": {"type": "integer"},
|
||||
"entry": {"type": "object"},
|
||||
"version": {"type": "object"},
|
||||
"pending-sections": {"type": "object"},
|
||||
"title": {"type": "string"},
|
||||
"text": {"type": "string"},
|
||||
"digest": {"type": "string", "digest-of": "text"},
|
||||
"why": {"type": "string"},
|
||||
"reason": {"type": "string"}
|
||||
},
|
||||
"operations": [
|
||||
{"name": "reserve", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "propose", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "write-section", "effect": "set-entry", "into": "pending-sections", "key": "title", "fields": ["title", "digest"], "sequence": true, "author": true},
|
||||
{"name": "submit", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "drop", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "import", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "form", "effect": "set-fields", "fields": ["kind", "number", "entry", "pending-sections"], "sequence": true, "author": true},
|
||||
{"name": "take-over", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "review", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "ask", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "warrant", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "accept", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "withdraw", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "retract", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true},
|
||||
{"name": "draft", "effect": "set-fields", "fields": ["kind", "number", "entry"], "sequence": true, "author": true}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{"name": "drafts", "storage": "key-value", "template": "state", "options": {"key-ttl": true}},
|
||||
{"name": "asked", "storage": "key-value", "template": "state"},
|
||||
{"name": "findings", "storage": "key-value", "template": "state"},
|
||||
{"name": "sent", "storage": "key-value", "template": "state"},
|
||||
{"name": "reviews", "storage": "stream", "configuration": {"when-full": "refuse", "max-mib": 512, "max-age-days": "none", "grant": "readers"}}
|
||||
],
|
||||
"contributes": {
|
||||
"postgres-database": {
|
||||
@@ -74,7 +148,21 @@
|
||||
"imported",
|
||||
"drafted",
|
||||
"confirmed",
|
||||
"returned"
|
||||
"returned",
|
||||
"opened",
|
||||
"written",
|
||||
"removed",
|
||||
"ordered",
|
||||
"submitted",
|
||||
"dropped",
|
||||
"taken-over",
|
||||
"part-reviewed",
|
||||
"moved",
|
||||
"checked",
|
||||
"formed"
|
||||
],
|
||||
"consumes": [
|
||||
"claude-code.judged"
|
||||
],
|
||||
"uses": [
|
||||
"operator-channel"
|
||||
@@ -96,6 +184,11 @@
|
||||
"seat:mesh-delivery.groups"
|
||||
],
|
||||
"config": {
|
||||
"readers": {
|
||||
"type": "object",
|
||||
"description": "The modules heard on the reviews of records (the stream of each part's verdict), by name, each with why; empty grants none. Set only at the controller's terminal or on the operator's Approve.",
|
||||
"default": {}
|
||||
},
|
||||
"judge-model": {
|
||||
"type": "string",
|
||||
"description": "The model the knowledge base's drafting and confirming judgements ask, by the agent's name for it, such as sonnet; empty is sonnet.",
|
||||
@@ -138,6 +231,15 @@
|
||||
"merge": "json",
|
||||
"template": "files/settings.json"
|
||||
},
|
||||
{
|
||||
"id": "readers",
|
||||
"type": "file",
|
||||
"path": "${dir:state}/readers.json",
|
||||
"mode": "0600",
|
||||
"takes-config": ["readers"],
|
||||
"merge": "json",
|
||||
"template": "files/readers.json"
|
||||
},
|
||||
{
|
||||
"id": "prepare",
|
||||
"type": "process",
|
||||
|
||||
Reference in New Issue
Block a user