feat(design): integrate agent activity timeline

This commit is contained in:
2026-09-07 12:21:40 +08:00
parent 81b524a02c
commit 7bdb42f26c
12 changed files with 243 additions and 133 deletions

View File

@@ -4,6 +4,9 @@
Accepted / implemented
Amended on 2026-09-07 to define operation-scoped public activity as transient
presentation state beneath the matching optimistic user message.
## Date
2026-08-30
@@ -27,6 +30,12 @@ versioned Design Specification and a persistent form throughout the design flow.
- Every mutation carries stable command and semantic operation identities. An
unknown transport result keeps the same command for replay; revision conflicts
refresh canonical state without discarding local drafts.
- While a chat operation is pending, Electron Main may normalize the server's closed
`design.assistant.progress` lifecycle into fixed youth-safe stages, and Renderer
may show one transient activity panel beneath the matching optimistic user message.
Activity is not a canonical Turn, Current Specification state, assistant content,
or evidence that a change committed. Model chain-of-thought, prompts, Provider
responses, tool arguments, and unvalidated model text are never rendered.
- Generation is a compile-and-confirm boundary. The server returns an immutable
Quote for one exact Specification revision; the client displays the public output
plan, warnings, expiry, and Token Point amount and confirms only the Quote ID.
@@ -51,6 +60,8 @@ and uncertain retries auditable without exposing provider internals.
old clients and V1 semantic writers receive no compatibility window.
- Production database cutover, paid Provider activation, and real-account installed
client smoke remain separate operator gates.
- Replayed activity and generic terminal Gateway events reconcile by the original
operation identity. They do not create another message, form, or retry intent.
## Supersedes