You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
showcase: the command center's "待审核列表 · Work Queue" (badge 审批中) has no filter, so it lists every task including completed ones #25503
Filing-gate: ① product defect · reach: /apps/com.example.showcase/page/showcase_command_center as admin
Reader: objectstack triage seat → the lane that owns examples/app-showcase; the fix is one filter on cc_queue_g in src/ui/pages/command-center.page.ts
Duplicate search: semantic search "showcase command center work queue lists all tasks not only in review" in objectstack, incl. closed → 4 hits: #7750 (closed, my-workfilters: vs $filter, a different page), #7568, #6739, #22030 (closed, unrelated). None covers this panel.
Measured during an exploratory showcase walkthrough on 2026-10-23: objectstack mainb9c7a8f (PORT=3000 pnpm dev, stock showcase), objectui main 6fb31dc console (Vite dev, :5180), locale zh-CN.
What happens
The bottom panel is titled 待审核列表 · Work Queue with an 审批中 badge, and the KPI tile above it counts 待复审 Review = 2 (status in_review). The grid, however, lists all 10 tasks. That includes done ones such as Audit current IA, as well as backlog and to-do rows.
There is no filter. The KPI tile cc_k3 on the same page uses [{ field: 'status', operator: 'equals', value: 'in_review' }].
Expected
The queue shows the rows its title and badge promise, the same set as the KPI it sits under (2 rows today). The other option is to retitle it as an all-tasks list.
Triage: lands in examples/app-showcase/src/ui/pages/command-center.page.ts (cc_queue_g, add the in_review filter the KPI tile cc_k3 uses); rationale: showcase metadata; the panel promises a review queue and lists every task.
Path: reports · 图表画得出来… | none (showcase content) | step ②
Grade: priority:p3 — misleading demo content, one filter; not on a checklist clause.
Type: Bug
Session: session_01AkmasAfXt3cu83xGzkuKhe (objectstack triage, run on the maintainer's request in the project thread)
Claim: PM loop round 1 · domain:services seat 1 (seat post #6021, project run by the Sales account) · S mechanical card, in-seat subagent · 2026-10-23T19:48Z
Session: session_016g7nYP9wdNx1GDa5XDr7Uy
Account: os-sales (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/issue-25503-showcase-review-queue-filter
Worktree: objectstack-issue-25503
Domain: domain:server
Seat: domain:services#1
File surface: examples/app-showcase/src/ui/pages/command-center.page.ts (cc_queue_g: add the status = in_review filter the KPI tile cc_k3 on the same page uses), plus a showcase pin. ⛔ packages/spec is not edited. Stop on breach; explain in the report.
Container & model: S 级机械卡, mode:subagent (general-purpose subagent loading .claude/agents/os-dev.md as its role file), model: default tier, effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: the command center's 待审核列表 · Work Queue (badge 审批中) lists every task, done ones included | the panel contradicts its own KPI tile (Review = 2) | anyone demoing the command center, today
Thread-read: none
Serial constraints cleared: no open PR touches command-center.page.ts at claim (open PRs read at 2026-10-23T19:45:00Z on f38832be9c). #25504 (KPI format on the same page) is dispatched after this lands.
Resume-from: none
{
"issue": 25503,
"status": "done",
"branch": "claude/issue-25503-showcase-review-queue-filter",
"pr": "https://github.com/objectstack-ai/objectstack/pull/25534",
"session": "session_016g7nYP9wdNx1GDa5XDr7Uy",
"premise_still_valid": true,
"summary": "I checked the premise on origin/main 1ff43b67ea and it holds: cc_queue_g in examples/app-showcase/src/ui/pages/command-center.page.ts was an object-grid over showcase_task with no filter, while the tile cc_k3 counts status equals in_review. Both blocks now read one module constant, IN_REVIEW = [{ field: 'status', operator: 'equals', value: 'in_review' }]: cc_k3 passes it to kpi() as before, and the grid gets filter: IN_REVIEW. The key is `filter` (singular, a ViewFilterRule array). Sources: ObjectGridPropsSchema in packages/spec/src/ui/component.zod.ts line 5055 ('lowered to the wire $filter. THE key, singular'; `filters` is only an alias and defaultFilters is retired), the committed sdui.manifest.json object-grid inputs (built from the objectui pin 6fb31dc, which lists `filter` and no `filters`), and the my-work.page.ts object-grid that #7750 was about. The renderer read point (objectui ObjectGrid.tsx schema.filter) is cited from the my-work comment only, because this session cannot read the objectui repo. The landing is the claimed file plus the existing showcase test file. No packages/spec edit. The draft PR is assigned to os-sales with skip-changeset.",
"tests": "Head 15ef279240. The pin file (pnpm --filter @objectstack/example-showcase exec vitest run --maxWorkers=2 test/command-center-metric-filter.test.ts) passed: Test Files 1 passed, Tests 7 passed. Showcase test: Test Files 38 passed (38), Tests 465 passed (465), VERDICT command-exit 0. Showcase typecheck: VERDICT command-exit 0, and tsc --listFiles counts the test file once. os validate (showcase validate): 'Validation passed', exit 0. Ablation via scripts/ablation-replace.mjs, run under the verify lock: the anchor `'due_date'], filter: IN_REVIEW } },` was replaced by `'due_date'] } },` (anchor x1 to x0, blob a98af74d6112 to 8af132bc2407). Result: 2 of 7 failed ('scopes the queue to in_review tasks through `filter`' and 'carries the same rules as the tile `cc_k3`'). Restore: blob after restore == HEAD a98af74d6112, git diff HEAD empty, git status clean. No build leg was needed because the test imports the page from the package's own src. The dependency closure was built first (pnpm --filter '@objectstack/example-showcase^...' build, VERDICT command-exit 0).",
"gates": "node scripts/pm/dispatch-gates.mjs --commands at 15ef279240 derived 45 commands. 44 exited 0. pnpm check:dual-build-cjs-loads exited 3 with PREREQUISITE NOT MET, because only the showcase closure was built (studio, client-react and others have no dist); it is NOT MEASURED locally and is left to CI Lint & Repo Gates. Reconciliation with --ran and exit codes recorded printed '45 derived famil(ies) accounted for — 44 run, 1 NOT-MEASURED (1 DERIVED from a recorded exit 3)', exit 0. PR check-runs read once at open: 42 total (8 success, 12 skipped, 22 in_progress). Check Changeset: success. Test Core 1/6 to 6/6, Build Core and Governed Surface Queue Guard: in_progress. Lint & Repo Gates and TypeScript Type Check had not appeared yet: in_progress / NOT MEASURED. I did not wait for CI.",
"dogfood_battery": "n/a: no ! in the PR title and Clause-②: no has no (narrowing) arm",
"mcp_calls": "0",
"api_writes": "2 relay writes: (1) fleet-write pr_create, a POST /repos/objectstack-ai/objectstack/dispatches that ran 40020175473 (success), which opened PR #25534 as a draft with assignee os-sales and label skip-changeset; (2) this os-dev-report comment, posted through post-stamped.mjs to POST /repos/objectstack-ai/objectstack/issues/25503/comments. Plus git push, which is not a REST write.",
"open_questions": [],
"out_of_scope_findings": []
}
Activity
objectstack-fleet commentedon Oct 23, 2026
Triage: lands in
examples/app-showcase/src/ui/pages/command-center.page.ts(cc_queue_g, add thein_reviewfilter the KPI tilecc_k3uses); rationale: showcase metadata; the panel promises a review queue and lists every task.Path: reports · 图表画得出来… | none (showcase content) | step ②
Grade:
priority:p3— misleading demo content, one filter; not on a checklist clause.Type: Bug
Session:
session_01AkmasAfXt3cu83xGzkuKhe(objectstack triage, run on the maintainer's request in the project thread)Generated by Claude Code
objectstack-fleet commentedon Oct 23, 2026
Claim: PM loop round 1 ·
domain:servicesseat 1 (seat post #6021, project run by the Sales account) · S mechanical card, in-seat subagent · 2026-10-23T19:48ZSession:
session_016g7nYP9wdNx1GDa5XDr7UyAccount:
os-sales(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-25503-showcase-review-queue-filterWorktree:
objectstack-issue-25503Domain:
domain:serverSeat:
domain:services#1File surface:
examples/app-showcase/src/ui/pages/command-center.page.ts(cc_queue_g: add thestatus = in_reviewfilter the KPI tilecc_k3on the same page uses), plus a showcase pin. ⛔packages/specis not edited. Stop on breach; explain in the report.Container & model:
S 级机械卡,mode:subagent(general-purpose subagent loading.claude/agents/os-dev.mdas its role file),model: default tier,effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: the command center's 待审核列表 · Work Queue (badge 审批中) lists every task, done ones included | the panel contradicts its own KPI tile (Review = 2) | anyone demoing the command center, today
Thread-read: none
Serial constraints cleared: no open PR touches
command-center.page.tsat claim (open PRs read at 2026-10-23T19:45:00Z onf38832be9c). #25504 (KPIformaton the same page) is dispatched after this lands.Resume-from: none
objectstack-fleet commentedon Oct 23, 2026
os-dev-report
{ "issue": 25503, "status": "done", "branch": "claude/issue-25503-showcase-review-queue-filter", "pr": "https://github.com/objectstack-ai/objectstack/pull/25534", "session": "session_016g7nYP9wdNx1GDa5XDr7Uy", "premise_still_valid": true, "summary": "I checked the premise on origin/main 1ff43b67ea and it holds: cc_queue_g in examples/app-showcase/src/ui/pages/command-center.page.ts was an object-grid over showcase_task with no filter, while the tile cc_k3 counts status equals in_review. Both blocks now read one module constant, IN_REVIEW = [{ field: 'status', operator: 'equals', value: 'in_review' }]: cc_k3 passes it to kpi() as before, and the grid gets filter: IN_REVIEW. The key is `filter` (singular, a ViewFilterRule array). Sources: ObjectGridPropsSchema in packages/spec/src/ui/component.zod.ts line 5055 ('lowered to the wire $filter. THE key, singular'; `filters` is only an alias and defaultFilters is retired), the committed sdui.manifest.json object-grid inputs (built from the objectui pin 6fb31dc, which lists `filter` and no `filters`), and the my-work.page.ts object-grid that #7750 was about. The renderer read point (objectui ObjectGrid.tsx schema.filter) is cited from the my-work comment only, because this session cannot read the objectui repo. The landing is the claimed file plus the existing showcase test file. No packages/spec edit. The draft PR is assigned to os-sales with skip-changeset.", "tests": "Head 15ef279240. The pin file (pnpm --filter @objectstack/example-showcase exec vitest run --maxWorkers=2 test/command-center-metric-filter.test.ts) passed: Test Files 1 passed, Tests 7 passed. Showcase test: Test Files 38 passed (38), Tests 465 passed (465), VERDICT command-exit 0. Showcase typecheck: VERDICT command-exit 0, and tsc --listFiles counts the test file once. os validate (showcase validate): 'Validation passed', exit 0. Ablation via scripts/ablation-replace.mjs, run under the verify lock: the anchor `'due_date'], filter: IN_REVIEW } },` was replaced by `'due_date'] } },` (anchor x1 to x0, blob a98af74d6112 to 8af132bc2407). Result: 2 of 7 failed ('scopes the queue to in_review tasks through `filter`' and 'carries the same rules as the tile `cc_k3`'). Restore: blob after restore == HEAD a98af74d6112, git diff HEAD empty, git status clean. No build leg was needed because the test imports the page from the package's own src. The dependency closure was built first (pnpm --filter '@objectstack/example-showcase^...' build, VERDICT command-exit 0).", "gates": "node scripts/pm/dispatch-gates.mjs --commands at 15ef279240 derived 45 commands. 44 exited 0. pnpm check:dual-build-cjs-loads exited 3 with PREREQUISITE NOT MET, because only the showcase closure was built (studio, client-react and others have no dist); it is NOT MEASURED locally and is left to CI Lint & Repo Gates. Reconciliation with --ran and exit codes recorded printed '45 derived famil(ies) accounted for — 44 run, 1 NOT-MEASURED (1 DERIVED from a recorded exit 3)', exit 0. PR check-runs read once at open: 42 total (8 success, 12 skipped, 22 in_progress). Check Changeset: success. Test Core 1/6 to 6/6, Build Core and Governed Surface Queue Guard: in_progress. Lint & Repo Gates and TypeScript Type Check had not appeared yet: in_progress / NOT MEASURED. I did not wait for CI.", "dogfood_battery": "n/a: no ! in the PR title and Clause-②: no has no (narrowing) arm", "mcp_calls": "0", "api_writes": "2 relay writes: (1) fleet-write pr_create, a POST /repos/objectstack-ai/objectstack/dispatches that ran 40020175473 (success), which opened PR #25534 as a draft with assignee os-sales and label skip-changeset; (2) this os-dev-report comment, posted through post-stamped.mjs to POST /repos/objectstack-ai/objectstack/issues/25503/comments. Plus git push, which is not a REST write.", "open_questions": [], "out_of_scope_findings": [] }objectstack-fleet commentedon Oct 23, 2026
Landed ·
domain:servicesseat 1 (seat post #6021) ·os-sales·session_016g7nYP9wdNx1GDa5XDr7Uy· 2026-10-23T21:03Z6374407549), head15ef279240origin/main8ef2a96bd5State:
Fixes #25503closed the card.pm:dispatchedis now off and the assignee is cleared. #25504 (KPI format on the same page) is now dispatched.Generated by Claude Code