Skip to content

refactor: improve tool calls ui#22

Merged
pedronauck merged 4 commits into
mainfrom
pn/tool-ui
Apr 15, 2026
Merged

refactor: improve tool calls ui#22
pedronauck merged 4 commits into
mainfrom
pn/tool-ui

Conversation

@pedronauck
Copy link
Copy Markdown
Member

@pedronauck pedronauck commented Apr 15, 2026

Summary by CodeRabbit

  • New Features

    • Copy-to-clipboard controls for messages, code blocks, and tool outputs
    • Expandable tool groups with “show more/less” toggles
    • “Show full content” controls for truncated tool edit/write outputs
    • Live elapsed-time display during AI processing ("Working for X")
  • Improvements

    • Reduced UI churn/flicker during streaming for smoother updates
    • Updated message bubble styling with conditional copy/timestamp row
    • Tool summaries show tone-based styling and hoverable full-summary tooltips
  • Tests

    • Added tests covering copy behavior, tool summaries, icons, and code-block copy visibility

@pedronauck pedronauck self-assigned this Apr 15, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 15, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Stabilizes chat row objects to reduce virtualizer churn during streaming; adds a CopyButton (messages, code blocks) and tests; replaces spinner with a live elapsed-time processing indicator; introduces a memoized ToolGroupSection; adds truncation toggles in tool renderers and a tone/icon system for tools.

Changes

Cohort / File(s) Summary
Chat row stabilization & grouping
web/src/systems/session/components/chat-view.tsx
Replaced per-card inline rendering for "tool_group" rows with a new ToolGroupSection; introduced isRowUnchanged, computeStableRows, and useStableRows to preserve RowDescriptor references during streaming; ChatViewContent now uses useStableRows(messages, isStreaming).
Tool group component
web/src/systems/session/components/tool-group-section.tsx
Added exported memoized ToolGroupSection and ToolGroupSectionProps { tools: UIMessage[] }; implements collapse/expand with MAX_VISIBLE_ENTRIES (6) and renders visible ToolCallCards.
Tool labels / tone & icon logic
web/src/systems/session/lib/tool-labels.ts, web/src/systems/session/lib/tool-labels.test.ts
Added ToolTone type, getToolTone, toolToneClass; extended getToolIcon(toolName, toolInput?) semantic fallbacks by toolInput keys; separated compact vs full summaries (getToolCompactSummary, getToolFullSummary). Unit tests added for semantic icon fallbacks.
Tool call card & tooltip behavior
web/src/systems/session/components/tool-call-card.tsx, web/src/systems/session/components/tool-call-card.test.tsx
Pass message.toolInput to icon/summary helpers; compute tone and apply toolToneClass; render truncated compact summary with tooltip showing full summary when different; tests updated/added for tooltip behavior.
Message bubble & copy UI
web/src/systems/session/components/message-bubble.tsx, web/src/systems/session/components/message-bubble.test.tsx
Added CopyButton to user and assistant bubbles; moved timestamp into a bottom row; adjusted bubble classes (e.g., rounded-2xl) and hover grouping for copy controls; test updated to expect styling change and absence of copy button for empty content.
Code blocks copy
web/src/systems/session/components/message-markdown.tsx, web/src/systems/session/components/message-markdown.test.tsx
Wraps syntax-highlight output in group/codeblock relative and overlays CopyButton (ariaLabel: “Copy code”) that copies full code; tests assert copy button presence and focus/hover visibility classes.
CopyButton component & tests
web/src/systems/session/components/copy-button.tsx, web/src/systems/session/components/copy-button.test.tsx
New exported CopyButton and CopyButtonProps (ariaLabel, text, className?); writes text to clipboard, sets transient copied state/reset timer (1200ms), handles failures with console.error, cleans up timers on unmount; tests cover success/failure with fake timers and clipboard mocks.
Processing indicator
web/src/systems/session/components/processing-indicator.tsx
Replaced spinner with pulsing three-dot indicator and live elapsed-time display; added formatElapsed and WorkingTimer (ticks every second) and updated layout/text to “Working for ”.
Tool renderers truncation
web/src/systems/session/components/tool-renderers/edit-content.tsx, web/src/systems/session/components/tool-renderers/write-content.tsx
Introduced showFull state and TRUNCATE_THRESHOLD; compute isTruncated and display* values; add “Show full content” toggle (with ChevronsUpDown) to reveal full text and counts.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • compozy/compozy#238 — Related changes touching chat/tool-group rendering and streaming/tool identity handling; likely overlaps with row stabilization and tool-group behavior.
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 13.64% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title 'refactor: improve tool calls ui' accurately summarizes the main changes, which involve enhancing the UI components for tool calls and related messaging features across multiple files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (6)
web/src/systems/session/components/tool-renderers/write-content.tsx (1)

38-47: Consider making this a true expand/collapse toggle.

The control only expands once (setShowFull(true)), so users can’t collapse back without rerendering the row.

