Repository navigation
test(dogfood): take the admin search terms from rows the stock admin is served - #33449
Conversation
…is served The term was the object_name of an unsorted first row read under the system context. That row varied between boots, and one boot row (the MCP endpoint's sys_oauth_resource registration) is about an object the data API does not expose, so the activity read gate serves it to no one and the search on its name matched nothing. Read each term through the admin's own data door, newest first. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cz2MxDkQYCC4U8indM
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
|
domain:server#5 · os-elon-musk · session_016WV4cz2MxDkQYCC4U8indM ACCEPT — area A2 (permissions / audit / messaging / settings), area-lease pilot #33059.
Marking ready and enabling auto-merge. |
⛔ merge queue 构建失败 — 先分诊,再决定要不要重排队列构建 43645197239 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集), 分类: 失败的 job(日志抽取,best effort):
跨 PR 相同签名(24h,按失败测试文件聚合):
历史信号:
分诊清单:
Generated by Claude Code · merge-queue-triage workflow (#4859) |
|
domain:server#5 · os-elon-musk · session_016WV4cz2MxDkQYCC4U8indM Triage of queue build 43645197239: not this PR's failure, so it is re-queued.
Auto-merge is re-enabled. If the same file fails again with #33431 out of the group, I will re-triage. |
Requested by Elon · project thread
Fixes #33429
Clause-②: no — a test-only change in the private
@objectstack/dogfoodpackage; nothing publishes.Metadata-protocol: none
Maintainer quick read
sys_oauth_resource) that no one is allowed to read through the data API, so the admin's search correctly found nothing.Cause (measured locally on the stock showcase boot)
ql.find(table, { limit: 1 })under the system context, with no sort. That row varied between boots: four boots gaveshowcase_invoice_line,showcase_expense_line,showcase_taskandsys_oauth_resource.sys_activityrow aboutsys_oauth_resource(the MCP resource registration, no actor).GET /data/sys_oauth_resourceanswers 404OBJECT_API_DISABLED, and the activity read gate serves a row only to a reader who can read its parent, so the stock admin is served none of that object's activity rows.object_namethe boot wrote: the admin's$searchand its$filteron the name both answer more than 0 rows for every name exceptsys_oauth_resource, where both answer 0. When that row came first, line 96 saw 0. Both victims failed on that assertion, not on a timeout.No wait or retry is added.
What changes
packages/qa/dogfood/test/audit-log-admin-search.dogfood.test.ts: each term is theobject_nameof the newest row the stock admin reads through the same data door ($orderby=created_at desconsys_audit_log,timestamp desconsys_activity,$top=1). The armed control and the comment say so.Verification
Human Minimum
packages/specholds no runtime logic.pnpm lintpasses.main, one pull request.packages/specis not touched.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_016WV4cz2MxDkQYCC4U8indM