Tags: callstack/agent-device
Tags
chore(gates): declare lastActivityAtMs as a store-owned SessionState … …field R7 holds every SessionState field to one declared writer. The #2833 request path reports activity through `SessionStore.noteSessionActivity` rather than mutating the record itself, so the store that owns the record is the only writer here and the field now says so.
chore(gates): pin witness clearing for every command in the trait table Whether the prepared path drops a remembered text-entry tap was argued from the retired read-only fact rather than asserted. The table now carries that column for every command, compared against the merge-base predicate plus a literal copy of its read-only set, so neither replay eligibility nor witness clearing can move with the classification under test. The commands `executeOnMain` answers before `executeOnMainPrepared` runs are compared nowhere: the old predicate never evaluated for them and neither does the derived one. `snapshot` stays in scope because it reaches that body, and `appState` postdates the merge-base and owes it no equality. Adding the `querySelector` bundle id to the witness-owner set — the change the review asked for — turns that row red.
chore(gates): rename the alert golden table's readOnly column to query The runner no longer classifies commands by read-only-ness, so a shared column named after it implied a concept the runner no longer has. `query` names the fact both sides agree on — the request changes nothing — which each maps to its own consumer: replay eligibility in the runner, `readOnly` in the daemon. Also names the `.presentedSurface` dispatch proof in the iOS PR lane, so what the declared policy does to a stopped app is checked on every pull request rather than only in the nightly.
chore(gates): route the actionability vector table to the differentia… …l lane contracts/fixtures/snapshot-actionability-policy.json is read by both sides of scripts/ios-snapshot-differential, and packages/kernel/src/rect.ts holds the TypeScript predicate that table replays, so a change to either must select that lane rather than rely on the generic golden-table rule reaching only the unit and Swift builds.
chore(gates): route the actionability vector table to the differentia… …l lane contracts/fixtures/snapshot-actionability-policy.json is read by both sides of scripts/ios-snapshot-differential, and packages/kernel/src/rect.ts holds the TypeScript predicate that table replays, so a change to either must select that lane rather than rely on the generic golden-table rule reaching only the unit and Swift builds.
PreviousNext