oh-my-llmwikimode 1.1.0 → 1.2.0

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 (45) hide show
  1. package/docs/design/EOS_CHAT_HOME_IA.md +129 -0
  2. package/docs/design/EOS_CHAT_OPERATING_LOOP.md +101 -0
  3. package/docs/design/EOS_DESIGN.md +222 -16
  4. package/docs/design/EOS_PACKAGE_SPLIT_MIGRATION_BACKLOG.md +89 -0
  5. package/docs/design/EOS_SCREEN_INVENTORY.md +1 -0
  6. package/docs/design/EOS_SIDE_REVIEW_IA.md +357 -0
  7. package/docs/design/EOS_UI_CONTRACT.md +4 -0
  8. package/docs/design/EOS_VISUAL_DIFF_BASELINE.md +110 -0
  9. package/docs/design/EOS_VISUAL_QA_RELEASE_READINESS_2026-05-29.md +110 -0
  10. package/docs/design/EOS_VISUAL_SCREENSHOT_HARNESS.md +104 -0
  11. package/docs/design/README.md +3 -0
  12. package/docs/eos-boundary-static-policy.md +45 -0
  13. package/docs/eos-package-boundary.md +91 -0
  14. package/docs/eos-package-split-readiness.md +41 -0
  15. package/docs/eos-workspace-boundary-mvp.md +76 -0
  16. package/package.json +7 -2
  17. package/src/curator/queue.js +2 -2
  18. package/src/curator/workbench.js +1 -1
  19. package/src/eos/chat/intent-hints.js +114 -0
  20. package/src/eos/chat/requests.js +324 -0
  21. package/src/eos/chat/static/app.js +228 -0
  22. package/src/eos/chat/static/index.html +93 -0
  23. package/src/eos/chat/static/styles.css +284 -0
  24. package/src/eos/config.js +3 -0
  25. package/src/eos/home.js +179 -12
  26. package/src/eos/http/app.js +54 -1
  27. package/src/eos/http/routes/chat.js +40 -0
  28. package/src/eos/http/routes/side-review.js +135 -0
  29. package/src/eos/paths.js +3 -7
  30. package/src/eos/side-review/artifacts.js +288 -0
  31. package/src/eos/side-review/static/app.js +392 -0
  32. package/src/eos/side-review/static/index.html +61 -0
  33. package/src/eos/side-review/static/styles.css +517 -0
  34. package/src/eos/visual-qa/accessibility.js +96 -0
  35. package/src/eos/visual-qa/screenshot-harness.js +576 -0
  36. package/src/eos/visual-qa/side-review.js +221 -0
  37. package/src/eos/visual-qa/visual-diff.js +513 -0
  38. package/src/eos/workspace-boundary/domain.js +253 -0
  39. package/src/eos/workspace-boundary/presence-adapters.js +94 -0
  40. package/src/eos/workspace-boundary/side-review-view-model.js +425 -0
  41. package/src/eos/workspace-boundary/side-review-workflow.js +258 -0
  42. package/src/eos/workspace-boundary/wiki-adapter.js +160 -0
  43. package/src/natural-language/qa.js +1 -1
  44. package/src/wiki/oracle-review.js +1 -1
  45. package/src/workspace/paths.js +13 -0
