Skip to content

Feat: Extra Ops board, templates config, reports, public reader - #16

Merged
snowopsdev merged 11 commits into
mainfrom
snowopsdev/operator-ui-prototypes-90b1
Aug 21, 2026
Merged

Feat: Extra Ops board, templates config, reports, public reader#16
snowopsdev merged 11 commits into
mainfrom
snowopsdev/operator-ui-prototypes-90b1

Conversation

@snowopsdev

@snowopsdev snowopsdev commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Implemented (Payload Feature)

Route What
/admin/ops/articles Article board (Extra Ops; stock Articles list unchanged)
/admin/ops/articles/:id Full review — assign / reset-to-drafted / approve / publish / send-back; article body preview
/admin/ops/reports Failure digest → review + cost-log spend by stage/model (week/month/all)
/admin/ops/templates Tabbed config — Outline · Rules · SEO · Examples (Lexical outline/example only rewritten when those tabs change)
/articles/[slug] Public long-scroll reader (published only; resolves numeric ID when slug is missing)
Admin nav Ops → Article board / Reports / Templates

Status writes are actions-only. UI tokens follow root DESIGN.md (Notion).

Codex review follow-ups

  • Review page shows Lexical body before approve/publish; Open in admin on qa_passed/approved
  • Template save skips lossy outline/example conversion unless those tabs were edited
  • Public reader resolves /articles/<id> when an article has no slug
  • Prototype: public preview exit control + Inbox switcher active state (dfcde38)

How to try

docker-compose up -d
cp .env.example .env && cp cms/.env.example cms/.env
npm install && npm run seed --workspace cms
npm run dev --workspace cms

Then open /admin/ops/articles (after login).

Test plan

  • Login → Ops nav → Article board / Reports / Templates
  • Review a qa_passed article: body visible; Approve / Open in admin
  • Templates: edit Rules only → Save; outline formatting unchanged in admin
  • Publish article without slug → homepage ID link opens reader
  • Reports: week/month/all; spend-by-stage/model
  • npm run typecheck --workspace cms / npm run lint --workspace cms
Open in Web Open in Cursor 

cursoragent and others added 2 commits August 21, 2026 04:59
Clickable monochrome HTML comparing two metaphors for assign +
triage inside a Payload-adjacent shell, plus a phased A–D plan.

Co-authored-by: Aj <aj@snowops.dev>
Record the Board choice in the plan and mark Inbox as
comparison-only in the throwaway prototype chrome.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator UI — Board vs Inbox prototypes (throwaway) Draft: Operator UI — Board locked (Phase 0) Aug 21, 2026
Lock Phase 1 shape (full review page, all 7 columns) and add
embed-path fork, keyboard/drag board interactions, empty states,
and a pipeline:report-shaped Reports stub.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator UI — Board locked (Phase 0) Draft: Operator Board Phase 1 + Reports stub Aug 21, 2026
cursoragent and others added 2 commits August 21, 2026 05:17
Remove drag-to-status from the Board prototype. Document the
Payload embed choice in plain language (replace Articles vs
extra Ops route) so it is easier to pick.

Co-authored-by: Aj <aj@snowops.dev>
Phase 0–1 shape is complete: Board, full review, actions-only
status writes, and Articles table + separate Article board nav.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator Board Phase 1 + Reports stub Draft: Operator Board — Phase 0–1 shape locked Aug 21, 2026
Add tabbed template config editor, minimal mono public reader
with scroll vs sticky-TOC switcher, and failure-digest cards that
jump to review or the board.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator Board — Phase 0–1 shape locked Draft: Operator UI prototypes — Templates, Public A/B, Reports Aug 21, 2026
Install getdesign Notion system at repo root and restyle the
throwaway board/templates/reports/public prototypes to its tokens
(warm paper canvas, Inter, primary-blue pill CTAs). Lock public
reader to long-scroll.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator UI prototypes — Templates, Public A/B, Reports Draft: Operator UI prototypes + Notion DESIGN.md Aug 21, 2026
@snowopsdev
snowopsdev marked this pull request as ready for review August 21, 2026 05:37
@snowopsdev

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cb8eecd9dd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scratch/ui-prototypes/operator-board-vs-inbox/index.html
Comment thread scratch/ui-prototypes/operator-board-vs-inbox/index.html
@cursor

cursor Bot commented Aug 21, 2026

Copy link
Copy Markdown

Addressed both Codex P2s:

  1. Public exit← Admin in the decision bar, ← Back to admin in the reader chrome, and Esc to leave reader-mode (nav stays hidden for minimal public chrome).
  2. Inbox switcher — after rebuilding the decision bar, syncMetaphorSwitcher(screenName) restores the correct Board / Inbox archive active state.

cursoragent and others added 2 commits August 21, 2026 05:48
Add Admin / Back-to-admin exits from the public reader preview,
and restore Board vs Inbox active state after the decision bar
rebuilds so the archive switcher matches the visible screen.

Co-authored-by: Aj <aj@snowops.dev>
Add Payload admin views at /admin/ops/articles and /ops/reports with
actions-only assign/triage/approve/publish, Notion-styled UI from
DESIGN.md, nav links, and a minimal /articles/[slug] public page.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Draft: Operator UI prototypes + Notion DESIGN.md Feat: Extra Ops article board, review, reports, public reader Aug 21, 2026
Ship /admin/ops/templates with Outline/Rules/SEO/Examples tabs, and
enrich Reports with week/month/all cost-log spend by stage and model.

Co-authored-by: Aj <aj@snowops.dev>
@cursor cursor Bot changed the title Feat: Extra Ops article board, review, reports, public reader Feat: Extra Ops board, templates config, reports, public reader Aug 21, 2026
@snowopsdev

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0c7635abcd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread cms/src/components/ops/ArticleReview.tsx Outdated
Comment thread cms/src/components/ops/templateActions.ts Outdated
Comment thread cms/src/app/(frontend)/page.tsx
… URLs

- Render Lexical article body on the ops review page before approve/publish
- Skip outline/example Lexical rewrite unless those tabs were edited
- Resolve published articles by numeric ID when slug is missing

Co-authored-by: Aj <aj@snowops.dev>
@cursor

cursor Bot commented Aug 21, 2026

Copy link
Copy Markdown

Addressed in a05c275:

  • P1 body before publish — review now renders Lexical bodyHtml; Open in admin on qa_passed/approved
  • P1 template Lexical — outline/example only rewritten when those tabs are dirty
  • P2 ID URLsfindPublishedArticle resolves slug then numeric id
  • P2 prototype exit control + Inbox switcher were fixed earlier in dfcde38

Resolving the related review threads.

@snowopsdev
snowopsdev merged commit 433c884 into main Aug 21, 2026
2 checks passed
@snowopsdev
snowopsdev deleted the snowopsdev/operator-ui-prototypes-90b1 branch August 24, 2026 16:34
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.

2 participants