@timurproko/a1 0.2.6-dev.736 → 0.2.7-dev.754

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/dist/features/owned-ui/resources/release-notes.json +4 -0
  2. package/dist/features/owned-ui/settings-app.js +3 -3
  3. package/dist/foundation/release/cohort-state.js +5 -2
  4. package/dist/native/darwin-arm64/manifest.json +1 -1
  5. package/dist/native/linux-x64/manifest.json +1 -1
  6. package/dist/native/win32-x64/manifest.json +2 -2
  7. package/dist/native/win32-x64/process-guardian.exe +0 -0
  8. package/dist/ui/components/value-menu.d.ts +6 -3
  9. package/dist/ui/components/value-menu.js +6 -5
  10. package/docs/architecture/boundaries.md +1 -1
  11. package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +70 -0
  12. package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +32 -0
  13. package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +115 -0
  14. package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +48 -0
  15. package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +125 -0
  16. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +56 -0
  17. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +174 -0
  18. package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +18 -0
  19. package/docs/architecture/terminal-host-proof-gate.md +1 -1
  20. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  21. package/docs/releases/0.2.6.md +44 -0
  22. package/package.json +1 -1
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "schema": "a1-release-notes-v1",
3
3
  "releases": [
4
+ {
5
+ "version": "0.2.6",
6
+ "markdown": "## [0.2.6] - 2026-10-10\n\n### New Features\n\n- customize the UI accent ([#718](https://github.com/timurproko/a1/pull/718))\n- allow concurrent worktree cleanup ([#725](https://github.com/timurproko/a1/pull/725))\n- add background appearance options ([#738](https://github.com/timurproko/a1/pull/738))\n\n### Changed\n\n- optimize Windows release validation ([#705](https://github.com/timurproko/a1/pull/705))\n- allow human auto-merge ([#711](https://github.com/timurproko/a1/pull/711))\n- remove disposable root links ([#713](https://github.com/timurproko/a1/pull/713))\n- upgrade pinned Pi to 1.1.0 ([#715](https://github.com/timurproko/a1/pull/715))\n- align menu and input counters ([#726](https://github.com/timurproko/a1/pull/726))\n- narrow the session backend port ([#730](https://github.com/timurproko/a1/pull/730))\n- extract session presenters owner ([#731](https://github.com/timurproko/a1/pull/731))\n- share helper pools and keybindings per process ([#733](https://github.com/timurproko/a1/pull/733))\n- introduce a process-level engine host ([#734](https://github.com/timurproko/a1/pull/734))\n- split the terminal host from the session presenter ([#735](https://github.com/timurproko/a1/pull/735))\n- key worktree claims by agent ([#736](https://github.com/timurproko/a1/pull/736))\n- follow the menu opening on the value in effect ([#752](https://github.com/timurproko/a1/pull/752))\n\n### Fixed\n\n- distinguish changelog titles ([#707](https://github.com/timurproko/a1/pull/707))\n- route release reopening validation ([#708](https://github.com/timurproko/a1/pull/708))\n- preserve resume row colors ([#709](https://github.com/timurproko/a1/pull/709))\n- prevent selector opening flash ([#710](https://github.com/timurproko/a1/pull/710))\n- recover missing generation ([#712](https://github.com/timurproko/a1/pull/712))\n- support standalone documentation ([#716](https://github.com/timurproko/a1/pull/716))\n- prevent prompt selection flash ([#719](https://github.com/timurproko/a1/pull/719))\n- simplify value feedback ([#720](https://github.com/timurproko/a1/pull/720))\n- keep final validation on PR ([#721](https://github.com/timurproko/a1/pull/721))\n- make tree selection full width ([#722](https://github.com/timurproko/a1/pull/722))\n- allow selection across progress spinner ([#727](https://github.com/timurproko/a1/pull/727))\n- order session shell construction and teardown ([#732](https://github.com/timurproko/a1/pull/732))\n- disambiguate same-name path chips ([#737](https://github.com/timurproko/a1/pull/737))\n- distinguish brand blue accent ([#739](https://github.com/timurproko/a1/pull/739))\n- open value menus with Enter ([#740](https://github.com/timurproko/a1/pull/740))\n- hide refreshed model status ([#741](https://github.com/timurproko/a1/pull/741))\n- open value menus over their anchor ([#742](https://github.com/timurproko/a1/pull/742))\n- recognize method-specific auto-merge enables ([#743](https://github.com/timurproko/a1/pull/743))\n- retry Windows lock release contention ([#753](https://github.com/timurproko/a1/pull/753))\n"
7
+ },
4
8
  {
5
9
  "version": "0.2.5",
6
10
  "markdown": "## [0.2.5] - 2026-10-07\n\n### New Features\n\n- show session info full screen ([#680](https://github.com/timurproko/a1/pull/680))\n- redesign session tree dialog ([#682](https://github.com/timurproko/a1/pull/682))\n- add name command input dialog ([#694](https://github.com/timurproko/a1/pull/694))\n\n### Changed\n\n- refine animated separator ([#681](https://github.com/timurproko/a1/pull/681))\n- upgrade pinned Pi to 1.0.4 ([#683](https://github.com/timurproko/a1/pull/683))\n- unify selection treatment ([#686](https://github.com/timurproko/a1/pull/686))\n- align project trust dialogs ([#687](https://github.com/timurproko/a1/pull/687))\n- standardize share dialog ([#689](https://github.com/timurproko/a1/pull/689))\n- align Resume Session dialog ([#693](https://github.com/timurproko/a1/pull/693))\n- unify dialog close hints ([#695](https://github.com/timurproko/a1/pull/695))\n- accent model scope markers ([#696](https://github.com/timurproko/a1/pull/696))\n\n### Fixed\n\n- wrap session file after label ([#684](https://github.com/timurproko/a1/pull/684))\n- align thinking markers with models ([#685](https://github.com/timurproko/a1/pull/685))\n- place new-session notice above prompt ([#688](https://github.com/timurproko/a1/pull/688))\n- close dialogs with Ctrl+C ([#690](https://github.com/timurproko/a1/pull/690))\n- restore suggestion after Backspace ([#691](https://github.com/timurproko/a1/pull/691))\n- cycle dialog filters backward ([#692](https://github.com/timurproko/a1/pull/692))\n- avoid initial value-menu highlight ([#697](https://github.com/timurproko/a1/pull/697))\n- keep session root expanded ([#698](https://github.com/timurproko/a1/pull/698))\n- hide skill prefixes in collapsed menu ([#699](https://github.com/timurproko/a1/pull/699))\n- omit space after command completion ([#700](https://github.com/timurproko/a1/pull/700))\n- stabilize values and add undo ([#701](https://github.com/timurproko/a1/pull/701))\n- standardize typing search hints ([#702](https://github.com/timurproko/a1/pull/702))\n- show tree time toggle state ([#703](https://github.com/timurproko/a1/pull/703))\n- refine resume search hints ([#704](https://github.com/timurproko/a1/pull/704))\n"
@@ -470,15 +470,15 @@ export class SettingsApp {
470
470
  this.#hoverKey = anchorKey;
471
471
  this.#hoverRegion = "value";
472
472
  }
473
- // Invariant: pointer opening stays inactive because it targeted the setting value, while
474
- // Enter explicitly starts keyboard choice navigation at the value already in effect.
473
+ // Invariant: the menu lays the value in effect over its source row, so both a press on
474
+ // that value and Enter start on it: the pointer is already resting on that entry.
475
475
  this.#menu = {
476
476
  entry,
477
477
  current,
478
478
  anchorKey,
479
479
  choices: entry.choices,
480
480
  keyboardOpened: selectCurrent,
481
- index: selectCurrent ? current : -1,
481
+ index: current,
482
482
  };
483
483
  }
