Skip to content

feat: split surfaces — read-only board + util-bar/⌘K file-an-issue#10

Merged
mabry1985 merged 1 commit into
mainfrom
feat/surfaces-split
Jun 24, 2026
Merged

feat: split surfaces — read-only board + util-bar/⌘K file-an-issue#10
mabry1985 merged 1 commit into
mainfrom
feat/surfaces-split

Conversation

@mabry1985

Copy link
Copy Markdown
Contributor

What

Reshapes the plugin's console surfaces to the intended UX: the board is a viewer; filing an issue moves to the util bar + the command palette.

  • Read-only board (/view) — Issues / Pull Requests tabs + repo picker + open/closed/all filter. Right dock and a ⌘K morph (palette: inline). The New-issue form is removed — it's a quick read.
  • File-an-issue (/new-issue) — a compact form (title / kind / repo / body → the gate-checked POST /issue). Surfaced two ways via the manifest: a util-bar widget pill (utility: {info}, opens its dialog) and a distinct ⌘K palette page (palette: {path}).

So: a quick look at Issues/PRs is in the dock + ⌘K; posting an issue is in the util bar + ⌘K — and the board stays read-only. All via the existing fork-safe iframe view seams (no core console edits).

Tests

test_board_view: board-is-read-only (no POST /issue), /new-issue served, both pages hit the gated routes, and the manifest declares both views with the right utility/palette. ruff + pytest -q81 passed.

🤖 Generated with Claude Code

Reshape the console surfaces per the intended UX: the board is a VIEWER and
filing moves to the util bar + the command palette.

- view.py: PAGE is now the READ-ONLY board (Issues/PRs tabs + repo picker + state
  filter; the New-issue form is gone). New NEW_ISSUE_PAGE = a compact file-an-issue
  form (title/kind/repo/body → the gate-checked POST /issue).
- api.py: the view router also serves /new-issue.
- manifest: two views — the board (`placement: right` + `palette: inline` ⌘K morph)
  and `github-new-issue` (a util-bar widget via `utility: {info}` AND a distinct ⌘K
  page via `palette: {path}`). So Issues/PRs are a quick view (dock + ⌘K) and posting
  an issue is in the util bar + ⌘K — not in the board.
- tests: board-is-read-only (no POST /issue), /new-issue served, both pages hit the
  gated routes, and the manifest declares both views with the right utility/palette.

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

protoquinn Bot commented Jun 24, 2026

Copy link
Copy Markdown

👀 Quinn is reviewing — verdict (PASS / WARN / FAIL) + findings to follow.

@protoquinn protoquinn Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

QA Audit — PR #10 | feat: split surfaces — read-only board + util-bar/⌘K file-an-issue

VERDICT: WARN


CI Status

  • test: in_progress ⏳

Diff Review

  • api.py: Clean — adds one GET /new-issue route, imports NEW_ISSUE_PAGE. No regression risk.
  • protoagent.plugin.yaml: Two views declared correctly — board w/ palette: inline, new-issue w/ utility pill + palette: { path }. Manifest structure validates in tests.
  • tests/test_board_view.py: 4 new/expanded tests. Read-only assertion uses exact-match string (closing quote) to avoid substring collisions — well-considered.
  • view.py + PROTO.md: Docs and split PAGE/NEW_ISSUE_PAGE. Truncated diff means I can't inspect the full NEW_ISSUE_PAGE HTML — see Gaps.

Observations

  • GAP: NEW_ISSUE_PAGE HTML body truncated in diff (374-line cutoff). Test confirms gated endpoint + DS kit presence, but form markup not fully reviewed. Low risk given test coverage.
  • LOW: clawpatch_review unavailable for protoLabsAI/github-plugin — structural review skipped.
  • NOTE: CI test still in_progress. Re-review will land formal PASS/FAIL once checks are terminal. No blocking issues found in diff — expect PASS if CI goes green.

— Quinn, QA Engineer

@protoquinn

protoquinn Bot commented Jun 24, 2026

Copy link
Copy Markdown

Submitted COMMENT review on protoLabsAI/github-plugin#10.

@mabry1985 mabry1985 merged commit 2103f1e into main Jun 24, 2026
1 check passed
@mabry1985 mabry1985 deleted the feat/surfaces-split branch June 24, 2026 06:25
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