Skip to content

feat(ui): group federated specs by project on the Specs page#33

Merged
silversurfer562 merged 1 commit into
mainfrom
claude/intelligent-mcnulty-6a8acc
May 14, 2026
Merged

feat(ui): group federated specs by project on the Specs page#33
silversurfer562 merged 1 commit into
mainfrom
claude/intelligent-mcnulty-6a8acc

Conversation

@silversurfer562
Copy link
Copy Markdown
Member

Summary

  • Wrap the Specs page table in per-project <details> blocks driven by spec.project (plumbed by feat(specs): federated multi-root spec listing + coverage config #30). The section matching the active workspace expands by default; others collapse.
  • Drop the single specs_root meta-line in favor of a "Reading from N root(s)" hint when multiple roots are configured.
  • Only project is surfaced — root (filesystem noise) and collision (the natural "same slug under two sections" signal is now visible structurally) are not rendered.

Federation is now visible to the user instead of disappearing into a flat list of ~28 rows.

Approved proposal: attune-ai/docs/specs/spec-viewer-ia/proposal.md

Out of scope (deferred per proposal)

  • Per-row phase tracker (R · D · T 3-cell idea from §6) — needs a backend change to _scan_feature and deserves its own review.
  • Filtering, sorting, recency.

Test plan

  • pytest sidecar/tests/test_cowork_pages.py (20 passed, including new test_specs_page_groups_by_project)
  • ruff check clean on changed .py files
  • Manual: verify two-project federation (attune-ai + attune-gui) renders two collapsible groups, workspace project open by default
  • Manual: verify empty-state ("No specs found") still renders when zero roots configured

🤖 Generated with Claude Code

The Specs page rendered ~28 federated specs (attune-ai + attune-gui)
as one flat table — the `project` field plumbed by #30 was invisible
to the user. Wrap rows in per-project <details> sections so federation
becomes a visible structural signal instead of noise mixed by slug.

The section matching the active workspace expands by default; others
collapse. Drops the single specs_root meta-line in favour of a small
"Reading from N root(s)" hint.

Approved proposal: attune-ai/docs/specs/spec-viewer-ia/proposal.md

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@silversurfer562 silversurfer562 merged commit 0709591 into main May 14, 2026
5 checks passed
@silversurfer562 silversurfer562 deleted the claude/intelligent-mcnulty-6a8acc branch May 14, 2026 13:10
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