Repository navigation
QA run · platform-core.notification-center (1/1) · 55a806a7 · 2026-10-17 · 1 PASS / 0 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #24116
Description
Run record for the re-run #24036 (half B) asks for after revising this item. Runner: an os-dev subagent dispatched by the domain:devx seat 2 PM (session session_016PVjjuVPte5XEJvaQx1E4t). Protocol: .claude/skills/checklist-test/SKILL.md + docs/qa/platform-checklist/RUNNER.md. Executed sequentially (no subagent tool in this runner).
Environment fingerprint
- framework:
55a806a78c0442243a8ac22e7dbc6f7b2c4b3bb0on branchclaude/issue-24036-ledger-b, the commit the app was built from. Its product tree isorigin/main8a83cebc1; the branch addsdocs/qa/platform-checklist/areas/*.jsononly, and its later commits touch those files alone. Built withpnpm install --frozen-lockfileandturbo run build(75/75 tasks). .objectui-sha:f8267df93aba8fb09cc1cc0692eadc0c8c5a5e56. The console was built withpnpm objectui:buildat that pin, andcheck:console-shareadsConsole dist matches the objectui pin (objectui@f8267df93aba).- boot:
OS_AUTOMATION_SCHEDULED_WORK_ENABLED=1 OS_PORT=41928 objectstack dev --ui --seed-admin -p 41928 -d file:(run dir)/nc/data.dbfromexamples/app-showcase, its own port and file DB (the CLI also provisioned the siblingdata.telemetry.db), stopped by its own process-group id afterwards. - browser: Playwright (playwright-core 1.63) on
/opt/pw-browsers/chromium, signed in through the console form; two passes over the same boot (00:58Z and 01:00Z) - persona(s): the seeded admin (
admin@objectos.ai), identity proven withGET /api/v1/auth/get-sessionbefore the first cell - timestamps: 2026-10-17, 00:58Z to 01:02Z
Scope
Selector platform-core.notification-center resolves to 1 runnable item: platform-core.notification-center at revision 2, P1, surface mixed. No planned or blocked-hidden item.
Per-clause verdicts
| # | clause (short) | verdict | evidence |
|---|---|---|---|
| 0 | badge = distinct unread topics + pending approvals | pass | pass 1: payload 4 unread rows in 2 (topic,title) groups (project.digest ×1, approval.requested ×3) + 3 pending approvals → rendered badge 5, breakdown "5 total · 2 notifications + 3 pending approvals". Pass 2: 2 unread digest rows in 1 group + 3 approvals → badge 4 ("1 notifications + 3") |
| 1 | three tabs | pass | tabs "Notifications", "Approvals 3", "Activity feed" (popover screenshot) |
| 2 | repeats coalesce with a ×N pill | pass | pass 1: "Approval requested" ×3 (aria "3 notifications"), expanding shows 3 members; the single digest row renders plain, no pill. Pass 2: "Scheduled project digest" ×2 from the recurring digest, expanding shows 2 members (screenshots) |
| 3 | group mark-read is one request | pass | pass 1: one POST /api/v1/notifications/read {"ids":[3 ids]}, badge 5→4; pass 2: one POST with the 2 digest ids, badge 4→3 |
| 4 | mark-all-read | pass | POST /api/v1/notifications/read/all {}; badge 4→3, breakdown "3 total · 0 notifications + 3 pending approvals" (approvals untouched) |
| 5 | Approvals tab and count | pass | tab content "3 pending approvals / View approvals"; sys_approval_request pending rows 3 |
| 6 | read-state persists across reload | pass | after reload GET /notifications unread 0 of 7, unreadCount 0, badge 3; no marked row reverted |
Reproduction rules
No clause scored fail, so none is owed. No authentication or authorization hole was found; nothing here is withheld under the RUNNER rule-2 carve-out.
Derived item verdict
platform-core.notification-center r2: pass (7 pass of 7 clauses).
- The revised fixture holds: with
OS_AUTOMATION_SCHEDULED_WORK_ENABLED=1the showcase_scheduled_digest rows land once a minute (2 by 00:59Z, coalesced ×2 in pass 2), while the stock boot on port 41927 (no switch, up 10 minutes) held 0 digest rows.
Checklist-accuracy findings and fixture gaps from this run close out on #24036.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 17, 2026
Close-out (
domain:devxseat 2): every clause PASS; nothing to extract. Ruling C on #24127 (maintainer): a verification re-run of a ledger edit no longer carries aqa-runrecord, and the existing ones close out now. The revised itemplatform-core.notification-centerlanded with #24141 (9ffe8af094), Part of #24036; itshistoryrow names #24036.Generated by Claude Code