Repository navigation
CONTRACT: add scoped voice refusals and confirmed permission receipts - #2145
Conversation
8c59ad4 to
fc033a7
Compare
|
Current draft PR #2145 head The earlier confirmation 38906390560 exposed a real regression: applying a voice receipt changed transcript tool status before ordinary result/recovery routing could recognize the pending restored card. This hid terminal closure and cross-page answer evidence. Receipt phases now lock decisions through Current candidate evidence:
The fixes and tests are pushed. GPT's next dependency-order confirmation 38933150766 is still waiting for a hosted runner; upper native aggregate support remains #2141. Keep this PR draft until lower layers land and its resulting current candidate can receive complete hosted confirmation. The earlier failed hosted run is not a passing receipt, and the local checks do not replace its selected categories. This remains |
fc033a7 to
4c2dca7
Compare
|
Current voice-stack delivery recheck, 2026-10-17: the frozen heads are GPT #2070 The current actual native merge chain again uses synthetic predecessors:
Immutable GitHub commit responses confirm all three identities. UI metadata job 117369693498 in draft run 39023456026 actually checks out the UI synthetic commit and records that tree/parent pair. This is metadata evidence, not full qualification. The unchanged exact-own-parent validator on the product branches cannot admit the two upper shapes. Queued upper confirmation runs 39023921626 and 39023923038 were deliberately cancelled before selected expensive jobs, and both upper PRs returned to draft. These are not passing receipts. The valid bottom-layer request 39023395726 remains active for ordinary dependency-order delivery. No #2141 implementation, native-policy waiver, guard weakening or duplicate fix is introduced here. Both upper layers pass 723 focused checks; the combined current source passes strict types, 39 pinned conversation browser scenarios and both native approval recovery cases (full package build in setup, 172.87 seconds total). Their supplemental import-graph runs encountered the existing 180-second build-hook timeout and were stopped after retaining the failed receipts; entire preflights are not claimed green. Keep complete hosted qualification as the remaining delivery bar. |
4c2dca7 to
cb250a4
Compare
|
The current prepared stack is pushed; this layer remains draft, milestone 0.44.0. All feature commits compare unchanged by range-diff. Full source identities, historical CI and current blockers are recorded in the latest #2070 handoff. Current top head Delivery awaits the focused diagram source-binding repair #2322 / #2314, whose required preflight is blocked by #2153, then current selected hosted proof and dependency-order native merges. The latest draft gates pass but do not substitute for full product qualification. #114 retains its reserved human verification and stays open under Refs. |
cb250a4 to
97ab5ad
Compare
|
Delivery resumed after #2326 landed the diagram binding repair. Current pushed heads: #2070 Current focused adapters/binding proof passes 52 cases / 172 assertions; the named restart case also passes. GPT complete local preflight passes 542 invariant tests plus 25 affected feedback tests. Top-layer actual Chrome recovery passes both cases / 16 assertions (163.71 seconds), and all 39 pinned Chromium conversation cases pass (28.93 seconds). Delivered forward-closure builds complete under the unchanged setup budget; no guard or timeout change is included here. Upper-layer local preflights remain in progress, with UI fast invariants already passing 724 cases. GPT is ready and confirmation 39032664018 is running all fourteen selected product categories. Contract and metadata pass. Actual checkout |
97ab5ad to
6dc23cf
Compare
Keep host transcript status separate from permission receipt phases. Voice phases still lock their controls through awaitsDecision, while restored cards remain visible to the existing result and cross-page recovery paths. Two existing recovery assertions fail before this change; all 19 tests and 67 assertions pass after it. Update the moved source citations.
6dc23cf to
168c31a
Compare
|
Final permission head: A focused source-dispatch check caught the remaining reviewed-source pin omission in this layer before merge: the comment-only update in Failing-first receipt: the two normal binding assertions failed on the old pin. Corrected focused checks passed 41 tests / 249 assertions. Disabling hash enforcement made the named registry/source-drift test fail with expected false versus received true; restored the guard. Incremental The first hosted ready run 39038009173 was cancelled deliberately when this omission was found; it is not a successful proof receipt. The corrected head is ready for fresh selected hosted proof. Keep #114 open for the reserved listening requirement; no paid/live provider or device qualification is claimed. |
|
Final selected confirmation run 39038370902 passed, including all 14 product jobs, metadata and final aggregate. Separate contract run 39038368893 passed. Superseded draft/previous candidate cancellations are not used as proof. Inspected head Unit shards: 3,810 + 3,570 + 3,487 + 3,611 = 14,478 passing tests, zero failed/todo cases. The 28 expected skips comprise 24 opt-in paid image tests and four inactive sqlite-unavailable placeholder tests; their corresponding actual sqlite cases ran. All 39 conversation/permission browser scenarios executed successfully in the pinned layout job. Runtime and host-runtime, both browser/layout shards, endurance, captures, packaging and strict verification all passed. Live main remains the tested UI base This is |
|
Merged #2145 as |
Refs #114
What changed
Live conversation can refuse pending ordinary-turn approvals through the existing scoped voice-denial channel while backend work, chat progress and other interactive cards keep running. The card locks only the refused requests and waits for the host's actual outcome, including a winning visual grant, expiry without tool_result, and reconnect uncertainty. Posture-denied actions get one host outcome and no grant card.
Why this shape
Implements the approved #114 permission design on the #960 conversation client. The approved fallback is an earcon plus visual card/strip because neither selected service has a proven deterministic exact-copy permission speech path. Permission copy never becomes model commentary or standalone TTS. Original attributed user input takes precedence over question/message binding; assistant and unknown-origin input cannot invoke refusal. Built-in attribution remains unqualified, and no spoken grant exists.
Proof
bun run check:pr --base feat/960-voice-ui-42413928: 638 tests / 3806 assertions passed against the committed layer, including current API reports, citations, lint, leakage and contribution changeset checks.85873db77bf09143c51818255d2d4733a8eb1f67.d06e8d1f4c8334b45293ace35c7c607419122dffafter the UI merge. Native upper-layer candidate identity is tracked in ci: native stacked PR events do not match contract and candidate identity guards #2141; no aggregate bypass, unrelated-main refresh or older-green substitution is claimed.Checklist
Anything left open
Keep #114 open. The approved real-device listening pass is reserved for the maintainer, on speaker and headphones, with the configured Gemini/GPT-Live services. Verify the earcon/visual fallback, continued chat controls and host outcome; record whether original-user attribution actually permits scoped refusal and whether output leaks into recognition. Both built-ins currently report unknown acoustic origin, which cannot authorize a denial. Qualification may therefore remain unproven; do not promote capabilities to make the check pass. Record a bounded sanitized result under #114/#961, with no credentials or deployment details. No paid/live call or device-quality claim was made here. #961 owns the broader measured qualification and activation gate. Native CI identity policy/integration remains #2141.
Maintainer ruling — 2026-10-17: The known ActionCard intermediate-opacity and final-disappearance timing findings in #1946 remain under evidence collection and are non-blocking for other issues. Matching failures must retain their actual failed identities and explicit attribution; this is accepted animation risk, not a repair or a green CI claim. Other proof and merge requirements remain applicable.
The retained ActionCard 713.9 ms final-disappearance failure does not block this voice-permission work. Adapter/client integration, current candidate qualification, native CI identity support and the explicitly reserved real-device/listening requirements retain their independent scope. No live provider qualification or completion is inferred.