Skip to content

Perform an authorised Pi 1.0.3 canary and rollback check #1456

Description

@piclaw-bot

Current integration target — released Pi 1.0.3

Rui authorised the retarget on 5 October 2026 after the unified timeline/meters/audit integration. Exact upstream release: d78dc83d633229d12f8b79631384c4c2717c399f. The shipped MCP wrapper remains selected; Native replacement/parity and pi-durable are outside this integration.

Core source is merged through PR1558, 6ceaeaed1: eight exact archives and payload admission, fresh public SDK/provider/CLI/device/browser/private-UI evidence, frozen full 6,516 passed/eight existing skips/zero failed, and postmerge17tests/485assertions. No installation or restart. Azure's built-in provider is now azure; the Responses API identifier and Piclaw optional custom provider IDs are unchanged. Retired Azure selections fail closed with manual migration guidance; live auth/config files are not rewritten by source qualification. The released cancelled-refresh persistence fix is tested, but raw provider/auth settlement and account-generation contracts are still absent. Production Delegate remains inactive.

Earlier 1.0.2 and prior-version bodies and receipts are preserved below as history. Source merge authority does not permit deployment/restart, live account/server calls or provider spend. Those operations, canary/soak and operational rollback need separate approval.

Current checklist

  • Current exact1.0.3 core source/artifact admission and disposable synthetic evidence are published (PR1558).
  • Qualify matching immutable core/add-on artifacts and required production/provider acceptance before operational cutover.
  • Obtain explicit install/restart/account/server permission, validate consistent protected snapshot, canary/soak/stop conditions and post-cutover write/token rollback.
Earlier target criteria and receipts — preserved historical record

Current integration target — Pi 1.0.2

Rui authorised retargeting to released Pi 1.0.2 on 5 October 2026, upstream commit cd32f7725fdbddbaecdff5b1e68491563394e0ca. This work integrates Pi with the standard MCP wrapper already shipped by Piclaw. Wrapper replacement, Native MCP parity and adapter removal are future work, not prerequisites for this integration. Keep one wrapper owner; reject unsupported Native selection without fallback. This scope decision does not weaken the shipped wrapper's credential, policy or cleanup requirements.

Preserve 0.99.1, 1.0.0 and 1.0.1 receipts as historical evidence. New 1.0.2 qualification is separate. Unreleased upstream OAuth cancellation changes after the 1.0.2 tag are excluded. Source updates, isolated tests, review and verified merges are authorised; installation, restart and real-account/provider tests still need separate approval. Pi-durable remains out of scope.

Integration checklist and completed slices

  • Initial authorised Pi 1.0.1 Smith install/restart and rollback snapshot recorded; no later deployment inferred.
  • Qualify matching Pi 1.0.2 core/add-on artifacts using the shipped wrapper.
  • Obtain separate install/restart/real-account approval and verify snapshot, canary, soak and rollback.
Previous target criteria and receipts — preserved historical record

Active target — Pi 1.0.1 (3 October 2026)

Rui authorised retargeting and implementation to exact Pi 1.0.1, upstream git head a7229ddc21810d6245105978033b7df645ecc2f7. This supersedes the earlier 1.0.0 execution target below. Preserve all 0.99.1 and 1.0.0 receipts as historical evidence; they are not 1.0.1 qualification.

Source migration, exact-package admission and isolated Bun-only synthetic qualification are authorised. Keep Adapter/Auto as the default, reject unsupported native combinations, retain failed-teardown/Apply security gates, and exclude pi-durable. Live accounts, deployment, production installation, restart and canary remain separately authorised. Do not waive unresolved native, provider or Delegate acceptance gates.

Earlier target and requirements (retained)

Checkpoint: 958ac185255840ee4f800becc5f7e3111ef9acda on feat/mcp-settings-host; stable 0.99.1 source baseline, not 1.0.0 admission.

Shared target and MCP policy

Selected target: Pi 1.0.0, gitHead a13d35a742c6ef8462812a28fbe1d8c8b7431c32. Rui explicitly authorised retargeting all remaining work on 1 October 2026: stabilise and commit current work → update relevant issues/dependencies → resume the 1.0.0 upgrade on that checkpoint. Source changes, isolated dependency installs and offline qualification are authorised; runtime admission remains an acceptance gate, not an assumed result. All new execution is Bun-only. Live accounts/MCP/provider calls, production installation, deployment/restart and experimental pi-durable activation still require separate approval. Preserve completed 0.99.1 receipts and closed issue states as historical evidence; do not relabel them as 1.0.0 results.

  • Preserve the approved consolidated instance MCP settings: adapter/native selector, adapter default, exactly one active owner, codemode Auto/On/Off default Auto.
  • Engine switching aborts active turns and reloads all extensions through supported public APIs, retaining chats/history; no service restart. Unsupported combinations reject with explicit reasons; no silent fallback or dropped settings.
  • Ten native public-API gap diagnostics persist in the 1.0.0 assessment. Target selection is not a capability/security waiver.
  • Old Harness/Pico3 exports are removed. Design the pi-durable 1.0.0 Harness successor and HC/PC crosswalk #1493 owns the pi-durable semantic/authority design and Qualify pi-durable 1.0.0 storage and Harness semantics on Bun without activation #1494 its isolated qualification. Do not add pi-durable to production merely to repair imports.

Summary

Deploy only after qualification, explicit user approval and safe coordination; make rollback a verified operational path.

Parent: #1442

MCP contract: #1444

Dependencies

