fix(ticket): project immutable results and typed source observations

T-716: merged evidence uses recorded result approval; open source reads use Runtime provider authority and preserve unavailability. Current requirements use the shared exact snapshot evaluator. Remove primary-MR/report SQL heuristics; continue bounded query scans through nonmatching candidates. Align Worker/Web projections and explain lifecycle versus integration/attestation. Synchronize checker test on delivered inputs, not pre-delivery attempt state.

Validation: root cargo check; cargo test -p merge-request (30), -p server-api (70), -p worker (949), -p yoi-workspace-server (620 lib + 11 binary); server-api typescript feature check; 32 focused Deno tests; deno task check (0 errors/warnings); cargo fmt --all -- --check; git diff --check HEAD; canonical OpenAPI/generated Ticket artifact checks.
This commit is contained in:
2026-10-08 15:44:27 +09:00
parent 4d0f2afc1e
commit 5424280348
24 changed files with 2096 additions and 517 deletions
+59 -2
View File
@@ -11221,6 +11221,12 @@
"null"
]
},
"integration_evidence_error": {
"type": [
"string",
"null"
]
},
"merge_request_id": {
"type": "string"
},
@@ -11263,6 +11269,9 @@
"selector_to": {
"type": "string"
},
"source_ref_observation": {
"$ref": "#/components/schemas/TicketSourceRefObservation"
},
"state": {
"type": "string"
},
@@ -11276,7 +11285,8 @@
"state",
"review_status",
"selector_to",
"updated_at"
"updated_at",
"source_ref_observation"
],
"type": "object"
},
@@ -12069,6 +12079,53 @@
},
"type": "object"
},
"TicketSourceRefObservation": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"status": {
"const": "observed",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"status",
"code"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"status": {
"const": "not_required",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
]
},
"TicketStateChange": {
"properties": {
"author": {
@@ -15481,7 +15538,7 @@
"info": {
"title": "Yoi Server API",
"version": "0.1.0",
"x-yoi-source-digest": "sha256:a6a7147c9a2f465a5da044e9ba21947cb3d86eacbfe3905696483917e794d5cf"
"x-yoi-source-digest": "sha256:4f468e00efa86e6e33e8fa4f14deca93ee15b955071920facd56c59c3d2fefb8"
},
"openapi": "3.1.0",
"paths": {