@@ -0,0 +1,129 @@
1
+ # Eos Chat Home Information Architecture
2
+
3
+ **Status:** Active implementation contract for Eos Chat Command Center MVP
4
+ **Date:** 2026-05-29
5
+ **Depends on:** `EOS_DESIGN.md`, `EOS_UI_CONTRACT.md`, `EOS_SIDE_REVIEW_IA.md`
6
+
7
+ ## 1. Purpose
8
+
9
+ `Eos Chat` is the first screen and local command center for Eos.
10
+
11
+ The user starts by saying what they want. Eos must capture that intent as a local review-required artifact, then make it visible in `Side Review`. Chat does not execute shell commands, providers, agents, wiki promotion, git actions, or background work by itself.
12
+
13
+ ## 2. Primary promise
14
+
15
+ Use this product promise when shaping UI copy:
16
+
17
+ ```text
18
+ Tell Eos what you want to prepare. Eos captures it for local review before anything is applied.
19
+ ```
20
+
21
+ ## 3. Required regions
22
+
23
+ 1. **Header rail** - `Eos Chat`, short local workspace status, and link to `Side Review`.
24
+ 2. **Safety strip** - always-visible copy: `Local review workspace. Nothing is applied automatically.`
25
+ 3. **Welcome state** - explains chat-first workflow without starter chips.
26
+ 4. **Status cards** - wiki status, review queue count, and harness readiness in compact cards.
27
+ 5. **Message list** - local acknowledgements only; no execution transcript unless a future approved execution flow exists.
28
+ 6. **Composer** - bottom input with a short placeholder and explicit send button.
29
+
30
+ ## 4. Empty state copy
31
+
32
+ Approved empty-state copy:
33
+
34
+ - `Start with a request.`
35
+ - `Eos will capture it as a local review item.`
36
+ - `Open Side Review to inspect drafts, evidence, and decisions.`
37
+ - `Review Required`
38
+ - `Not Applied`
39
+ - `Local Only`
40
+
41
+ Do not add starter chips in this slice. Shortcuts may return later only after real usage shows which actions matter.
42
+
43
+ ## 5. Composer contract
44
+
45
+ - Placeholder: `Tell Eos what you want to prepare...`
46
+ - Button label: `Capture for Review`
47
+ - Success acknowledgement: `Captured for review.`
48
+ - Follow-up link/action: `Open Side Review`
49
+
50
+ The composer must not use copy such as `Run`, `Execute`, `Complete`, `Apply`, or `Push`.
51
+
52
+ ## 6. Data flow
53
+
54
+ ```text
55
+ Eos Chat message
56
+ -> POST /api/chat/requests
57
+ -> .system/eos/chat/requests/{id}.json
58
+ -> .system/eos/chat/audit.jsonl
59
+ -> GET /api/side-review
60
+ -> Side Review card in Review Required
61
+ -> optional local Side Review decision artifact
62
+ ```
63
+
64
+ The original wiki entries are not mutated by this flow.
65
+
66
+ ## 7. Forbidden labels
67
+
68
+ Do not use these labels in the Eos Chat MVP:
69
+
70
+ - `Run Now`
71
+ - `Execute`
72
+ - `Auto Apply`
73
+ - `Apply Automatically`
74
+ - `Promote Now`
75
+ - `Merge Now`
76
+ - `Delete Now`
77
+ - `Push to GitHub`
78
+ - `Run in Background`
79
+ - `Completed` for a request that was only captured
80
+
81
+ ## 8. Route contract
82
+
83
+ - `GET /chat/` serves the Eos Chat local UI.
84
+ - `GET /chat` redirects to `/chat/`.
85
+ - `GET /api/home` remains a read-only home data snapshot.
86
+ - `POST /api/chat/requests` creates a review-required local artifact only.
87
+
88
+ ## 9. Safety contract
89
+
90
+ - Local-first.
91
+ - Review-required.
92
+ - No hidden execution.
93
+ - No source wiki mutation.
94
+ - No hosted sync.
95
+ - No auto-promotion, auto-merge, auto-delete, or auto-push.
96
+ - Browser UI uses self-only CSP, local assets, and text-node rendering.
97
+
98
+ ## 10. Chat operating loop and intent hints
99
+
100
+ Chat is the inbox. Side Review is the review desk.
101
+
102
+ Captured chat requests now carry deterministic intent hint metadata before they appear in Side Review. The hint helps the user quickly see whether the request looks like a knowledge capture, search, plan, issue report, release log, or unknown/ambiguous request. It is always review-only metadata and never approval or execution.
103
+
104
+ Additional Home status card:
105
+
106
+ - `Chat Intents` - summarizes waiting chat requests by intent category.
107
+
108
+ Updated flow:
109
+
110
+ ```text
111
+ Eos Chat message
112
+ -> POST /api/chat/requests
113
+ -> request artifact with intent hint
114
+ -> GET /api/home intent counts
115
+ -> GET /api/side-review Side Review card
116
+ -> prepare-only decision artifact
117
+ ```
118
+
119
+ ## 11. Command Center Dashboard Slice
120
+
121
+ `GET /api/home` now exposes an `Eos Command Center` summary for the chat-first workspace. The browser copy may call this panel `Mission Control`, but the data contract remains `command_center` with English technical keys and Korean-friendly display labels.
122
+
123
+ Required dashboard groups:
124
+
125
+ - `Waiting Review` - points to `Side Review` and shows review-required pressure.
126
+ - `Recent Requests` - previews the latest captured chat requests without opening raw artifacts.
127
+ - `System Health` - explains local load errors or confirms local review data is readable.
128
+
129
+ The Chat home panel may show compact `Next Safe Actions` and `Recent Requests`, but these are navigation/review aids only. They must not become starter chips, execution shortcuts, provider dispatch, or hidden agent controls.
@@ -0,0 +1,101 @@
1
+ # Eos Chat Operating Loop
2
+
3
+ **Status:** Active implementation contract for the chat-to-review operating loop
4
+ **Date:** 2026-05-29
5
+ **Depends on:** `EOS_CHAT_HOME_IA.md`, `EOS_SIDE_REVIEW_IA.md`, `EOS_DESIGN.md`
6
+
7
+ ## 1. Simple metaphor
8
+
9
+ Chat is the inbox. Side Review is the review desk.
10
+
11
+ The user writes a request in `Eos Chat`. Eos files it as a local review item, adds a deterministic intent hint, and places it on the `Side Review` desk. Nothing is executed or applied just because the request was captured.
12
+
13
+ ## 2. Operating loop
14
+
15
+ ```text
16
+ User request in Eos Chat
17
+ -> local capture endpoint
18
+ -> chat request artifact
19
+ -> intent hint metadata
20
+ -> Side Review card
21
+ -> prepare-only decision artifact
22
+ -> human approval path in a later slice
23
+ ```
24
+
25
+ ## 3. Intent hint contract
26
+
27
+ Intent hints are review labels, not decisions.
28
+
29
+ Supported hint categories:
30
+
31
+ - `knowledge_request` - the user seems to want a wiki, draft, document, or knowledge capture.
32
+ - `search_request` - the user seems to want lookup, location, or discovery.
33
+ - `planning_request` - the user seems to want a plan, roadmap, design, or ultragoal.
34
+ - `issue_report` - the user seems to report a bug, failure, broken behavior, or improvement need.
35
+ - `release_log` - the user seems to want handoff, changelog, deployment, or sync notes.
36
+ - `unknown` - the request is unclear, ambiguous, or has no deterministic keyword evidence.
37
+
38
+ Every hint must stay:
39
+
40
+ - local-only,
41
+ - deterministic,
42
+ - review-hint-only,
43
+ - non-executing,
44
+ - non-approving,
45
+ - safe after secret redaction.
46
+
47
+ ## 4. Artifact flow
48
+
49
+ ```text
50
+ POST /api/chat/requests
51
+ writes .system/eos/chat/requests/{id}.json
52
+ appends .system/eos/chat/audit.jsonl
53
+
54
+ GET /api/home
55
+ exposes waiting count, intent counts, and recent request summaries
56
+
57
+ GET /api/side-review
58
+ exposes chat request cards with intent label, request preview, evidence, and safe next action
59
+
60
+ POST /api/agent/side-review/decisions
61
+ writes .system/eos/side-review/decisions/{id}.json
62
+ appends .system/eos/side-review/audit.jsonl
63
+ ```
64
+
65
+ ## 5. UI promise
66
+
67
+ Chat should answer: "What did I just capture, and where can I review it?"
68
+
69
+ Side Review should answer: "What is this request, why is it here, what evidence exists, and what safe prepare-only action can I take?"
70
+
71
+ ## 6. Non-goals
72
+
73
+ This slice must not add:
74
+
75
+ - shell execution,
76
+ - provider dispatch,
77
+ - hidden agents,
78
+ - Discord bridge behavior,
79
+ - hosted sync,
80
+ - package splitting,
81
+ - NPM publishing,
82
+ - auto-promotion,
83
+ - auto-merge,
84
+ - auto-delete,
85
+ - auto-push,
86
+ - source wiki entry mutation.
87
+
88
+ ## 7. Verification anchors
89
+
90
+ - `test/eos/chat-intent-hints.test.js`
91
+ - `test/eos/chat-requests.test.js`
92
+ - `test/eos/chat-routes.test.js`
93
+ - `test/eos/home-data.test.js`
94
+ - `test/eos/side-review-routes.test.js`
95
+ - `test/eos/uiux-product-shape.test.js`
96
+
97
+ ## 8. Command Center coordination
98
+
99
+ `Home` is the mission-control layer between Chat and Side Review. It should tell the user what is waiting, what was recently captured, and whether any local artifact needs attention before the user opens raw files.
100
+
101
+ `Side Review` adds intent filters so chat-derived requests can be inspected by review hint category: knowledge, search, planning, issue, release log, or unknown. These intent filters are visibility controls, not approval controls. Filtering must not apply, promote, merge, delete, push, publish, or mutate source wiki entries.
@@ -2,26 +2,70 @@
2
2
 