Acceptance Criteria

  • Canary the qualified 1.0.0 artifacts and selected engine; retaining the adapter is supported policy, not a blanket native cutover.

  • Do not activate pi-durable or open old stores with it without the separate approved architecture/migration/rollback plan.

  • Check provider-login AUTH-01–08 and the approved live-account canary disposition from Qualify provider login, refresh and logout for Pi 1.0.3 #1458 before rollout; credential rollback must account for rotated refresh tokens and possible reauthentication.

  • Obtain explicit install/deploy/restart permission and check active sessions; wait/coordinate release and UX without interrupting other work.

  • Take a consistent SQLite/WAL plus JSONL/config/core/Delegate snapshot before new writers; preserve keychain references and never delete messages.db.

  • Drain old work/clients/children, deploy matching artifacts and switch owner atomically; no adapter/native overlap or automatic fallback.

  • Run authorised low-risk canary and verify policy/secrets/status/execution/abort/disposal/Delegate health before broad admission.

  • On secret/policy/capability/duplicate-owner/orphan/data failure, stop admission, preserve redacted evidence, quarantine/reconcile new writes and restore the matching pre-upgrade snapshot/artifacts.

  • Verify the restored old owner and approved read-only operation; never assume the old runtime can safely read new-format sessions. Record final exact versions and operational outcome.

Implementation Notes

Smith is an LXC/systemd environment with /workspace state and user piclaw.service; use the active host’s own manager at execution time. This issue is a future operation, not approval. No production Harness/Pico3 activation. The approved selectable-engine policy retains the adapter default; the rollout plan must preserve that option and exactly one active owner.

Estimate: S · Risk: high · Source file: docs/mcp.md

Source anchors: Piclaw baseline, upstream release, MCP guide, public extension options.

Test Plan

  • Review qualification and restore drill before scheduling; check no active sessions at authorised restart.
  • Bounded canary and rollback health tests with explicit allowed calls and a written stop/restore decision.

Definition of Done

  • Acceptance criteria satisfied with exact-version evidence
  • Required tests/typechecks pass (documentation-only changes use structural/link review)
  • Docs and migration guidance updated
  • Operational impact and rollback assessed
  • Update history and parent/dependency status reflect evidence

Provider-login coverage — 29 September 2026

Provider login is a hard gate inherited through #1455: #1458. Do not blindly restore superseded OAuth tokens or revoke/logout live accounts for a canary. Preserve unrelated provider credentials; request approval for any real sign-in or account-impacting action.

Pre-retarget issue body — historical record, not current target authority

Summary

Deploy only after qualification, explicit user approval and safe coordination; make rollback a verified operational path.

Planning record only. This issue does not authorise package installation, live credentials/MCP/provider calls, production activation, deployment or restart. Target exactly Earendil 0.99.1 (gitHead d86654abb8862e201933517d6f1fce9f88dd117f), starting from 0.87.1 / Delegate 0.2.13. A later upstream fix needs an explicit target decision and its own receipt. Preserve completed 0.87.1 history.

Parent: #1442

MCP contract: #1444

Dependencies

Acceptance Criteria

  • Check provider-login AUTH-01–08 and the approved live-account canary disposition from Qualify provider login, refresh and logout for Pi 1.0.3 #1458 before rollout; credential rollback must account for rotated refresh tokens and possible reauthentication.

  • Obtain explicit install/deploy/restart permission and check active sessions; wait/coordinate release and UX without interrupting other work.

  • Take a consistent SQLite/WAL plus JSONL/config/core/Delegate snapshot before new writers; preserve keychain references and never delete messages.db.

  • Drain old work/clients/children, deploy matching artifacts and switch owner atomically; no adapter/native overlap or automatic fallback.

  • Run authorised low-risk canary and verify policy/secrets/status/execution/abort/disposal/Delegate health before broad admission.

  • On secret/policy/capability/duplicate-owner/orphan/data failure, stop admission, preserve redacted evidence, quarantine/reconcile new writes and restore the matching pre-upgrade snapshot/artifacts.

  • Verify the restored old owner and approved read-only operation; never assume the old runtime can safely read new-format sessions. Record final exact versions and operational outcome.

Implementation Notes

Smith is an LXC/systemd environment with /workspace state and user piclaw.service; use the active host’s own manager at execution time. This issue is a future operation, not approval. No production Harness/Pico3 activation. A separately approved core-only upgrade retaining the adapter would require a different cutover plan.

Estimate: S · Risk: high · Source file: docs/mcp.md

Source anchors: Piclaw baseline, upstream release, MCP guide, public extension options.

Test Plan

  • Review qualification and restore drill before scheduling; check no active sessions at authorised restart.
  • Bounded canary and rollback health tests with explicit allowed calls and a written stop/restore decision.

Definition of Done

  • Acceptance criteria satisfied with exact-version evidence
  • Required tests/typechecks pass (documentation-only changes use structural/link review)
  • Docs and migration guidance updated
  • Operational impact and rollback assessed
  • Update history and parent/dependency status reflect evidence

Provider-login coverage — 29 September 2026

Provider login is a hard gate inherited through #1455: #1458. Do not blindly restore superseded OAuth tokens or revoke/logout live accounts for a canary. Preserve unrelated provider credentials; request approval for any real sign-in or account-impacting action.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:runtimeCore runtime, sessions, lifecycle, and orchestrationblockedBlocked by another issue or external dependencyinitiative:earendil-0991Earendil 0.99.1 upgrade and upstream MCP replacementinitiative:earendil-100Pi 1.0.0 candidate assessment; no automatic target selectionpriority:highHigh prioritytype:releaseRelease preparation or versioning

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions