Skip to content

feat(webui): /preview/* phase A (build tag, fixtures only) - #1585

Merged
nextlevelshit merged 2 commits into
mainfrom
1580-preview-phase-a
Apr 29, 2026
Merged

feat(webui): /preview/* phase A (build tag, fixtures only)#1585
nextlevelshit merged 2 commits into
mainfrom
1580-preview-phase-a

Conversation

@nextlevelshit

Copy link
Copy Markdown
Collaborator

Summary

  • Adds /preview/* route group gated behind webui_preview build tag
  • Ports five mockup pages from docs/scope/mockups/ to internal/webui/templates/preview/
  • Default builds ship zero preview footprint (no routes, no templates, no css)
  • Sticky PREVIEW banner partial rendered on every preview route
  • CI lint.yml matrix builds + smoke-tests under both tag modes

Related to #1580

Changes

  • internal/webui/preview.go (//go:build webui_preview) — feature with route registration and template rendering
  • internal/webui/preview_disabled.go — no-op stub for default builds
  • internal/webui/preview_fixtures.go — hard-coded fixture data
  • internal/webui/preview_test.go — smoke tests asserting 200 OK on every preview route
  • internal/webui/templates/preview/*.html — five ported pages + _banner.html partial
  • internal/webui/static/preview/style.css — preview-only stylesheet
  • internal/webui/features.go — registers preview feature in registry
  • internal/webui/features_default_test.go — extracts default-tags zero-flags assertion to its own file gated !any-feature-tag
  • .github/workflows/lint.yml — adds matrix entry building/linting/testing with -tags webui_preview
  • specs/1580-preview-phase-a/{spec,plan,tasks}.md — speckit planning artifacts

Test Plan

  • go build ./... (default tags) — preview package excluded
  • go build -tags webui_preview ./... — preview package compiles
  • go test -tags webui_preview ./internal/webui/... — smoke tests pass with 200 OK on /preview/, /preview/onboard, /preview/work, /preview/work-item, /preview/proposal
  • go test ./internal/webui/... (default) — registry contract still holds; no preview routes registered
  • CI matrix runs both branches

nextlevelshit and others added 2 commits April 29, 2026 23:12
Adds a build-tag-gated /preview/* route group rendering five fixture-
backed mockup pages ported from docs/scope/mockups/. Default builds
ship zero preview footprint; the webui_preview tag activates routes,
templates, css, fixtures, and smoke tests.

Mirrors the existing features_<name>/_disabled.go pattern. Routes
register through FeatureRegistry.addRoutes so the main mux is
untouched. Each page renders a sticky PREVIEW banner partial plus the
ported HTML; css is served from a tag-gated handler at
/preview/static/style.css.

Also extracts the strict default-tags zero-flags assertion into its
own file gated to !any-feature-tag so the registry contract still
holds under default builds without breaking feature-tagged test runs.

CI matrix in lint.yml builds, lints, and runs preview smoke tests
under both tag modes.

Issue #1580 (epic #1565).
@nextlevelshit
nextlevelshit merged commit 2f6a942 into main Apr 29, 2026
15 checks passed
@nextlevelshit
nextlevelshit deleted the 1580-preview-phase-a branch April 29, 2026 21:50
nextlevelshit added a commit that referenced this pull request Apr 30, 2026
…#1609)

Cheapest (Haiku) tier produced shallow / lazy outputs on judgment-shaped
work — most visibly the test deletion in #1582 and forbidigo-panic
patterns in #1585. Real-world signal from Epic #1565 Phase 1 dispatch:
Haiku is fine for summary/distill/format steps but not for any persona
that scans, judges, plans, implements, or reviews.

Promoted to balanced on these steps:
- impl-issue: fetch-assess + agent_review (create-pr commenter stays cheap)
- impl-issue-core: fetch-assess
- audit-tests: scan + agent_review (summarizer report stays cheap)
- audit-architecture: scan + agent_review (summarizer report stays cheap)
- audit-security: agent_review (summarizer report stays cheap)
- ops-bootstrap: commit (craftsman writes scaffolding)
- ops-pr-review: diff-analysis + security llm_judge + quality agent_review
- plan-research: analyze-topics + research-topics (fetch/post-comment stay cheap)

Kept cheapest where the persona is summary-shaped:
- summarizer
- forge.type-commenter (PR/comment formatting)
- forge.type-analyst on fetch-only steps

Also adds golangci-lint to flake.nix devShell so the same lint that gates
CI runs locally without manual install (CI uses v2.10, nixpkgs ships v2.8 —
minor skew, acceptable for now).
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