3
3
  ## Status
4
4
 
5
- Active draft design source of truth for the Eos VS Code webview workspace.
5
+ Active design source of truth for the Eos local workspace UI.
6
6
 
7
7
  This document does not replace implementation tests. It defines the product and visual direction that future UI work must translate into code, tests, and review evidence.
8
8
 
9
9
  ## Product Role
10
10
 
11
- Eos is a chat-first local AI orchestration harbor for LLM Wiki work. The user starts by saying what they want in chat; Eos then shapes the request into drafts, review requests, dispatch packets, evidence requests, or separate helper panels without hidden execution.
11
+ Eos is a chat-first local AI orchestration workspace for LLM Wiki work. The user starts by saying what they want in chat; Eos then shapes the request into drafts, review requests, dispatch packets, evidence requests, or separate helper panels without hidden execution.
12
12
 
13
- Eos is **not** a cloud assistant surface, marketing landing page, or autonomous execution dashboard.
13
+ Eos is **not** a cloud assistant surface, marketing landing page, autonomous execution dashboard, or a renamed LLM Wiki Mode screen. LLM Wiki Mode remains an attached local knowledge backend through explicit adapters.
14
14
 
15
15
  ## Design Metaphor
16
16
 
17
- **Dawn Control Room**
17
+ **Clean AI Workspace**
18
18
 
