197 KiB
197 KiB
Operation acceptance matrix — upstream 58e2204
Generated from the structured ledger. Registry is the sole source for risk, confirmation, capability, and dedicated-flow facts; orchestration is bound by acceptance policy.
registeredOperationis not a synonym for preparation Job.
REAL_READ means captured evidence and is restricted to captured-readonly. REAL_READ_DEFERRED marks denied candidates without a real fixture. Fixture disposition is metadata-only: runtime status, count, safe observed status categories, and reason; it never renders fixture body/response, alias, identity, or URL.
Control-plane acceptance (independent flows)
| flowId | route | risk / subtype | confirmation | preconditions | result | failure recovery | secret policy | evidence |
|---|---|---|---|---|---|---|---|---|
instance-create |
/instances/new |
R1 / configuration | diff-confirm | canonical origin and unique stable ID | created instance revision and audit | retain draft on validation or reconcile failure | secret reference only; never return a value | WF-01 + product policy |
instance-update |
/settings/instances/:id |
R1 / configuration | revision-diff | current revision | updated revision and audit | 409 refreshes diff without losing edits | preserve/set/clear explicit; never return a value | WF-01 + product policy |
instance-delete |
/settings/instances/:id |
R3 / destructive | strong target restatement | fresh revision and no conflicting job | new jobId with two-phase deleting to tombstone result | before boundary restore; after boundary manual recovery | destroy reference without reading secret value | WF-13 |
secret-set |
/settings/instances/:id |
R1 / secret-reference | explicit set | authorized SecretStore write | new reference metadata and audit | atomic rollback on reference write failure | never return or log secret value | WF-01 |
secret-preserve |
/settings/instances/:id |
R1 / secret-reference | explicit preserve | existing reference metadata | unchanged reference metadata and audit | revision conflict refreshes metadata only | never read or return secret value | WF-01 |
secret-clear |
/settings/instances/:id |
R1 / secret-reference | explicit clear | fresh revision | reference removed and audit | atomic rollback or explicit recovery state | never return destroyed secret value | WF-01 |
config-import-preview |
/settings/instances |
R0 / preview | none | validated upload and canonical origins | redacted diff/conflict/count preview | fix file and regenerate preview | never include secret values in preview | IA settings import |
config-import-confirm |
/settings/instances |
R2 / bulk-configuration | explicit preview token | fresh unexpired preview | new jobId with per-instance items | retry failed items in new lineage | references only; never import/export secret values | IA settings import |
credential-verify |
/instances/new |
R1 / session-sensitive | actor initiated | rate limit and registered target | credential metadata-only result | no automatic replay; actor may retry after backoff | ephemeral input, never response/audit value | WF-01 |
saved-secret-login |
/instances/new |
R1 / session-sensitive | actor initiated | saved reference and rate limit | session metadata-only result | no automatic replay; return to login flow | resolve server-side; never expose value | WF-12 |
temporary-secret-login |
/instances/new |
R1 / session-sensitive | actor initiated | one-shot input and rate limit | session metadata-only result | no automatic replay; require new actor input | memory-only and never saved or returned | WF-12 |
logout |
/settings/instances/:id |
R1 / session-sensitive | actor initiated | active session | session cleared and metadata audit | no replay; reconcile auth status | no credential value involved | WF-12 |
401-recovery |
/instances/:id/overview |
R1 / session-recovery | actor chooses login | 401 evidence and retained stale data | return to owner; retry R0 only | never replay writes; preserve draft for new prepare | temporary/saved secret follows selected login policy | WF-12 |
auth-setup |
/instances/new |
R3 / authentication-change | strong confirmation | fresh dedicated auth preflight | new jobId and metadata-only audit | new lineage after state verification | password never returned or audited | Registry postAuthSetup |
auth-password-change |
/settings/instances/:id |
R3 / authentication-change | strong confirmation | fresh dedicated auth preflight | new jobId and metadata-only audit | new lineage after auth-status verification | old/new password never returned or audited | Registry postAuthPassword |
auth-settings-read |
/settings/instances/:id |
R0 / authentication-read | none | registered instance and actor | structured auth settings | safe actor retry | no password/cookie/token fields | Registry getAuthSettings |
auth-settings-write |
/settings/instances/:id |
R2 / authentication-change | explicit confirmation | fresh dedicated auth preflight | new jobId and metadata-only audit | new lineage; no replay | never return credential values | Registry postAuthSettings |
job-cancel |
/jobs/:jobId |
R1 / job-control | explicit confirmation | cancelable current phase | immutable cancellation event | show non-cancelable boundary and reconcile | no secret data in event | IA jobs |
job-retry |
/jobs/:jobId |
R2 / job-control | explicit failed-item selection | source terminal state and fresh preflight | new jobId with retryOf/root/source lineage | never mutate source or replay successful items | redacted parameter summary only | WF-10 |
audit-export |
/audit |
R0 / data-export | explicit scope | authorized filters | redacted export artifact | regenerate from immutable audit | redaction applies; no sensitiveFields | WF-11 |
system-settings-update |
/settings/system |
R1 / configuration | revision-diff | safe bounds and current revision | updated revision and audit | 409 refreshes diff; invalid bounds rejected | no secrets accepted | IA settings system |
Upstream operation acceptance (exact 117)
| operationId | method/path | domain | route/surface | UI | availability/version evidence | scenario applicability | risk/confirmation/execution | policy IDs and resolved policies | real class | fixture disposition (metadata-only: runtime status / n / categories / reason) | evidence |
|---|---|---|---|---|---|---|---|---|---|---|---|
getDevice |
GET /api/device |
device-system | /instances/:id/overviewoverview/device |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDeviceupstream:backend/src/main.rs:506-506upstream:backend/src/handlers.rs:1076-1090upstream:bruno-api/get_device_info.bru:8fixture:captured-readonly |
getSim |
GET /api/sim |
sim | /instances/:id/overviewoverview/sim |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getSimupstream:backend/src/main.rs:508-508upstream:backend/src/handlers.rs:1126-1145upstream:bruno-api/get_sim_info.bru:8fixture:captured-readonly |
postSimDetailsRefresh |
POST /api/sim/details/refresh |
sim | /instances/:id/overviewoverview/sim |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSimDetailsRefreshupstream:backend/src/main.rs:510-511upstream:backend/src/handlers.rs:1148-1164fixture:not-eligible-readonly-capture |
postSimCache |
POST /api/sim/cache |
sim | /instances/:id/overviewoverview/sim |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSimCacheupstream:backend/src/main.rs:514-515upstream:backend/src/handlers.rs:1167-1213fixture:not-eligible-readonly-capture |
getNetwork |
GET /api/network |
cellular | /instances/:id/cellularcellular/serving-network |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNetworkupstream:backend/src/main.rs:519-520upstream:backend/src/handlers.rs:1218-1232upstream:bruno-api/get_network_info.bru:8fixture:captured-readonly |
getCells |
GET /api/cells |
cellular | /instances/:id/cellularcellular/cells |
table | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCellsupstream:backend/src/main.rs:522-522upstream:backend/src/handlers.rs:1235-1249upstream:bruno-api/get_cells_info.bru:8fixture:captured-readonly |
postCellMonitorStart |
POST /api/cell-monitor/start |
cellular | /instances/:id/cellularcellular/cells |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCellMonitorStartupstream:backend/src/main.rs:524-525upstream:backend/src/handlers.rs:1252-1282fixture:not-eligible-readonly-capture |
postCellMonitorStop |
POST /api/cell-monitor/stop |
cellular | /instances/:id/cellularcellular/cells |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCellMonitorStopupstream:backend/src/main.rs:528-529upstream:backend/src/handlers.rs:1285-1312fixture:not-eligible-readonly-capture |
getRadioMode |
GET /api/radio-mode |
radio-lock | /instances/:id/cellularcellular/radio-locks |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getRadioModeupstream:backend/src/main.rs:532-533upstream:backend/src/handlers.rs:1315-1329upstream:bruno-api/get_radio_mode.bru:8fixture:captured-readonly |
postRadioMode |
POST /api/radio-mode |
radio-lock | /instances/:id/cellularcellular/radio-locks |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postRadioModeupstream:backend/src/main.rs:532-534upstream:backend/src/handlers.rs:1332-1352upstream:bruno-api/set_radio_mode_nr.bru:8upstream:bruno-api/set_radio_mode_lte.bru:8upstream:bruno-api/set_radio_mode_auto.bru:8fixture:not-eligible-readonly-capture |
getBandLock |
GET /api/band-lock |
radio-lock | /instances/:id/cellularcellular/radio-locks |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getBandLockupstream:backend/src/main.rs:538-539upstream:backend/src/handlers.rs:1355-1369upstream:bruno-api/get_band_lock.bru:8fixture:captured-readonly |
postBandLock |
POST /api/band-lock |
radio-lock | /instances/:id/cellularcellular/radio-locks |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postBandLockupstream:backend/src/main.rs:538-540upstream:backend/src/handlers.rs:1372-1392upstream:bruno-api/set_band_lock_nr_n78.bru:8upstream:bruno-api/set_band_lock_lte_b1_b3.bru:8upstream:bruno-api/unlock_all_bands.bru:8upstream:bruno-api/set_band_lock_lte_nr_mix.bru:8fixture:not-eligible-readonly-capture |
getNetworkInterfaces |
GET /api/network/interfaces |
device-network | /instances/:id/device-networkdevice-network/interfaces |
table | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNetworkInterfacesupstream:backend/src/main.rs:544-545upstream:backend/src/handlers.rs:1619-1644upstream:bruno-api/get_network_interfaces.bru:8fixture:captured-readonly |
getNetworkConnectionAddresses |
GET /api/network/connection-addresses |
device-network | /instances/:id/device-networkdevice-network/interfaces |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNetworkConnectionAddressesupstream:backend/src/main.rs:548-549upstream:backend/src/handlers.rs:1647-1666fixture:captured-readonly |
getDeviceNetworkDdnsConfig |
GET /api/device-network/ddns/config |
device-network | /instances/:id/device-networkdevice-network/ddns |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDeviceNetworkDdnsConfigupstream:backend/src/main.rs:552-553upstream:backend/src/handlers.rs:1669-1679upstream:bruno-api/get_device_ddns_config.bru:8fixture:captured-readonly |
postDeviceNetworkDdnsConfig |
POST /api/device-network/ddns/config |
device-network | /instances/:id/device-networkdevice-network/ddns |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkDdnsConfigupstream:backend/src/main.rs:552-554upstream:backend/src/handlers.rs:1682-1721upstream:bruno-api/set_device_ddns_config.bru:8fixture:not-eligible-readonly-capture |
getDeviceNetworkDdnsStatus |
GET /api/device-network/ddns/status |
device-network | /instances/:id/device-networkdevice-network/ddns |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDeviceNetworkDdnsStatusupstream:backend/src/main.rs:558-559upstream:backend/src/handlers.rs:1750-1757upstream:bruno-api/get_device_ddns_status.bru:8fixture:captured-readonly |
postDeviceNetworkDdnsSync |
POST /api/device-network/ddns/sync |
device-network | /instances/:id/device-networkdevice-network/ddns |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkDdnsSyncupstream:backend/src/main.rs:562-563upstream:backend/src/handlers.rs:1760-1781upstream:bruno-api/post_device_ddns_sync.bru:8fixture:not-eligible-readonly-capture |
getDeviceNetworkDdnsLogs |
GET /api/device-network/ddns/logs |
device-network | /instances/:id/device-networkdevice-network/ddns |
read-panel | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; no safe limit contract | registry:getDeviceNetworkDdnsLogsupstream:backend/src/main.rs:566-567upstream:backend/src/handlers.rs:1784-1790upstream:bruno-api/get_device_ddns_logs.bru:8fixture:denied-readonly-candidate |
postDeviceNetworkDdnsLogsClear |
POST /api/device-network/ddns/logs/clear |
device-network | /instances/:id/device-networkdevice-network/ddns |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkDdnsLogsClearupstream:backend/src/main.rs:570-571upstream:backend/src/handlers.rs:1793-1802upstream:bruno-api/post_device_ddns_logs_clear.bru:8fixture:not-eligible-readonly-capture |
getDeviceNetworkWlanStatus |
GET /api/device-network/wlan/status |
device-network | /instances/:id/device-networkdevice-network/wlan |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDeviceNetworkWlanStatusupstream:backend/src/main.rs:574-575upstream:backend/src/handlers.rs:1805-1819upstream:bruno-api/get_device_wlan_status.bru:8fixture:captured-readonly |
postDeviceNetworkWlanEnabled |
POST /api/device-network/wlan/enabled |
device-network | /instances/:id/device-networkdevice-network/wlan |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanEnabledupstream:backend/src/main.rs:578-579upstream:backend/src/handlers.rs:1822-1841upstream:bruno-api/set_device_wlan_enabled.bru:8fixture:not-eligible-readonly-capture |
postDeviceNetworkWlanScan |
POST /api/device-network/wlan/scan |
device-network | /instances/:id/device-networkdevice-network/wlan |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanScanupstream:backend/src/main.rs:582-583upstream:backend/src/handlers.rs:1844-1858upstream:bruno-api/post_device_wlan_scan.bru:8fixture:not-eligible-readonly-capture |
getDeviceNetworkWlanProfiles |
GET /api/device-network/wlan/profiles |
device-network | /instances/:id/device-networkdevice-network/wlan |
table | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDeviceNetworkWlanProfilesupstream:backend/src/main.rs:586-587upstream:backend/src/handlers.rs:1861-1875upstream:bruno-api/get_device_wlan_profiles.bru:8fixture:captured-readonly |
postDeviceNetworkWlanForget |
POST /api/device-network/wlan/forget |
device-network | /instances/:id/device-networkdevice-network/wlan |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanForgetupstream:backend/src/main.rs:590-591upstream:backend/src/handlers.rs:1878-1897upstream:bruno-api/post_device_wlan_forget.bru:8fixture:not-eligible-readonly-capture |
postDeviceNetworkWlanConnect |
POST /api/device-network/wlan/connect |
device-network | /instances/:id/device-networkdevice-network/wlan |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanConnectupstream:backend/src/main.rs:594-595upstream:backend/src/handlers.rs:1900-1955upstream:bruno-api/post_device_wlan_connect.bru:8fixture:not-eligible-readonly-capture |
postDeviceNetworkWlanDisconnect |
POST /api/device-network/wlan/disconnect |
device-network | /instances/:id/device-networkdevice-network/wlan |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanDisconnectupstream:backend/src/main.rs:598-599upstream:backend/src/handlers.rs:1958-1991upstream:bruno-api/post_device_wlan_disconnect.bru:8fixture:not-eligible-readonly-capture |
postDeviceNetworkWlanProfile |
POST /api/device-network/wlan/profile |
device-network | /instances/:id/device-networkdevice-network/wlan |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDeviceNetworkWlanProfileupstream:backend/src/main.rs:602-603upstream:backend/src/handlers.rs:1994-2013upstream:bruno-api/post_device_wlan_profile.bru:8fixture:not-eligible-readonly-capture |
getNetworkSignalStrength |
GET /api/network/signal-strength |
cellular | /instances/:id/cellularcellular/signal |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNetworkSignalStrengthupstream:backend/src/main.rs:606-607upstream:backend/src/handlers.rs:2016-2030upstream:bruno-api/get_signal_strength.bru:8fixture:captured-readonly |
getLocationCellInfo |
GET /api/location/cell-info |
cellular | /instances/:id/cellularcellular/cells |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getLocationCellInfoupstream:backend/src/main.rs:610-611upstream:backend/src/handlers.rs:1395-1409upstream:bruno-api/get_cell_location_info.bru:8fixture:captured-readonly |
getNetworkOperators |
GET /api/network/operators |
cellular | /instances/:id/cellularcellular/operator-registration |
table | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNetworkOperatorsupstream:backend/src/main.rs:614-615upstream:backend/src/handlers.rs:1412-1426upstream:bruno-api/get_operators.bru:8fixture:captured-readonly |
getNetworkOperatorsScan |
GET /api/network/operators/scan |
cellular | /instances/:id/cellularcellular/operator-registration |
read-panel | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (A successful active operator scan may return no operators.) partial:Y (The scan response may contain usable operators alongside per-result failures or incomplete entries.) policy-forbidden:Y (Active scan may be blocked by capability, authorization, preflight, or active-scan policy.) unknown-result:N (A timed-out scan result may be discarded; it is not an unknown persistent write outcome.) owner-switch:Y (Owner switch discards scan responses with a mismatched instance key.) |
R0; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; active radio/network scan | registry:getNetworkOperatorsScanupstream:backend/src/main.rs:618-619upstream:backend/src/handlers.rs:1429-1443upstream:bruno-api/scan_operators.bru:8fixture:denied-readonly-candidate |
postNetworkRegisterManual |
POST /api/network/register-manual |
cellular | /instances/:id/cellularcellular/operator-registration |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNetworkRegisterManualupstream:backend/src/main.rs:622-623upstream:backend/src/handlers.rs:1446-1466upstream:bruno-api/register_operator_manual.bru:8fixture:not-eligible-readonly-capture |
postNetworkRegisterAuto |
POST /api/network/register-auto |
cellular | /instances/:id/cellularcellular/operator-registration |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNetworkRegisterAutoupstream:backend/src/main.rs:626-627upstream:backend/src/handlers.rs:1469-1486upstream:bruno-api/register_operator_auto.bru:8fixture:not-eligible-readonly-capture |
getApn |
GET /api/apn |
data-connection | /instances/:id/cellularcellular/data-apn |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getApnupstream:backend/src/main.rs:630-631upstream:backend/src/handlers.rs:1489-1504upstream:bruno-api/get_apn_list.bru:8fixture:captured-readonly |
postApn |
POST /api/apn |
data-connection | /instances/:id/cellularcellular/data-apn |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postApnupstream:backend/src/main.rs:630-632upstream:backend/src/handlers.rs:1507-1571upstream:bruno-api/set_apn.bru:8fixture:not-eligible-readonly-capture |
getCellLock |
GET /api/cell-lock |
radio-lock | /instances/:id/cellularcellular/radio-locks |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCellLockupstream:backend/src/main.rs:636-637upstream:backend/src/handlers.rs:1574-1582upstream:bruno-api/get_cell_lock.bru:8fixture:captured-readonly |
postCellLock |
POST /api/cell-lock |
radio-lock | /instances/:id/cellularcellular/radio-locks |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCellLockupstream:backend/src/main.rs:636-638upstream:backend/src/handlers.rs:1585-1603upstream:bruno-api/set_cell_lock_lte.bru:8upstream:bruno-api/set_cell_lock_nr.bru:8upstream:bruno-api/unlock_cell_nr.bru:8fixture:not-eligible-readonly-capture |
postCellLockUnlockAll |
POST /api/cell-lock/unlock-all |
radio-lock | /instances/:id/cellularcellular/radio-locks |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCellLockUnlockAllupstream:backend/src/main.rs:642-643upstream:backend/src/handlers.rs:1606-1616upstream:bruno-api/unlock_all_cells.bru:8fixture:not-eligible-readonly-capture |
getData |
GET /api/data |
data-connection | /instances/:id/cellularcellular/data-apn |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getDataupstream:backend/src/main.rs:647-648upstream:backend/src/handlers.rs:2035-2062upstream:bruno-api/get_data_status.bru:8fixture:captured-readonly |
postData |
POST /api/data |
data-connection | /instances/:id/cellularcellular/data-apn |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postDataupstream:backend/src/main.rs:647-649upstream:backend/src/handlers.rs:2065-2131upstream:bruno-api/set_data_status_disable.bru:8upstream:bruno-api/set_data_status_enable.bru:8fixture:not-eligible-readonly-capture |
getRoaming |
GET /api/roaming |
data-connection | /instances/:id/cellularcellular/data-apn |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getRoamingupstream:backend/src/main.rs:653-654upstream:backend/src/handlers.rs:2172-2193upstream:bruno-api/get_roaming_status.bru:8fixture:captured-readonly |
postRoaming |
POST /api/roaming |
data-connection | /instances/:id/cellularcellular/data-apn |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postRoamingupstream:backend/src/main.rs:653-655upstream:backend/src/handlers.rs:2196-2247upstream:bruno-api/set_roaming_enable.bru:8upstream:bruno-api/set_roaming_disable.bru:8fixture:not-eligible-readonly-capture |
getAirplaneMode |
GET /api/airplane-mode |
data-connection | /instances/:id/cellularcellular/data-apn |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getAirplaneModeupstream:backend/src/main.rs:659-660upstream:backend/src/handlers.rs:2315-2329upstream:bruno-api/get_airplane_mode.bru:8fixture:captured-readonly |
postAirplaneMode |
POST /api/airplane-mode |
data-connection | /instances/:id/cellularcellular/data-apn |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAirplaneModeupstream:backend/src/main.rs:659-661upstream:backend/src/handlers.rs:2250-2312upstream:bruno-api/set_airplane_mode_disable.bru:8upstream:bruno-api/set_airplane_mode_enable.bru:8fixture:not-eligible-readonly-capture |
postBasebandRestart |
POST /api/baseband/restart |
data-connection | /instances/:id/cellularcellular/data-apn |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postBasebandRestartupstream:backend/src/main.rs:665-666upstream:backend/src/handlers.rs:2133-2159fixture:not-eligible-readonly-capture |
getBasebandRestartStatus |
GET /api/baseband/restart/status |
data-connection | /instances/:id/cellularcellular/data-apn |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getBasebandRestartStatusupstream:backend/src/main.rs:669-670upstream:backend/src/handlers.rs:2161-2169fixture:captured-readonly |
getWorkMode |
GET /api/work-mode |
workmode-esim | /instances/:id/esimesim/mode |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getWorkModeupstream:backend/src/main.rs:674-675upstream:backend/src/handlers.rs:352-365fixture:captured-readonly |
postWorkMode |
POST /api/work-mode |
workmode-esim | /instances/:id/esimesim/mode |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postWorkModeupstream:backend/src/main.rs:674-676upstream:backend/src/handlers.rs:368-405fixture:not-eligible-readonly-capture |
getEsimConfig |
GET /api/esim/config |
workmode-esim | /instances/:id/esimesim/config |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=unsupported; collector-selected fully-bound GET R0; two redacted real captures | registry:getEsimConfigupstream:backend/src/main.rs:680-681upstream:backend/src/handlers.rs:456-462fixture:captured-readonly |
postEsimConfig |
POST /api/esim/config |
workmode-esim | /instances/:id/esimesim/config |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postEsimConfigupstream:backend/src/main.rs:680-682upstream:backend/src/handlers.rs:465-482fixture:not-eligible-readonly-capture |
getEsimLpacStatus |
GET /api/esim/lpac/status |
workmode-esim | /instances/:id/esimesim/lpac |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=auth-required; collector-selected fully-bound GET R0; two redacted real captures | registry:getEsimLpacStatusupstream:backend/src/main.rs:686-687upstream:backend/src/handlers.rs:408-416fixture:captured-readonly |
postEsimLpacRepair |
POST /api/esim/lpac/repair |
workmode-esim | /instances/:id/esimesim/lpac |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postEsimLpacRepairupstream:backend/src/main.rs:690-691upstream:backend/src/handlers.rs:419-453fixture:not-eligible-readonly-capture |
getEsimEuicc |
GET /api/esim/euicc |
workmode-esim | /instances/:id/esimesim/euicc |
read-panel | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query-bearing endpoint omitted | registry:getEsimEuiccupstream:backend/src/main.rs:694-695upstream:backend/src/handlers.rs:485-521fixture:denied-readonly-candidate |
getEsimProfiles |
GET /api/esim/profiles |
workmode-esim | /instances/:id/esimesim/profiles |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query-bearing endpoint omitted | registry:getEsimProfilesupstream:backend/src/main.rs:698-699upstream:backend/src/handlers.rs:524-598fixture:denied-readonly-candidate |
postEsimProfiles |
POST /api/esim/profiles |
workmode-esim | /instances/:id/esimesim/profiles |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postEsimProfilesupstream:backend/src/main.rs:698-700upstream:backend/src/handlers.rs:803-1071fixture:not-eligible-readonly-capture |
postEsimProfilesIccidEnable |
POST /api/esim/profiles/{iccid}/enable |
workmode-esim | /instances/:id/esimesim/profiles |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postEsimProfilesIccidEnableupstream:backend/src/main.rs:704-705upstream:backend/src/handlers.rs:601-726fixture:not-eligible-readonly-capture |
postEsimProfilesIccidRename |
POST /api/esim/profiles/{iccid}/rename |
workmode-esim | /instances/:id/esimesim/profiles |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postEsimProfilesIccidRenameupstream:backend/src/main.rs:708-709upstream:backend/src/handlers.rs:729-750fixture:not-eligible-readonly-capture |
deleteEsimProfilesIccid |
DELETE /api/esim/profiles/{iccid} |
workmode-esim | /instances/:id/esimesim/profiles |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:deleteEsimProfilesIccidupstream:backend/src/main.rs:712-713upstream:backend/src/handlers.rs:753-780fixture:not-eligible-readonly-capture |
getCalls |
GET /api/calls |
calls | /instances/:id/callscalls/live |
table | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCallsupstream:backend/src/main.rs:717-718upstream:backend/src/handlers.rs:2634-2655upstream:bruno-api/get_calls.bru:8fixture:captured-readonly |
postCallDial |
POST /api/call/dial |
calls | /instances/:id/callscalls/live |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallDialupstream:backend/src/main.rs:721-722upstream:backend/src/handlers.rs:2657-2689upstream:bruno-api/post_call_dial.bru:8fixture:not-eligible-readonly-capture |
postCallHangup |
POST /api/call/hangup |
calls | /instances/:id/callscalls/live |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallHangupupstream:backend/src/main.rs:725-726upstream:backend/src/handlers.rs:2691-2725upstream:bruno-api/post_call_hangup.bru:8fixture:not-eligible-readonly-capture |
postCallHangupAll |
POST /api/call/hangup-all |
calls | /instances/:id/callscalls/live |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallHangupAllupstream:backend/src/main.rs:729-730upstream:backend/src/handlers.rs:2727-2760upstream:bruno-api/post_call_hangup_all.bru:8fixture:not-eligible-readonly-capture |
postCallAnswer |
POST /api/call/answer |
calls | /instances/:id/callscalls/live |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallAnswerupstream:backend/src/main.rs:733-734upstream:backend/src/handlers.rs:2762-2789upstream:bruno-api/post_call_answer.bru:8fixture:not-eligible-readonly-capture |
getCallVolume |
GET /api/call/volume |
calls | /instances/:id/callscalls/volume |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCallVolumeupstream:backend/src/main.rs:737-738upstream:backend/src/handlers.rs:2899-2906upstream:bruno-api/get_call_volume.bru:8fixture:captured-readonly |
postCallVolume |
POST /api/call/volume |
calls | /instances/:id/callscalls/volume |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallVolumeupstream:backend/src/main.rs:737-739upstream:backend/src/handlers.rs:2908-2922upstream:bruno-api/set_call_volume.bru:8fixture:not-eligible-readonly-capture |
getCallForwarding |
GET /api/call/forwarding |
calls | /instances/:id/callscalls/forwarding |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCallForwardingupstream:backend/src/main.rs:743-744upstream:backend/src/handlers.rs:2924-2931upstream:bruno-api/get_call_forwarding.bru:8fixture:captured-readonly |
postCallForwarding |
POST /api/call/forwarding |
calls | /instances/:id/callscalls/forwarding |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallForwardingupstream:backend/src/main.rs:743-745upstream:backend/src/handlers.rs:2933-2943upstream:bruno-api/set_call_forwarding.bru:8fixture:not-eligible-readonly-capture |
getCallSettings |
GET /api/call/settings |
calls | /instances/:id/callscalls/settings |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getCallSettingsupstream:backend/src/main.rs:749-750upstream:backend/src/handlers.rs:2852-2866upstream:bruno-api/get_call_settings.bru:8fixture:captured-readonly |
postCallSettings |
POST /api/call/settings |
calls | /instances/:id/callscalls/settings |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallSettingsupstream:backend/src/main.rs:749-751upstream:backend/src/handlers.rs:2868-2897upstream:bruno-api/set_call_settings.bru:8fixture:not-eligible-readonly-capture |
getCallHistory |
GET /api/call/history |
calls | /instances/:id/callscalls/history |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query limit is not encoded in Registry path contract | registry:getCallHistoryupstream:backend/src/main.rs:755-756upstream:backend/src/handlers.rs:2791-2813fixture:denied-readonly-candidate |
deleteCallHistoryId |
DELETE /api/call/history/{id} |
calls | /instances/:id/callscalls/history |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:deleteCallHistoryIdupstream:backend/src/main.rs:759-760upstream:backend/src/handlers.rs:2815-2832upstream:bruno-api/delete_call_history.bru:8fixture:not-eligible-readonly-capture |
postCallHistoryClear |
POST /api/call/history/clear |
calls | /instances/:id/callscalls/history |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postCallHistoryClearupstream:backend/src/main.rs:763-764upstream:backend/src/handlers.rs:2834-2850upstream:bruno-api/clear_call_history.bru:8fixture:not-eligible-readonly-capture |
getImsStatus |
GET /api/ims/status |
calls | /instances/:id/callscalls/ims-voicemail |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getImsStatusupstream:backend/src/main.rs:767-768upstream:backend/src/handlers.rs:2945-2952upstream:bruno-api/get_ims_status.bru:8fixture:captured-readonly |
getVoicemailStatus |
GET /api/voicemail/status |
calls | /instances/:id/callscalls/ims-voicemail |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getVoicemailStatusupstream:backend/src/main.rs:771-772upstream:backend/src/handlers.rs:2954-2961upstream:bruno-api/get_voicemail_status.bru:8fixture:captured-readonly |
postSmsSend |
POST /api/sms/send |
messages | /instances/:id/messagesmessages/compose |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSmsSendupstream:backend/src/main.rs:776-777upstream:backend/src/handlers.rs:2373-2404upstream:bruno-api/post_sms_send.bru:8fixture:not-eligible-readonly-capture |
getSmsList |
GET /api/sms/list |
messages | /instances/:id/messagesmessages/list |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; message list can expose body; intentionally not collected | registry:getSmsListupstream:backend/src/main.rs:780-781upstream:backend/src/handlers.rs:2407-2434fixture:denied-readonly-candidate |
getSmsConversation |
GET /api/sms/conversation |
messages | /instances/:id/messagesmessages/conversation |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; requires correspondent query and exposes message bodies | registry:getSmsConversationupstream:backend/src/main.rs:784-785upstream:backend/src/handlers.rs:2437-2458fixture:denied-readonly-candidate |
getSmsStats |
GET /api/sms/stats |
messages | /instances/:id/messagesmessages/stats |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getSmsStatsupstream:backend/src/main.rs:788-789upstream:backend/src/handlers.rs:2461-2477upstream:bruno-api/get_sms_stats.bru:8fixture:captured-readonly |
postSmsBatchDelete |
POST /api/sms/batch-delete |
messages | /instances/:id/messagesmessages/destructive |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:Y (Job items may independently succeed, fail, or be skipped.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSmsBatchDeleteupstream:backend/src/main.rs:792-793upstream:backend/src/handlers.rs:2551-2578fixture:not-eligible-readonly-capture |
deleteSmsConversationPhoneNumber |
DELETE /api/sms/conversation/{phone_number} |
messages | /instances/:id/messagesmessages/destructive |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:deleteSmsConversationPhoneNumberupstream:backend/src/main.rs:796-797upstream:backend/src/handlers.rs:2528-2548fixture:not-eligible-readonly-capture |
deleteSmsMessageId |
DELETE /api/sms/message/{id} |
messages | /instances/:id/messagesmessages/destructive |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:deleteSmsMessageIdupstream:backend/src/main.rs:800-801upstream:backend/src/handlers.rs:2508-2525fixture:not-eligible-readonly-capture |
postSmsClear |
POST /api/sms/clear |
messages | /instances/:id/messagesmessages/destructive |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSmsClearupstream:backend/src/main.rs:804-805upstream:backend/src/handlers.rs:2480-2505upstream:bruno-api/post_sms_clear.bru:8fixture:not-eligible-readonly-capture |
getStats |
GET /api/stats |
device-system | /instances/:id/overviewoverview/stats |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
command-current-state/read-retain/version-probe/safe-read/route-result Refresh current state when available and bind the actor decision to its revision. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getStatsupstream:backend/src/main.rs:808-808upstream:backend/src/handlers.rs:3272-3288upstream:bruno-api/get_stats.bru:8fixture:captured-readonly |
getStatsCpu |
GET /api/stats/cpu |
device-system | /instances/:id/overviewoverview/stats |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
command-current-state/read-retain/version-probe/safe-read/route-result Refresh current state when available and bind the actor decision to its revision. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getStatsCpuupstream:backend/src/main.rs:809-809upstream:backend/src/handlers.rs:3291-3302upstream:bruno-api/get_cpu_info.bru:8fixture:captured-readonly |
getConnectivity |
GET /api/connectivity |
device-system | /instances/:id/overviewoverview/auth-health |
read-panel | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
command-current-state/read-retain/version-probe/safe-read/route-result Refresh current state when available and bind the actor decision to its revision. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; handler performs active connectivity ping | registry:getConnectivityupstream:backend/src/main.rs:811-812upstream:backend/src/handlers.rs:3305-3322fixture:denied-readonly-candidate |
postSystemReboot |
POST /api/system/reboot |
device-system | /instances/:id/overviewoverview/system-actions |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postSystemRebootupstream:backend/src/main.rs:815-816upstream:backend/src/handlers.rs:3381-3406upstream:bruno-api/post_system_reboot.bru:8fixture:not-eligible-readonly-capture |
postServiceRestart |
POST /api/service/restart |
device-system | /instances/:id/overviewoverview/system-actions |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postServiceRestartupstream:backend/src/main.rs:819-820upstream:backend/src/handlers.rs:3578-3601fixture:not-eligible-readonly-capture |
getNotificationsConfig |
GET /api/notifications/config |
notifications | /instances/:id/notificationsnotifications/config |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getNotificationsConfigupstream:backend/src/main.rs:824-825upstream:backend/src/handlers.rs:3641-3652upstream:bruno-api/get_notification_config.bru:8fixture:captured-readonly |
postNotificationsConfig |
POST /api/notifications/config |
notifications | /instances/:id/notificationsnotifications/config |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsConfigupstream:backend/src/main.rs:824-826upstream:backend/src/handlers.rs:3655-3672upstream:bruno-api/set_notification_config.bru:8fixture:not-eligible-readonly-capture |
postNotificationsTestChannel |
POST /api/notifications/test/{channel} |
notifications | /instances/:id/notificationsnotifications/config |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsTestChannelupstream:backend/src/main.rs:830-831upstream:backend/src/handlers.rs:3675-3704fixture:not-eligible-readonly-capture |
getNotificationsLogs |
GET /api/notifications/logs |
notifications | /instances/:id/notificationsnotifications/logs |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query limit is not encoded in Registry path contract | registry:getNotificationsLogsupstream:backend/src/main.rs:835-836upstream:backend/src/handlers.rs:3709-3734fixture:denied-readonly-candidate |
postNotificationsLogsClear |
POST /api/notifications/logs/clear |
notifications | /instances/:id/notificationsnotifications/logs |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsLogsClearupstream:backend/src/main.rs:839-840upstream:backend/src/handlers.rs:3737-3760fixture:not-eligible-readonly-capture |
getNotificationsQueue |
GET /api/notifications/queue |
notifications | /instances/:id/notificationsnotifications/queue |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query limit is not encoded in Registry path contract | registry:getNotificationsQueueupstream:backend/src/main.rs:843-844upstream:backend/src/notification_queue.rs:24-41fixture:denied-readonly-candidate |
postNotificationsQueueRetryAll |
POST /api/notifications/queue/retry-all |
notifications | /instances/:id/notificationsnotifications/queue |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:Y (Job items may independently succeed, fail, or be skipped.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsQueueRetryAllupstream:backend/src/main.rs:847-848upstream:backend/src/notification_queue.rs:84-100fixture:not-eligible-readonly-capture |
postNotificationsQueueClear |
POST /api/notifications/queue/clear |
notifications | /instances/:id/notificationsnotifications/queue |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:Y (Job items may independently succeed, fail, or be skipped.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsQueueClearupstream:backend/src/main.rs:851-852upstream:backend/src/notification_queue.rs:103-119fixture:not-eligible-readonly-capture |
deleteNotificationsQueueId |
DELETE /api/notifications/queue/{id} |
notifications | /instances/:id/notificationsnotifications/queue |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:deleteNotificationsQueueIdupstream:backend/src/main.rs:855-856upstream:backend/src/notification_queue.rs:64-81fixture:not-eligible-readonly-capture |
postNotificationsQueueIdRetry |
POST /api/notifications/queue/{id}/retry |
notifications | /instances/:id/notificationsnotifications/queue |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postNotificationsQueueIdRetryupstream:backend/src/main.rs:859-860upstream:backend/src/notification_queue.rs:44-61fixture:not-eligible-readonly-capture |
getAutomationConfig |
GET /api/automation/config |
automation | /instances/:id/automationautomation/config |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=unsupported; collector-selected fully-bound GET R0; two redacted real captures | registry:getAutomationConfigupstream:backend/src/main.rs:864-865upstream:backend/src/handlers.rs:3968-3979fixture:captured-readonly |
postAutomationConfig |
POST /api/automation/config |
automation | /instances/:id/automationautomation/config |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAutomationConfigupstream:backend/src/main.rs:864-866upstream:backend/src/handlers.rs:3982-3999fixture:not-eligible-readonly-capture |
getAutomationLogs |
GET /api/automation/logs |
automation | /instances/:id/automationautomation/logs |
table | planned: Frozen-scope read is modeled but real capture was explicitly denied; runtime support is probed per instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:Y (Successful collection may contain no rows.) partial:Y (Independent response sections may succeed or fail.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ_DEFERRED | denied-readonly-candidate; n=0; categories=none; query limit is not encoded in Registry path contract | registry:getAutomationLogsupstream:backend/src/main.rs:870-871upstream:backend/src/handlers.rs:4002-4027fixture:denied-readonly-candidate |
postAutomationLogsClear |
POST /api/automation/logs/clear |
automation | /instances/:id/automationautomation/logs |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAutomationLogsClearupstream:backend/src/main.rs:874-875upstream:backend/src/handlers.rs:4030-4053fixture:not-eligible-readonly-capture |
postAutomationTestTaskId |
POST /api/automation/test/{task_id} |
automation | /instances/:id/automationautomation/task-test |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAutomationTestTaskIdupstream:backend/src/main.rs:878-879upstream:backend/src/handlers.rs:4056-4146fixture:not-eligible-readonly-capture |
getOtaStatus |
GET /api/ota/status |
ota | /instances/:id/otaota/status |
read-panel | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/read-retain/version-probe/safe-read/route-result Registered instance, authorized actor, and runtime capability decision are required. Retain last success as stale and permit an explicit safe refresh. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Safe reads may retry within deadline and retain stale success. Structured result returns to the owning route with a redacted audit link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getOtaStatusupstream:backend/src/main.rs:882-883upstream:backend/src/handlers.rs:3763-3769upstream:bruno-api/get_ota_status.bru:8fixture:captured-readonly |
postOtaUpload |
POST /api/ota/upload |
ota | /instances/:id/otaota/upload |
dedicated-upload-flow | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/ota-version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. OTA 404/405/501 is frozen-version evidence; preserve release/status probe context and never infer global support. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postOtaUploadupstream:backend/src/main.rs:886-887upstream:backend/src/handlers.rs:3772-3792fixture:not-eligible-readonly-capture |
postOtaLatestRelease |
POST /api/ota/latest-release |
ota | /instances/:id/otaota/release |
form | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postOtaLatestReleaseupstream:backend/src/main.rs:892-893upstream:backend/src/handlers.rs:3795-3825fixture:not-eligible-readonly-capture |
postOtaOnlinePrepare |
POST /api/ota/online-prepare |
ota | /instances/:id/otaota/release |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit preparation-job |
job-fresh-preflight/high-risk-block/ota-version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. OTA 404/405/501 is frozen-version evidence; preserve release/status probe context and never infer global support. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postOtaOnlinePrepareupstream:backend/src/main.rs:896-897upstream:backend/src/handlers.rs:3828-3889fixture:not-eligible-readonly-capture |
postOtaApply |
POST /api/ota/apply |
ota | /instances/:id/otaota/apply |
job-action | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong preparation-job |
job-fresh-preflight/high-risk-block/ota-version-probe/new-job-lineage/job-result Required fresh preflight; inability to refresh blocks execution. Fresh preflight is mandatory; stale, expired, or unknown state blocks execution. OTA 404/405/501 is frozen-version evidence; preserve release/status probe context and never infer global support. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. /jobs/:jobId contains per-item result, attempt lineage, and redacted audit. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postOtaApplyupstream:backend/src/main.rs:900-901upstream:backend/src/handlers.rs:3892-3911upstream:bruno-api/post_ota_apply_restart.bru:8upstream:bruno-api/post_ota_apply.bru:8fixture:not-eligible-readonly-capture |
postOtaCancel |
POST /api/ota/cancel |
ota | /instances/:id/otaota/status |
action | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none direct |
command-current-state/write-revision/version-probe/verify-write/route-result Refresh current state when available and bind the actor decision to its revision. Refresh current state or require an explicit recorded revision-bound override. 404/405/501 is capability evidence for this frozen version, not permanent product unsupported; retain probe evidence. Writes require outcome verification before actor-initiated retry. Structured result returns to the owning route with a redacted audit link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postOtaCancelupstream:backend/src/main.rs:904-905upstream:backend/src/handlers.rs:3914-3931upstream:bruno-api/post_ota_cancel.bru:8fixture:not-eligible-readonly-capture |
postAuthPassword |
POST /api/auth/password |
instances-auth | /settings/instances/:idsettings/auth-settings |
dedicated-auth-flow | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong dedicated-flow |
auth-dedicated/auth-no-replay/auth-version-probe/new-job-lineage/auth-result Dedicated auth endpoint, actor/session/instance rate limits, and fresh preflight of authentication state are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAuthPasswordupstream:backend/src/main.rs:908-909upstream:backend/src/auth.rs:491-553upstream:backend/src/auth.rs:43-43fixture:not-eligible-readonly-capture |
getAuthSettings |
GET /api/auth/settings |
instances-auth | /settings/instances/:idsettings/auth-settings |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/auth-no-replay/auth-version-probe/auth-actor-only/auth-result Registered instance, authorized actor, and runtime capability decision are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. No automatic replay; require an actor-initiated dedicated flow. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
REAL_READ | captured-readonly; n=2; categories=success,unsupported; collector-selected fully-bound GET R0; two redacted real captures | registry:getAuthSettingsupstream:backend/src/main.rs:912-913upstream:backend/src/auth.rs:555-570upstream:backend/src/auth.rs:43-43fixture:captured-readonly |
postAuthSettings |
POST /api/auth/settings |
instances-auth | /settings/instances/:idsettings/auth-settings |
dedicated-auth-flow | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R2; explicit dedicated-flow |
auth-dedicated/auth-no-replay/auth-version-probe/new-job-lineage/auth-result Dedicated auth endpoint, actor/session/instance rate limits, and fresh preflight of authentication state are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAuthSettingsupstream:backend/src/main.rs:912-914upstream:backend/src/auth.rs:572-640upstream:backend/src/auth.rs:43-43fixture:not-eligible-readonly-capture |
getHealth |
GET /api/health |
instances-auth | /instances/newsettings/auth-entry |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/auth-no-replay/auth-version-probe/auth-actor-only/auth-result Registered instance, authorized actor, and runtime capability decision are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. No automatic replay; require an actor-initiated dedicated flow. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
REAL_READ | captured-readonly; n=2; categories=success; collector-selected fully-bound GET R0; two redacted real captures | registry:getHealthupstream:backend/src/main.rs:923-923upstream:backend/src/handlers.rs:65-75upstream:bruno-api/get_health.bru:8upstream:backend/src/auth.rs:43-43fixture:captured-readonly |
getAuthStatus |
GET /api/auth/status |
instances-auth | /instances/newsettings/auth-entry |
detail | planned: Frozen-scope read has two redacted captured responses; runtime support is still decided per registered instance. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Detail resource has no collection-empty rendering.) partial:N (Atomic detail read has no meaningful partial rendering.) policy-forbidden:N (Safe read has no write-confirmation policy; support remains orthogonal.) unknown-result:N (Read failure is an error/freshness state, not unknown write outcome.) owner-switch:Y (Owner switch discards responses with a mismatched instance key.) |
R0; none direct |
query-capability/auth-no-replay/auth-version-probe/auth-actor-only/auth-result Registered instance, authorized actor, and runtime capability decision are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. No automatic replay; require an actor-initiated dedicated flow. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
REAL_READ | captured-readonly; n=2; categories=success,unsupported; collector-selected fully-bound GET R0; two redacted real captures | registry:getAuthStatusupstream:backend/src/main.rs:925-926upstream:backend/src/auth.rs:345-364upstream:backend/src/auth.rs:43-43fixture:captured-readonly |
postAuthSetup |
POST /api/auth/setup |
instances-auth | /instances/newsettings/auth-entry |
dedicated-auth-flow | planned: Frozen-scope high-risk operation is planned with simulation-only acceptance until controlled safety authorization exists. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R3; strong dedicated-flow |
auth-dedicated/auth-no-replay/auth-version-probe/new-job-lineage/auth-result Dedicated auth endpoint, actor/session/instance rate limits, and fresh preflight of authentication state are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. Retry creates a new Job lineage (retryOfJobId/rootJobId); never replay successful items. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
SIMULATED_HIGH_RISK | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAuthSetupupstream:backend/src/main.rs:929-930upstream:backend/src/auth.rs:366-427upstream:backend/src/auth.rs:43-43fixture:not-eligible-readonly-capture |
postAuthLogin |
POST /api/auth/login |
instances-auth | /instances/newsettings/auth-entry |
dedicated-auth-flow | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none dedicated-flow |
auth-dedicated/auth-no-replay/auth-version-probe/auth-actor-only/auth-result Dedicated auth endpoint, actor/session/instance rate limits, and fresh preflight of authentication state are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. No automatic replay; require an actor-initiated dedicated flow. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAuthLoginupstream:backend/src/main.rs:933-934upstream:backend/src/auth.rs:429-489upstream:backend/src/auth.rs:43-43fixture:not-eligible-readonly-capture |
postAuthLogout |
POST /api/auth/logout |
instances-auth | /settings/instances/:idsettings/auth-settings |
dedicated-auth-flow | planned: Frozen-scope reversible command is contract-planned for a later controlled real-write acceptance phase. Persist the audited commit plus runtime capability probes; 404/405/501 is version-scoped evidence and never a permanent global verdict. |
empty:N (Command result is not a collection-empty state.) partial:N (Single-target command has no meaningful partial result.) policy-forbidden:Y (Write can be blocked by capability, authorization, risk, or preflight policy.) unknown-result:Y (Disconnect or timeout requires outcome verification before retry.) owner-switch:Y (Owner switch preserves execution lineage but discards mismatched route responses.) |
R1; none dedicated-flow |
auth-dedicated/auth-no-replay/auth-version-probe/auth-actor-only/auth-result Dedicated auth endpoint, actor/session/instance rate limits, and fresh preflight of authentication state are required. Credential state is never inferred from stale data; require actor-initiated auth flow and no replay. Auth 404/405/501 is version evidence; do not downgrade to a generic proxy or expose credentials. No automatic replay; require an actor-initiated dedicated flow. Dedicated auth jobs return through /jobs/:jobId; session flows return a credential metadata-only audit result and link. |
REAL_WRITE_LATER | not-eligible-readonly-capture; n=0; categories=none; not a collector-eligible fully-bound GET R0 operation | registry:postAuthLogoutupstream:backend/src/main.rs:937-938upstream:backend/src/auth.rs:642-655upstream:backend/src/auth.rs:43-43fixture:not-eligible-readonly-capture |