484
484
  #closeMenu(menu) {
@@ -402,9 +402,12 @@ async function acquireLock(path) {
402
402
  return lock;
403
403
  }
404
404
  catch (error) {
405
- if (!(error instanceof Error && "code" in error && error.code === "EEXIST"))
405
+ const code = error instanceof Error && "code" in error ? error.code : undefined;
406
+ // Platform: Windows reports a lock file another holder is still deleting as EPERM or EACCES.
407
+ const releasing = process.platform === "win32" && (code === "EPERM" || code === "EACCES");
408
+ if (code !== "EEXIST" && !releasing)
406
409
  throw error;
407
- if (await reclaimAbandonedLock(path))
410
+ if (code === "EEXIST" && await reclaimAbandonedLock(path))
408
411
  continue;
409
412
  if (Date.now() >= deadline)
410
413
  throw error;
@@ -5,7 +5,7 @@
5
5
  "platform": "darwin",
6
6
  "architecture": "arm64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-10-10T09:15:37.918Z",
8
+ "builtAt": "2026-10-11T05:56:09.880Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
11
  "sha256": "51b0b2dc1c9ae577f2586c4217066929278726c2c15308d9144eb6f538e118ff",
@@ -5,7 +5,7 @@
5
5
  "platform": "linux",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-10-10T09:15:10.349Z",
8
+ "builtAt": "2026-10-11T05:55:59.220Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian",
11
11
  "sha256": "ef62679e83bc1fad3d38f9f21675d9256f08d20e67fd4791571032115ca1b0e9",
@@ -5,10 +5,10 @@
5
5
  "platform": "win32",
6
6
  "architecture": "x64",
7
7
  "capability": "supported",
8
- "builtAt": "2026-10-10T09:16:06.991Z",
8
+ "builtAt": "2026-10-11T05:56:34.215Z",
9
9
  "artifact": {
10
10
  "filename": "process-guardian.exe",
11
- "sha256": "c6e2cb23d012d779478fd1bff750f17687a4c5466bad7621b1b3c200a0557101",
11
+ "sha256": "11b166ce5758372e515f68b80e6d20e8c3759455a22581f3973ecb04ddfc9d26",
12
12
  "size": 288256
13
13
  },
14
14
  "provenance": {
@@ -1,8 +1,8 @@
1
1
  import type { UiTheme } from "./theme.js";
2
2
  /**
3
3
  * The menu a value opens: anchored to the row it was opened from, marking what
4
- * is in effect, highlighting nothing until something is picked, and flipping
5
- * above its anchor only when it would otherwise run off the bottom.
4
+ * is in effect, highlighting nothing until something is picked, and laid over
5
+ * its anchor so the value in effect stays where it was read.
6
6
  */
7
7
  export interface ValueMenuState {
8
8
  /** Values offered, as they should read. */
@@ -37,7 +37,10 @@ export interface ValueMenuLayout {
37
37
  /** Columns reserved at the right edge, such as a scrollbar rail. */
38
38
  readonly reservedRight: number;
39
39
  }
40
- /** Where the menu is placed: below its anchor where there is room, else above. */
40
+ /**
41
+ * Where the menu is placed: over its anchor, so the value in effect sits on the very
42
+ * row it was read from, shifted only as far as the body edges require.
43
+ */
41
44
  export declare function valueMenuFrame(state: ValueMenuState, anchor: ValueMenuAnchor, layout: ValueMenuLayout): ValueMenuFrame;
42
45
  /** Draws the menu over the rows behind it, leaving them otherwise untouched. */
43
46
  export declare function renderValueMenu(lines: readonly string[], state: ValueMenuState, frame: ValueMenuFrame, theme: UiTheme): readonly string[];
@@ -1,13 +1,14 @@
1
1
  import { overlaySpan } from "./spans.js";
2
2
  import { displayWidth, padToWidth } from "./text.js";
3
- /** Where the menu is placed: below its anchor where there is room, else above. */
3
+ /**
4
+ * Where the menu is placed: over its anchor, so the value in effect sits on the very
5
+ * row it was read from, shifted only as far as the body edges require.
6
+ */
4
7
  export function valueMenuFrame(state, anchor, layout) {
5
8
  const bodyTop = layout.bodyTop ?? 0;
6
9
  const bodyBottom = bodyTop + layout.bodyHeight;
7
- const below = anchor.screenRow + 1;
8
- const top = below + state.choices.length <= bodyBottom
9
- ? below
10
- : Math.max(bodyTop, anchor.screenRow - state.choices.length);
10
+ const currentIndex = Math.max(0, state.current === null ? 0 : state.choices.indexOf(state.current));
11
+ const top = Math.max(bodyTop, Math.min(anchor.screenRow - currentIndex, bodyBottom - state.choices.length));
11
12
  const previewWidth = Math.max(0, ...(state.previews ?? []).map(displayWidth));
12
13
  const previewColumns = previewWidth === 0 ? 0 : previewWidth + 1;
13
14
  const width = Math.max(...state.choices.map(choice => displayWidth(choice) + previewColumns + 4), 6);
@@ -53,7 +53,7 @@ The engine host removes A1's own obstacles to several Pi sessions in one process
53
53
 
54
54
  ## Planned multi-agent boundaries
55
55
 
56
- The multi-agent workspace feature, its dependency-free contracts, the structured-agent runtime, and the Node side of the terminal-host protocol were removed from `develop` while the multi-agent plan is on hold; their last state is preserved on the `archive/multi-agent-workspace` branch. A future implementation starts from the current codebase rather than from that copy. The boundary rules below remain the design intent for that work.
56
+ The multi-agent workspace feature, its dependency-free contracts, the structured-agent runtime, and the Node side of the terminal-host protocol were removed from `develop`; their last state is commit `243eb7a7` in `develop` history. That structured-workspace plan was retired on 2026-10-10 in favor of `add-persistent-multi-agent-tabs`, where every tab runs the complete A1 UI under the native terminal host. A future implementation starts from the current codebase rather than from that copy. The boundary rules below remain the design intent for that work.
57
57
 
58
58
  The workspace feature may depend on workspace contracts and the structured/terminal-host foundations. Those foundations may depend only on dependency-free workspace contracts, never on product features, launch profiles, or each other unless an approved capability adds the dependency. Launch profiles do not import, initialize, launch, or connect to composed terminal-host infrastructure.
59
59
 
@@ -0,0 +1,70 @@
1
+ # Manual one-pane terminal-host result
2
+
3
+ ## First manual artifact
4
+
5
+ - Artifact: `native/terminal-host/target/debug/addone-terminal-host.exe`
6
+ - SHA-256: `8d81db199687a9b8f195b4e40cb4b235de3ea00ffeb9cf55f9c64b1b3582cbba`
7
+ - Size: 2,214,912 bytes
8
+ - User-controlled run: one fullscreen `cmd.exe` pane inside Windows Terminal
9
+
10
+ The user reported that typing commands, cursor movement, colors, Windows Terminal resize, and fast output worked correctly.
11
+
12
+ The first artifact had one finding: `Ctrl+Shift+Q` did not exit.
13
+
14
+ ## Corrective artifact
15
+
16
+ - Corrective artifact SHA-256: `1025a0823114477b7ab311ef55098647fc337b98a9194cf389fc124a047360bf`
17
+ - Size: 2,227,712 bytes
18
+ - Correction: accept `Ctrl+Q` or `Ctrl+Shift+Q`, including uppercase key delivery.
19
+ - Correction: resolve Windows command shims through generic PATH/PATHEXT lookup; `pi` resolves to `C:\Users\tprokopiev\AppData\Roaming\npm\pi.cmd`.
20
+ - Automated non-interactive result after correction: build, version/provenance, terminal model, PTY start, process exit, and cleanup passed.
21
+
22
+ ## Follow-up artifact
23
+
24
+ - Artifact SHA-256: `b083af60eb8c4ca90438e4022c4e6d10b1410dda5554f554a8b814ba2cdee291`
25
+ - Size: 2,238,464 bytes
26
+ - Removed the host-owned quit shortcut so `Ctrl+Q` no longer intercepts input.
27
+ - Added generic calling-shell ancestry detection; this Git Bash environment resolves to `C:\Program Files\Git\usr\bin\bash.exe --login -i`.
28
+ - Disabled mouse capture by default so the outer terminal can provide native selection.
29
+ - Added `Shift+PageUp`/`Shift+PageDown` and `Shift+Up`/`Shift+Down` host scrollback.
30
+ - Non-interactive terminal model and PTY cleanup probes pass.
31
+
32
+ ## Theme-preservation artifact
33
+
34
+ - Artifact SHA-256: `9989373d1ee28ac42bf7a6b1be02d68b92c23b71f14336db493a93d76df48198`
35
+ - Size: 2,238,464 bytes
36
+ - The frame composer now emits the outer terminal's default foreground/background for unstyled cells instead of forcing black.
37
+ - The automated probe asserts the default-background sequence and passes.
38
+
39
+ ## Palette-preservation artifact
40
+
41
+ - Artifact SHA-256: `203219f0ee79f3086467dccb5479b5749b09f8bac79623f84682545d374ba2f4`
42
+ - Size: 2,238,976 bytes
43
+ - Palette-indexed child colors are emitted as palette indexes (`38;5;n` / `48;5;n`) instead of being converted through Ghostty's default RGB palette.
44
+ - The automated probe asserts default-background and palette-passthrough sequences and passes.
45
+
46
+ ## Scrollback artifact
47
+
48
+ - Artifact SHA-256: `6280786d713abe37eb979e309d27b7ed1eb1f1e1e76e485b0bc5f9c357391ca6`
49
+ - Size: 2,246,656 bytes
50
+ - Mouse capture is enabled so wheel events reach the host; wheel and Shift+navigation scroll the retained terminal viewport.
51
+ - Viewport changes mark the frame dirty before composition.
52
+ - The non-interactive probe verifies retained scrollback, viewport movement, and repainted earlier content.
53
+ - Use the outer terminal's modifier-based selection, usually Shift+drag in Windows Terminal, while pointer capture is active.
54
+
55
+ ## Selection and exit artifact
56
+
57
+ - Artifact SHA-256: `fc6d9d1ecbaae4718b850a42b5e6868758d1f4c8c8e1a7645237115d1f1d883c`
58
+ - Size: 2,266,624 bytes
59
+ - Plain left-drag selects terminal content with one uniform white background and black foreground; release emits an OSC 52 clipboard write.
60
+ - Double-click selects a word; triple-click selects a line.
61
+ - Ctrl+C clears an active host selection before reaching the child; without selection, interrupt keys remain child-owned.
62
+ - Mouse wheel scrolls the retained viewport. Home, End, PageUp, PageDown, and arrow keys remain child-owned; no host keyboard scroll binding is active.
63
+ - PTY output-channel closure exits the host when the child session ends.
64
+ - Non-interactive probes pass for terminal rendering, scrollback, selection, and PTY cleanup.
65
+
66
+ Manual retest should verify plain drag selection, double/triple click, mouse wheel, and Ctrl+C selection clearing. No terminal was launched or driven by automation on the active workstation.
67
+
68
+ ## User acceptance
69
+
70
+ The user manually confirmed that the vanilla-Pi terminal-host proof launches and works after the interaction corrections. The accepted one-pane pipeline includes theme/palette preservation, retained scrollback, mouse wheel scrolling, plain drag selection, word/line click selection, selection clearing with Ctrl+C, and child-owned interrupt behavior. Task 5.1 is accepted; the next gate is the 2×2 multi-pane proof.
@@ -0,0 +1,32 @@
1
+ # Manual 2×2 terminal-host basic result
2
+
3
+ ## Exact artifact
4
+
5
+ - Recorded at: `2026-08-14T16:13:20.217Z`
6
+ - Source commit: `aeb7421ff5cc82bc5da04cfb0d356e8f8041b6cb`
7
+ - Artifact: `native/terminal-host/target/debug/addone-terminal-host.exe`
8
+ - SHA-256: `896e1b5d2e2730dfd8e591fe3bd565a2aa283fb3ec6f64e8345745c6afcf024d`
9
+ - Size: 2,367,488 bytes
10
+ - Invocation: user-controlled `npm run proof:terminal-host`
11
+ - Surface: one existing outer terminal, one fixed tab, four independently PTY-backed Pi sessions
12
+
13
+ ## User-reported result
14
+
15
+ The user manually confirmed all of the following against the exact artifact:
16
+
17
+ - all four panes launched Pi;
18
+ - the four-pane presentation worked without observed flicker;
19
+ - pane focus and input routing worked;
20
+ - changing or clicking the focused pane preserved content in every pane after the repaint correction.
21
+
22
+ The user accepted this basic multi-pane proof result.
23
+
24
+ ## Explicit product disposition
25
+
26
+ The fixed 2×2 grid and dashed pane outlines are disposable proof scaffolding, not an accepted production layout or UI design. This result proves the native multi-pane pipeline only. It does not approve carrying the fixed geometry, border treatment, or proof interaction model into the product.
27
+
28
+ Production tabs and panes are expected later to use authoritative arbitrary layouts selected through the AddOne UI. The proof implementation may be removed or replaced after the exact-artifact 2×2 gate is finished; it must not become the default production workspace by inertia.
29
+
30
+ ## Gate scope
31
+
32
+ This record does not complete the formal tasks 5.3–5.6 acceptance gate. High-rate output, broader terminal modes and interactions, resize/terminal-size measurements, resource observations, abnormal exits, isolated-worker requirements, and the final stop/go decision remain separately required. No automated physical terminal control was performed on the active workstation.
@@ -0,0 +1,115 @@
1
+ {
2
+ "schema": "addone-multi-agent-milestone-baseline-v1",
3
+ "recordedAt": "2026-08-13T17:49:35.803Z",
4
+ "branch": "milestone/multi-agent-workspace",
5
+ "source": {
6
+ "commit": "8f4a45b907c8ccfca9b6fad52bd12c2bfe7b1172",
7
+ "tree": "f702a5cc6fba92a430d00634504039f0d8f4a304",
8
+ "developCommitAtBranchCreation": "8f4a45b907c8ccfca9b6fad52bd12c2bfe7b1172",
9
+ "originDevelopAtBranchCreation": "a526a63062b2f93db821c631548da885e20dc41d",
10
+ "tagAtCommit": null,
11
+ "cleanAtBranchCreation": true
12
+ },
13
+ "runtime": {
14
+ "platform": "win32",
15
+ "architecture": "x64",
16
+ "osRelease": "10.0.26200",
17
+ "node": "v24.16.0",
18
+ "npm": "11.13.0"
19
+ },
20
+ "package": {
21
+ "name": "@timurproko/addone",
22
+ "version": "0.1.5-dev.10",
23
+ "packageManager": "npm@11.13.0",
24
+ "nodeRange": ">=22.19.0 <25",
25
+ "lockfileVersion": 3,
26
+ "packageJsonSha256": "fb5966d03c9efb8d7aa726cc0582f34227aa525bf28baaa492c0a8af7fa0b617",
27
+ "packageLockSha256": "626b54ca5b5619c71a2dc7d667d49e4746bdea268be6fafa0635011f97824b80",
28
+ "localTarball": {
29
+ "filename": "timurproko-addone-0.1.5-dev.10.tgz",
30
+ "integrity": "sha512-7gLuq3Ec8uU76jXNWiBYUYMdK9O8roRROjs36xOnhJ+M9jboSRLdSBc0zQQXNqmsD6xa9b/87o/UqymmkbsFlg==",
31
+ "shasum": "370482e37ba171f7bd52f57eb6969c6c5940c2f4",
32
+ "sha256": "1046f005802bd1372ae232d5301d038511f7c9f072d1e0cb1a4ea1965b5f112f",
33
+ "size": 80121,
34
+ "unpackedSize": 370136,
35
+ "fileCount": 167,
36
+ "note": "Locally packed milestone source; it intentionally differs from the already-published dev.10 bytes because later documentation and update wording commits are present."
37
+ },
38
+ "registry": {
39
+ "latest": "0.1.4",
40
+ "next": "0.1.5-dev.10",
41
+ "nextIntegrity": "sha512-XjwhIsCbZjJbAwFQjWLnSsSS6Lb21Uls1MhkQUXOAiJh5Fg7IfQI4Ol4gMUGuzxSzOf38Cor+F+zB8nHLh79Dg==",
42
+ "nextShasum": "4af9a7697ad79209214889a8c56f3bb19228fb65"
43
+ }
44
+ },
45
+ "launchProfiles": {
46
+ "terminalCapability": "transparent",
47
+ "addone": {
48
+ "invocation": "a1",
49
+ "configurationRoot": "~/.a1/agent",
50
+ "projectTrust": "pi-default"
51
+ },
52
+ "pi": {
53
+ "invocation": "a1 pi",
54
+ "configurationRoot": "~/.pi/agent",
55
+ "environmentRule": "PI_CODING_AGENT_DIR removed",
56
+ "projectTrust": "pi-default"
57
+ },
58
+ "evidenceHashes": {
59
+ "documentationSha256": "0fcc0a7823dcdad2f00d6e2c82ba117d14b7cb2a2fcebfbb2615eafd94413003",
60
+ "contractsSha256": "bc63eeacdc65b89b0b4d84c2e25a4fb8f937d1864ab4275119a4a0aec707a38c",
61
+ "pathsSha256": "5a263fa07d3ccfd21a71721b43a99844d46f7cc15ed8f36caa556c1cc0cbbdfa",
62
+ "preparationSha256": "b5eb00f3c6ebbfda0dd9e8e793b6553b00720a4d24f24d5bcacf1d0f7183687d",
63
+ "isolationTestSha256": "9c72d63d2a4bcc143d73afbbe921821c3d813e10a4b0297288dff93bcb77d07e"
64
+ }
65
+ },
66
+ "gates": [
67
+ {
68
+ "command": "npm ci",
69
+ "passed": true,
70
+ "detail": "68 packages installed; 0 vulnerabilities"
71
+ },
72
+ {
73
+ "command": "npm run build",
74
+ "passed": true
75
+ },
76
+ {
77
+ "command": "npm run check",
78
+ "passed": true,
79
+ "detail": "typecheck, architecture, deprecated-dependency policy, 31 Vitest files/155 tests, and 1 release file/3 tests"
80
+ },
81
+ {
82
+ "command": "npm audit --audit-level=high --json",
83
+ "passed": true,
84
+ "detail": "0 vulnerabilities"
85
+ },
86
+ {
87
+ "command": "openspec validate --specs --strict --no-interactive",
88
+ "passed": true,
89
+ "detail": "7 main specifications"
90
+ },
91
+ {
92
+ "command": "openspec validate evolve-bare-a1-into-multi-agent-workspace --strict --no-interactive",
93
+ "passed": true
94
+ },
95
+ {
96
+ "command": "npm pack --ignore-scripts --json",
97
+ "passed": true,
98
+ "detail": "exact local tarball metadata and SHA-256 recorded"
99
+ }
100
+ ],
101
+ "releaseVerdict": {
102
+ "schema": "addone-development-preview-platform-verdict-v2",
103
+ "passed": true,
104
+ "certificationStatus": "uncertified-development-preview",
105
+ "terminalCapability": "transparent",
106
+ "physicalHostCertification": "deferred",
107
+ "crossPlatformCertification": "deferred",
108
+ "stableReleaseEligible": false
109
+ },
110
+ "desktopAutomation": "not-run",
111
+ "terminalApplicationsLaunched": false,
112
+ "physicalCertification": "deferred",
113
+ "stableReleaseEligible": false,
114
+ "passed": true
115
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "schema": "addone-multi-agent-owned-ui-prerequisite-v1",
3
+ "milestone": "evolve-bare-a1-into-multi-agent-workspace",
4
+ "prerequisiteChange": "build-owned-pi-ui-foundation",
5
+ "recordedAt": "2026-08-17T12:31:58Z",
6
+ "result": "satisfied",
7
+ "acceptedBaselineCommit": "084d0fb7e4004bc4b83a0b28c8aaea736b558d44",
8
+ "hardenedFoundationCommit": "efb244472fa4e6499300533a3f535fe60ab7f948",
9
+ "publishedSourceCommit": "d407ed017a6f9216a9a0c62d85d7cd44803d4d2c",
10
+ "publication": {
11
+ "package": "@timurproko/addone@0.1.5-dev.11",
12
+ "tag": "next",
13
+ "workflowRun": "https://github.com/timurproko/addone/actions/runs/32030101549",
14
+ "integrity": "sha512-05GQdg7ZfvcEpI6wAvebyx/06JPnV5AUtSbptx7P3mzT28iU4yurP87uKIKsvpNwPzjMsr8k5RfiAeEyq/GfpQ==",
15
+ "latestPreserved": "0.1.4"
16
+ },
17
+ "acceptance": {
18
+ "sourcePortCoverage": "109 records and 29 behaviors; zero pending or stale entries",
19
+ "modalCoverage": "47 nodes, 111 transitions, and 36 settings instances",
20
+ "terminalParity": "54 checkpoints with zero differences",
21
+ "extensionBoundary": "validated public ExtensionUIContext translated through AddOne-owned contracts",
22
+ "zeroDebtGate": "passed",
23
+ "manualBaseAcceptance": "passed",
24
+ "prohibitedRuntimeOrPackagePatches": 0
25
+ },
26
+ "compositionBoundary": {
27
+ "ownedContractsComposableForStructuredTabs": true,
28
+ "terminalHostInitializationRequired": false,
29
+ "ptyCreationRequired": false,
30
+ "interactiveModeMutationRequired": false,
31
+ "deepPiImportsRequired": false
32
+ },
33
+ "milestoneAuthorization": {
34
+ "task5_4OwnedUiPrerequisite": "complete",
35
+ "structuredTabsMayBeginAtTask5_5": true,
36
+ "structuredTabsStartedByThisRecord": false,
37
+ "section6MayBegin": false,
38
+ "section6Blocker": "Section 6 additionally requires terminal-host proof acceptance; this record satisfies only the owned-UI prerequisite.",
39
+ "composedTerminalWorkAuthorized": false
40
+ },
41
+ "evidence": [
42
+ "evidence/owned-pi-ui-foundation/automated-evidence-7.35-zero-debt-final-gates.json",
43
+ "evidence/owned-pi-ui-foundation/zero-debt-architecture-audit.md",
44
+ "evidence/owned-pi-ui-foundation/manual-acceptance-pi-0.84.2-base-084d0fb.json",
45
+ "evidence/owned-pi-ui-foundation/owned-ui-shell-composability.json",
46
+ "evidence/owned-pi-ui-foundation/automated-evidence-8.5-next-publication.json"
47
+ ]
48
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "schema": "a1-terminal-host-provenance-v1",
3
+ "recordedAt": "2026-08-20T09:25:48.307Z",
4
+ "change": "evolve-bare-a1-into-multi-agent-workspace",
5
+ "hostMode": "console-inside-existing-terminal",
6
+ "desktopApplicationRequired": false,
7
+ "sources": [
8
+ {
9
+ "name": "libghostty-vt",
10
+ "repository": "https://github.com/ghostty-org/ghostty",
11
+ "commit": "c5a21edfcbc2d5b46540ad91b7980aca31f5f1f3",
12
+ "committedAt": "2026-07-14T20:12:12-07:00",
13
+ "role": "terminal parsing, retained state, and input semantics",
14
+ "license": "MIT",
15
+ "licenseNotice": "Copyright (c) 2024 Mitchell Hashimoto, Ghostty contributors",
16
+ "licenseSha256": "3129de97bc7769d683e52ce02cb4eaecd2b0aab144b09d6325a1b135bdc87cc0",
17
+ "cleanSourceTree": true,
18
+ "licenseVerification": "verified-local-license-file"
19
+ },
20
+ {
21
+ "name": "portable-pty",
22
+ "version": "0.9.0",
23
+ "role": "ConPTY and Unix PTY/process ownership",
24
+ "license": "MIT",
25
+ "licenseNotice": "Copyright (c) 2018 Wez Furlong",
26
+ "licenseSha256": "c06f48b2acbbb4bb88345225c6d85264773528fe9fc99241cd255a7e32be632e",
27
+ "cleanSourceTree": true,
28
+ "licenseVerification": "verified-local-license-file"
29
+ },
30
+ {
31
+ "name": "crossterm",
32
+ "version": "0.29.0",
33
+ "registryChecksum": "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b",
34
+ "role": "outer-terminal raw mode and host input events",
35
+ "license": "MIT",
36
+ "cleanSourceTree": true,
37
+ "licenseVerification": "declared-license-recorded; license notice must be vendored before packaging"
38
+ }
39
+ ],
40
+ "rendererPolicy": {
41
+ "initial": "A1-owned buffered frame composer",
42
+ "ratatui": "optional evaluation candidate, not selected by default"
43
+ },
44
+ "excludedStacks": [
45
+ "Ghostty desktop application",
46
+ "Winghostty Win32 runtime",
47
+ "OpenGL/WGL",
48
+ "Metal",
49
+ "GTK",
50
+ "AppKit",
51
+ "Herdr",
52
+ "Node terminal parser",
53
+ "Node terminal renderer"
54
+ ],
55
+ "patchPolicy": {
56
+ "default": "retain upstream behavior without local patches",
57
+ "requiredPatchFields": [
58
+ "source revision",
59
+ "target revision",
60
+ "reason",
61
+ "tests",
62
+ "upstream synchronization decision",
63
+ "license impact"
64
+ ],
65
+ "behavioralTerminalPatchesRequireSeparateReview": true
66
+ },
67
+ "buildPrerequisites": {
68
+ "operatingSystems": [
69
+ "windows-10",
70
+ "windows-11"
71
+ ],
72
+ "architectures": [
73
+ "x64",
74
+ "arm64"
75
+ ],
76
+ "language": "Rust",
77
+ "zig": ">=0.15.2 <0.16",
78
+ "cToolchain": "Visual Studio 2022 Build Tools/MSVC on Windows",
79
+ "terminal": "user-owned terminal emulator",
80
+ "isolatedPhysicalWorkerRequired": true,
81
+ "guiSdkRequired": false,
82
+ "openGlRequired": false,
83
+ "win32WindowRuntimeRequired": false,
84
+ "localProbe": {
85
+ "rustAvailable": true,
86
+ "rustVersion": "1.97.1",
87
+ "zigAvailable": true,
88
+ "zigVersion": "0.15.2",
89
+ "requiredZigAvailable": true,
90
+ "nativeBuildAttempted": true,
91
+ "reason": "Rust 1.97.1 and Zig 0.15.2 are available; the clean console-host build and non-interactive probe pass."
92
+ }
93
+ },
94
+ "artifactManifestRequirements": [
95
+ "artifactPath",
96
+ "sha256",
97
+ "sizeBytes",
98
+ "signatureStatus",
99
+ "buildTimestamp",
100
+ "a1Commit",
101
+ "a1ProtocolVersion",
102
+ "libghosttyVtCommit",
103
+ "ptyComponentVersion",
104
+ "hostInputComponentVersion",
105
+ "rendererComponentIdentity",
106
+ "retainedComponents",
107
+ "adaptedComponents",
108
+ "compilerVersions",
109
+ "targetTriple",
110
+ "licenseHashes",
111
+ "buildCommand",
112
+ "dependencyCacheProvenance",
113
+ "cleanSourceTree",
114
+ "evidenceSchema",
115
+ "physicalVerdictReference"
116
+ ],
117
+ "checks": {
118
+ "license": "passed",
119
+ "provenance": "passed",
120
+ "sourceTreeHygiene": "passed",
121
+ "binaryBuild": "passed",
122
+ "physicalAutomation": "not-run"
123
+ },
124
+ "passed": true
125
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "schema": "a1-terminal-host-task-5-1-v1",
3
+ "recordedAt": "2026-08-20T09:25:48.307Z",
4
+ "change": "evolve-bare-a1-into-multi-agent-workspace",
5
+ "task": "5.1",
6
+ "hostMode": "console-inside-existing-terminal",
7
+ "desktopWindowCreated": false,
8
+ "fullscreenRun": "not-run-user-controlled-only",
9
+ "toolchain": {
10
+ "rust": "1.97.1",
11
+ "cargo": "1.97.1",
12
+ "zig": "0.15.2",
13
+ "platform": "win32",
14
+ "architecture": "x64"
15
+ },
16
+ "artifact": {
17
+ "path": "native/terminal-host/target/debug/a1-terminal-host.exe",
18
+ "profile": "debug",
19
+ "sha256": "d1437d46d469a8823565a0428b57a1888bb327c2ce26d3cb51c0fb6fc88e4165",
20
+ "sizeBytes": 2394624
21
+ },
22
+ "source": {
23
+ "cargoTomlSha256": "8c6510f8d758189f24f91c1f044e93902a376e3c1a5bb71ca747603f03f0cc72",
24
+ "cargoLockSha256": "ec023df443170affda1ce69ddaa9489785fed1347d97bcb44a793607e61a20a2",
25
+ "buildScriptSha256": "54befce9dd9b1fbfadb388d8c4d1c97e1d6473660a075b7acc6baaddf54301c7",
26
+ "mainSha256": "6180f21f4dcfc0e1a8a4808a4312957eaff7bc7342660b3d449e8ea7ee164eed",
27
+ "ghosttyBindingSha256": "31747a4c5a4214059cea1d2ccab0b6245e74e05d5da3188271be4b331acb9231",
28
+ "libghosttyVtCommit": "c5a21edfcbc2d5b46540ad91b7980aca31f5f1f3",
29
+ "libghosttyVtLicenseSha256": "3129de97bc7769d683e52ce02cb4eaecd2b0aab144b09d6325a1b135bdc87cc0",
30
+ "portablePtyVersion": "0.9.0",
31
+ "crosstermVersion": "0.29.0"
32
+ },
33
+ "commands": [
34
+ {
35
+ "command": "cargo clean && npm run test:terminal-host",
36
+ "result": "passed"
37
+ },
38
+ {
39
+ "command": "a1-terminal-host.exe --version",
40
+ "result": "passed"
41
+ },
42
+ {
43
+ "command": "a1-terminal-host.exe --probe",
44
+ "result": "passed",
45
+ "detail": "created a retained terminal model, composed a frame, started cmd.exe through a PTY, waited for exit, and cleaned up without entering alternate-screen mode"
46
+ }
47
+ ],
48
+ "limitations": [
49
+ "No fullscreen interactive run was launched by the agent.",
50
+ "No user input or physical rendering acceptance is claimed.",
51
+ "One-pane manual terminal validation remains user-controlled.",
52
+ "Isolated-worker physical automation remains deferred."
53
+ ],
54
+ "passed": true,
55
+ "sourceCommit": "b26383ed6605b222d6b853eb232c6b94e0fdb7ff"
56
+ }
@@ -0,0 +1,174 @@
1
+ {
2
+ "schema": "a1-terminal-host-task-5-3-v1",
3
+ "recordedAt": "2026-08-20T09:25:48.307Z",
4
+ "change": "evolve-bare-a1-into-multi-agent-workspace",
5
+ "task": "5.3",
6
+ "sourceCommit": "b26383ed6605b222d6b853eb232c6b94e0fdb7ff",
7
+ "artifact": {
8
+ "path": "native/terminal-host/target/debug/a1-terminal-host.exe",
9
+ "profile": "debug",
10
+ "sha256": "d1437d46d469a8823565a0428b57a1888bb327c2ce26d3cb51c0fb6fc88e4165",
11
+ "sizeBytes": 2394624
12
+ },
13
+ "toolchain": {
14
+ "rust": "1.97.1",
15
+ "cargo": "1.97.1",
16
+ "zig": "0.15.2",
17
+ "platform": "win32",
18
+ "architecture": "x64"
19
+ },
20
+ "authority": {
21
+ "owner": "native-terminal-host",
22
+ "nodeRelay": false,
23
+ "rawPayloadExported": false,
24
+ "outerPresentationBufferedInNativeHost": true,
25
+ "controlPlanePayloads": "typed identity, topology, capability, lifecycle, recovery, and bounded diagnostics only"
26
+ },
27
+ "identityObservation": {
28
+ "schema": "a1-terminal-host-hot-path-v1",
29
+ "paneCount": 4,
30
+ "streamIdentities": [
31
+ 1,
32
+ 8,
33
+ 15,
34
+ 22
35
+ ],
36
+ "inputIdentities": [
37
+ 2,
38
+ 9,
39
+ 16,
40
+ 23
41
+ ],
42
+ "terminalModelIdentities": [
43
+ 3,
44
+ 10,
45
+ 17,
46
+ 24
47
+ ],
48
+ "renderDamageIdentities": [
49
+ 4,
50
+ 11,
51
+ 18,
52
+ 25
53
+ ],
54
+ "keyEncoderIdentities": [
55
+ 5,
56
+ 12,
57
+ 19,
58
+ 26
59
+ ],
60
+ "mouseEncoderIdentities": [
61
+ 6,
62
+ 13,
63
+ 20,
64
+ 27
65
+ ],
66
+ "selectionIdentities": [
67
+ 7,
68
+ 14,
69
+ 21,
70
+ 28
71
+ ],
72
+ "allIdentitySetsUnique": true,
73
+ "presentationWrites": 2,
74
+ "presentationBytes": 4618,
75
+ "panes": [
76
+ {
77
+ "paneId": "pane-1",
78
+ "sessionId": "session-1",
79
+ "ptyOutputChunks": 8,
80
+ "ptyOutputBytes": 272,
81
+ "terminalModelWrites": 8,
82
+ "terminalModelBytes": 272,
83
+ "inputWrites": 2,
84
+ "inputBytes": 23,
85
+ "renderPasses": 2,
86
+ "renderedBytes": 642
87
+ },
88
+ {
89
+ "paneId": "pane-2",
90
+ "sessionId": "session-2",
91
+ "ptyOutputChunks": 8,
92
+ "ptyOutputBytes": 272,
93
+ "terminalModelWrites": 8,
94
+ "terminalModelBytes": 272,
95
+ "inputWrites": 2,
96
+ "inputBytes": 23,
97
+ "renderPasses": 2,
98
+ "renderedBytes": 668
99
+ },
100
+ {
101
+ "paneId": "pane-3",
102
+ "sessionId": "session-3",
103
+ "ptyOutputChunks": 9,
104
+ "ptyOutputBytes": 272,
105
+ "terminalModelWrites": 9,
106
+ "terminalModelBytes": 272,
107
+ "inputWrites": 2,
108
+ "inputBytes": 23,
109
+ "renderPasses": 2,
110
+ "renderedBytes": 698
111
+ },
112
+ {
113
+ "paneId": "pane-4",
114
+ "sessionId": "session-4",
115
+ "ptyOutputChunks": 8,
116
+ "ptyOutputBytes": 272,
117
+ "terminalModelWrites": 8,
118
+ "terminalModelBytes": 272,
119
+ "inputWrites": 2,
120
+ "inputBytes": 23,
121
+ "renderPasses": 2,
122
+ "renderedBytes": 726
123
+ }
124
+ ]
125
+ },
126
+ "nativePrimitiveProbe": {
127
+ "keyEncoding": true,
128
+ "textImeEncoding": true,
129
+ "mouseEncoding": true,
130
+ "paneRelativeMouse": true,
131
+ "selection": true,
132
+ "clipboardOsc52Encoding": true,
133
+ "keyAndMouseModesRefreshedFromRetainedTerminal": true,
134
+ "nodeRelay": false
135
+ },
136
+ "staticBoundaryChecks": {
137
+ "nodeProtocolHotPathPayloadsAbsent": true,
138
+ "nativeImplementationDependenciesAbsentFromNodeManifest": true,
139
+ "probeRunnerUsesInheritedStdio": true,
140
+ "explicitTransparentModesRemainIndependent": true
141
+ },
142
+ "commands": [
143
+ {
144
+ "command": "npm run test:terminal-host",
145
+ "result": "passed"
146
+ },
147
+ {
148
+ "command": "npm run check:architecture",
149
+ "result": "passed"
150
+ },
151
+ {
152
+ "command": "npx vitest run test/repository-governance/native-host-boundary.test.ts test/repository-governance/terminal-architecture-policy.test.ts",
153
+ "result": "38 tests passed"
154
+ },
155
+ {
156
+ "command": "npm test",
157
+ "result": "285 tests passed"
158
+ },
159
+ {
160
+ "command": "npm run typecheck",
161
+ "result": "passed"
162
+ },
163
+ {
164
+ "command": "openspec validate evolve-bare-a1-into-multi-agent-workspace --strict",
165
+ "result": "passed"
166
+ }
167
+ ],
168
+ "limitations": [
169
+ "No physical terminal automation was run on the active workstation.",
170
+ "The text/IME gate validates the native composed-Unicode input path; operating-system IME behavior remains a task 5.4/5.5 physical workload where supported.",
171
+ "High-rate workloads, resource and latency measurements, abnormal exits, and exact-artifact physical acceptance remain tasks 5.4 and 5.5."
172
+ ],
173
+ "passed": true
174
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema": "a1-terminal-spike-acceptance-record-v1",
3
+ "recordedAt": "2026-08-14T07:12:07.445Z",
4
+ "change": "evolve-bare-a1-into-multi-agent-workspace",
5
+ "hostMode": "console-inside-existing-terminal",
6
+ "artifact": null,
7
+ "technicalVerdict": "pending",
8
+ "physicalVerdict": "pending",
9
+ "physicalMethod": "not-run",
10
+ "decision": "pending",
11
+ "integrationAllowed": false,
12
+ "milestoneMergeAllowedForComposedTerminal": false,
13
+ "waivers": [],
14
+ "waiverPolicy": "no-waivers-after-evidence",
15
+ "structuredWorkIndependent": true,
16
+ "transparentModesIndependent": true,
17
+ "notes": "Acceptance is pending the isolated in-terminal 2x2 spike artifact and a manual or isolated-worker physical verdict."
18
+ }
@@ -29,4 +29,4 @@ Any failed, missing, incomplete, contradictory, physically unverified, or thresh
29
29
  - stops composed-terminal work instead of starting a custom rendering/input remediation loop;
30
30
  - prevents investment in a postponed desktop-native application shell.
31
31
 
32
- The executable decision was `evaluateNativeSpikeGate` in `src/foundation/native-host-protocol/proof-gate.ts`, preserved on the `archive/multi-agent-workspace` branch while the multi-agent plan is on hold. The current acceptance record is `openspec/changes/evolve-bare-a1-into-multi-agent-workspace/evidence/terminal-spike-acceptance-record.json`; it remains pending until task 5.6 records a physical verdict for exact artifact bytes.
32
+ The executable decision was `evaluateNativeSpikeGate` in `src/foundation/native-host-protocol/proof-gate.ts`, preserved in `develop` history at commit `243eb7a7`. The acceptance record is `docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json`. It stays pending: the owning plan was retired on 2026-10-10 without a physical verdict, and `add-persistent-multi-agent-tabs` defines its own certification rather than reusing this gate.
@@ -34,6 +34,6 @@ Paint diagnostics require requested, presented, coalesced, and missed frame coun
34
34
  - `overall: accepted` requires technical acceptance and a physical verdict accepted through `manual` or `isolated-worker` evidence.
35
35
  - Active-workstation automation makes the evidence invalid.
36
36
  - Evidence must not contain terminal output, child input streams, rendered cells, cell grids, framebuffers, screen buffers, or raw terminal payloads.
37
- - The evidence validator was `assertNativeSpikeEvidence` in `src/foundation/native-host-protocol/evidence.ts`, preserved on the `archive/multi-agent-workspace` branch while the multi-agent plan is on hold.
37
+ - The evidence validator was `assertNativeSpikeEvidence` in `src/foundation/native-host-protocol/evidence.ts`, preserved in `develop` history at commit `243eb7a7`. The plan that owned this spike was retired on 2026-10-10.
38
38
 
39
39
  A failed or incomplete proof stops composed-terminal integration and must not be waived to merge.
@@ -0,0 +1,44 @@
1
+ ## [0.2.6] - 2026-10-10
2
+
3
+ ### New Features
4
+
5
+ - customize the UI accent ([#718](https://github.com/timurproko/a1/pull/718))
6
+ - allow concurrent worktree cleanup ([#725](https://github.com/timurproko/a1/pull/725))
7
+ - add background appearance options ([#738](https://github.com/timurproko/a1/pull/738))
8
+
9
+ ### Changed
10
+
11
+ - optimize Windows release validation ([#705](https://github.com/timurproko/a1/pull/705))
12
+ - allow human auto-merge ([#711](https://github.com/timurproko/a1/pull/711))
13
+ - remove disposable root links ([#713](https://github.com/timurproko/a1/pull/713))
14
+ - upgrade pinned Pi to 1.1.0 ([#715](https://github.com/timurproko/a1/pull/715))
15
+ - align menu and input counters ([#726](https://github.com/timurproko/a1/pull/726))
16
+ - narrow the session backend port ([#730](https://github.com/timurproko/a1/pull/730))
17
+ - extract session presenters owner ([#731](https://github.com/timurproko/a1/pull/731))
18
+ - share helper pools and keybindings per process ([#733](https://github.com/timurproko/a1/pull/733))
19
+ - introduce a process-level engine host ([#734](https://github.com/timurproko/a1/pull/734))
20
+ - split the terminal host from the session presenter ([#735](https://github.com/timurproko/a1/pull/735))
21
+ - key worktree claims by agent ([#736](https://github.com/timurproko/a1/pull/736))
22
+ - follow the menu opening on the value in effect ([#752](https://github.com/timurproko/a1/pull/752))
23
+
24
+ ### Fixed
25
+
26
+ - distinguish changelog titles ([#707](https://github.com/timurproko/a1/pull/707))
27
+ - route release reopening validation ([#708](https://github.com/timurproko/a1/pull/708))
28
+ - preserve resume row colors ([#709](https://github.com/timurproko/a1/pull/709))
29
+ - prevent selector opening flash ([#710](https://github.com/timurproko/a1/pull/710))
30
+ - recover missing generation ([#712](https://github.com/timurproko/a1/pull/712))
31
+ - support standalone documentation ([#716](https://github.com/timurproko/a1/pull/716))
32
+ - prevent prompt selection flash ([#719](https://github.com/timurproko/a1/pull/719))
33
+ - simplify value feedback ([#720](https://github.com/timurproko/a1/pull/720))
34
+ - keep final validation on PR ([#721](https://github.com/timurproko/a1/pull/721))
35
+ - make tree selection full width ([#722](https://github.com/timurproko/a1/pull/722))
36
+ - allow selection across progress spinner ([#727](https://github.com/timurproko/a1/pull/727))
37
+ - order session shell construction and teardown ([#732](https://github.com/timurproko/a1/pull/732))
38
+ - disambiguate same-name path chips ([#737](https://github.com/timurproko/a1/pull/737))
39
+ - distinguish brand blue accent ([#739](https://github.com/timurproko/a1/pull/739))
40
+ - open value menus with Enter ([#740](https://github.com/timurproko/a1/pull/740))
41
+ - hide refreshed model status ([#741](https://github.com/timurproko/a1/pull/741))
42
+ - open value menus over their anchor ([#742](https://github.com/timurproko/a1/pull/742))
43
+ - recognize method-specific auto-merge enables ([#743](https://github.com/timurproko/a1/pull/743))
44
+ - retry Windows lock release contention ([#753](https://github.com/timurproko/a1/pull/753))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timurproko/a1",
3
- "version": "0.2.6-dev.736",
3
+ "version": "0.2.7-dev.754",
4
4
  "description": "Standalone terminal workspace for supervised native and managed agents",
5
5
  "type": "module",
6
6
  "privateLaunchContract": "neutral-launch-v1",