fix(ticket): separate retained responsibility from unfinished work

T-715: end assignment work identities atomically on done/close without deleting responsibility. Reopen never reactivates old authority. Schema 82 preserves legacy closed assignments, historical removal plans and Worker attribution; active work drives admission, auth/routing, retention and cleanup while independent lifecycle/attachment fences remain.

Validation: root cargo check; cargo test -p yoi-workspace-server (630 lib + 11 bin), -p merge-request (20), -p worker (947); worker-runtime restore/removal filters (2); Deno ticket responsibility/runtime UI contracts (12); cargo fmt --all -- --check; git diff --check HEAD.
This commit is contained in:
2026-10-08 15:35:16 +09:00
parent b0d8c7b786
commit b6de908e9f
16 changed files with 1799 additions and 122 deletions
@@ -48,3 +48,15 @@ Deno.test("ticket detail fences stale mutation responses", () => {
assertStringIncludes(operationSource, "generation === routeGeneration");
}
});
Deno.test("ticket responsibility display does not claim Worker liveness or work authority", () => {
assertStringIncludes(pageSource, "Retained responsibility");
assertStringIncludes(pageSource, "after work ends and Worker removal");
assertStringIncludes(
pageSource,
"does not indicate a running Worker or active work authority",
);
assertStringIncludes(pageSource, "assignment.principal.runtime_id");
assertStringIncludes(pageSource, "assignment.principal.worker_id");
assert(!pageSource.includes("No active role assignment."));
});