19
- - Dawn: clear, hopeful, calm sky-blue accent, not neon or marketing-heavy.
20
- - Control Room: state, review gates, local artifacts, and navigation are explicit.
21
- - Workspace: chat is the center; Library, Graph, Curator, Agent Team, Review Workbench, and Settings open as separate helper panels only when useful.
19
+ - Clean: clear hierarchy, calm surfaces, readable labels, and no decorative noise.
20
+ - AI: the primary gesture is conversation; the interface explains what AI prepared and what still needs review.
21
+ - Workspace: local artifacts, review gates, evidence, and harness state are visible without becoming a dashboard-first product.
22
22
 
23
23
  The interface should feel like a trustworthy local cockpit where conversation opens separate work panels, not a generic chatbot SaaS clone or button-heavy dashboard.
24
24
 
25
+ Compatibility note: the VS Code extension design gate still tracks the earlier `Dawn Control Room` metaphor and the Korean chat prompt `무엇을 맡길까요?`. Treat both as compatible markers for the same calm, chat-first local command center direction, not as permission to add a dashboard-first or execution-first surface.
26
+
27
+ ## Primary Surfaces for This Slice
28
+
29
+ ### Eos Chat
30
+
31
+ - Home surface and default starting point.
32
+ - Captures user intent in natural language.
33
+ - Shows concise local connection, review, and safety state.
34
+ - Does not use starter chips in this slice.
35
+ - Should make the next safe action obvious without implying hidden execution.
36
+
37
+
38
+ ### Chat Command Center MVP
39
+
40
+ - Dedicated local route: `/chat/`.
41
+ - Tone: calm command center, not a generic chatbot landing page.
42
+ - Primary promise: `Tell Eos what you want to prepare. Eos captures it for local review before anything is applied.`
43
+ - Chat messages create review-required local request artifacts only.
44
+ - Captured requests appear in `Side Review` before any write-like decision.
45
+ - The screen must keep `Local Only`, `Review Required`, and `Not Applied` visible.
46
+ - This slice still avoids starter chips; convenience shortcuts can be designed after real usage patterns are visible.
47
+
48
+ ### Side Review
49
+
50
+ - Separate helper surface for looking at structured material while chat stays focused.
51
+ - Shows drafts, review-required items, evidence, issues, completion reports, and harness status.
52
+ - Cards should expose title, reason, source/evidence, current state, and safe next action.
53
+ - Must keep `Review Required` / `Not Applied Yet` visible before any write-like action.
54
+ - Decision-like actions prepare local review artifacts only. The user may prepare approval, rejection, or defer notes, but Eos must not apply them automatically.
55
+
56
+ ### Side Review Polish MVP
57
+
58
+ - Dedicated local route: `/side-review/`.
59
+ - Tone: calm review desk, not a command console.
60
+ - Primary promise: `Local Review Artifact` and `Not Applied` must remain visible near decision actions.
61
+ - The user should understand three things at a glance:
62
+ 1. what needs review,
63
+ 2. where the evidence came from,
64
+ 3. which safe prepare-only action can be taken next.
65
+ - A polished card is useful only if it keeps source path, artifact path, workflow state, and evidence visible.
66
+ - Empty and error states should be plain language, not machine logs.
67
+ - The route is an Eos UI surface attached to LLM Wiki data; it is not a new LLM Wiki product surface.
68
+
25
69
  ## Visual System
