Skip to content

docs: add product workspaces and UX outline#26

Merged
brettheap merged 1 commit into
mainfrom
docs/product-workspaces-ux
May 23, 2026
Merged

docs: add product workspaces and UX outline#26
brettheap merged 1 commit into
mainfrom
docs/product-workspaces-ux

Conversation

@brettheap
Copy link
Copy Markdown
Contributor

@brettheap brettheap commented May 23, 2026

Summary

  • add a product workspaces and UX outline for AgentTower
  • define the three-workspace model: Agent Operations, Project and Specs, and Testing and Demo
  • capture project cards, master summaries, handoff model, drift model, and validation workspace direction for FEAT-012 planning

Why

This preserves the current productization thinking in-repo so FEAT-012 can use it as grounded input instead of relying on local-only notes.

Summary by Sourcery

Documentation:

  • Introduce a comprehensive AgentTower product workspaces and UX outline covering Agent Operations, Project and Specs, and Testing and Demo workspaces, including data models, workflows, and delivery plan for FEAT-012 and beyond.

Copilot AI review requested due to automatic review settings May 23, 2026 14:55
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented May 23, 2026

Reviewer's Guide

Adds a comprehensive product workspaces and UX outline for AgentTower, defining the three-workspace model (Agent Operations, Project and Specs, Testing and Demo) plus handoff, drift, validation, and UI/data models to guide FEAT-012 planning.

Flow diagram for the master-agent handoff UX model

flowchart TD
    A[Start handoff] --> B[Select master_agent]
    B --> C[Select project_repo]
    C --> D[Select work_items]
    D --> E[Suggest mode]
    E --> F[Show helper_policy_defaults]
    F --> G[Generate prompt_preview]
    G --> H[Operator edits optional_notes]
    H --> I[Submit handoff]
    I --> J[Persist handoff_object]
    J --> K[Link to master_project_features]
    K --> L[End]
Loading

File-Level Changes

Change Details Files
Document the AgentTower product as three operator workspaces with detailed UX models, data models, and delivery plan for the initial desktop control panel.
  • Introduce an overarching product structure covering core runtime, app backend contract, desktop operator product, packaging, operational hardening, and validation discipline.
  • Define the Agent Operations workspace UX, including entity states, attention queue/history, relationship graph, onboarding, explainability, and notification handling.
  • Define the Project and Specs workspace UX around projects, feature lifecycles, project cards, master summaries, drift workflows, and document-centric navigation.
  • Specify the Testing and Demo workspace UX and validation data model, covering validation targets, entrypoints, runs, and demo-readiness summaries.
  • Design the handoff prompt, assignment, and persistence model between operator and master agents, including modes, schema, and lifecycle states.
  • Define a structured drift signal model and schema, plus hybrid static and agent-driven detection and handling workflows.
  • Outline top-level UI navigation and FEAT-012/FEAT-013 delivery order for the Flutter desktop control panel.
docs/product-sections-and-control-panel.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues, and left some high level feedback:

  • You define a lot of concrete enums and field names for things like feature lifecycle, handoff objects, drift signals, and validation runs; consider explicitly calling out which of these are normative vs illustrative and aligning their naming style with existing backend models (e.g., snake_case vs camelCase) to reduce future mismatch when they’re implemented.
  • There are a few terminology inconsistencies (e.g., Speckit vs Spec Kit, capitalization of OpenSpec, project/specs vs Project and Specs); standardizing these terms in this document now will make it easier to wire the three workspaces into a coherent UI later.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- You define a lot of concrete enums and field names for things like feature lifecycle, handoff objects, drift signals, and validation runs; consider explicitly calling out which of these are normative vs illustrative and aligning their naming style with existing backend models (e.g., snake_case vs camelCase) to reduce future mismatch when they’re implemented.
- There are a few terminology inconsistencies (e.g., `Speckit` vs `Spec Kit`, capitalization of `OpenSpec`, `project/specs` vs `Project and Specs`); standardizing these terms in this document now will make it easier to wire the three workspaces into a coherent UI later.

## Individual Comments

