Skip to content

Architecture decision records

One short file per decision, numbered in order. Written when the decision is made, not afterwards — see CLAUDE.md section 8.

Copy 0000-template.md. Every ADR carries a “What failed” section.

ADRTitleStatus
0001Out-of-process pane hosts, and the rule that actually keeps the shell aliveaccepted
0002Terminal stack: .NET 10 + Avalonia, adopted VT engine behind our own interfaceaccepted
0003Foreign-app embedding: what “any Windows app” actually meansaccepted
0004Capturing the working directory: ship the shell snippetsaccepted
0005Layout engine: canonical mutable tree, geometric focus, format-neutral snapshotsaccepted
0006Session file format: TOML, with the layout tree flattenedaccepted
0007Hosting foreign windows: NativeControlHost, and embed onlyaccepted
0008Out-of-process pane-host IPC and detach cleanupaccepted
0009Phase 1 terminal runtime and named actionsaccepted
0010Phase 2 persistence runtime and cwd recoveryaccepted
0011Phase 3 foreign-app runtime and compatibility selectionaccepted
0012Phase 4 pane providers and built-in file browseraccepted
0013Phase 5 platform layeraccepted
0014Nested tab groups, tab placement, and a real toolbaraccepted
0015Profiles, the application catalogue, and empty panesaccepted
0016Looking like Windows 11accepted
0017Input-queue attachment: measuredaccepted
0018Terminal.Emulation: the supply-chain positionaccepted for 0.x
0019Network filesystems: delegate to Windows, ship no clientaccepted
0020SFTP and FTP: implement them, because nothing else willaccepted
0026Optional GPU rendering with software fallbackaccepted
0027Terminal input, responsive tabs and close protectionaccepted; native acceptance open
0028Resizable tabs, preserved names and terminal key ownershipaccepted; native acceptance open
0029Explorer folder launches and single-instance routingaccepted; native acceptance open
0030A per-user installer, and updating from Aboutaccepted
0031Isolated development profileaccepted
0032Safe foreign-window discoveryaccepted
0033Verified foreign-window reattachmentaccepted
0034DPI-aware foreign hostingaccepted
0035Terminal row cache and frame clockaccepted
0036ReadyToRun startup and safe deferralaccepted
0037Pane chrome and failure surfacesaccepted for owner visual review
0038Root tabs in the custom captionaccepted for owner visual review