26
70
 
27
71
  ### Color Intent
@@ -35,13 +79,13 @@ Use VS Code theme variables first. Eos accent colors are allowed only as semanti
35
79
  | Text | `--vscode-foreground` |
36
80
  | Muted text | `--vscode-descriptionForeground` |
37
81
  | Border | `--vscode-panel-border`, `--vscode-widget-border` |
38
- | Primary action | Eos sky token mapped to theme-safe blue |
82
+ | Primary action | restrained Eos blue token mapped to theme-safe blue |
39
83
  | Warning/review | VS Code warning color or local amber token |
40
84
  | Error/blocked | `--vscode-errorForeground` or local danger token |
41
85
 
42
86
  ### Eos Accent Rules
43
87
 
44
- - Sky blue is the primary accent, not the whole interface.
88
+ - Blue is a restrained primary accent, not the whole interface.
45
89
  - Large gradients are allowed only in deliberate hero/brand moments, not repeated in every header.
46
90
  - Header, menu, and button blue must come from tokens, not ad hoc hex values.
47
91
  - Dark, light, high-contrast, and reduced-motion modes must remain usable.
@@ -49,7 +93,7 @@ Use VS Code theme variables first. Eos accent colors are allowed only as semanti
49
93
  ### Typography
50
94
 
51
95
  - Use VS Code default UI font.
52
- - Korean copy should be short, direct, and user-action oriented.
96
+ - User-facing labels should be short, direct, and action oriented.
53
97
  - Use `Eos` casing everywhere unless a VS Code label mechanically uppercases it.
54
98
  - Avoid mixing `EOS`, `Eos Workspace`, `Eos Home`, and `Eos Chat` without an explicit naming rule.
55
99
 
@@ -70,6 +114,7 @@ Use VS Code theme variables first. Eos accent colors are allowed only as semanti
70
114
 
71
115
  - Local-first: no cloud runtime assumption.
72
116
  - Review-required: suggestions are visible artifacts, not automatic actions.
117
+ - Explicit approval only for write-like behavior.
73
118
  - No hidden execution, no auto-promotion, no auto-merge/delete, no auto-push.
74
119
  - UI may prepare drafts, packets, and review proposals, but must label them as such.
75
120
 
@@ -77,18 +122,179 @@ Use VS Code theme variables first. Eos accent colors are allowed only as semanti
77
122
 
78
123
  Good:
79
124
 
80
- - "무엇을 맡길까요?"
81
- - "검토할 정보가 없습니다. 새 정보가 생기면 여기에 표시합니다."
82
- - "로컬 위키 기준으로 정리 제안만 만들었습니다."
125
+ - `What do you want AI to help with?`
126
+ - `Wiki Mode Connected`
127
+ - `Write Mode: Review Required`
128
+ - `Review Queue Ready`
129
+ - `No review items yet. New drafts will appear here as Not Applied Yet.`
130
+ - `Prepare Review`
131
+ - `Prepare Approval Request`
132
+ - `Prepare Rejection Note`
133
+ - `Defer Review`
134
+ - `Open Evidence`
135
+ - `Evidence Available`
83
136
 
84
137
  Avoid:
85
138
 
86
- - "제가 알아서 처리했습니다."
87
- - "자동으로 편집했습니다."
88
- - "실행 중입니다" when no explicit user-approved execution exists.
139
+ - `I applied it for you` before explicit approval.
140
+ - `Merged automatically` or `Promoted automatically`.
141
+ - `Executing now` when no explicit user-approved execution exists.
142
+ - Cryptic machine status strings as primary UI copy.
143
+ - Corrupted/mojibake copy in user-facing surfaces.
89
144
 
90
145
  ## Future Direction
91
146
 
92
147
  - Discord should become a conversational entry or notification bridge only after the VS Code chat-first contract is stable.
93
148
  - Agent/harness UX should explain capability and safety before offering dispatch actions.
94
149
  - Quick chips may return later, but only when real usage patterns prove which shortcuts matter.
150
+
151
+ ## Implemented Slice - 2026-05-28
152
+
153
+ The Eos UIUX Product Shape Longrun implemented the first Clean AI Workspace slice across:
154
+
155
+ - `Eos Chat` data contract: readable prompt, status strip, empty/blocked copy, and safe next actions.
156
+ - `Side Review` view model: readable groups, card hierarchy, evidence/source labels, count/status labels, and safe action language.
157
+ - Static Academy UI: calmer Clean AI Workspace copy/colors, review-required/local-only status text, narrow webview handling, reduced-motion handling, and no mojibake metadata separator.
158
+
159
+ Verification anchors:
160
+
161
+ - `test/eos/home-data.test.js`
162
+ - `test/eos/workspace-boundary-side-review-view-model.test.js`
163
+ - `test/eos/academy.test.js`
164
+ - `test/eos/uiux-product-shape.test.js`
165
+
166
+ ## Implemented Workflow Slice - 2026-05-28
167
+
168
+ The Eos Side Review Workflow MVP adds the first decision-preparation layer without broad visual redesign:
169
+
170
+ - Workflow states: `Not Applied Yet`, `Needs Review`, `Ready for Human Decision`, `Evidence Missing`, and `Deferred`.
171
+ - Card metadata: candidate type, priority hint, age hint, evidence status, and multiple safe next actions.
172
+ - Local artifacts: `POST /api/agent/side-review/decisions` writes review-required decision JSON under `.system/eos/side-review/decisions/` and appends `.system/eos/side-review/audit.jsonl`.
173
+ - Read API: `GET /api/side-review` returns the workflow-ready Side Review view model from the attached LLM Wiki backend.
174
+ - Boundary: no Discord expansion, no package split, no publish, no auto-promotion, no auto-merge/delete, no auto-push, and no source wiki entry mutation.
175
+
176
+ Verification anchors:
177
+
178
+ - `test/eos/workspace-boundary-side-review-workflow.test.js`
179
+ - `test/eos/workspace-boundary-side-review-view-model.test.js`
180
+ - `test/eos/side-review-artifacts.test.js`
181
+ - `test/eos/side-review-routes.test.js`
182
+ - `scripts/verify-eos-workspace-boundary.js`
183
+ - `scripts/verify-eos-boundary-policy.js`
184
+
185
+ ## Implemented Side Review UI Polish MVP - 2026-05-29
186
+
187
+ The Eos Side Review UI Polish MVP adds a dedicated local review desk at `/side-review/`.
188
+
189
+ What changed:
190
+
191
+ - Eos now has a visible Side Review surface for structured review work instead of API-only Side Review data.
192
+ - The screen uses a Clean AI Workspace layout: header rail, safety strip, group tabs, card grid, and prepare-only decision panel.
193
+ - Cards keep workflow state, priority, age, source, artifact, and evidence visible.
194
+ - Decision controls are explicitly local review artifact preparation, not execution.
195
+ - Theme/accessibility pass covers VS Code token fallbacks, keyboard focus, reduced motion, and forced-colors handling.
196
+
197
+ Product boundary:
198
+
199
+ - Eos is the UI/workspace that helps the user inspect and prepare review artifacts.
200
+ - LLM Wiki is the attached knowledge backend that stores drafts, queues, evidence, and local review artifacts.
201
+ - This slice does not split packages, add Discord, publish NPM, add cloud sync, or create automatic promotion/merge/delete/push behavior.
202
+ - Side Review browser hardening is scoped to self-only CSP, text-node rendering, and server-provided action metadata. `daemonToken` mode stays protected by Bearer-token auth; default local no-token browser UX is the MVP path.
203
+
204
+ User-facing route:
205
+
206
+ ```text
207
+ /side-review/
208
+ ```
209
+
210
+ Verification anchors:
211
+
212
+ - `test/eos/side-review-routes.test.js`
213
+ - `test/eos/uiux-product-shape.test.js`
214
+
215
+ ## Implemented Chat Operating Loop Slice - 2026-05-29
216
+
217
+ The Eos Chat Operating Loop slice connects the chat inbox to the review desk with deterministic intent hints.
218
+
219
+ What changed:
220
+
221
+ - `Eos Chat` captures each request as a local artifact with a review-only intent hint.
222
+ - `GET /api/home` summarizes waiting chat request intent counts and recent request previews.
223
+ - `Side Review` cards show intent label, redacted request preview, evidence, artifact path, and safe next action.
224
+ - Prepare-only decision artifacts preserve intent metadata so later review can understand why the card exists.
225
+
226
+ Boundary:
227
+
228
+ - Intent hints are labels for review, not AI decisions.
229
+ - The flow does not execute, dispatch, approve, promote, merge, delete, push, sync, or mutate source wiki entries.
230
+
231
+ Verification anchors:
232
+
233
+ - `test/eos/chat-intent-hints.test.js`
234
+ - `test/eos/chat-requests.test.js`
235
+ - `test/eos/chat-routes.test.js`
236
+ - `test/eos/home-data.test.js`
237
+ - `test/eos/side-review-routes.test.js`
238
+ - `test/eos/uiux-product-shape.test.js`
239
+
240
+ ## Implemented Command Center UX Slice - 2026-05-29
241
+
242
+ The Eos Command Center UX slice makes the existing chat-to-review loop easier to understand without expanding runtime power.
243
+
244
+ What changed:
245
+
246
+ - `GET /api/home` now returns a `command_center` summary with `Waiting Review`, `Recent Requests`, `System Health`, Korean-friendly display labels, and safe next actions.
247
+ - `Eos Chat` shows a compact `Mission Control` panel with local status, `Next Safe Actions`, and `Recent Requests` so the user can decide what to inspect next without opening every raw artifact.
248
+ - `Side Review` exposes intent filters and a safer card sort order so chat-derived requests are easier to scan by issue, planning, knowledge, search, release log, or unknown intent.
249
+ - Shared copy keeps the same product language: `Chat`, `Home`, `Side Review`, `Review Queue`, `Request Artifact`, `Local`, `Review Required`, and `Not Applied`.
250
+
251
+ Boundary:
252
+
253
+ - The dashboard and filters are review/navigation surfaces only.
254
+ - This slice does not add live execution, hidden agent runs, Discord behavior, hosted sync, package split, npm publish, auto-apply, auto-promotion, auto-merge/delete, auto-push, or source wiki entry mutation.
255
+
256
+ Verification anchors:
257
+
258
+ - `test/eos/home-data.test.js`
259
+ - `test/eos/chat-routes.test.js`
260
+ - `test/eos/side-review-routes.test.js`
261
+ - `test/eos/workspace-boundary-side-review-view-model.test.js`
262
+ - `test/eos/uiux-product-shape.test.js`
263
+
264
+ ## Visual QA and Release Readiness Pass - 2026-05-29
265
+
266
+ The Eos Visual QA and Release Readiness longrun reviewed Chat, Mission Control, and Side Review as a release candidate surface set.
267
+
268
+ What changed:
269
+
270
+ - Chat safety copy now uses `Not Applied` instead of `Not Executing` so the first screen matches the Side Review promise.
271
+ - The copy-only polish is locked by route/static UI tests.
272
+ - Text-based DOM/CSS/API evidence is recorded in `.omx/ultragoal/eos-visual-qa-surface-evidence.json`.
273
+ - Release-readiness notes are captured in `docs/design/EOS_VISUAL_QA_RELEASE_READINESS_2026-05-29.md`.
274
+
275
+ Boundary:
276
+
277
+ - This pass did not merge PR #8 into `main`, publish npm, bump versions, split packages, add Discord runtime, add hosted sync, add hidden execution, or mutate source wiki entries.
278
+ - PR #8 remains a human-review release candidate after the stacked visual-QA PR is reviewed.
279
+
280
+ Verification anchors:
281
+
282
+ - `test/eos/chat-routes.test.js`
283
+ - `test/eos/uiux-product-shape.test.js`
284
+
285
+ ## Visual Screenshot Harness MVP
286
+
287
+ Eos now has a local screenshot evidence harness for visual QA. The harness starts a temporary local Eos server, seeds safe review-required fixture data, captures PNG evidence for Chat + Mission Control and Side Review, writes ignored local artifacts under `.system/eos/visual-qa/screenshots/`, and then removes temporary wiki/profile data.
288
+
289
+ Boundary:
290
+
291
+ - This is a release-readiness aid only. It does not add cloud browser infrastructure, hosted sync, source wiki mutation, publish, push, hidden execution, or automatic UI approval.
292
+ - The default command skips with a report when Chrome, Edge, or Chromium is not available; strict runs can opt into `--require-browser`.
293
+
294
+ Verification anchors:
295
+
296
+ - `npm run eos:visual-screenshots`
297
+ - `test/eos/visual-screenshot-harness.test.js`
298
+ - `test/eos/home-data.test.js`
299
+ - `test/eos/side-review-routes.test.js`
300
+ - `test/eos/workspace-boundary-side-review-view-model.test.js`
@@ -0,0 +1,89 @@
1
+ # Eos Package Split Migration Backlog
2
+
3
+ Generated: 2026-05-27T22:54:41.581Z
4
+
5
+ ## P0
6
+
7
+ ### P0-001 ? Keep boundary policy verifier green
8
+
9
+ - Why: Prevents new private cross-boundary imports while split readiness work continues.
10
+ - Evidence: `scripts/eos-boundary-policy.json`, `scripts/verify-eos-boundary-policy.js`
11
+ - Acceptance criteria:
12
+ - npm run verify:eos-boundary-policy passes with 0 findings
13
+ - New production cross-boundary imports require explicit policy review
14
+
15
+ ### P0-002 ? Public LLM Wiki adapter facade
16
+
17
+ - Why: Eos imports wiki store/query/curator internals directly today.
18
+ - Evidence: `g003 import graph`, `g006 adapter proposal`
19
+ - Acceptance criteria:
20
+ - Eos imports adapter facade for status/drafts/review queue/candidates
21
+ - No auto-promotion or hidden execution paths
22
+ - Adapter tests cover failure/degraded states
23
+
24
+ ### P0-003 ? Eos daemon/CLI facade without renaming llmwiki
25
+
26
+ - Why: Standalone Eos package needs explicit entrypoints while current OpenCode compatibility remains stable.
27
+ - Evidence: `g012 compatibility review`, `g015 install smoke plan`
28
+ - Acceptance criteria:
29
+ - Future Eos facade can start daemon/help locally
30
+ - llmwiki compatibility wrapper continues to work
31
+ - No npm publish until local install smoke passes
32
+
33
+ ## P1
34
+
35
+ ### P1-001 ? Move Eos Home browser-data composition behind BrowserDataPort
36
+
37
+ - Why: Core wiki browser-data currently imports Eos home data.
38
+ - Evidence: `g013 browser-data contract review`
39
+ - Acceptance criteria:
40
+ - buildBrowserData remains deterministic
41
+ - Eos home data is optional/redacted/degraded when unavailable
42
+ - browser-data tests pass
43
+
44
+ ### P1-002 ? Provider neutralization for OpenCode Go
45
+
46
+ - Why: LLM Wiki agent provider imports Eos provider internals.
47
+ - Evidence: `g010 SHARED-005`
48
+ - Acceptance criteria:
49
+ - Shared provider is neutral or public
50
+ - Eos route and agent provider tests pass
51
+ - No provider behavior regression
52
+
53
+ ### P1-003 ? Pack import/share public surface
54
+
55
+ - Why: Eos academy imports wiki pack internals.
56
+ - Evidence: `g010 SHARED-007`
57
+ - Acceptance criteria:
58
+ - Small public re-export or adapter exists
59
+ - pack tests and academy tests pass
60
+
61
+ ## P2
62
+
63
+ ### P2-001 ? Graph/librarian service ports
64
+
65
+ - Why: Broad service movement is risky and should follow adapter stabilization.
66
+ - Evidence: `g010 SHARED-006`
67
+ - Acceptance criteria:
68
+ - Ports documented before implementation
69
+ - No behavior move without tests
70
+ - Agent scanner and Eos routes remain green
71
+
72
+ ### P2-002 ? Standalone Eos npm package skeleton
73
+
74
+ - Why: Eos is still embedded and should not be separately published yet.
75
+ - Evidence: `g005 package audit`, `g014 pack dry-run`, `g015 smoke plan`
76
+ - Acceptance criteria:
77
+ - package name/bin/exports decided
78
+ - files/dependencies minimized
79
+ - local install smoke passes
80
+ - independent review approves
81
+
82
+ ### P2-003 ? Distribution decision for Codex bridge and VS Code package
83
+
84
+ - Why: Current npm package excludes codex-plugins and packages folders.
85
+ - Evidence: `g014 pack dry-run summary`
86
+ - Acceptance criteria:
87
+ - Distribution ownership documented
88
+ - No accidental files inclusion
89
+ - Install docs match actual package contents
@@ -43,6 +43,7 @@ Type a message and send it.
43
43
 
44
44
  - The assistant persona name `Hermes` is not yet fully resolved for user-facing copy.
45
45
  - Chat response is still a local draft acknowledgement, not a full orchestration conversation.
46
+ - Captured chat requests appear in Side Review as review-required cards.
46
47
 
47
48
  ### Acceptance criteria
48
49