🛟 Updated.
74ac365 parent: 9f73e9e modified
.memory/handoffs/2026-10-29-milestone-initialize.md +2 -3 | @@ -6,12 +6,11 @@ Initialize is implemented on branch `feature/initialize` (not committed by the a | ||
| 6 | 6 | |
| 7 | 7 | ## In flight |
| 8 | 8 | |
| 9 | -- Issue #3 stays open on one task: run `spikes/wails-ui` on macOS (`wails3 dev`) and confirm ADR 0002. Only the owner can do it. | |
| 10 | -- Milestone "Initialize" (due 2026-10-30) remains open until #3 closes. | |
| 9 | +- Nothing. #3 was verified on macOS by the owner and closed; milestone "Initialize" is closed. The owner commits, opens a merge request for `feature/initialize` and merges it. | |
| 11 | 10 | |
| 12 | 11 | ## Next steps |
| 13 | 12 | |
| 14 | -1. Owner: review, commit, then follow `docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md` (EN: `docs/en/how-to/test-milestone-initialize-on-macos.md`) — parts 4–5 close #3 and the milestone. | |
| 13 | +1. Owner: merge `feature/initialize`, then create the M1 branch. | |
| 15 | 14 | 2. Owner: decide whether to run the qlty gate (needs a sandbox with the dev-toolkit kit) before M1. |
| 16 | 15 | 3. Start M1 with #8 (project from `wails3 init -t svelte`, merged into the existing root `go.mod`; keep the Makefile as entry point; licence headers), then #9 (loader on top of `schema`), #10 (`internal/acp` wrapping coder/acp-go-sdk; `realagents` build tag), #11, #12, #13. |
| 17 | 16 | |
| @@ -6,12 +6,11 @@ Initialize is implemented on branch `feature/initialize` (not committed by the a | |||
| 6 | 6 | ||
| 7 | ## In flight | 7 | ## In flight |
| 8 | 8 | ||
| 9 | -- Issue #3 stays open on one task: run `spikes/wails-ui` on macOS (`wails3 dev`) and confirm ADR 0002. Only the owner can do it. | 9 | +- Nothing. #3 was verified on macOS by the owner and closed; milestone "Initialize" is closed. The owner commits, opens a merge request for `feature/initialize` and merges it. |
| 10 | -- Milestone "Initialize" (due 2026-10-30) remains open until #3 closes. | ||
| 11 | 10 | ||
| 12 | ## Next steps | 11 | ## Next steps |
| 13 | 12 | ||
| 14 | -1. Owner: review, commit, then follow `docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md` (EN: `docs/en/how-to/test-milestone-initialize-on-macos.md`) — parts 4–5 close #3 and the milestone. | 13 | +1. Owner: merge `feature/initialize`, then create the M1 branch. |
| 15 | 2. Owner: decide whether to run the qlty gate (needs a sandbox with the dev-toolkit kit) before M1. | 14 | 2. Owner: decide whether to run the qlty gate (needs a sandbox with the dev-toolkit kit) before M1. |
| 16 | 3. Start M1 with #8 (project from `wails3 init -t svelte`, merged into the existing root `go.mod`; keep the Makefile as entry point; licence headers), then #9 (loader on top of `schema`), #10 (`internal/acp` wrapping coder/acp-go-sdk; `realagents` build tag), #11, #12, #13. | 15 | 3. Start M1 with #8 (project from `wails3 init -t svelte`, merged into the existing root `go.mod`; keep the Makefile as entry point; licence headers), then #9 (loader on top of `schema`), #10 (`internal/acp` wrapping coder/acp-go-sdk; `realagents` build tag), #11, #12, #13. |
| 17 | 16 | ||
modified
.memory/history.md +5 -0 | @@ -29,3 +29,8 @@ | ||
| 29 | 29 | - **Goal**: the owner ran the macOS guide; everything works except the traffic lights overlapping the "CHANNELS" heading. |
| 30 | 30 | - **Changes**: `spikes/wails-ui`: `--titlebar-inset` CSS variable (0, 38px under `:root.macos`), `macos` class set from `System.IsMac()` in `main.ts`, left dock padded by it; comment linking it to `InvisibleTitleBarHeight` in `main.go`. Guide point 7 updated (EN/FR). |
| 31 | 31 | - **Tests**: shared `node_modules` now holds the Mac's darwin bindings, so the build was verified on a scratchpad copy (`npm ci`, `npm run build`, `svelte-check` 0/0, `go vet`), and the layout checked under Xvfb with the class forced on. Not re-checked on the Mac yet. |
| 32 | + | |
| 33 | +## 2026-10-29 — Milestone Initialize closed | |
| 34 | + | |
| 35 | +- **Goal**: after the owner's successful macOS check, close #3 and the milestone. | |
| 36 | +- **Changes**: #3 last task closed + result comment, issue closed; milestone `Initialize` → closed; ADR 0002 status "verified on macOS"; prototype README updated; `.memory/` summary and handoff updated. No commit by the agent (the owner commits and merges). | |
| @@ -29,3 +29,8 @@ | |||
| 29 | - **Goal**: the owner ran the macOS guide; everything works except the traffic lights overlapping the "CHANNELS" heading. | 29 | - **Goal**: the owner ran the macOS guide; everything works except the traffic lights overlapping the "CHANNELS" heading. |
| 30 | - **Changes**: `spikes/wails-ui`: `--titlebar-inset` CSS variable (0, 38px under `:root.macos`), `macos` class set from `System.IsMac()` in `main.ts`, left dock padded by it; comment linking it to `InvisibleTitleBarHeight` in `main.go`. Guide point 7 updated (EN/FR). | 30 | - **Changes**: `spikes/wails-ui`: `--titlebar-inset` CSS variable (0, 38px under `:root.macos`), `macos` class set from `System.IsMac()` in `main.ts`, left dock padded by it; comment linking it to `InvisibleTitleBarHeight` in `main.go`. Guide point 7 updated (EN/FR). |
| 31 | - **Tests**: shared `node_modules` now holds the Mac's darwin bindings, so the build was verified on a scratchpad copy (`npm ci`, `npm run build`, `svelte-check` 0/0, `go vet`), and the layout checked under Xvfb with the class forced on. Not re-checked on the Mac yet. | 31 | - **Tests**: shared `node_modules` now holds the Mac's darwin bindings, so the build was verified on a scratchpad copy (`npm ci`, `npm run build`, `svelte-check` 0/0, `go vet`), and the layout checked under Xvfb with the class forced on. Not re-checked on the Mac yet. |
| 32 | + | ||
| 33 | +## 2026-10-29 — Milestone Initialize closed | ||
| 34 | + | ||
| 35 | +- **Goal**: after the owner's successful macOS check, close #3 and the milestone. | ||
| 36 | +- **Changes**: #3 last task closed + result comment, issue closed; milestone `Initialize` → closed; ADR 0002 status "verified on macOS"; prototype README updated; `.memory/` summary and handoff updated. No commit by the agent (the owner commits and merges). | ||
modified
.memory/summary.md +2 -3 | @@ -6,7 +6,7 @@ A desktop application (Go + Wails) to talk with AI agents in channels, for non-t | ||
| 6 | 6 | |
| 7 | 7 | ## State (2026-10-29) |
| 8 | 8 | |
| 9 | -Milestone **Initialize** is done except one check (issue #3: run the UI prototype on macOS). There is **no application code yet**; M1 (issues #8–#13) starts it. | |
| 9 | +Milestone **Initialize** is closed (issues #2–#7 closed; the UI prototype was verified on macOS by the owner). There is **no application code yet**; M1 (issues #8–#13) starts it. | |
| 10 | 10 | |
| 11 | 11 | What exists: |
| 12 | 12 | |
| @@ -19,7 +19,7 @@ What exists: | ||
| 19 | 19 | ## Decisions in force |
| 20 | 20 | |
| 21 | 21 | - ACP **v1**, via `github.com/coder/acp-go-sdk` v0.13.5, wrapped in `internal/acp` (ADR 0001). One ACP session per (channel, agent). |
| 22 | -- **Wails v3.0.0**, Svelte 5 + TS, paneforge, markdown-it + Shiki (JS engine) + DOMPurify, CodeMirror 6, xterm.js + creack/pty (ADR 0002). Markdown rendered at most once per animation frame. | |
| 22 | +- **Wails v3.0.0**, Svelte 5 + TS, paneforge, markdown-it + Shiki (JS engine) + DOMPurify, CodeMirror 6, xterm.js + creack/pty (ADR 0002). Markdown rendered at most once per animation frame. macOS hidden-inset title bar: content near the top-left is padded by `--titlebar-inset` (38px under `:root.macos`, = `InvisibleTitleBarHeight`). | |
| 23 | 23 | - Packages and data model: ADR 0003. YAML = what exists; Pebble v2 = what happens, one DB per config file; channels live only in Pebble (YAML-declared ones are created once). Messages written at end of turn. |
| 24 | 24 | - Config format v1: `docs/en/reference/configuration.md`; unknown keys are errors; cross-entry rules belong to the loader (#9). |
| 25 | 25 | - Licence: custom source-available (`LICENSE`). Every hand-written source file starts with the one-line header `Copyright (c) 2026 Philippe Charrière — Sidekicks Source-Available License 1.0, see LICENSE` (comment syntax of the language); not on generated files nor on the owner's root scripts (`git.sh`, `new.*.sh`, `tag-step.sh`). |
| @@ -44,7 +44,6 @@ What exists: | ||
| 44 | 44 | |
| 45 | 45 | ## Not yet established |
| 46 | 46 | |
| 47 | -- The UI prototype has **not** been run on macOS (only Linux/Xvfb). | |
| 48 | 47 | - How to exec a shell / read files inside an `sbx` sandbox (issue #28). |
| 49 | 48 | - Quality gate: `qlty` was not installed in the 2026-10-29 sandbox, so no qlty measurement exists yet (`.quality/` absent). |
| 50 | 49 | - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call. |
| @@ -6,7 +6,7 @@ A desktop application (Go + Wails) to talk with AI agents in channels, for non-t | |||
| 6 | 6 | ||
| 7 | ## State (2026-10-29) | 7 | ## State (2026-10-29) |
| 8 | 8 | ||
| 9 | -Milestone **Initialize** is done except one check (issue #3: run the UI prototype on macOS). There is **no application code yet**; M1 (issues #8–#13) starts it. | 9 | +Milestone **Initialize** is closed (issues #2–#7 closed; the UI prototype was verified on macOS by the owner). There is **no application code yet**; M1 (issues #8–#13) starts it. |
| 10 | 10 | ||
| 11 | What exists: | 11 | What exists: |
| 12 | 12 | ||
| @@ -19,7 +19,7 @@ What exists: | |||
| 19 | ## Decisions in force | 19 | ## Decisions in force |
| 20 | 20 | ||
| 21 | - ACP **v1**, via `github.com/coder/acp-go-sdk` v0.13.5, wrapped in `internal/acp` (ADR 0001). One ACP session per (channel, agent). | 21 | - ACP **v1**, via `github.com/coder/acp-go-sdk` v0.13.5, wrapped in `internal/acp` (ADR 0001). One ACP session per (channel, agent). |
| 22 | -- **Wails v3.0.0**, Svelte 5 + TS, paneforge, markdown-it + Shiki (JS engine) + DOMPurify, CodeMirror 6, xterm.js + creack/pty (ADR 0002). Markdown rendered at most once per animation frame. | 22 | +- **Wails v3.0.0**, Svelte 5 + TS, paneforge, markdown-it + Shiki (JS engine) + DOMPurify, CodeMirror 6, xterm.js + creack/pty (ADR 0002). Markdown rendered at most once per animation frame. macOS hidden-inset title bar: content near the top-left is padded by `--titlebar-inset` (38px under `:root.macos`, = `InvisibleTitleBarHeight`). |
| 23 | - Packages and data model: ADR 0003. YAML = what exists; Pebble v2 = what happens, one DB per config file; channels live only in Pebble (YAML-declared ones are created once). Messages written at end of turn. | 23 | - Packages and data model: ADR 0003. YAML = what exists; Pebble v2 = what happens, one DB per config file; channels live only in Pebble (YAML-declared ones are created once). Messages written at end of turn. |
| 24 | - Config format v1: `docs/en/reference/configuration.md`; unknown keys are errors; cross-entry rules belong to the loader (#9). | 24 | - Config format v1: `docs/en/reference/configuration.md`; unknown keys are errors; cross-entry rules belong to the loader (#9). |
| 25 | - Licence: custom source-available (`LICENSE`). Every hand-written source file starts with the one-line header `Copyright (c) 2026 Philippe Charrière — Sidekicks Source-Available License 1.0, see LICENSE` (comment syntax of the language); not on generated files nor on the owner's root scripts (`git.sh`, `new.*.sh`, `tag-step.sh`). | 25 | - Licence: custom source-available (`LICENSE`). Every hand-written source file starts with the one-line header `Copyright (c) 2026 Philippe Charrière — Sidekicks Source-Available License 1.0, see LICENSE` (comment syntax of the language); not on generated files nor on the owner's root scripts (`git.sh`, `new.*.sh`, `tag-step.sh`). |
| @@ -44,7 +44,6 @@ What exists: | |||
| 44 | 44 | ||
| 45 | ## Not yet established | 45 | ## Not yet established |
| 46 | 46 | ||
| 47 | -- The UI prototype has **not** been run on macOS (only Linux/Xvfb). | ||
| 48 | - How to exec a shell / read files inside an `sbx` sandbox (issue #28). | 47 | - How to exec a shell / read files inside an `sbx` sandbox (issue #28). |
| 49 | - Quality gate: `qlty` was not installed in the 2026-10-29 sandbox, so no qlty measurement exists yet (`.quality/` absent). | 48 | - Quality gate: `qlty` was not installed in the 2026-10-29 sandbox, so no qlty measurement exists yet (`.quality/` absent). |
| 50 | - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call. | 49 | - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call. |
modified
.tickets/issues/0003-spike-choisir-la-stack-wails-et-frontend.yaml +16 -3 | @@ -1,12 +1,12 @@ | ||
| 1 | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | 2 | id: 3 |
| 3 | 3 | title: "Spike : choisir la stack Wails et frontend" |
| 4 | -state: open | |
| 4 | +state: closed | |
| 5 | 5 | author: |
| 6 | 6 | name: k33g |
| 7 | 7 | email: ph.charriere@gmail.com |
| 8 | 8 | createdAt: 2026-10-29T07:20:01.000Z |
| 9 | -updatedAt: 2026-10-29T09:05:00.000Z | |
| 9 | +updatedAt: 2026-10-29T09:30:00.000Z | |
| 10 | 10 | labels: |
| 11 | 11 | - "kind::spike" |
| 12 | 12 | - "area::ui" |
| @@ -112,12 +112,14 @@ tasks: | ||
| 112 | 112 | closedAt: 2026-10-29T08:51:00.000Z |
| 113 | 113 | - id: 8 |
| 114 | 114 | title: "Lancer le prototype sur macOS (wails3 dev) et confirmer l'ADR 0002" |
| 115 | - state: open | |
| 115 | + state: closed | |
| 116 | 116 | priority: high |
| 117 | 117 | author: |
| 118 | 118 | name: k33g |
| 119 | 119 | email: ph.charriere@gmail.com |
| 120 | 120 | createdAt: 2026-10-29T08:51:00.000Z |
| 121 | + updatedAt: 2026-10-29T09:30:00.000Z | |
| 122 | + closedAt: 2026-10-29T09:30:00.000Z | |
| 121 | 123 | comments: |
| 122 | 124 | - id: 1 |
| 123 | 125 | author: |
| @@ -141,3 +143,14 @@ comments: | ||
| 141 | 143 | createdAt: 2026-10-29T09:05:00.000Z |
| 142 | 144 | body: | |
| 143 | 145 | Guide pas à pas pour la vérification sur Mac : [docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md](docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md) (EN : [docs/en/how-to/test-milestone-initialize-on-macos.md](docs/en/how-to/test-milestone-initialize-on-macos.md)). Les parties 4 et 5 couvrent cette issue ; elles expliquent aussi comment la fermer, ainsi que la milestone Initialize. |
| 146 | + - id: 3 | |
| 147 | + author: | |
| 148 | + name: k33g | |
| 149 | + email: ph.charriere@gmail.com | |
| 150 | + createdAt: 2026-10-29T09:30:00.000Z | |
| 151 | + body: | | |
| 152 | + ## Vérifié sur macOS — issue fermée | |
| 153 | + | |
| 154 | + Le propriétaire a déroulé le [guide de test macOS](docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md) : `wails3 dev` et `wails3 package` fonctionnent (panels, streaming, coloration, terminal, éditeur, thèmes). Seul écart constaté : les boutons de fenêtre macOS recouvraient « CHANNELS » ; corrigé par une marge `--titlebar-inset` (38 px sous macOS, alignée sur `InvisibleTitleBarHeight`), à reprendre dans le vrai shell UI (#12). | |
| 155 | + | |
| 156 | + [ADR 0002](docs/adr/0002-ui-stack.md) confirmé. | |
| @@ -1,12 +1,12 @@ | |||
| 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | id: 3 | 2 | id: 3 |
| 3 | title: "Spike : choisir la stack Wails et frontend" | 3 | title: "Spike : choisir la stack Wails et frontend" |
| 4 | -state: open | 4 | +state: closed |
| 5 | author: | 5 | author: |
| 6 | name: k33g | 6 | name: k33g |
| 7 | email: ph.charriere@gmail.com | 7 | email: ph.charriere@gmail.com |
| 8 | createdAt: 2026-10-29T07:20:01.000Z | 8 | createdAt: 2026-10-29T07:20:01.000Z |
| 9 | -updatedAt: 2026-10-29T09:05:00.000Z | 9 | +updatedAt: 2026-10-29T09:30:00.000Z |
| 10 | labels: | 10 | labels: |
| 11 | - "kind::spike" | 11 | - "kind::spike" |
| 12 | - "area::ui" | 12 | - "area::ui" |
| @@ -112,12 +112,14 @@ tasks: | |||
| 112 | closedAt: 2026-10-29T08:51:00.000Z | 112 | closedAt: 2026-10-29T08:51:00.000Z |
| 113 | - id: 8 | 113 | - id: 8 |
| 114 | title: "Lancer le prototype sur macOS (wails3 dev) et confirmer l'ADR 0002" | 114 | title: "Lancer le prototype sur macOS (wails3 dev) et confirmer l'ADR 0002" |
| 115 | - state: open | 115 | + state: closed |
| 116 | priority: high | 116 | priority: high |
| 117 | author: | 117 | author: |
| 118 | name: k33g | 118 | name: k33g |
| 119 | email: ph.charriere@gmail.com | 119 | email: ph.charriere@gmail.com |
| 120 | createdAt: 2026-10-29T08:51:00.000Z | 120 | createdAt: 2026-10-29T08:51:00.000Z |
| 121 | + updatedAt: 2026-10-29T09:30:00.000Z | ||
| 122 | + closedAt: 2026-10-29T09:30:00.000Z | ||
| 121 | comments: | 123 | comments: |
| 122 | - id: 1 | 124 | - id: 1 |
| 123 | author: | 125 | author: |
| @@ -141,3 +143,14 @@ comments: | |||
| 141 | createdAt: 2026-10-29T09:05:00.000Z | 143 | createdAt: 2026-10-29T09:05:00.000Z |
| 142 | body: | | 144 | body: | |
| 143 | Guide pas à pas pour la vérification sur Mac : [docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md](docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md) (EN : [docs/en/how-to/test-milestone-initialize-on-macos.md](docs/en/how-to/test-milestone-initialize-on-macos.md)). Les parties 4 et 5 couvrent cette issue ; elles expliquent aussi comment la fermer, ainsi que la milestone Initialize. | 145 | Guide pas à pas pour la vérification sur Mac : [docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md](docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md) (EN : [docs/en/how-to/test-milestone-initialize-on-macos.md](docs/en/how-to/test-milestone-initialize-on-macos.md)). Les parties 4 et 5 couvrent cette issue ; elles expliquent aussi comment la fermer, ainsi que la milestone Initialize. |
| 146 | + - id: 3 | ||
| 147 | + author: | ||
| 148 | + name: k33g | ||
| 149 | + email: ph.charriere@gmail.com | ||
| 150 | + createdAt: 2026-10-29T09:30:00.000Z | ||
| 151 | + body: | | ||
| 152 | + ## Vérifié sur macOS — issue fermée | ||
| 153 | + | ||
| 154 | + Le propriétaire a déroulé le [guide de test macOS](docs/fr/how-to/tester-la-milestone-initialize-sous-macos.md) : `wails3 dev` et `wails3 package` fonctionnent (panels, streaming, coloration, terminal, éditeur, thèmes). Seul écart constaté : les boutons de fenêtre macOS recouvraient « CHANNELS » ; corrigé par une marge `--titlebar-inset` (38 px sous macOS, alignée sur `InvisibleTitleBarHeight`), à reprendre dans le vrai shell UI (#12). | ||
| 155 | + | ||
| 156 | + [ADR 0002](docs/adr/0002-ui-stack.md) confirmé. | ||
modified
.tickets/milestones.yaml +1 -1 | @@ -1,7 +1,7 @@ | ||
| 1 | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | 2 | milestones: |
| 3 | 3 | - title: Initialize |
| 4 | - state: open | |
| 4 | + state: closed | |
| 5 | 5 | description: Specification of the project, settings, definition of tools |
| 6 | 6 | dueOn: 2026-10-30 |
| 7 | 7 | - title: "M1 · Fondations" |
| @@ -1,7 +1,7 @@ | |||
| 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. | 1 | # Managed by IssueSpec. Hand edits are welcome; keep the schema valid. |
| 2 | milestones: | 2 | milestones: |
| 3 | - title: Initialize | 3 | - title: Initialize |
| 4 | - state: open | 4 | + state: closed |
| 5 | description: Specification of the project, settings, definition of tools | 5 | description: Specification of the project, settings, definition of tools |
| 6 | dueOn: 2026-10-30 | 6 | dueOn: 2026-10-30 |
| 7 | - title: "M1 · Fondations" | 7 | - title: "M1 · Fondations" |
modified
docs/adr/0002-ui-stack.md +2 -2 | @@ -1,6 +1,6 @@ | ||
| 1 | 1 | # ADR 0002 — UI stack: Wails v3, Svelte 5 and their components |
| 2 | 2 | |
| 3 | -- **Status**: accepted — pending a run of the prototype on macOS by the project owner | |
| 3 | +- **Status**: accepted — prototype verified on macOS by the project owner on 2026-10-29 | |
| 4 | 4 | - **Date**: 2026-10-29 |
| 5 | 5 | - **Issue**: [#3 — Spike : choisir la stack Wails et frontend](../../.tickets/issues/0003-spike-choisir-la-stack-wails-et-frontend.yaml) |
| 6 | 6 | |
| @@ -66,7 +66,7 @@ Assets are embedded in the binary and never downloaded, so the size matters litt | ||
| 66 | 66 | |
| 67 | 67 | - `npm run build` and `svelte-check` (0 errors, 0 warnings), `go vet`. |
| 68 | 68 | - Built and run on Linux arm64 (GTK4 + WebKitGTK 6.0, under Xvfb): layout, resizing, streaming, colouring, sanitising and a real shell in the terminal, driven with `xdotool`. |
| 69 | -- **Not yet run on macOS** (the sandbox has no macOS SDK): the owner runs `wails3 dev` in `spikes/wails-ui` to confirm (see its README). | |
| 69 | +- Run on macOS by the project owner (`wails3 dev`, `wails3 package`), following the macOS test guide: everything as expected; the traffic lights covered the left dock heading, fixed with a `--titlebar-inset` padding (38 px on macOS, equal to `InvisibleTitleBarHeight`). | |
| 70 | 70 | |
| 71 | 71 | ## Consequences |
| 72 | 72 | |
| @@ -1,6 +1,6 @@ | |||
| 1 | # ADR 0002 — UI stack: Wails v3, Svelte 5 and their components | 1 | # ADR 0002 — UI stack: Wails v3, Svelte 5 and their components |
| 2 | 2 | ||
| 3 | -- **Status**: accepted — pending a run of the prototype on macOS by the project owner | 3 | +- **Status**: accepted — prototype verified on macOS by the project owner on 2026-10-29 |
| 4 | - **Date**: 2026-10-29 | 4 | - **Date**: 2026-10-29 |
| 5 | - **Issue**: [#3 — Spike : choisir la stack Wails et frontend](../../.tickets/issues/0003-spike-choisir-la-stack-wails-et-frontend.yaml) | 5 | - **Issue**: [#3 — Spike : choisir la stack Wails et frontend](../../.tickets/issues/0003-spike-choisir-la-stack-wails-et-frontend.yaml) |
| 6 | 6 | ||
| @@ -66,7 +66,7 @@ Assets are embedded in the binary and never downloaded, so the size matters litt | |||
| 66 | 66 | ||
| 67 | - `npm run build` and `svelte-check` (0 errors, 0 warnings), `go vet`. | 67 | - `npm run build` and `svelte-check` (0 errors, 0 warnings), `go vet`. |
| 68 | - Built and run on Linux arm64 (GTK4 + WebKitGTK 6.0, under Xvfb): layout, resizing, streaming, colouring, sanitising and a real shell in the terminal, driven with `xdotool`. | 68 | - Built and run on Linux arm64 (GTK4 + WebKitGTK 6.0, under Xvfb): layout, resizing, streaming, colouring, sanitising and a real shell in the terminal, driven with `xdotool`. |
| 69 | -- **Not yet run on macOS** (the sandbox has no macOS SDK): the owner runs `wails3 dev` in `spikes/wails-ui` to confirm (see its README). | 69 | +- Run on macOS by the project owner (`wails3 dev`, `wails3 package`), following the macOS test guide: everything as expected; the traffic lights covered the left dock heading, fixed with a `--titlebar-inset` padding (38 px on macOS, equal to `InvisibleTitleBarHeight`). |
| 70 | 70 | ||
| 71 | ## Consequences | 71 | ## Consequences |
| 72 | 72 | ||
modified
spikes/wails-ui/README.md +1 -1 | @@ -31,4 +31,4 @@ wails3 package && open bin/wails-ui.app # build + .app bundle | ||
| 31 | 31 | |
| 32 | 32 | ## Where it was verified |
| 33 | 33 | |
| 34 | -Built and run on Linux arm64 (Ubuntu 26.04, GTK4 + WebKitGTK 6.0, Xvfb) inside the development sandbox on 2026-10-29: layout, streaming at 50 and 500 chunks/s, Shiki colouring, sanitisation and the PTY terminal work. **It has not been run on macOS yet**: that check is for the project owner, following [How to test milestone Initialize on macOS](../../docs/en/how-to/test-milestone-initialize-on-macos.md). | |
| 34 | +Built and run on Linux arm64 (Ubuntu 26.04, GTK4 + WebKitGTK 6.0, Xvfb) inside the development sandbox on 2026-10-29: layout, streaming at 50 and 500 chunks/s, Shiki colouring, sanitisation and the PTY terminal work. It was then run on macOS by the project owner on 2026-10-29, following [How to test milestone Initialize on macOS](../../docs/en/how-to/test-milestone-initialize-on-macos.md). | |
| @@ -31,4 +31,4 @@ wails3 package && open bin/wails-ui.app # build + .app bundle | |||
| 31 | 31 | ||
| 32 | ## Where it was verified | 32 | ## Where it was verified |
| 33 | 33 | ||
| 34 | -Built and run on Linux arm64 (Ubuntu 26.04, GTK4 + WebKitGTK 6.0, Xvfb) inside the development sandbox on 2026-10-29: layout, streaming at 50 and 500 chunks/s, Shiki colouring, sanitisation and the PTY terminal work. **It has not been run on macOS yet**: that check is for the project owner, following [How to test milestone Initialize on macOS](../../docs/en/how-to/test-milestone-initialize-on-macos.md). | 34 | +Built and run on Linux arm64 (Ubuntu 26.04, GTK4 + WebKitGTK 6.0, Xvfb) inside the development sandbox on 2026-10-29: layout, streaming at 50 and 500 chunks/s, Shiki colouring, sanitisation and the PTY terminal work. It was then run on macOS by the project owner on 2026-10-29, following [How to test milestone Initialize on macOS](../../docs/en/how-to/test-milestone-initialize-on-macos.md). |