DLV-O1, DLV-O3, DLV-O4: the indexer answers its first views and says its views family

The indexer's tools bundle runs in a runtime of its own on its own account
(runs-as) and serves the first-view tools manifests, modules and verdicts,
each answering only the callers its manifest writes (ADR 0621 §1-§2, ADR
0622 §1), and the nine read tools of design 25 § 12.2. The process says each
change of its ten read states on the family indexer-views in its old streams
section (7 days, 256 MiB), with a mark per state the first view answers its
revision from, so a reader that takes the answer misses no event after it
(ADR 0615 §4-§5). The shared shape lives in sdk/views: event, answer, mark,
the emitter, the tools and the reader's follower.

Issue 1966.

Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
2026-11-04 12:22:26 +01:00
parent ae31b66a9e
commit 5d7fff91ce
15 changed files with 1582 additions and 19 deletions
+26 -3
View File
@@ -2,6 +2,7 @@
"module": "mesh-delivery-indexer",
"version": "1",
"slug": "indexer",
"runs-as": "mesh-delivery-indexer",
"claims": [
{
"name": "mesh-catalog",
@@ -18,7 +19,19 @@
"indexer_take_in",
"indexer_old_sections",
"indexer_verdicts",
"indexer_judge"
"indexer_judge",
"manifests",
"modules",
"verdicts",
"indexer_read_manifests",
"indexer_read_modules",
"indexer_read_predefined",
"indexer_read_config_candidates",
"indexer_read_candidates",
"indexer_read_packages",
"indexer_read_graph",
"indexer_read_heard",
"indexer_read_taken"
],
"consumes": [
"mesh-build-go.toolchain.reported",
@@ -38,7 +51,12 @@
{ "name": "verdicts", "history": 5 },
{ "name": "oldsections", "history": 1 },
{ "name": "packages", "history": 5 },
{ "name": "graph", "history": 5 }
{ "name": "graph", "history": 5 },
{ "name": "view-marks", "history": 1 },
{ "name": "findings", "history": 5 }
],
"streams": [
{ "name": "indexer-views", "events": ["views.**"], "max-age-days": 7, "max-mib": 256 }
],
"emits": [
"manifest-refused",
@@ -115,7 +133,12 @@
"binary": "mesh-delivery-indexer-tools",
"loads": [
"mesh-delivery-indexer-tools"
]
],
"env": {
"MESH_VIEW_CALLERS_MANIFESTS": "mesh-grants,node-tools,mesh-delivery-assigner",
"MESH_VIEW_CALLERS_MODULES": "mesh-grants,node-tools,mesh-delivery-assigner",
"MESH_VIEW_CALLERS_VERDICTS": "mesh-grants"
}
}
]
}