feat(agent): add online verification and governing-answer citations

Claim-bound online verification observations with URL provenance, exact
answer-basis references for citation-free governing-rule answers, and an
explicit operator identity handoff before source transfer. Bounds resumed
work by learning unit and refreshes pack manifest/contracts.
This commit is contained in:
vasily committed 2026-10-16 19:50:24 +08:00
1 parent bf268f3c5a
commit 3ef2c5cc31
19 files changed
+374 -55

No files matched your search

+48
View File
@@ -235,6 +235,30 @@
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
"name": "node_removal_list",
"transports": [
"http"
]
},
{
"capability": "knowledge:moderate",
"mutates_knowledge": false,
"name": "node_removal_request",
"transports": [
"http"
]
},
{
"capability": "knowledge:moderate",
"mutates_knowledge": false,
"name": "node_removal_restore",
"transports": [
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
@@ -244,6 +268,22 @@
"mcp"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
"name": "knowledge_browse",
"transports": [
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
"name": "knowledge_graph",
"transports": [
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
@@ -296,6 +336,14 @@
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
"name": "get_source_nodes",
"transports": [
"http"
]
},
{
"capability": "knowledge:read",
"mutates_knowledge": false,
@@ -32,6 +32,15 @@
"title": "Evidence Type",
"type": "string"
},
"online_evidence": {
"default": [],
"items": {
"$ref": "#/$defs/OnlineEvidence"
},
"maxItems": 20,
"title": "Online Evidence",
"type": "array"
},
"schema_version": {
"const": 1,
"default": 1,
@@ -282,6 +291,54 @@
"title": "NodeType",
"type": "string"
},
"OnlineEvidence": {
"additionalProperties": false,
"description": "A short online excerpt with its relationship to a claim and verification URL.",
"properties": {
"context": {
"maxLength": 4000,
"minLength": 1,
"title": "Context",
"type": "string"
},
"relation": {
"enum": [
"supports",
"contradicts",
"context",
"inconclusive"
],
"title": "Relation",
"type": "string"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"text": {
"maxLength": 8000,
"minLength": 1,
"title": "Text",
"type": "string"
},
"url": {
"maxLength": 4000,
"minLength": 1,
"title": "Url",
"type": "string"
}
},
"required": [
"url",
"text",
"relation",
"context"
],
"title": "OnlineEvidence",
"type": "object"
},
"ReviewState": {
"enum": [
"draft",
@@ -0,0 +1,48 @@
{
"additionalProperties": false,
"description": "A short online excerpt with its relationship to a claim and verification URL.",
"properties": {
"context": {
"maxLength": 4000,
"minLength": 1,
"title": "Context",
"type": "string"
},
"relation": {
"enum": [
"supports",
"contradicts",
"context",
"inconclusive"
],
"title": "Relation",
"type": "string"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"text": {
"maxLength": 8000,
"minLength": 1,
"title": "Text",
"type": "string"
},
"url": {
"maxLength": 4000,
"minLength": 1,
"title": "Url",
"type": "string"
}
},
"required": [
"url",
"text",
"relation",
"context"
],
"title": "OnlineEvidence",
"type": "object"
}
@@ -32,6 +32,15 @@
"title": "Evidence Type",
"type": "string"
},
"online_evidence": {
"default": [],
"items": {
"$ref": "#/$defs/OnlineEvidence"
},
"maxItems": 20,
"title": "Online Evidence",
"type": "array"
},
"schema_version": {
"const": 1,
"default": 1,
@@ -633,6 +642,54 @@
"title": "NodeType",
"type": "string"
},
"OnlineEvidence": {
"additionalProperties": false,
"description": "A short online excerpt with its relationship to a claim and verification URL.",
"properties": {
"context": {
"maxLength": 4000,
"minLength": 1,
"title": "Context",
"type": "string"
},
"relation": {
"enum": [
"supports",
"contradicts",
"context",
"inconclusive"
],
"title": "Relation",
"type": "string"
},
"schema_version": {
"const": 1,
"default": 1,
"title": "Schema Version",
"type": "integer"
},
"text": {
"maxLength": 8000,
"minLength": 1,
"title": "Text",
"type": "string"
},
"url": {
"maxLength": 4000,
"minLength": 1,
"title": "Url",
"type": "string"
}
},
"required": [
"url",
"text",
"relation",
"context"
],
"title": "OnlineEvidence",
"type": "object"
},
"ProposalOperation": {
"additionalProperties": false,
"properties": {
@@ -662,6 +719,7 @@
"enum": [
"register_source",
"upsert_node",
"update_node",
"add_edge",
"flag_stale"
],
@@ -313,6 +313,19 @@
"title": "Data",
"type": "array"
},
"filtered_count": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Filtered Count"
},
"index_revision": {
"anyOf": [
{
@@ -161,6 +161,11 @@
"title": "Domain",
"type": "array"
},
"include_evidence": {
"default": true,
"title": "Include Evidence",
"type": "boolean"
},
"limit": {
"default": 20,
"maximum": 50,
+16 -7
View File
@@ -1,6 +1,6 @@
{
"api_version": "v1",
"catalog_sha256": "872d3bf0647f9ec1a3f0e6d3d994fe03076b78bb7468cf3a24218d4b8ca8b075",
"catalog_sha256": "28e887f32a41fb328f05cba13a0ecfeea3c4ce6e2ffc8ab558d3ed096f012f86",
"contract_id": "gewu.service.v1",
"contract_version": 1,
"operations": [
@@ -252,12 +252,16 @@
},
{
"path": "schemas/KnowledgeNode.schema.json",
"sha256": "62efb24c24967c2339c1ba605fa498ffa54459b027b6236421f30f2c4f9437ce"
"sha256": "0b1a8f20fb89088f7f8c00ea6263d65447b03b14e22e99ee66f88950cdaaaacc"
},
{
"path": "schemas/NeighborRequest.schema.json",
"sha256": "0a19786868172d566aa4bae8f80da41ce82859f637a4638178a36c0e63cca02a"
},
{
"path": "schemas/OnlineEvidence.schema.json",
"sha256": "a3ac3fe79df6941d7a4be9cbfbf5e77aef677de1265051cfafb0d87557e99acf"
},
{
"path": "schemas/ProjectRecord.schema.json",
"sha256": "bba7461c640c05734f668fd1568b6a80b2c9569e81c3efd289875aff46a168da"
@@ -268,7 +272,7 @@
},
{
"path": "schemas/ProposalRevision.schema.json",
"sha256": "c93f20f73674cec2ea2452af5d9d189b5508d4e1e38290b7774215ced20fd058"
"sha256": "c9fb0efb92455f0f4a2f764c2988753d98de2d4e3e271ebbcfa98ff750d06895"
},
{
"path": "schemas/ProposalStatus.schema.json",
@@ -276,7 +280,7 @@
},
{
"path": "schemas/ReadEnvelope.schema.json",
"sha256": "825a9e893356ad47a15880b4970da1220dc65786d8b6118ecc9ef2824f7cc06a"
"sha256": "479eb35fab91f9b71af97ef2ea53eb9f66d80118431978aab74109cf01405be0"
},
{
"path": "schemas/RunCheckpointRequest.schema.json",
@@ -296,7 +300,7 @@
},
{
"path": "schemas/SearchRequest.schema.json",
"sha256": "28043479be3dd17258281a85bcf853b7658180fbf44cd8dcfb2661497e742ed1"
"sha256": "f57bec61c99e655b600bf1450dac6e62a390cabf9f58da19bdd90348b4452812"
},
{
"path": "schemas/ServiceDiagnostics.schema.json",
@@ -436,7 +440,7 @@
"name": "list_projects"
},
{
"description": "Search accepted knowledge in an explicit, authorized project scope.",
"description": "Search accepted knowledge in scope. Set include_evidence=false for compact claim summaries; the default includes full citations.",
"input_schema": {
"$defs": {
"Confidence": {
@@ -554,6 +558,11 @@
"default": null,
"title": "Domain"
},
"include_evidence": {
"default": true,
"title": "Include Evidence",
"type": "boolean"
},
"include_projects": {
"anyOf": [
{
@@ -1170,7 +1179,7 @@
"name": "source_extract"
},
{
"description": "Read a bounded normalized text slice and optionally its original-source offset map.",
"description": "Read a normalized slice with its profile and optional original-source offset map.",
"input_schema": {
"properties": {
"block_id": {