### Comment 1
<location path="docs/product-sections-and-control-panel.md" line_range="432-441" />
<code_context>
+- Spec Kit feature specs
</code_context>
<issue_to_address>
**question (typo):** Inconsistent naming between "Spec Kit" and "Speckit" may confuse readers

Here you use "Spec Kit" (e.g., "Spec Kit feature specs"), but later the tool is referred to as "Speckit". If they are the same tool, please standardize the spelling; if not, clarify the distinction between them.

Suggested implementation:

```
- Speckit feature specs

```

Search the rest of `docs/product-sections-and-control-panel.md` (and related docs, if appropriate) for both `Spec Kit` and `Speckit` and standardize on a single spelling (likely `Speckit` as the product name). Also update any headings, links, or references (e.g., "Spec Kit workspace", "Spec Kit docs") to use that same spelling for consistency.
</issue_to_address>

### Comment 2
<location path="docs/product-sections-and-control-panel.md" line_range="28-37" />
<code_context>
+- Docker bench-container discovery
</code_context>
<issue_to_address>
**suggestion (typo):** Use consistent spelling for "bench container" vs "bench-container"

This term appears both as “bench-container” and “bench container.” If they refer to the same concept, please pick one form and use it consistently to avoid confusion.

Suggested implementation:

```
- Docker bench container discovery

```

Search the rest of the codebase and docs for both “bench-container” and “bench container” and normalize them all to “bench container” (without a hyphen) wherever they refer to this same concept.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +432 to +441
- Spec Kit feature specs
- OpenSpec proposed changes

### 4.1 Primary operator questions

This workspace should answer:

1. Which project am I looking at?
2. What is the current intended shape of this project?
3. What feature or change is active right now?
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question (typo): Inconsistent naming between "Spec Kit" and "Speckit" may confuse readers

Here you use "Spec Kit" (e.g., "Spec Kit feature specs"), but later the tool is referred to as "Speckit". If they are the same tool, please standardize the spelling; if not, clarify the distinction between them.

Suggested implementation:

- Speckit feature specs

Search the rest of docs/product-sections-and-control-panel.md (and related docs, if appropriate) for both Spec Kit and Speckit and standardize on a single spelling (likely Speckit as the product name). Also update any headings, links, or references (e.g., "Spec Kit workspace", "Spec Kit docs") to use that same spelling for consistency.

Comment on lines +28 to +37
- Docker bench-container discovery
- tmux pane discovery
- agent registration, roles, and capabilities
- safe queueing and prompt delivery
- routing and arbitration

This is the system underneath every other product layer.

### 1.2 App backend contract

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (typo): Use consistent spelling for "bench container" vs "bench-container"

This term appears both as “bench-container” and “bench container.” If they refer to the same concept, please pick one form and use it consistently to avoid confusion.

Suggested implementation:

- Docker bench container discovery

Search the rest of the codebase and docs for both “bench-container” and “bench container” and normalize them all to “bench container” (without a hyphen) wherever they refer to this same concept.

@sonarqubecloud
Copy link
Copy Markdown

@brettheap brettheap merged commit c8ebfdf into main May 23, 2026
3 of 4 checks passed
@brettheap brettheap deleted the docs/product-workspaces-ux branch May 23, 2026 14:57
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new draft productization document (docs/product-sections-and-control-panel.md) that reframes AgentTower around three operator workspaces (Agent Operations, Project and Specs, Testing and Demo) and outlines UX models, data objects (project cards, master summaries, handoffs, drift signals, validation targets/entrypoints/runs/demo readiness), a top-level UI nav outline, and a FEAT-012/FEAT-013/later delivery plan. The document is intended as grounded input for FEAT-012 planning.

Changes:

  • Introduces a three-workspace product model and per-workspace UX outlines.
  • Defines proposed structured object schemas for handoffs, drift signals, and validation/demo objects.
  • Maps the outline to a concrete delivery order (FEAT-012 control panel, FEAT-013 managed sessions, later items).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +205 to +210
- pending
- in_flight
- blocked
- expired
- cancelled
- delivered
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants