Skip to content

Chat composer UX + assistant docs/skill polish - #480

Merged
rbuergi merged 1 commit into
mainfrom
fix/composer-ux-and-assistant-docs
Jul 15, 2026
Merged

rbuergi merged 1 commit into
mainfrom
fix/composer-ux-and-assistant-docs

Conversation

@rbuergi

@rbuergi rbuergi commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

A batch of small chat/assistant UX and agent-docs fixes.

Chat composer

  • Thread "Modified nodes" summary is now read-only. It rendered the version transition (v1 → v4), the header, and the new/deleted markers with Controls.Text — which is an editable TextFieldControl — so an empty input box appeared on read-only info. Switched those four to Controls.Label. Badges, Diff link, and Undo button are unchanged.
  • Composer pickers pre-select the current value. The harness/model/agent picker always highlighted item 0; it now opens on the currently-active selection (matched via SelectionId.IdOf, so it works whether the stored value is a bare id or a full node path), falling back to the first row when nothing is selected.
  • Esc closes an open picker. OnInputKeyDown only cancelled the running round; once focus returned to the Monaco editor, Esc did nothing to an open picker. It now dismisses the picker first.

Harness list ordering (sort:order) was already correct in code (PR #407: Order stamped on harness nodes + included in the import fingerprint + RunPicker sorts by Order). A portal still showing alphabetical just needs to re-import on its next deploy — no code change here.

Assistant docs & skills

  • Prefer patch over update in ToolsReference + Assistant: Update is documented as import/restore-only (wholesale overwrite that drops omitted fields); Patch is the default for edits.
  • UI minimum for Assistant: markdown in the reply / a Markdown control / a real view made interactive via links — never raw HTML for structured data — and delegate complex UIs to the coder.
  • Renamed the /create-space skill to /space (file, frontmatter name, all references, and the two skill-list test assertions).

Repo hygiene

  • AGENTS.md: hardened the worktree rule — NEVER work on the primary checkout; it stays parked on main, untouched; every session creates its own worktree.

Verification

  • Release -warnaserror build of MeshWeaver.Blazor.Portal (covers ThreadChatView + MeshWeaver.AI + embedded content): green (0/0).
  • SkillNodeTypeTest + SkillHarnessImportSourceTest: 12/12 pass (skill-list assertions updated for the rename).

🤖 Generated with Claude Code

- Thread "Modified nodes" summary: use read-only Controls.Label instead of
  Controls.Text (an editable TextFieldControl) for the version transition, header,
  and new/deleted markers — no more editable input boxes on read-only info.
- Chat composer pickers (harness/model/agent): pre-select the currently-active value
  instead of always highlighting item 0, and close an open picker on Esc from the
  composer (previously Esc had no effect once focus returned to Monaco).
- Docs: prefer `patch` over `update` in ToolsReference + Assistant — Update is now
  documented as import/restore-only (wholesale overwrite); Patch is the default.
- Teach Assistant a UI minimum (markdown in reply / Markdown control / interactive
  via links; delegate complex UIs to the coder).
- Rename the /create-space skill to /space (file + name + references + test list).
- AGENTS.md: harden the worktree rule — NEVER work on the primary checkout; it stays
  parked on main, untouched; every session creates its own worktree.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 3)

 12 files  ±0   12 suites  ±0   4m 4s ⏱️ +33s
875 tests +1  875 ✅ +1  0 💤 ±0  0 ❌ ±0 
924 runs  +1  924 ✅ +1  0 💤 ±0  0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 5)

1 253 tests  ±0   1 252 ✅ ±0   5m 3s ⏱️ -1s
   13 suites ±0       1 💤 ±0 
   13 files   ±0       0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 1)

813 tests  ±0   626 ✅ ±0   4m 46s ⏱️ -1s
 10 suites ±0   187 💤 ±0 
 10 files   ±0     0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 0)

889 tests  ±0   880 ✅ ±0   4m 32s ⏱️ +11s
  4 suites ±0     9 💤 ±0 
  4 files   ±0     0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 2)

1 255 tests  ±0   1 152 ✅ ±0   4m 42s ⏱️ -6s
   11 suites ±0     103 💤 ±0 
   11 files   ±0       0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results (shard 4)

1 649 tests  ±0   1 647 ✅ ±0   5m 43s ⏱️ +2s
   12 suites ±0       2 💤 ±0 
   12 files   ±0       0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

   62 files  ±0     62 suites  ±0   28m 51s ⏱️ +40s
6 734 tests +1  6 432 ✅ +1  302 💤 ±0  0 ❌ ±0 
6 783 runs  +1  6 481 ✅ +1  302 💤 ±0  0 ❌ ±0 

Results for commit 2ed8d36. ± Comparison against base commit c10686c.

@rbuergi
rbuergi merged commit 53aeffd into main Jul 15, 2026
15 checks passed
@rbuergi
rbuergi deleted the fix/composer-ux-and-assistant-docs branch August 5, 2026 10:45
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