duaer-spec 0.27.2 → 0.27.3
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.
- package/.duaer/active-job.json +3 -3
- package/.duaer/specs/281-release-0272/delivery.json +8 -0
- package/.duaer/specs/281-release-0272/tasks.md +1 -1
- package/.duaer/specs/282-dispatch-confirm-lock/delivery.json +12 -0
- package/.duaer/specs/282-dispatch-confirm-lock/spec.md +26 -0
- package/.duaer/specs/282-dispatch-confirm-lock/tasks.md +5 -0
- package/.duaer/specs/283-desk-theme-compact/delivery.json +12 -0
- package/.duaer/specs/283-desk-theme-compact/spec.md +26 -0
- package/.duaer/specs/283-desk-theme-compact/tasks.md +5 -0
- package/.duaer/specs/284-dispatch-graph-regen/delivery.json +12 -0
- package/.duaer/specs/284-dispatch-graph-regen/spec.md +33 -0
- package/.duaer/specs/284-dispatch-graph-regen/tasks.md +5 -0
- package/.duaer/specs/285-desk-light-compact/delivery.json +11 -0
- package/.duaer/specs/285-desk-light-compact/spec.md +13 -0
- package/.duaer/specs/285-desk-light-compact/tasks.md +5 -0
- package/.duaer/specs/286-modules-bug-theme/delivery.json +10 -0
- package/.duaer/specs/286-modules-bug-theme/spec.md +26 -0
- package/.duaer/specs/286-modules-bug-theme/tasks.md +5 -0
- package/.duaer/specs/287-progress-modules-ux/delivery.json +10 -0
- package/.duaer/specs/287-progress-modules-ux/spec.md +31 -0
- package/.duaer/specs/287-progress-modules-ux/tasks.md +5 -0
- package/.duaer/specs/288-settings-close-compact/delivery.json +10 -0
- package/.duaer/specs/288-settings-close-compact/spec.md +17 -0
- package/.duaer/specs/288-settings-close-compact/tasks.md +5 -0
- package/.duaer/specs/289-settings-close-click/delivery.json +10 -0
- package/.duaer/specs/289-settings-close-click/spec.md +16 -0
- package/.duaer/specs/289-settings-close-click/tasks.md +4 -0
- package/.duaer/specs/290-remove-quicknav/delivery.json +10 -0
- package/.duaer/specs/290-remove-quicknav/spec.md +11 -0
- package/.duaer/specs/290-remove-quicknav/tasks.md +4 -0
- package/.duaer/specs/291-release-0273/spec.md +12 -0
- package/.duaer/specs/291-release-0273/tasks.md +4 -0
- package/CHANGELOG.md +56 -0
- package/bin/duaer-live.mjs +11 -20
- package/bin/live-modules.mjs +23 -3
- package/docs/agent/e2e-test-plan.md +16 -5
- package/docs/agent/live-desk.md +24 -11
- package/package.json +1 -1
- package/web/live-dev/app.js +329 -167
- package/web/live-dev/dispatch-center.html +29 -1
- package/web/live-dev/dispatch-center.js +25 -1
- package/web/live-dev/i18n-de.js +5 -0
- package/web/live-dev/i18n-es.js +5 -0
- package/web/live-dev/i18n-fr.js +5 -0
- package/web/live-dev/i18n-ja.js +5 -0
- package/web/live-dev/i18n-ko.js +5 -0
- package/web/live-dev/i18n-pt-BR.js +5 -0
- package/web/live-dev/i18n-ru.js +5 -0
- package/web/live-dev/i18n-vi.js +5 -0
- package/web/live-dev/i18n-zh-TW.js +5 -0
- package/web/live-dev/i18n.js +10 -0
- package/web/live-dev/index.html +31 -32
- package/web/live-dev/styles.css +296 -315
- package/web/live-dev/task-graph.mjs +4 -1
- package/web/live-dev/theme.mjs +63 -0
|
@@ -143,7 +143,7 @@ the table for their app.
|
|
|
143
143
|
| E2E-171 | Creating or switching project ignores a stale status poll so 派工进度 does not pollute the new desk | `npm test` |
|
|
144
144
|
| E2E-172 | Desk sessions use SQLite; legacy project-chats JSON imports on first open; schema_version migrations run | `npm test` |
|
|
145
145
|
| E2E-173 | Config, repos, and live jobs import into desk.sqlite; live data is local-only (not packaged) | `npm test` |
|
|
146
|
-
| E2E-174 | After architecture confirm: atomic task list with parallel marks; recommend 1–4 workers; confirm builds
|
|
146
|
+
| E2E-174 | After architecture confirm: atomic task list with parallel marks; recommend 1–4 workers; confirm builds 派工图 then locks; each improve wave forces a new graph (regen button) | `npm test` |
|
|
147
147
|
| E2E-175 | Confirm workers → Archify accepts task IR (edge ≥24px); render failure shows in chat | `npm test` + manual |
|
|
148
148
|
| E2E-176 | FDE desk only on :8787; LaunchAgent sets DUAER_LIVE_NO_BROWSER; no alternate desk ports | `npm test` |
|
|
149
149
|
| E2E-177 | 「查看派工图」opens Archify present=1 fullscreen with clickable nodes (same as architecture) | `npm test` + manual |
|
|
@@ -161,8 +161,8 @@ the table for their app.
|
|
|
161
161
|
| E2E-189 | Result bar sticks to the bottom of the middle column (below revise) | `npm test` + manual |
|
|
162
162
|
| E2E-190 | Sticky result bar uses an opaque fill (no scroll bleed-through) | `npm test` + manual |
|
|
163
163
|
| E2E-191 | Bug chat / validate autofill project delivery facts (no re-ask URL/start/env) | `npm test` + `npm run test:live` + manual |
|
|
164
|
-
| E2E-192 | Project timeline merges initial/revise/bug by time
|
|
165
|
-
| E2E-193 | Chat quick-nav
|
|
164
|
+
| E2E-192 | Project timeline merges initial/revise/bug by time | `npm test` + `npm run test:live` + manual |
|
|
165
|
+
| E2E-193 | _(removed)_ Chat quick-nav control removed from desk | `npm run test:live` |
|
|
166
166
|
| E2E-194 | After deploy, result bar still offers 再改一版 and 修 bug | `npm run test:live` + manual |
|
|
167
167
|
| E2E-195 | Architecture claim-ready without IR rewrites the same chat bubble (no leftover false “diagram ready”) + regenerate | `npm run test:live` + manual |
|
|
168
168
|
| E2E-196 | Dispatch center per-project view switch: Dispatch graph | Architecture (saved architecture.url) | `npm test` + manual |
|
|
@@ -184,7 +184,12 @@ the table for their app.
|
|
|
184
184
|
| E2E-212 | Creating a new project refuses when the target directory already exists; open from the project list still works | `npm test` + `npm run test:live` |
|
|
185
185
|
| E2E-213 | Create project accepts only a short folder name under the parent; absolute paths, duplicate folders, and duplicate titles are refused | `npm test` + `npm run test:live` |
|
|
186
186
|
| E2E-214 | Architecture edges that would cross unrelated boxes get a clear corridor via; vertical labels use gap `labelAt`; Archify render succeeds | `npm test` |
|
|
187
|
-
| E2E-
|
|
187
|
+
| E2E-216 | Desk shell is compact; light/dark theme toggle persists `duaer.live.theme` and applies on desk + dispatch center | `npm run test:live` |
|
|
188
|
+
| E2E-217 | After「改缺陷」, prior requirement module tabs stay visible/clickable; light wells use theme inset tokens | `npm test` + `npm run test:live` |
|
|
189
|
+
| E2E-218 | Bug confirm merges modules (keeps prior tabs); progress run-blocks use theme insets; denser progress column | `npm test` + `npm run test:live` |
|
|
190
|
+
| E2E-219 | Settings closes without model ready (关闭 / backdrop / gear / Escape); denser drawers | `npm test` + `npm run test:live` |
|
|
191
|
+
| E2E-220 | Settings「关闭」click works; asset cache-bust forces new close handler | `npm test` + `npm run test:live` |
|
|
192
|
+
| E2E-221 | Chat column has no「导航」quick-nav control | `npm run test:live` |
|
|
188
193
|
|
|
189
194
|
| E2E-156 | Accepted chat bubble preview URL is a clickable `<a>` (http(s) or /api/…) | `npm test` + `npm run test:live` |
|
|
190
195
|
| E2E-157 | `http://host/api/result/…` chat links render as one clean `<a>` (no nested HTML garble) | `npm test` |
|
|
@@ -412,7 +417,7 @@ the table for their app.
|
|
|
412
417
|
| E2E-190 | `245-preview-opaque` | opaque sticky result bar |
|
|
413
418
|
| E2E-191 | `246-bug-chat-autofill` | bug chat autofills delivery facts |
|
|
414
419
|
| E2E-192 | `247-timeline-quicknav` | timeline sort + chat quick nav |
|
|
415
|
-
| E2E-193 | `
|
|
420
|
+
| E2E-193 | `290-remove-quicknav` | chat quick-nav removed |
|
|
416
421
|
| E2E-194 | `249-result-cta-after-deploy` | result CTAs remain after deploy |
|
|
417
422
|
| E2E-195 | `251-arch-claim-no-diagram` | rewrite claim-ready bubble when IR missing |
|
|
418
423
|
| E2E-196 | `255-dispatch-arch-view` | dispatch center per-project architecture view |
|
|
@@ -427,4 +432,10 @@ the table for their app.
|
|
|
427
432
|
| E2E-205 | `267-baseline-restore` | refresh keeps baseline confirm fields |
|
|
428
433
|
| E2E-206 | `268-fde07-uat` | UAT pack on exception cases + kickoff |
|
|
429
434
|
| E2E-207 | `271-fde04-compat` | browser matrix evidence + kickoff |
|
|
435
|
+
| E2E-216 | `283-desk-theme-compact` / `285-desk-light-compact` | compact shell + light/dark theme |
|
|
436
|
+
| E2E-217 | `286-modules-bug-theme` | bug path keeps module tabs; theme inset tokens |
|
|
437
|
+
| E2E-218 | `287-progress-modules-ux` | bug confirm merge + progress theme densify |
|
|
438
|
+
| E2E-219 | `288-settings-close-compact` | settings always closable + denser drawers |
|
|
439
|
+
| E2E-220 | `289-settings-close-click` | close button + asset cache bust |
|
|
440
|
+
| E2E-221 | `290-remove-quicknav` | no chat 导航 control |
|
|
430
441
|
|
package/docs/agent/live-desk.md
CHANGED
|
@@ -8,7 +8,7 @@ inside the chosen product repo.
|
|
|
8
8
|
|
|
9
9
|
`duaer live` starts the console on **port 8787** (`http://127.0.0.1:8787`). A missing
|
|
10
10
|
model does not block startup — the Settings drawer opens so the operator can save
|
|
11
|
-
credentials, then chat.
|
|
11
|
+
credentials (always dismissible via 关闭 / backdrop / gear / Escape), then chat.
|
|
12
12
|
|
|
13
13
|
**Agents:** do not start a second console or use another port. Prefer LaunchAgent
|
|
14
14
|
`com.duaer.live8787`. Interactive `duaer live` may open the browser once;
|
|
@@ -18,7 +18,13 @@ Also see root [`README.md`](../../README.md) (EN) / [`README.zh-CN.md`](../../RE
|
|
|
18
18
|
|
|
19
19
|
## Layout
|
|
20
20
|
|
|
21
|
-
Three columns:
|
|
21
|
+
Three columns: chat | confirm/progress | delivery. Prefer a **compact** shell
|
|
22
|
+
(tighter gaps, smaller brand). Color themes are **dark** (default) and
|
|
23
|
+
**light** via `html[data-theme]`; the top bar toggles and persists
|
|
24
|
+
`duaer.live.theme` in `localStorage` (also on the dispatch-center page).
|
|
25
|
+
Palettes use a soft blue accent — avoid harsh orange glow and dense hatch
|
|
26
|
+
backgrounds that fatigue long sessions. Light theme keeps the same tokens
|
|
27
|
+
for inputs/composer/bubbles (no leftover dark hardcodes).
|
|
22
28
|
|
|
23
29
|
| Column | Role |
|
|
24
30
|
|---|---|
|
|
@@ -134,9 +140,12 @@ The middle column shows a **修 bug** button in the same bottom CTA row as
|
|
|
134
140
|
**再改一版** (not a top kind switch). Before the first delivery it appears in
|
|
135
141
|
the bottom strip under results; after delivery it sits beside「再改一版」.
|
|
136
142
|
|
|
137
|
-
1.
|
|
138
|
-
|
|
139
|
-
|
|
143
|
+
1. Appends a **defect module tab** (`bug`) beside prior requirement modules —
|
|
144
|
+
it does **not** wipe them. Confirming the defect **merges** into the existing
|
|
145
|
+
module list (API + client). Switching tabs shows that module’s card
|
|
146
|
+
(confirmed feature tabs are readonly). Chat merge updates only the defect
|
|
147
|
+
card. **Project delivery facts** (preview URL, start scripts, local
|
|
148
|
+
path/port hints) are injected into chat + `assumptions` automatically —
|
|
140
149
|
do not re-ask the operator. Suspected cause defaults to「待复现定位」; online
|
|
141
150
|
emergency defaults to **no** (fix from develop) unless the user says
|
|
142
151
|
production/urgent.
|
|
@@ -144,14 +153,14 @@ the bottom strip under results; after delivery it sits beside「再改一版」.
|
|
|
144
153
|
(sorted by time in deliverables). They are later iterations, not a parallel track.
|
|
145
154
|
3. After confirm, **architecture is skipped by default** (operator may still
|
|
146
155
|
design if contracts or security change).
|
|
147
|
-
4. Kickoff builds a short pool
|
|
148
|
-
README → stamp.
|
|
156
|
+
4. Kickoff builds a short pool from the **bug** module only: reproduce → fix →
|
|
157
|
+
acceptance atoms → regress → README → stamp.
|
|
149
158
|
5. Worktree branch is **`fix/<name>`** from `develop`. Optional **production
|
|
150
159
|
hotfix** checkbox bases the worktree on **`main`** when that branch exists.
|
|
151
|
-
6. Feature path (`deskKind=feature`)
|
|
160
|
+
6. Feature path (`deskKind=feature`) drops the defect tab and keeps requirement
|
|
161
|
+
modules.
|
|
152
162
|
|
|
153
|
-
The chat column
|
|
154
|
-
confirm card · result · progress.
|
|
163
|
+
The chat column no longer shows a floating「导航」control.
|
|
155
164
|
|
|
156
165
|
See [ADR 003](../adr/003-bug-dispatch.md).
|
|
157
166
|
|
|
@@ -162,7 +171,11 @@ Kickoff owns Brief creation and dispatch. Order after architecture confirm:
|
|
|
162
171
|
1. **Decompose** atomic tasks (one per acceptance line + impl / verify /
|
|
163
172
|
shared steps). Parallelizable tasks (same dependency wave) are marked.
|
|
164
173
|
2. **Recommend** digital-employee count (1–4) from parallel width; the operator
|
|
165
|
-
may change it, then **confirm** to build the **派工图**.
|
|
174
|
+
may change it, then **confirm** to build the **派工图**. After a successful
|
|
175
|
+
build, the confirm button and worker-count chips **lock** until the graph
|
|
176
|
+
is invalidated. Each new wave (architecture confirm, including after
|
|
177
|
+
**改进**) **redecomposes** and requires a **new** graph — button shows
|
|
178
|
+
「重新确认并生成派工图」when regenerating.
|
|
166
179
|
3. Launch uses the confirmed pool and worker count.
|
|
167
180
|
|
|
168
181
|
Additional notes:
|
package/package.json
CHANGED