♻️ Suggested toggle update
-      {isTruncated && (
+      {content.length > TRUNCATE_THRESHOLD && (
         <button
           type="button"
-          onClick={() => setShowFull(true)}
+          onClick={() => setShowFull((prev) => !prev)}
           className="flex items-center gap-1 text-[11px] text-[color:var(--color-text-tertiary)] hover:text-[color:var(--color-text-secondary)] transition-colors"
         >
           <ChevronsUpDown className="size-3" />
-          Show full content ({content.length.toLocaleString()} chars)
+          {showFull
+            ? "Show less content"
+            : `Show full content (${content.length.toLocaleString()} chars)`}
         </button>
       )}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/tool-renderers/write-content.tsx` around
lines 38 - 47, The "Show full content" control only sets showFull to true once
(using setShowFull(true)) so it never collapses; change the handler to toggle
the existing showFull state (e.g., setShowFull(prev => !prev>) and update the
button label/icon based on showFull/isTruncated (use "Show full content" with
the down chevron when collapsed and "Collapse" with the up chevron when
expanded) so the button becomes a true expand/collapse toggle; update references
in this component to use the isTruncated and showFull state consistently (and
adjust the ChevronsUpDown usage to reflect the two states).
web/src/systems/session/components/tool-renderers/edit-content.tsx (2)

7-10: Consider extracting shared truncation UI logic used by both tool renderers.

edit-content.tsx and write-content.tsx now carry near-identical expand/truncate behavior; a shared helper/component will reduce drift and keep thresholds/button behavior aligned.

Also applies to: 21-23, 28-29

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/tool-renderers/edit-content.tsx` around
lines 7 - 10, Both edit-content.tsx (EditContent) and write-content.tsx
(WriteContent) duplicate the same expand/truncate UI (TRUNCATE_THRESHOLD,
showFull state, toggle button and truncated substring logic); extract that into
a single reusable unit (either a TruncatableText component or useTruncation
hook) that accepts the text (message.content), threshold (default to
TRUNCATE_THRESHOLD), and optional button labels/props, and returns/render the
truncated view and toggle control; then replace the duplicated logic in
EditContent and WriteContent to consume the shared component/hook and remove the
local TRUNCATE_THRESHOLD, showFull and setShowFull logic from those files to
keep behavior aligned.

57-66: Optional UX polish: make “Show full content” reversible.

This currently expands only once; a toggle gives users better control when comparing large diffs.

♻️ Suggested toggle update
-      {isTruncated && (
+      {(oldStr.length > TRUNCATE_THRESHOLD || newStr.length > TRUNCATE_THRESHOLD) && (
         <button
           type="button"
-          onClick={() => setShowFull(true)}
+          onClick={() => setShowFull((prev) => !prev)}
           className="flex items-center gap-1 text-[11px] text-[color:var(--color-text-tertiary)] hover:text-[color:var(--color-text-secondary)] transition-colors"
         >
           <ChevronsUpDown className="size-3" />
-          Show full content
+          {showFull ? "Show less content" : "Show full content"}
         </button>
       )}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/tool-renderers/edit-content.tsx` around
lines 57 - 66, The "Show full content" button currently only expands
(onClick={() => setShowFull(true)}) and isn't reversible; change its handler to
toggle the state (e.g., setShowFull(prev => !prev)) and update the rendered
label/icon based on the current showFull state so the button reads "Show full
content" when collapsed and "Collapse content" (or similar) when expanded; refer
to the isTruncated flag and the setShowFull setter in the component to locate
where to add the toggle logic and conditional label/icon rendering.
web/src/systems/session/components/message-markdown.tsx (1)

66-98: Consider extracting shared copy button logic.

CodeCopyButton here and MessageCopyButton in message-bubble.tsx share nearly identical logic (state, timer cleanup, icon swap). Consider extracting a reusable CopyButton component to reduce duplication.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/message-markdown.tsx` around lines 66 -
98, Both CodeCopyButton and MessageCopyButton duplicate the same copy-state,
timer cleanup, and icon swap logic; extract a reusable CopyButton component that
encapsulates COPY_RESET_MS, timerRef management, useEffect cleanup, copied
state, and handleCopy (which writes to navigator.clipboard and toggles copied)
and accept props for the code string plus render props or children to render the
appropriate icons/styles; replace CodeCopyButton and MessageCopyButton with this
new CopyButton component (passing code and className/aria-label) to remove
duplication while preserving existing behavior.
web/src/systems/session/lib/tool-labels.ts (1)

28-34: Note: getToolTone and toolToneClass are not exported from the session system's public API.

Per the context snippet from index.ts, these functions are internal-only. If other systems need tone-based styling in the future, consider adding them to the public barrel export.

Also applies to: 36-47

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/lib/tool-labels.ts` around lines 28 - 34, getToolTone
and toolToneClass are currently internal to the session system (not exported)
but the review notes they may be useful externally; to fix this, decide whether
they should be part of the public API and if so add them to the session system's
barrel export (index.ts) so other packages can import them, or explicitly
document/keep them internal if not intended for public use—update the export
list in index.ts to include getToolTone and toolToneClass (or leave as-is and
add a comment indicating intentional internal-only status).
web/src/systems/session/components/tool-call-card.tsx (1)

71-73: Tooltip logic is Bash-specific; other tools with truncated summaries won't show tooltips.

The tooltip for truncated content only triggers for Bash tools. Other tools (like Read, Write, Grep) also truncate at 60 characters via getToolCompactSummary but won't display a tooltip with the full value. This may be intentional given Bash commands are typically longer, but worth confirming.

Also applies to: 165-183

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/tool-call-card.tsx` around lines 71 - 73,
The tooltip decision is currently Bash-specific (rawCommand /
showCommandTooltip) so other tools that use getToolCompactSummary and truncate
at 60 chars never get a full-value tooltip; update the logic in tool-call-card
to compute a generic fullText for the tool (e.g., for Bash use
message.toolInput?.command, otherwise derive the full string from
message.toolInput or the full output used by getToolCompactSummary) and then set
showCommandTooltip by comparing fullText.length against the same truncation
threshold (60) used by getToolCompactSummary; apply the same change in both
places referenced (the rawCommand logic around rawCommand/showCommandTooltip and
the similar block at lines ~165-183) and use the unified symbol (fullText /
showCommandTooltip) so all tools get a tooltip when truncated.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@web/src/systems/session/components/message-bubble.tsx`:
- Around line 40-45: The handleCopy implementation currently voids
navigator.clipboard.writeText and doesn't handle failures; update handleCopy
(used in message-bubble.tsx and in the shared CopyButton/CodeCopyButton) to
await or attach a .then/.catch to navigator.clipboard.writeText(text), only call
setCopied(true) and start/clear timerRef on success, and in the catch branch
setCopied(false) and surface or log the error (e.g., processLogger/console.error
or a UI fallback) so clipboard permission or write failures are handled
gracefully; keep useCallback and dependencies (text, timerRef, COPY_RESET_MS)
consistent when you refactor into the shared CopyButton.
- Around line 93-100: The MessageCopyButton is rendered even when
message.content is empty; update the render so the copy button
(MessageCopyButton) and its enclosing div (currently the div with className
"mt-1.5 flex items-center justify-end gap-2") are only output when
message.content is non-empty (or alternatively guard MessageCopyButton with a
truthy check on message.content), and keep timestamp rendering as before; locate
the JSX around message.content and the div/timestamp block in message-bubble.tsx
and wrap or conditionally render the div/MessageCopyButton based on
message.content.

In `@web/src/systems/session/components/message-markdown.tsx`:
- Around line 76-81: The handleCopy callback currently calls
navigator.clipboard.writeText without handling rejections, causing
setCopied(true) to run even when copying fails; update handleCopy to await or
attach a .then/.catch to navigator.clipboard.writeText(code) and only call
setCopied(true) and start/assign the timerRef timeout (COPY_RESET_MS) on
success, while on failure ensure the copied state is not set (or set to false)
and optionally log or surface the error; keep timerRef clearing logic but only
start the reset timeout after a successful write.

In `@web/src/systems/session/lib/tool-labels.ts`:
- Around line 75-88: Tests do not cover semantic fallback branches in
getToolIcon; add unit tests that call getToolIcon with a missing TOOL_ICONS
entry and a toolInput object to assert the correct icon is returned: supply
toolInput containing "command" to expect Terminal, "file_path" and "filePath" to
expect FileText, "pattern" to expect Search, and "url" and "query" to expect
Globe; also include a case with no matching properties to assert the default
Wrench is returned. Mock or stub TOOL_ICONS so the direct lookup misses, import
getToolIcon and the Lucide icon symbols (Terminal, FileText, Search, Globe,
Wrench) and add explicit assertions for each branch.

---

Nitpick comments:
In `@web/src/systems/session/components/message-markdown.tsx`:
- Around line 66-98: Both CodeCopyButton and MessageCopyButton duplicate the
same copy-state, timer cleanup, and icon swap logic; extract a reusable
CopyButton component that encapsulates COPY_RESET_MS, timerRef management,
useEffect cleanup, copied state, and handleCopy (which writes to
navigator.clipboard and toggles copied) and accept props for the code string
plus render props or children to render the appropriate icons/styles; replace
CodeCopyButton and MessageCopyButton with this new CopyButton component (passing
code and className/aria-label) to remove duplication while preserving existing
behavior.

In `@web/src/systems/session/components/tool-call-card.tsx`:
- Around line 71-73: The tooltip decision is currently Bash-specific (rawCommand
/ showCommandTooltip) so other tools that use getToolCompactSummary and truncate
at 60 chars never get a full-value tooltip; update the logic in tool-call-card
to compute a generic fullText for the tool (e.g., for Bash use
message.toolInput?.command, otherwise derive the full string from
message.toolInput or the full output used by getToolCompactSummary) and then set
showCommandTooltip by comparing fullText.length against the same truncation
threshold (60) used by getToolCompactSummary; apply the same change in both
places referenced (the rawCommand logic around rawCommand/showCommandTooltip and
the similar block at lines ~165-183) and use the unified symbol (fullText /
showCommandTooltip) so all tools get a tooltip when truncated.

In `@web/src/systems/session/components/tool-renderers/edit-content.tsx`:
- Around line 7-10: Both edit-content.tsx (EditContent) and write-content.tsx
(WriteContent) duplicate the same expand/truncate UI (TRUNCATE_THRESHOLD,
showFull state, toggle button and truncated substring logic); extract that into
a single reusable unit (either a TruncatableText component or useTruncation
hook) that accepts the text (message.content), threshold (default to
TRUNCATE_THRESHOLD), and optional button labels/props, and returns/render the
truncated view and toggle control; then replace the duplicated logic in
EditContent and WriteContent to consume the shared component/hook and remove the
local TRUNCATE_THRESHOLD, showFull and setShowFull logic from those files to
keep behavior aligned.
- Around line 57-66: The "Show full content" button currently only expands
(onClick={() => setShowFull(true)}) and isn't reversible; change its handler to
toggle the state (e.g., setShowFull(prev => !prev)) and update the rendered
label/icon based on the current showFull state so the button reads "Show full
content" when collapsed and "Collapse content" (or similar) when expanded; refer
to the isTruncated flag and the setShowFull setter in the component to locate
where to add the toggle logic and conditional label/icon rendering.

In `@web/src/systems/session/components/tool-renderers/write-content.tsx`:
- Around line 38-47: The "Show full content" control only sets showFull to true
once (using setShowFull(true)) so it never collapses; change the handler to
toggle the existing showFull state (e.g., setShowFull(prev => !prev>) and update
the button label/icon based on showFull/isTruncated (use "Show full content"
with the down chevron when collapsed and "Collapse" with the up chevron when
expanded) so the button becomes a true expand/collapse toggle; update references
in this component to use the isTruncated and showFull state consistently (and
adjust the ChevronsUpDown usage to reflect the two states).

In `@web/src/systems/session/lib/tool-labels.ts`:
- Around line 28-34: getToolTone and toolToneClass are currently internal to the
session system (not exported) but the review notes they may be useful
externally; to fix this, decide whether they should be part of the public API
and if so add them to the session system's barrel export (index.ts) so other
packages can import them, or explicitly document/keep them internal if not
intended for public use—update the export list in index.ts to include
getToolTone and toolToneClass (or leave as-is and add a comment indicating
intentional internal-only status).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 73d4a4eb-5dc3-4c7a-b391-3767222a0263

📥 Commits

Reviewing files that changed from the base of the PR and between ce34a8f and 0d0b2f7.

📒 Files selected for processing (10)
  • web/src/systems/session/components/chat-view.tsx
  • web/src/systems/session/components/message-bubble.test.tsx
  • web/src/systems/session/components/message-bubble.tsx
  • web/src/systems/session/components/message-markdown.tsx
  • web/src/systems/session/components/processing-indicator.tsx
  • web/src/systems/session/components/tool-call-card.tsx
  • web/src/systems/session/components/tool-group-section.tsx
  • web/src/systems/session/components/tool-renderers/edit-content.tsx
  • web/src/systems/session/components/tool-renderers/write-content.tsx
  • web/src/systems/session/lib/tool-labels.ts

Comment thread web/src/systems/session/components/message-bubble.tsx Outdated
Comment thread web/src/systems/session/components/message-bubble.tsx Outdated
Comment thread web/src/systems/session/components/message-markdown.tsx Outdated
Comment thread web/src/systems/session/lib/tool-labels.ts
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (1)
web/src/systems/session/components/copy-button.test.tsx (1)

11-18: Consider restoring navigator.clipboard after each test for stronger isolation.

The current overrides work, but restoring the original descriptor reduces cross-test leakage risk.

Also applies to: 22-25, 50-53

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@web/src/systems/session/components/copy-button.test.tsx` around lines 11 -
18, Save the original navigator.clipboard descriptor before tests override it
(e.g., in beforeEach alongside vi.useFakeTimers()) and in afterEach restore that
original descriptor (in addition to vi.restoreAllMocks() and vi.useRealTimers())
so the tests fully revert navigator.clipboard; update the setup/teardown code
that manipulates navigator.clipboard (the places referenced around
beforeEach/afterEach and the other overrides at the noted ranges) to capture and
reassign the original descriptor to ensure isolation.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@web/src/systems/session/components/copy-button.test.tsx`:
- Line 8: The test imports CopyButton using a relative path; update the import
to use the project path-alias (`@/`*) instead of "./copy-button" so it follows the
web import policy—replace the relative import of the CopyButton symbol with the
equivalent `@/`... alias import that points to the same component module and run
the tests to ensure resolution works.

In `@web/src/systems/session/components/message-markdown.tsx`:
- Line 19: Replace the relative import of CopyButton in message-markdown.tsx
with the project path alias: change the import from "./copy-button" to the
equivalent alias path under @ (e.g. "@/systems/session/components/copy-button")
so the CopyButton symbol is imported via the `@/`* mapping instead of a relative
path.
- Around line 99-103: The copy button in MessageMarkdown is currently hidden via
"opacity-0" and only revealed on hover; make it reachable by keyboard users by
adding focus/focus-visible variants so it becomes visible when focused. Update
the class list for the copy button element (the JSX that currently includes
"opacity-0 transition-opacity duration-200 group-hover/codeblock:opacity-100")
to also include "focus:opacity-100 focus-visible:opacity-100" (or the equivalent
"group-focus/codeblock:opacity-100" if using a group focus approach) so tabbing
to the button shows it.

---

Nitpick comments:
In `@web/src/systems/session/components/copy-button.test.tsx`:
- Around line 11-18: Save the original navigator.clipboard descriptor before
tests override it (e.g., in beforeEach alongside vi.useFakeTimers()) and in
afterEach restore that original descriptor (in addition to vi.restoreAllMocks()
and vi.useRealTimers()) so the tests fully revert navigator.clipboard; update
the setup/teardown code that manipulates navigator.clipboard (the places
referenced around beforeEach/afterEach and the other overrides at the noted
ranges) to capture and reassign the original descriptor to ensure isolation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2369218c-7c7c-4502-9f7e-a8dedbdc221e

📥 Commits

Reviewing files that changed from the base of the PR and between 0d0b2f7 and dfd971a.

⛔ Files ignored due to path filters (10)
  • .compozY/tasks/tool-ui/reviews-001/issue_001.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_002.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_003.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_004.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_005.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_006.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_007.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_008.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_009.md is excluded by !**/*.md
  • .compozY/tasks/tool-ui/reviews-001/issue_010.md is excluded by !**/*.md
📒 Files selected for processing (9)
  • web/src/systems/session/components/copy-button.test.tsx
  • web/src/systems/session/components/copy-button.tsx
  • web/src/systems/session/components/message-bubble.test.tsx
  • web/src/systems/session/components/message-bubble.tsx
  • web/src/systems/session/components/message-markdown.tsx
  • web/src/systems/session/components/tool-call-card.test.tsx
  • web/src/systems/session/components/tool-call-card.tsx
  • web/src/systems/session/lib/tool-labels.test.ts
  • web/src/systems/session/lib/tool-labels.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • web/src/systems/session/components/message-bubble.test.tsx
  • web/src/systems/session/components/message-bubble.tsx
  • web/src/systems/session/components/tool-call-card.tsx
  • web/src/systems/session/lib/tool-labels.ts

Comment thread web/src/systems/session/components/copy-button.test.tsx
Comment thread web/src/systems/session/components/message-markdown.tsx
Comment thread web/src/systems/session/components/message-markdown.tsx
pedronauck added a commit that referenced this pull request May 26, 2026
## Release v0.0.1

This PR prepares the release of version v0.0.1.

### Changelog

## 0.0.1 - 2026-05-26



### Other Changes

- Lessons learned



### ♻️ Refactoring

- Project structure (#7)
- Kb improvements (#12)
- Rename spaces to channels (#17)
- Add extensions gaps (#21)
- Improve tool calls ui (#22)
- Remove web app header
- Module improvements (#29)
- Memory improvements (#35)
- Storybook for web and ui (#38)
- Enable AGH network by default for new installs (#57)
- Hermes adjustments (#69)
- Badges design (#84)
- Storybook scenario and logos gallery
- Migrate typescript tests (#114)
- Internal go packages (#120)
- Ui patterns (#127)
- Improve e2e tests (#130)
- Ui redesign
- Workspace isolation across runtime surfaces (#145)
- Prod ready applies (#162)
- Tool card ui (#164)
- Alpha on logo
- Prod ready features (#167)
- Thread sheet (#202)



### 🎉 Features

- Implement config foundation packages
- Implement sqlite store package
- Add ACP client package
- Add session lifecycle manager
- Implement observe package
- Add daemon composition root
- Add uds api server
- Implement cli package
- Add http api server
- Add system design
- Add foundation types, schemas, and layout shell for web client
- Add daemon health polling and agent sidebar systems for web client
- Add session system CRUD, streaming core, and session store for web
client
- Add chat view, messages, and composer tests for web client
- Add tool cards and renderers for web client
- Add file-backed memory store core
- Scaffold memory session seams
- Add memory dream consolidation service
- Wire memory assembler into daemon
- Add memory api and cli
- New skills system (#1)
- Add workspace entity (#5)
- Add new skill capabilities (#8)
- Web ui v2 (#9)
- Improve hooks system (#10)
- Session resilience (#11)
- Add extensability (#13)
- Add automation (#16)
- Add channels (#14)
- Add network implementation (#15)
- Add network, bridges and automations web pages (#18)
- Ext registry (#20)
- Add core tasks (#19)
- Bridge adapters (#23)
- Add site (#26)
- Add ext refac and sandbox (#25)
- Settings ui (#37)
- Tasks ui (#36)
- Harness improvements (#44)
- Agent capabilities (#49)
- Redesign ui (#48)
- Unify capability (#53)
- Redesign network workspace (#59)
- Add task deletion and split session delete from stop (#58)
- Session provider selection (#60)
- Production grade adjustments (#66)
- Autonomous system (#75)
- Add agent session route (#80)
- Tools registry (#85)
- Agents soul (#88)
- Add network threads (#105)
- Orchestration improvements (#106)
- Memory v2 (#108)
- Agent categories (#113)
- Providers model (#118)
- Add canonical AGH bundled skill (#143)
- Onboarding and improvements (#198)
- Onboarding and improvements (#201)



### 🐛 Bug Fixes

- Review round
- Review rounds
- Resolve memory extensibility review batch
- Embed web into daemon
- Defaults agents
- Acp integration (#4)
- Lint errors
- Prd folder
- Remove orphan web actions and dead surfaces (#55)
- Qa testing and fixes (#73)
- New review rounds (#82)
- Security audit (#90)
- Release qa round (#95)
- Add missing tools (#141)
- New qa round (#147)
- Advanced qa round (#149)
- Homebrew tap
- Final review round (#151)
- Daemon healthy
- Reasoning models (#158)
- Lint errors (#160)
- Review round (#168)
- Release adjustments (#171)
- Stabilize release ci fixtures
- Stabilize release integration gate
- Stabilize release verify gates
- Stabilize release integration flows
- Stabilize release verify gates
- Stabilize main verify shutdown
- Ignore stale acpmock cancel
- Marketplace search focus and filtering (#193)
- Website video
- Workspace command select



### 📚 Documentation

- Update agents.md
- Update prd
- Update skills
- Update compozy tasks
- Update compozy
- Update compozy
- Add new skills
- Archive prd
- Update prds
- Update rfc
- Update prds
- Update prds
- Add automation prd
- Channels prd
- Update prd
- Update prd
- New prds
- Archive prds
- Bridges adapters prd
- Sandbox prd
- Update
- Archive prd
- Update
- Add new prd
- New design
- Update prd
- Archive prds
- Update prds
- Tasks-ui prd tasks
- Update prd
- Update design docs
- Agent capabilities prd
- Improve site docs
- Remove old design references
- Udpate
- Autonomous prd
- Update skills
- Blog design
- Agent sould prd
- Final qa plan
- Update
- Remove codex ledgers from gitignore
- Remove not needed files
- Udpate ledger
- Update cy-codex-loop skill
- Orchestration improves prd
- Update prds
- Orch improvs prd
- Memv2 prd
- Providers model prd
- Update refacs prd
- New design proposal
- Update rules
- Update skills
- New blog posts (#173)
- Format docs
- Remove old design files
- Remove old
- Skeeper update



### 📦 Build System

- Initial structure
- Commitlint
- Frontend base structure
- Update vscode settings
- Add subagents
- Coderabbit
- Prd and tooling
- Bun lock
- Lint tooling
- Copy.md and tooling adjusts
- Add repoclone rc
- Upgrade skeeper to v0.2.0
- Update go.mod
- Adopt task artifacts into skeeper
- Sync codex plans with skeeper
- Skeeper lock
- Skeeper lock
- New skills
- Skeeper lock
- Skeeper lock
- Skeeper lock
- Update deps and go
- Regenerate daytona sidecar assets for go 1.26.3
- Fix cliff
- Ignore docs on fmt
- Build web assets before goreleaser
- Extend release dry-run timeout



### 🔧 CI/CD

- Lint errors
- Fint release pr
- Fix goreleaser



### 🧪 Testing

- Add e2e tests (#27)
- Qa rounds (#78)
- Improve test suite (#138)
- Harden daemon-served restart reloads
- Harden daemon-served readiness waits
- Stabilize dashboard focus assertion
- Stabilize release integration gates
- Stabilize release e2e markers
- Stabilize release e2e flows

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This was referenced May 26, 2026
pedronauck added a commit that referenced this pull request May 26, 2026
## Release v0.0.1

This PR prepares the release of version v0.0.1.

### Changelog

## 0.0.1 - 2026-05-26



### Other Changes

- Lessons learned



### ♻️ Refactoring

- Project structure (#7)
- Kb improvements (#12)
- Rename spaces to channels (#17)
- Add extensions gaps (#21)
- Improve tool calls ui (#22)
- Remove web app header
- Module improvements (#29)
- Memory improvements (#35)
- Storybook for web and ui (#38)
- Enable AGH network by default for new installs (#57)
- Hermes adjustments (#69)
- Badges design (#84)
- Storybook scenario and logos gallery
- Migrate typescript tests (#114)
- Internal go packages (#120)
- Ui patterns (#127)
- Improve e2e tests (#130)
- Ui redesign
- Workspace isolation across runtime surfaces (#145)
- Prod ready applies (#162)
- Tool card ui (#164)
- Alpha on logo
- Prod ready features (#167)
- Thread sheet (#202)



### 🎉 Features

- Implement config foundation packages
- Implement sqlite store package
- Add ACP client package
- Add session lifecycle manager
- Implement observe package
- Add daemon composition root
- Add uds api server
- Implement cli package
- Add http api server
- Add system design
- Add foundation types, schemas, and layout shell for web client
- Add daemon health polling and agent sidebar systems for web client
- Add session system CRUD, streaming core, and session store for web
client
- Add chat view, messages, and composer tests for web client
- Add tool cards and renderers for web client
- Add file-backed memory store core
- Scaffold memory session seams
- Add memory dream consolidation service
- Wire memory assembler into daemon
- Add memory api and cli
- New skills system (#1)
- Add workspace entity (#5)
- Add new skill capabilities (#8)
- Web ui v2 (#9)
- Improve hooks system (#10)
- Session resilience (#11)
- Add extensability (#13)
- Add automation (#16)
- Add channels (#14)
- Add network implementation (#15)
- Add network, bridges and automations web pages (#18)
- Ext registry (#20)
- Add core tasks (#19)
- Bridge adapters (#23)
- Add site (#26)
- Add ext refac and sandbox (#25)
- Settings ui (#37)
- Tasks ui (#36)
- Harness improvements (#44)
- Agent capabilities (#49)
- Redesign ui (#48)
- Unify capability (#53)
- Redesign network workspace (#59)
- Add task deletion and split session delete from stop (#58)
- Session provider selection (#60)
- Production grade adjustments (#66)
- Autonomous system (#75)
- Add agent session route (#80)
- Tools registry (#85)
- Agents soul (#88)
- Add network threads (#105)
- Orchestration improvements (#106)
- Memory v2 (#108)
- Agent categories (#113)
- Providers model (#118)
- Add canonical AGH bundled skill (#143)
- Onboarding and improvements (#198)
- Onboarding and improvements (#201)



### 🐛 Bug Fixes

- Review round
- Review rounds
- Resolve memory extensibility review batch
- Embed web into daemon
- Defaults agents
- Acp integration (#4)
- Lint errors
- Prd folder
- Remove orphan web actions and dead surfaces (#55)
- Qa testing and fixes (#73)
- New review rounds (#82)
- Security audit (#90)
- Release qa round (#95)
- Add missing tools (#141)
- New qa round (#147)
- Advanced qa round (#149)
- Homebrew tap
- Final review round (#151)
- Daemon healthy
- Reasoning models (#158)
- Lint errors (#160)
- Review round (#168)
- Release adjustments (#171)
- Stabilize release ci fixtures
- Stabilize release integration gate
- Stabilize release verify gates
- Stabilize release integration flows
- Stabilize release verify gates
- Stabilize main verify shutdown
- Ignore stale acpmock cancel
- Marketplace search focus and filtering (#193)
- Website video
- Workspace command select



### 📚 Documentation

- Update agents.md
- Update prd
- Update skills
- Update compozy tasks
- Update compozy
- Update compozy
- Add new skills
- Archive prd
- Update prds
- Update rfc
- Update prds
- Update prds
- Add automation prd
- Channels prd
- Update prd
- Update prd
- New prds
- Archive prds
- Bridges adapters prd
- Sandbox prd
- Update
- Archive prd
- Update
- Add new prd
- New design
- Update prd
- Archive prds
- Update prds
- Tasks-ui prd tasks
- Update prd
- Update design docs
- Agent capabilities prd
- Improve site docs
- Remove old design references
- Udpate
- Autonomous prd
- Update skills
- Blog design
- Agent sould prd
- Final qa plan
- Update
- Remove codex ledgers from gitignore
- Remove not needed files
- Udpate ledger
- Update cy-codex-loop skill
- Orchestration improves prd
- Update prds
- Orch improvs prd
- Memv2 prd
- Providers model prd
- Update refacs prd
- New design proposal
- Update rules
- Update skills
- New blog posts (#173)
- Format docs
- Remove old design files
- Remove old
- Skeeper update



### 📦 Build System

- Initial structure
- Commitlint
- Frontend base structure
- Update vscode settings
- Add subagents
- Coderabbit
- Prd and tooling
- Bun lock
- Lint tooling
- Copy.md and tooling adjusts
- Add repoclone rc
- Upgrade skeeper to v0.2.0
- Update go.mod
- Adopt task artifacts into skeeper
- Sync codex plans with skeeper
- Skeeper lock
- Skeeper lock
- New skills
- Skeeper lock
- Skeeper lock
- Skeeper lock
- Update deps and go
- Regenerate daytona sidecar assets for go 1.26.3
- Fix cliff
- Ignore docs on fmt
- Build web assets before goreleaser
- Extend release dry-run timeout



### 🔧 CI/CD

- Lint errors
- Fint release pr
- Fix goreleaser
- Fix release



### 🧪 Testing

- Add e2e tests (#27)
- Qa rounds (#78)
- Improve test suite (#138)
- Harden daemon-served restart reloads
- Harden daemon-served readiness waits
- Stabilize dashboard focus assertion
- Stabilize release integration gates
- Stabilize release e2e markers
- Stabilize release e2e flows

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
pedronauck added a commit that referenced this pull request May 26, 2026
## Release v0.0.2

This PR prepares the release of version v0.0.2.

### Changelog

## 0.0.2 - 2026-05-26



### Other Changes

- Lessons learned



### ♻️ Refactoring

- Project structure (#7)
- Kb improvements (#12)
- Rename spaces to channels (#17)
- Add extensions gaps (#21)
- Improve tool calls ui (#22)
- Remove web app header
- Module improvements (#29)
- Memory improvements (#35)
- Storybook for web and ui (#38)
- Enable AGH network by default for new installs (#57)
- Hermes adjustments (#69)
- Badges design (#84)
- Storybook scenario and logos gallery
- Migrate typescript tests (#114)
- Internal go packages (#120)
- Ui patterns (#127)
- Improve e2e tests (#130)
- Ui redesign
- Workspace isolation across runtime surfaces (#145)
- Prod ready applies (#162)
- Tool card ui (#164)
- Alpha on logo
- Prod ready features (#167)
- Thread sheet (#202)



### 🎉 Features

- Implement config foundation packages
- Implement sqlite store package
- Add ACP client package
- Add session lifecycle manager
- Implement observe package
- Add daemon composition root
- Add uds api server
- Implement cli package
- Add http api server
- Add system design
- Add foundation types, schemas, and layout shell for web client
- Add daemon health polling and agent sidebar systems for web client
- Add session system CRUD, streaming core, and session store for web
client
- Add chat view, messages, and composer tests for web client
- Add tool cards and renderers for web client
- Add file-backed memory store core
- Scaffold memory session seams
- Add memory dream consolidation service
- Wire memory assembler into daemon
- Add memory api and cli
- New skills system (#1)
- Add workspace entity (#5)
- Add new skill capabilities (#8)
- Web ui v2 (#9)
- Improve hooks system (#10)
- Session resilience (#11)
- Add extensability (#13)
- Add automation (#16)
- Add channels (#14)
- Add network implementation (#15)
- Add network, bridges and automations web pages (#18)
- Ext registry (#20)
- Add core tasks (#19)
- Bridge adapters (#23)
- Add site (#26)
- Add ext refac and sandbox (#25)
- Settings ui (#37)
- Tasks ui (#36)
- Harness improvements (#44)
- Agent capabilities (#49)
- Redesign ui (#48)
- Unify capability (#53)
- Redesign network workspace (#59)
- Add task deletion and split session delete from stop (#58)
- Session provider selection (#60)
- Production grade adjustments (#66)
- Autonomous system (#75)
- Add agent session route (#80)
- Tools registry (#85)
- Agents soul (#88)
- Add network threads (#105)
- Orchestration improvements (#106)
- Memory v2 (#108)
- Agent categories (#113)
- Providers model (#118)
- Add canonical AGH bundled skill (#143)
- Onboarding and improvements (#198)
- Onboarding and improvements (#201)



### 🐛 Bug Fixes

- Review round
- Review rounds
- Resolve memory extensibility review batch
- Embed web into daemon
- Defaults agents
- Acp integration (#4)
- Lint errors
- Prd folder
- Remove orphan web actions and dead surfaces (#55)
- Qa testing and fixes (#73)
- New review rounds (#82)
- Security audit (#90)
- Release qa round (#95)
- Add missing tools (#141)
- New qa round (#147)
- Advanced qa round (#149)
- Homebrew tap
- Final review round (#151)
- Daemon healthy
- Reasoning models (#158)
- Lint errors (#160)
- Review round (#168)
- Release adjustments (#171)
- Stabilize release ci fixtures
- Stabilize release integration gate
- Stabilize release verify gates
- Stabilize release integration flows
- Stabilize release verify gates
- Stabilize main verify shutdown
- Ignore stale acpmock cancel
- Marketplace search focus and filtering (#193)
- Website video
- Workspace command select



### 📚 Documentation

- Update agents.md
- Update prd
- Update skills
- Update compozy tasks
- Update compozy
- Update compozy
- Add new skills
- Archive prd
- Update prds
- Update rfc
- Update prds
- Update prds
- Add automation prd
- Channels prd
- Update prd
- Update prd
- New prds
- Archive prds
- Bridges adapters prd
- Sandbox prd
- Update
- Archive prd
- Update
- Add new prd
- New design
- Update prd
- Archive prds
- Update prds
- Tasks-ui prd tasks
- Update prd
- Update design docs
- Agent capabilities prd
- Improve site docs
- Remove old design references
- Udpate
- Autonomous prd
- Update skills
- Blog design
- Agent sould prd
- Final qa plan
- Update
- Remove codex ledgers from gitignore
- Remove not needed files
- Udpate ledger
- Update cy-codex-loop skill
- Orchestration improves prd
- Update prds
- Orch improvs prd
- Memv2 prd
- Providers model prd
- Update refacs prd
- New design proposal
- Update rules
- Update skills
- New blog posts (#173)
- Format docs
- Remove old design files
- Remove old
- Skeeper update



### 📦 Build System

- Initial structure
- Commitlint
- Frontend base structure
- Update vscode settings
- Add subagents
- Coderabbit
- Prd and tooling
- Bun lock
- Lint tooling
- Copy.md and tooling adjusts
- Add repoclone rc
- Upgrade skeeper to v0.2.0
- Update go.mod
- Adopt task artifacts into skeeper
- Sync codex plans with skeeper
- Skeeper lock
- Skeeper lock
- New skills
- Skeeper lock
- Skeeper lock
- Skeeper lock
- Update deps and go
- Regenerate daytona sidecar assets for go 1.26.3
- Fix cliff
- Ignore docs on fmt
- Build web assets before goreleaser
- Extend release dry-run timeout



### 🔧 CI/CD

- Lint errors
- Fint release pr
- Fix goreleaser
- Fix release
- Fix release process



### 🧪 Testing

- Add e2e tests (#27)
- Qa rounds (#78)
- Improve test suite (#138)
- Harden daemon-served restart reloads
- Harden daemon-served readiness waits
- Stabilize dashboard focus assertion
- Stabilize release integration gates
- Stabilize release e2e markers
- Stabilize release e2e flows
- Improve suite speed

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
pedronauck added a commit that referenced this pull request May 27, 2026
## Release v0.0.2

This PR prepares the release of version v0.0.2.

### Changelog

## 0.0.2 - 2026-05-26



### Other Changes

- Lessons learned



### ♻️ Refactoring

- Project structure (#7)
- Kb improvements (#12)
- Rename spaces to channels (#17)
- Add extensions gaps (#21)
- Improve tool calls ui (#22)
- Remove web app header
- Module improvements (#29)
- Memory improvements (#35)
- Storybook for web and ui (#38)
- Enable AGH network by default for new installs (#57)
- Hermes adjustments (#69)
- Badges design (#84)
- Storybook scenario and logos gallery
- Migrate typescript tests (#114)
- Internal go packages (#120)
- Ui patterns (#127)
- Improve e2e tests (#130)
- Ui redesign
- Workspace isolation across runtime surfaces (#145)
- Prod ready applies (#162)
- Tool card ui (#164)
- Alpha on logo
- Prod ready features (#167)
- Thread sheet (#202)



### 🎉 Features

- Implement config foundation packages
- Implement sqlite store package
- Add ACP client package
- Add session lifecycle manager
- Implement observe package
- Add daemon composition root
- Add uds api server
- Implement cli package
- Add http api server
- Add system design
- Add foundation types, schemas, and layout shell for web client
- Add daemon health polling and agent sidebar systems for web client
- Add session system CRUD, streaming core, and session store for web
client
- Add chat view, messages, and composer tests for web client
- Add tool cards and renderers for web client
- Add file-backed memory store core
- Scaffold memory session seams
- Add memory dream consolidation service
- Wire memory assembler into daemon
- Add memory api and cli
- New skills system (#1)
- Add workspace entity (#5)
- Add new skill capabilities (#8)
- Web ui v2 (#9)
- Improve hooks system (#10)
- Session resilience (#11)
- Add extensability (#13)
- Add automation (#16)
- Add channels (#14)
- Add network implementation (#15)
- Add network, bridges and automations web pages (#18)
- Ext registry (#20)
- Add core tasks (#19)
- Bridge adapters (#23)
- Add site (#26)
- Add ext refac and sandbox (#25)
- Settings ui (#37)
- Tasks ui (#36)
- Harness improvements (#44)
- Agent capabilities (#49)
- Redesign ui (#48)
- Unify capability (#53)
- Redesign network workspace (#59)
- Add task deletion and split session delete from stop (#58)
- Session provider selection (#60)
- Production grade adjustments (#66)
- Autonomous system (#75)
- Add agent session route (#80)
- Tools registry (#85)
- Agents soul (#88)
- Add network threads (#105)
- Orchestration improvements (#106)
- Memory v2 (#108)
- Agent categories (#113)
- Providers model (#118)
- Add canonical AGH bundled skill (#143)
- Onboarding and improvements (#198)
- Onboarding and improvements (#201)



### 🐛 Bug Fixes

- Review round
- Review rounds
- Resolve memory extensibility review batch
- Embed web into daemon
- Defaults agents
- Acp integration (#4)
- Lint errors
- Prd folder
- Remove orphan web actions and dead surfaces (#55)
- Qa testing and fixes (#73)
- New review rounds (#82)
- Security audit (#90)
- Release qa round (#95)
- Add missing tools (#141)
- New qa round (#147)
- Advanced qa round (#149)
- Homebrew tap
- Final review round (#151)
- Daemon healthy
- Reasoning models (#158)
- Lint errors (#160)
- Review round (#168)
- Release adjustments (#171)
- Stabilize release ci fixtures
- Stabilize release integration gate
- Stabilize release verify gates
- Stabilize release integration flows
- Stabilize release verify gates
- Stabilize main verify shutdown
- Ignore stale acpmock cancel
- Marketplace search focus and filtering (#193)
- Website video
- Workspace command select



### 📚 Documentation

- Update agents.md
- Update prd
- Update skills
- Update compozy tasks
- Update compozy
- Update compozy
- Add new skills
- Archive prd
- Update prds
- Update rfc
- Update prds
- Update prds
- Add automation prd
- Channels prd
- Update prd
- Update prd
- New prds
- Archive prds
- Bridges adapters prd
- Sandbox prd
- Update
- Archive prd
- Update
- Add new prd
- New design
- Update prd
- Archive prds
- Update prds
- Tasks-ui prd tasks
- Update prd
- Update design docs
- Agent capabilities prd
- Improve site docs
- Remove old design references
- Udpate
- Autonomous prd
- Update skills
- Blog design
- Agent sould prd
- Final qa plan
- Update
- Remove codex ledgers from gitignore
- Remove not needed files
- Udpate ledger
- Update cy-codex-loop skill
- Orchestration improves prd
- Update prds
- Orch improvs prd
- Memv2 prd
- Providers model prd
- Update refacs prd
- New design proposal
- Update rules
- Update skills
- New blog posts (#173)
- Format docs
- Remove old design files
- Remove old
- Skeeper update



### 📦 Build System

- Initial structure
- Commitlint
- Frontend base structure
- Update vscode settings
- Add subagents
- Coderabbit
- Prd and tooling
- Bun lock
- Lint tooling
- Copy.md and tooling adjusts
- Add repoclone rc
- Upgrade skeeper to v0.2.0
- Update go.mod
- Adopt task artifacts into skeeper
- Sync codex plans with skeeper
- Skeeper lock
- Skeeper lock
- New skills
- Skeeper lock
- Skeeper lock
- Skeeper lock
- Update deps and go
- Regenerate daytona sidecar assets for go 1.26.3
- Fix cliff
- Ignore docs on fmt
- Build web assets before goreleaser
- Extend release dry-run timeout



### 🔧 CI/CD

- Lint errors
- Fint release pr
- Fix goreleaser
- Fix release
- Fix release process
- Fix release sync
- Decouple release dry-run npm auth
- Persist web assets git auth



### 🧪 Testing

- Add e2e tests (#27)
- Qa rounds (#78)
- Improve test suite (#138)
- Harden daemon-served restart reloads
- Harden daemon-served readiness waits
- Stabilize dashboard focus assertion
- Stabilize release integration gates
- Stabilize release e2e markers
- Stabilize release e2e flows
- Improve suite speed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated web assets dependency to a newer version for improved
stability and performance.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/compozy/agh/pull/211?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
pedronauck added a commit that referenced this pull request May 27, 2026
## Release v0.0.2

This PR prepares the release of version v0.0.2.

### Changelog

## 0.0.2 - 2026-05-27



### Other Changes

- Lessons learned



### ♻️ Refactoring

- Project structure (#7)
- Kb improvements (#12)
- Rename spaces to channels (#17)
- Add extensions gaps (#21)
- Improve tool calls ui (#22)
- Remove web app header
- Module improvements (#29)
- Memory improvements (#35)
- Storybook for web and ui (#38)
- Enable AGH network by default for new installs (#57)
- Hermes adjustments (#69)
- Badges design (#84)
- Storybook scenario and logos gallery
- Migrate typescript tests (#114)
- Internal go packages (#120)
- Ui patterns (#127)
- Improve e2e tests (#130)
- Ui redesign
- Workspace isolation across runtime surfaces (#145)
- Prod ready applies (#162)
- Tool card ui (#164)
- Alpha on logo
- Prod ready features (#167)
- Thread sheet (#202)



### 🎉 Features

- Implement config foundation packages
- Implement sqlite store package
- Add ACP client package
- Add session lifecycle manager
- Implement observe package
- Add daemon composition root
- Add uds api server
- Implement cli package
- Add http api server
- Add system design
- Add foundation types, schemas, and layout shell for web client
- Add daemon health polling and agent sidebar systems for web client
- Add session system CRUD, streaming core, and session store for web
client
- Add chat view, messages, and composer tests for web client
- Add tool cards and renderers for web client
- Add file-backed memory store core
- Scaffold memory session seams
- Add memory dream consolidation service
- Wire memory assembler into daemon
- Add memory api and cli
- New skills system (#1)
- Add workspace entity (#5)
- Add new skill capabilities (#8)
- Web ui v2 (#9)
- Improve hooks system (#10)
- Session resilience (#11)
- Add extensability (#13)
- Add automation (#16)
- Add channels (#14)
- Add network implementation (#15)
- Add network, bridges and automations web pages (#18)
- Ext registry (#20)
- Add core tasks (#19)
- Bridge adapters (#23)
- Add site (#26)
- Add ext refac and sandbox (#25)
- Settings ui (#37)
- Tasks ui (#36)
- Harness improvements (#44)
- Agent capabilities (#49)
- Redesign ui (#48)
- Unify capability (#53)
- Redesign network workspace (#59)
- Add task deletion and split session delete from stop (#58)
- Session provider selection (#60)
- Production grade adjustments (#66)
- Autonomous system (#75)
- Add agent session route (#80)
- Tools registry (#85)
- Agents soul (#88)
- Add network threads (#105)
- Orchestration improvements (#106)
- Memory v2 (#108)
- Agent categories (#113)
- Providers model (#118)
- Add canonical AGH bundled skill (#143)
- Onboarding and improvements (#198)
- Onboarding and improvements (#201)



### 🐛 Bug Fixes

- Review round
- Review rounds
- Resolve memory extensibility review batch
- Embed web into daemon
- Defaults agents
- Acp integration (#4)
- Lint errors
- Prd folder
- Remove orphan web actions and dead surfaces (#55)
- Qa testing and fixes (#73)
- New review rounds (#82)
- Security audit (#90)
- Release qa round (#95)
- Add missing tools (#141)
- New qa round (#147)
- Advanced qa round (#149)
- Homebrew tap
- Final review round (#151)
- Daemon healthy
- Reasoning models (#158)
- Lint errors (#160)
- Review round (#168)
- Release adjustments (#171)
- Stabilize release ci fixtures
- Stabilize release integration gate
- Stabilize release verify gates
- Stabilize release integration flows
- Stabilize release verify gates
- Stabilize main verify shutdown
- Ignore stale acpmock cancel
- Marketplace search focus and filtering (#193)
- Website video
- Workspace command select



### 📚 Documentation

- Update agents.md
- Update prd
- Update skills
- Update compozy tasks
- Update compozy
- Update compozy
- Add new skills
- Archive prd
- Update prds
- Update rfc
- Update prds
- Update prds
- Add automation prd
- Channels prd
- Update prd
- Update prd
- New prds
- Archive prds
- Bridges adapters prd
- Sandbox prd
- Update
- Archive prd
- Update
- Add new prd
- New design
- Update prd
- Archive prds
- Update prds
- Tasks-ui prd tasks
- Update prd
- Update design docs
- Agent capabilities prd
- Improve site docs
- Remove old design references
- Udpate
- Autonomous prd
- Update skills
- Blog design
- Agent sould prd
- Final qa plan
- Update
- Remove codex ledgers from gitignore
- Remove not needed files
- Udpate ledger
- Update cy-codex-loop skill
- Orchestration improves prd
- Update prds
- Orch improvs prd
- Memv2 prd
- Providers model prd
- Update refacs prd
- New design proposal
- Update rules
- Update skills
- New blog posts (#173)
- Format docs
- Remove old design files
- Remove old
- Skeeper update



### 📦 Build System

- Initial structure
- Commitlint
- Frontend base structure
- Update vscode settings
- Add subagents
- Coderabbit
- Prd and tooling
- Bun lock
- Lint tooling
- Copy.md and tooling adjusts
- Add repoclone rc
- Upgrade skeeper to v0.2.0
- Update go.mod
- Adopt task artifacts into skeeper
- Sync codex plans with skeeper
- Skeeper lock
- Skeeper lock
- New skills
- Skeeper lock
- Skeeper lock
- Skeeper lock
- Update deps and go
- Regenerate daytona sidecar assets for go 1.26.3
- Fix cliff
- Ignore docs on fmt
- Build web assets before goreleaser
- Extend release dry-run timeout
- Fix release dry-run token contract



### 🔧 CI/CD

- Lint errors
- Fint release pr
- Fix goreleaser
- Fix release
- Fix release process
- Fix release sync
- Decouple release dry-run npm auth
- Persist web assets git auth
- Require npm auth before release merge



### 🧪 Testing

- Add e2e tests (#27)
- Qa rounds (#78)
- Improve test suite (#138)
- Harden daemon-served restart reloads
- Harden daemon-served readiness waits
- Stabilize dashboard focus assertion
- Stabilize release integration gates
- Stabilize release e2e markers
- Stabilize release e2e flows
- Improve suite speed


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated dependencies to latest versions.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/compozy/agh/pull/214?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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.

1 participant