Make five manifests the milestone changed pass the indexer's judge: an event in one place, one form per state, a digest of a text field, trusted and runtime config values (issue 1966)

messenger's refusal took its declaration of operator-channel out of the judged catalogue, so claude-code's use of it
was refused too. distribution's two remaining refusals (its program builds beside the artifact store it provides,
and its only health check is its own tool) are a design question left to the lead.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
2026-11-04 19:55:36 +01:00
parent b4e0518282
commit cea09d8a36
9 changed files with 24 additions and 26 deletions
@@ -148,7 +148,7 @@ func (f *fakeLedger) apply(r buscalls.ApplyRequest) (buscalls.Applied, error) {
continue
}
okType := map[string]func(any) bool{
"string": func(v any) bool { _, ok := v.(string); return ok }, "integer": func(v any) bool { _, ok := v.(float64); return ok },
"string": func(v any) bool { _, ok := v.(string); return ok }, "text": func(v any) bool { _, ok := v.(string); return ok }, "integer": func(v any) bool { _, ok := v.(float64); return ok },
"object": func(v any) bool { _, ok := v.(map[string]any); return ok },
}[field.Type]
if okType != nil && !okType(v) {
+3 -2
View File
@@ -17,7 +17,7 @@
"version": {"type": "object"},
"pending-sections": {"type": "object"},
"title": {"type": "string"},
"text": {"type": "string"},
"text": {"type": "text"},
"digest": {"type": "string", "digest-of": "text"},
"why": {"type": "string"},
"reason": {"type": "string"}
@@ -49,7 +49,7 @@
"version": {"type": "object"},
"pending-sections": {"type": "object"},
"title": {"type": "string"},
"text": {"type": "string"},
"text": {"type": "text"},
"digest": {"type": "string", "digest-of": "text"},
"why": {"type": "string"},
"reason": {"type": "string"}
@@ -242,6 +242,7 @@
"config": {
"readers": {
"type": "object",
"trusted": true,
"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": {}
},