Keep candidate credentials explicit across server fallbacks and reject unqualified direct product backends before driver construction.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Verify identical lock digests from clean manifest resolution and its repeated resolution. Document the clean seed requirement.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Mint credential-name metadata only from the selected task environment and bind it to the provider and normalized session. Carry that marker through the closed Rust environment boundary and reject raw sidecar credentials without a matching binding before runtime admission. Do not forward the marker to the provider or change legacy profiles.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Record terminal usage before classifying or throwing a provider-reported failure. Failed Pi turns retain their exact request token counts and source-proven USD receipt, including across canonical disk serialization, while the failure remains terminal.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Question and plan descriptions render images as text references and Mermaid diagrams as source. Other Markdown surfaces retain their existing behavior. Cover remote and relative images, resolver bypass, and complete 100,000-character context through the production question card.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Use the canonical temporary path that runtime snapshot admission pins, so macOS /var aliases cannot bypass the intended EACCES and EIO mocks. Assert the selected path was inspected; keep non-ENOENT failure and no-upload assertions.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Timing the full-suite-sensitive case showed about 4.1s spent delivering the 96-frame prelude before its held semantic callback, while within-budget close took 353ms. Add an explicit prefix-count fixture option, preserve existing 96/48 defaults and stress cases, and use two prefix/suffix frames only in callback-barrier cases. Keep the 15s timeout and all durable settlement assertions unchanged.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Synchronize with master 14795136f5 while retaining the recorded implementation base. Regenerate protocol contracts and preserve both input-presence and permission-scope checks.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Propagate live Pi steering and native queued follow-up capabilities after session open and lazy warm prompt initialization. Preserve conservative static declarations, reject forged capabilities and malformed control modes, and admit only profile-bound candidate credentials at the Rust sidecar boundary.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Retain a bounded private pending-request ledger across controller and runner reconnects. Emit non-replayable expirations before terminal facts, preserve complete questions, and never restore approvals or mutations after provider loss.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Fail closed without reporting resolution when the pipe write is ambiguous. Preserve provider-supported Copilot session permissions.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Preserve Pi pricing receipt provenance, require evaluation opt-in, and record qualification boundaries.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Bind response receipts to the active stream, request and prompt; reject cancellation, disconnect, write failure and mismatched responses before acknowledging durable delivery.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Bind controls to the active turn and reserve bounded delivery identities before dispatch; preserve explicit provider policy and Pi receipt estimates across both runner paths.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Bind provider extensions to active turns, drain activity before settlement, preserve complete plan decisions, and expose bounded provider notice details. Keep new harness choices disabled until qualification.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Keep Cursor, Copilot and Pi unavailable until qualification; require explicit new-provider models without substitution and bind new native candidates to versioned profiles.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Validate provider-supported choices, fence resolutions to the active turn, retain pending state until sidecar acknowledgement, and preserve complete bounded plan documents.
Co-Authored-By: Paperclip <noreply@paperclip.ing>