docs: record discovery and Runtime metadata boundary verification
This commit is contained in:
@@ -112,6 +112,15 @@ whole transaction helpers. Additional assignment diagnostics, answer mutations,
|
|||||||
and Ticket queries use the same owned caller boundary; do not add a second ledger
|
and Ticket queries use the same owned caller boundary; do not add a second ledger
|
||||||
or reconstruct processing evidence from Worker liveness.
|
or reconstruct processing evidence from Worker liveness.
|
||||||
|
|
||||||
|
Worker discovery uses the same whole `workers_response` DB stage as Worker list
|
||||||
|
and resource detail: projection snapshot, Workdir registry/links, and authority
|
||||||
|
projection never acquire the shared connection on Tokio. Source-proof requirement
|
||||||
|
and pure query/cursor validation still precede admission; overload remains 503.
|
||||||
|
Runtime resource list/detail use a finite Host stage for synchronous Runtime
|
||||||
|
summary I/O, then await the independent DB binding read. Do not confuse a Runtime
|
||||||
|
summary callback with the pure stored Worker projection or run network waits on
|
||||||
|
the sole DB worker.
|
||||||
|
|
||||||
## Regression evidence
|
## Regression evidence
|
||||||
|
|
||||||
- `db_executor::tests`: real SQLite IMMEDIATE write contention while a current-thread
|
- `db_executor::tests`: real SQLite IMMEDIATE write contention while a current-thread
|
||||||
|
|||||||
@@ -257,8 +257,62 @@ original default-parallel Server **963 passed / 0 failed / 1 existing ignored**,
|
|||||||
executor panics appeared, with no residual test processes. Workdir default153 /
|
executor panics appeared, with no residual test processes. Workdir default153 /
|
||||||
http-client156, fmt/diff and naming558/0/0 passed. The isolated candidate cache
|
http-client156, fmt/diff and naming558/0/0 passed. The isolated candidate cache
|
||||||
remains in use. Logs: `target/t748-callback-{root-check,full-suite,workdir-default,workdir-http}.log`.
|
remains in use. Logs: `target/t748-callback-{root-check,full-suite,workdir-default,workdir-http}.log`.
|
||||||
The following docs-only publication changes no tested code. Its exact normally
|
The docs-only publication `27b6c688` changed no tested code. MR seq7 independently
|
||||||
advanced MR source still needs a fresh independent verdict; seq5 is not approval.
|
confirmed the callback fix and earlier fixes, but identified another direct async
|
||||||
|
caller; its independent verdict was `request_changes`, not approval.
|
||||||
|
|
||||||
|
## Worker discovery and adjacent metadata caller audit
|
||||||
|
|
||||||
|
MR seq7 major `T748-ASYNC-WORKER-DISCOVERY` traced async discovery directly into
|
||||||
|
synchronous `workers_response`. That helper acquires the shared SQL connection
|
||||||
|
for the Worker projection snapshot, Workdir registry/links and authority projection.
|
||||||
|
The Reviewer's independently compiled public snapshot helper reproduced a
|
||||||
|
300.246ms shared-mutex stall while its Tokio timer could not progress. This was
|
||||||
|
helper-boundary evidence, not an authenticated endpoint/E2E run.
|
||||||
|
|
||||||
|
Fix `dbcea6c3` awaits the **whole existing** `workers_response` on the independent
|
||||||
|
bounded DB owner. Source-proof requirement, Workspace/query/cursor validation,
|
||||||
|
visibility filtering, pagination and control-grant behavior are unchanged. The
|
||||||
|
other production callers were traced: Worker list/resource detail already use DB;
|
||||||
|
mixed Runtime cleanup plans use Host. No network work is added to the DB owner.
|
||||||
|
|
||||||
|
The adjacent metadata audit found async `workspace_runtime_resources_response`
|
||||||
|
also directly calling synchronous Runtime summaries (including remote signed HTTP
|
||||||
|
and its awaited DB authorization). This call now uses finite Host ownership,
|
||||||
|
then the existing independent async binding read. Runtime list/detail share this
|
||||||
|
boundary. Whole SQL helpers, admission budgets and authentication fallback rules
|
||||||
|
are not changed.
|
||||||
|
|
||||||
|
The permanent post-auth discovery handler regression uses a separate SQLite
|
||||||
|
IMMEDIATE writer and busy observer to hold the actual shared connection mutex.
|
||||||
|
While the accepted discovery read is queued, current-thread timer and independent
|
||||||
|
Host control progress. A second read receives 503/`db_capacity_exceeded`; a source
|
||||||
|
without proof receives 403 before admission. Cancellation retains the actual
|
||||||
|
queued read's lease/budget until result cleanup; ordinary completion preserves the
|
||||||
|
empty filtered catalog response. Signed route proof verification remains covered
|
||||||
|
by the existing dedicated-permission test, separately from this post-auth policy
|
||||||
|
boundary so middleware's own DB wait cannot hide the handler bug.
|
||||||
|
|
||||||
|
Restoring the exact old discovery call fails its first-poll assertion after the
|
||||||
|
fixture watchdog releases the synchronous mutex wait. Restoring only the old
|
||||||
|
Runtime-summary placement fails because Tokio cannot observe the real loopback
|
||||||
|
request until the upstream watchdog releases it. Fixed summary placement lets
|
||||||
|
SQL/timer/control progress during the held signed upstream request and keeps the
|
||||||
|
actual Host lease after cancellation. Explicit upstream-release observation
|
||||||
|
prevents watchdog failure cleanup from masquerading as progress. Logs:
|
||||||
|
`target/t748-discovery-old-placement-red.log`,
|
||||||
|
`target/t748-runtime-summary-old-placement-red.log`,
|
||||||
|
`target/t748-discovery-summary-fixed-boundaries.log` (12 passed),
|
||||||
|
`target/t748-discovery-summary-policy.log` (4), and callbacks (5).
|
||||||
|
|
||||||
|
Exact code `dbcea6c34ba55453ce588d68272df238cde19f47` passed root `cargo check` and
|
||||||
|
original default-parallel Server **965 passed / 0 failed / 1 existing ignored**,
|
||||||
|
11 binary tests; library duration **175.00 seconds**. Only three deliberate
|
||||||
|
executor panics appeared, with no residual test processes. Workdir default153 /
|
||||||
|
http-client156 and fmt/diff/naming558/0/0 passed. Logs use the same isolated
|
||||||
|
candidate cache: `target/t748-discovery-summary-{root-check,full-suite,workdir-default,workdir-http}.log`.
|
||||||
|
The following docs-only publication changes no tested code; fresh exact-source
|
||||||
|
independent review is required before an approved handoff.
|
||||||
|
|
||||||
No latency benchmark, production incident measurement, target integration,
|
No latency benchmark, production incident measurement, target integration,
|
||||||
Ticket conclusion, or running-environment update is claimed. T743 has now
|
Ticket conclusion, or running-environment update is claimed. T743 has now
|
||||||
|
|||||||
Reference in New Issue
Block a user