Skip to content

Architecture Decision Records

ADRs record decisions that should not silently change.

The Chinese ADR entry follows the same decision map and points to these records. Decision IDs, status, and the English record remain the source of truth for both locales.

Format

Each ADR includes:

  • Status
  • Context
  • Decision
  • Consequences
  • Alternatives (optional)

Index

IDTitleStatus
0001Use Electron as desktop shellAccepted
0002Use pi Agent Harness as agent engineAccepted
0003Hybrid runtime (historical main-process note)Superseded in part
0004No remote Gateway in MVPAccepted
0005User-installable plugin systemAccepted
0006Marketplace postponed after local plugin runtimeAccepted
0007Plugin package format .piplug (zip)Accepted
0008Plugin runtime isolation target = separate processAccepted (Target)
0009English-first globalizationAccepted
0010Rust backend host coreAccepted
0011Freeze host RPC, storage ownership, and mode defaultsAccepted
0012Universal provider & model coverageAccepted
0013Consolidate settings navigation into four destinationsSuperseded in part by 0026
0014Adopt host-owned storage schema v2Accepted
0015Make settings content responsive to window widthAccepted
0016Organize the sidebar around retained multi-project tabsAccepted
0017Remove composer workspace context railAccepted
0018Carry thinking mode through the complete session pipelineAccepted
0019Work panel subsystems (PTY terminal, embedded browser, git review, file browsing)Accepted
0020Configuration provider studioAccepted
0021Platform application chromeSuperseded in part by 0025
0022Application update deliveryAccepted
0023Independent conversation session forkAccepted
0024Composer slash commands and @ file referencesAccepted
0025Keep application menus out of Windows/Linux windowsAccepted
0026Move the Projects index into Settings as an archiveAccepted
0027Make pi-ai authoritative for model metadataAccepted
0028Scope work-panel runtime contexts to conversationsAccepted
0029Separate native-window and work-panel resize ownershipSuperseded in part by 0032
0030Turn-boundary context checkpoint compactionAccepted
0031Keep composer prompt rows free of brand iconsAccepted
0032Reserve native width for the docked work panelAccepted (superseded in part by 0033)
0033Internal-dock work panel (no native window expansion)Accepted
0034Merge command palette into global searchAccepted
0035Surface the OS locale through the preload bridgeAccepted
0036Split Settings into AI and Shortcuts destinationsAccepted
0037Resolve project instructions in Electron mainAccepted
0038Bridge plugin-declared MCP servers in Electron mainAccepted
0039Activate plugin skills and ship plugin authoring as a first-party devkitAccepted (skill delivery revised by D174)
0040Resident plugin services and the inter-plugin message busAccepted
0041Bound host runtime resources and decouple message persistenceAccepted
0042Message-scoped inline review cardsAccepted
0043Message-owned review snapshots and guarded rollbackAccepted
0044Session-bound project instruction preflightAccepted
0045Bash tool inherits the user's login-shell PATHAccepted
0046Categorized process log filesAccepted
0047Context usage inspector with exact and estimated token sourcesAccepted
0048Lazy per-turn tool activationAccepted
0049Recover automatic context compaction failures with a retained tailAccepted
0050Bounded provider stream recovery and diagnosticsAccepted
0051Isolate host RPC stdio from the Tokio blocking poolAccepted
0052Plan operating state and approval boundarySuperseded by 0053
0053Plan checkpoint artifact, approval, and execution epochAccepted for implementation
0054Selectable command shell catalog and execution identityAccepted for implementation
0055Agent-only mode; Chat becomes an internal read-only profileSuperseded by 0052 / 0053
0056User-owned MCP servers and skills, with a shared activation scopeAccepted
0057Permission-gated external paths and portable native searchAccepted for implementation
0058Extensions page density and theme-readable button surfacesAccepted
0059Persist composer clipboard files in session scratchAccepted
0060Archive the regenerate branch under the RPC lockAccepted
0061Imperceptible background context compactionAccepted (amends 0030 / 0049; clauses 2/4/6/7/8 amended by 0064)
0062Bounded subagents behind a Task toolAccepted for implementation
0063A managed surface for subagent definitionsAccepted for implementation
0064Codex-parity context compactionAccepted (amends 0061 / 0030)
0066Empty home direct bottom composerAccepted for implementation (amends D111)
0067ChatGPT-inspired empty-home starter guidanceSuperseded by D206
0068Add a keyboard entry point for the work panelAccepted for implementation
0069Make native-tool path mistakes recoverableAccepted for implementation
0070Separate composer file-reference display from prompt serializationAccepted for implementation
0071Adopt an Apple-inspired global corner hierarchyAccepted for implementation
0072Add a global plugin launcherAccepted for implementation
0073Stage next-turn composer configuration and preserve stopped throughputAccepted for implementation
0074Native notification permission for pluginsAccepted
0075Manual reload for development-plugin permission ceilingsAccepted
0076Capture the Windows-reserved plugin launcher chord in host-coreAccepted
0079Use VitePress for the bilingual documentation siteAccepted
0080Prewarm the global plugin launcher after bootAccepted
0081Host-owned cross-platform plugin panel chromeAccepted

Built for local-first development.