Repository navigation
QA run · surface:browser (61/61) · 316be321 · 2026-10-04 · 38 PASS / 8 PARTIAL / 15 FAIL / 0 BLOCKED / 0 NOT-RUN #21782
Description
Activity
objectstack-fleet commented
on Oct 5, 2026 ContributorAuthorMore actionsClose-out
Every
failhas a disposition re-derived by an independent verifier (RUNNER rule 7):Extracted: objectstack-ai/objectui#11626 · platform-core.shell-nav-personalization · acceptance[2] Extracted: objectstack-ai/objectui#11627 · platform-core.marketplace-console-honesty · acceptance[2] Extracted: objectstack-ai/objectui#11629 · records-forms.view-type-gallery · acceptance[1] Extracted: objectstack-ai/objectui#11625 · records-forms.grid-personalization · acceptance[1] Extracted: objectstack-ai/objectui#11632 · dashboards.chart-type-matrix · outside the item's clauses Parked-on: #21797 · platform-core.docs-portal-render · acceptance[4] Parked-on: #21797 · platform-core.home-admin-cluster-links · acceptance[1] Parked-on: #21797 · platform-core.home-admin-cluster-links · acceptance[3] Parked-on: #21797 · platform-core.home-admin-cluster-links · acceptance[4] Parked-on: #21797 · platform-core.marketplace-console-honesty · acceptance[3] Parked-on: #21797 · ai.console-ai-surface-gating · acceptance[3] Parked-on: #21797 · records-forms.form-view-gallery · acceptance[0] Parked-on: #21797 · records-forms.conditional-rules-grid · acceptance[4] Parked-on: #21797 · records-forms.action-location-matrix · acceptance[0] Parked-on: #21797 · approvals.inbox-metadata-actions · acceptance[1] Parked-on: #21797 · dashboards.global-filters-rescope · acceptance[5]Held, not extracted, and re-run owed:
i18n.surface-matrixacceptance[0] (relative-dates variant) andi18n.studio-follows-app-localeacceptance[2]. The verifier left both UNCONFIRMED, so neither gets a card until a live re-run settles the mechanism.Known expected-fail, not re-filed:
platform-core.keyboard-shortcut-surfaceacceptance[2] / acceptance[3] (K1a / K1b) andai.console-ai-surface-gatingacceptance[5] (K2). The 2026-08-30 sweep's follow-ups own them.Product defects
card from severity (verifier) owner note objectstack-ai/objectui#11626 shell-nav-personalization A3 P3 objectui grouped navigation offers no drag-reorder, and every stock app is grouped objectstack-ai/objectui#11627 marketplace-console-honesty A3 P3 objectui offline Details renders the Disabled card ahead of reseed / purge objectstack-ai/objectui#11629 view-type-gallery A2 P3 objectui kanban never reads summarizeField(declared-unenforced)objectstack-ai/objectui#11625 grid-personalization A2 P2 objectui the density PUT puts rowHeightat the envelope top level, and the server drops it with a 200objectstack-ai/objectui#11632 found in chart-type-matrix A8 P3 objectui dataset previousPeriodcomparison labelled "vs yesterday"None is a 17.7 regression: every defect above reproduces against console code unchanged since the 17.6.0 pin (
31971ff1e) or earlier. No open duplicate was found for any of them.Checklist-accuracy findings (no fail attached; for the checklist owner)
- platform-core:
- home-admin-cluster-links and docs-portal-render: the personas say "fresh sign-up", which
invite_onlyrefuses. Docs step 4 should name the Help menu./apps/{pkg}/docslands on the reader of the first entry rather than on a separate listing. - home-admin-cluster-links: the item's whole Administration-cluster premise has no stable rendering surface at the pin (VF4), so it needs a revision beyond the parked clauses.
- url-overlay-contract: the drawer list is the Review Queue page (
recordAction: 'drawer');/forms/:nametakes view names (showcase_task.form); the child-create path is Account → Invoices tab → New. - theme-mode-persistence: the storage key is
object-ui-theme, notvite-ui-theme, and ModeToggle lives in the avatar menu under Preferences. - shell-nav-personalization: pinned items appear under a "Favorites" heading, not "Pinned".
- marketplace-console-honesty: reseed / purge live on
MarketplacePackagePage, not on Installed Apps.
- home-admin-cluster-links and docs-portal-render: the personas say "fresh sign-up", which
- api-backend: api-console-discovery-execute: Realtime (
degraded,handlerReady:false) gets no group, although the hook comment says degraded services "stay visible". This is the fail-closed direction. - approvals:
- account-app-entry A7: the interface language is avatar menu → Language. The Profile "Preferred language" select sets only the notification language.
- record-page-decisions: the mechanism text is stale. objectui#3055 / objectui PR test(dogfood): 把 temporal 这条线固化成端到端门禁;docs 审计范围传错时立即报错 #4077 retired
buildApprovalDecisionActions, and the header renders the declared actions through DeclaredActionsBar. The visible set also includes Reassign / Send back / Request info / Recall, and A5 needs a non-override persona. - The inbox tabs are English by default ("My Pending" / "Submitted by me").
- setup-packaged-automation-board A8: a member gets 403 on activation reads (also on 17.6.0), and reaches the page through other apps' component routes, not through Setup.
- An invite with role "admin" is not honoured at sign-up; use
organization/update-member-role. - The run's
steps_jsonomits post-resume nodes, so branch-taken clauses cannot be read from the run.
- records-forms:
- list-view-capabilities:
- A5 still names the retired string sort (
'estimate_hours desc', spec(ui):ListViewSchema.sortstill accepts the legacy"field desc"string — it is the PRODUCER whose documents objectui now refuses loudly, and #16553 does not cover it #17053), and the view now uses the array form. - A2 / A4 spell
$filter/$top/$skipwhile the console sendsfilter/top/skip. - A9's
_selectedIdsis top-level, not underparams. - A7 needs a knownGap: export is hidden on stock and the server answers 403 for admin.
- A5 still names the retired string sort (
- view-type-gallery:
packages/spec/liveness/view.jsoncalls kanban "field-by-field wired", which is stale forsummarizeField. - form-view-gallery: no console door opens the named form views; the wizard renders as steps only on the
/newpage route; the modal knownGap is partly stale (Task Desk renders a JSX modal form). - related-list-server-pagination: the knownGap is stale, because invite + sign-up + a permission-set row works.
- gantt-interactions: the variants name a
lockFieldthat is not a spec key. - upload-guard-blocks-confirm: Confirm is relabelled "Uploading…" mid-flight.
- adhoc-filter-sort-builder A3 verify: by design the sort is not restored, since only
{filters, search}are stored. - saved-view-management step 1: create saves a draft and needs a publish.
- bulk-select step 5:
top=0givestotal:0. - grid-personalization: the column-state key is
grid-columns-{object}when the view has noschema.id. - calendar-interactions A4: the stock calendar cannot quick-create, because
projectis required. - conditional-rules-grid: INV-1002 ships a single line, so step 3 needs a seeded second line with a distinct position.
- list-view-capabilities:
- dashboards:
- chart-type-matrix A3 cites combo
series[].type/series[].yAxis, which were removed by the 2026-09-12 ruling. The compareTo probe recipe should adddashboard.dateRange, without which the executor refuses. - global-filters-rescope: Revenue Pulse's region filter uses static options, so D3's dataset-sourced half needs a scratch
optionsFromdashboard.
- chart-type-matrix A3 cites combo
- i18n:
- notification-localized-and-clears step 2 is stale:
zh-CNis accepted, andsys_user.localeexists. Its prescribedzhcode is also what triggers the held date finding. - surface-matrix: the record-page knownGap and the variants string are stale, because the sections are named now. E11 needs a wait of more than 30 s after the tenant flip (
LOCALE_TTL_MS). - studio-follows-app-locale names no Studio surface that carries a relative date.
- notification-localized-and-clears step 2 is stale:
- studio-authoring:
- packaged-automation-studio-lock: the knownGap ("objectui f7c52e2" shape) is stale (objectui#11124). A2 names 422
writable_package_required, but the live server answers 403NOT_OVERRIDABLE/ITEM_LOCKED. - packaged-display-class-direct-edit: the lock banner reads "This item is locked…", and Reset needs a native
confirm()accepted.
- packaged-automation-studio-lock: the knownGap ("objectui f7c52e2" shape) is stale (objectui#11124). A2 names 422
Environment notes are in the record body.
Generated by Claude Code
- platform-core:
- added a commit that references this issue
on Oct 5, 2026 objectstack-fleet commented
on Oct 5, 2026 ContributorAuthorMore actionsRe-run: the two held zh-date clauses (RUNNER rule 7)
The record held
i18n.surface-matrixacceptance[0] (relative-dates variant) andi18n.studio-follows-app-localeacceptance[2] as FAIL, observed but not verified. A live re-run on the same subject (316be321e, console pin2e818d0b51ec), 2 fresh boots × 2 loads plus controls, settles both:item rev was now evidence i18n.surface-matrix 4 FAIL (held) PASS switching language through the avatar menu writes the user's locale ( zh-CN);/api/v1/auth/me/localizationanswerszh-CN; every date formatter receiveszh-CN; list dates render 10月15日 / 3天后 / 后天, record stamps 创建于: 8天前i18n.studio-follows-app-locale 3 FAIL (held) PASS same evidence; switching back writes enand restores "Oct 15" / "In 3 days"Disposition of the original fail: invalid pairing. The first lane set the UI language only in browser storage and never used the product's language switcher, so the user's stored locale stayed empty and dates followed the browser. No item step prescribes that, and the clauses are right as written.
Corrected totals for this record: 40 PASS / 8 PARTIAL / 13 FAIL / 0 BLOCKED / 0 NOT-RUN (the title still shows the pre-re-run counts).
Close-out for these two clauses: no card. One candidate outside the clauses (when the language save fails, the UI language and the date locale can disagree; console, P3) is noted for the console owner and not extracted.
Optional step wording for both items (checklist owner): "use the avatar-menu language switcher (it writes the user's locale); seeding browser storage alone is not a language switch."
Generated by Claude Code
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsClose-out addendum: one fail disposed. The record stays open for the rest
Triage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-06T16:08Z. The maintainer approved clearing the openqa-runrecords' close-out debt: 「同意,动手」. This was audited row by row (read-only) against checklist-test §5 before this write.Extracted: objectui#11674 · platform-core.keyboard-shortcut-surface · A3/A4
- K1 (the dead advertised accelerators) is carried by objectui#11674, closed
completedon 2026-10-06. - Still undisposed:
ai.console-ai-surface-gatingA6 (FOLLOW-UPS K2: an empty queue renders under the 501 alert, and the poll never backs off). No card exists.- Eight partials:
identity-auth.phone-signin-surfaces,platform-core.console-installability-indicators,records-forms.crud-roundtrip,records-forms.import-wizard-encoding-and-hints,records-forms.gantt-interactions,records-forms.form-dirty-guard,records-forms.bulk-select-all-matching,search.command-palette-navigation. Each gap is named in the body, but none is parked on a card.
- Corrected totals after the re-run comment: 40 PASS / 8 PARTIAL / 13 FAIL. The title still shows the pre-re-run counts.
Generated by Claude Code
- K1 (the dead advertised accelerators) is carried by objectui#11674, closed
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsClose-out complete: the last fail is extracted, and the blocked partial gaps are parked. The record closes
completedTriage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-06T17:05Z. The maintainer approved clearing the openqa-runrecords' close-out debt: 「同意,动手」. ⛔ No verdict on this record is changed.Extracted: objectstack-ai/objectui#11736 · ai.console-ai-surface-gating · acceptance[5]
Parked-on: #22017 · identity-auth.phone-signin-surfaces · A2 / A3 blocked(fixture)
Parked-on: #22017 · records-forms.crud-roundtrip · A7 readonly half
Parked-on: #22017 · records-forms.import-wizard-encoding-and-hints · A3 blocked(dependency)
Parked-on: #22017 · records-forms.gantt-interactions · A2 / A3 blocked(fixture)
Parked-on: #22017 · search.command-palette-navigation · A5 blocked(fixture)
Parked-on: #22017 · records-forms.grid-personalization · A1 reorder / pin leg
Parked-on: #22017 · records-forms.action-location-matrix · A3 url / api dispatch leg
Parked-on: #22017 · i18n.surface-matrix · A6 confirm half
Parked-on: #22017 · platform-core.keyboard-shortcut-surface · A5 blocked(fixture)
Parked-on: #22017 · ai.console-ai-surface-gating · A2 entitled side
Parked-on: #22017 · platform-core.builtin-apps-nav-render · catalog content blocked(environment)
Parked-on: #22017 · platform-core.marketplace-console-honesty · boot A catalog content blocked(environment)-
Every fail now has a disposition. The others were disposed earlier, in the close-out lines above this comment and in addendum
6020392202.ai.console-ai-surface-gatingA6 (K2) was the last, and it is now objectui#11736, gradedp3. -
The
not-runlegs stay on this record's own handoff list, as §4 requires, with ⛔ no second list:platform-core.console-installability-indicatorsA3 (the error leg);records-forms.form-dirty-guardA3;records-forms.bulk-select-all-matchingA5.
The next release-candidate Tier 1 run re-selects them (§5, trigger 1).
-
- added 3 commits that reference this issue
on Oct 7, 2026
17.7 pre-release verification, browser half: every runnable
surface:browseritem againstorigin/mainas it stood when the browser run started, with the Console built from the bumped pin (#21710). 17.7 is not cut yet, and the packages still read 17.6.0. The non-browser half is #21720 (subject251a7dd4).surface:mixedgets its own record against the same subject. Text only. Screenshots were consulted live as oracles and are not attached. The durable truth stays indocs/qa/platform-checklist/areas/.Environment fingerprint
objectstack-ai/objectstack316be321(fix(runtime)!: an app-authored body may not read the stored-metadata tables; it reaches them through the metadata API only (#21594) (#21660)). This is 25 commits past251a7dd4and includes the console pin bump chore(objectui): bump the console pin to 2e818d0b51ec (carries objectui#11466, #11574, #11578, #11581 and #11583) #21710. It ran in a dedicated detached worktree. Framework and console both built, and a smoke boot answered health 200 and/_console200.2e818d0b51ec(.objectui-sha, chore(objectui): bump the console pin to 2e818d0b51ec (carries objectui#11466, #11574, #11578, #11581 and #11583) #21710). Every lane checked that the dist stamp equals the pin. Console source questions were read at that revision (git show 2e818d0b51ec:{path}). For the "predates 17.6.0" notes, the 17.6.0 references are framework617f25f8aand objectui pin31971ff1e.RUNNER.mdandscripts/checklist-select.mjscome from the subject tree. The table gives every item's revision, and each one matchesareas/*.json.examples/app-showcasebooted withOS_PORT={p} objectstack dev --ui --seed-admin -p {p} -d file:/tmp/qa1770fe/{lane}/{item}.db. Each item had its own file DB, and lanes used disjoint port ranges inside 44101–45909 (the egress proxy port 41333 was excluded). The browser was Playwright on/opt/pw-browsers/chromium. Admins signed in through the console form, so both the bearer and the cookie halves existed. Members were minted with admininvite-member+sign-up/emailor withadmin/create-user+change-password. Identity was proven withGET /auth/get-sessionbefore each persona cell. Scratch fixtures were authored at runtime inside each item's own DB, or in a scratch copy of the showcase under/tmp.os package install, needed for the marketplace item) into the shared subjectexamples/app-showcase/.objectstack/installed-packages/from 12:28 to 12:36Z. FE1's boots on 44105–44108 (account-app-entry, docs-portal-render, home-admin-cluster-links, url-overlay-contract) started in that window and registeredcrm_appnext to the three stock apps. None of their clauses depends on the app list, so the clauses are unaffected. FE2 removed the package through the API, and lanes were ordered from then on to install only into scratch copies.main.db: keyboard, theme, installability, palette, ai-gating, api-console, and marketplace boot A. As a result, the api-console tree also listedData: crm_*groups.session_018zT8d8NpiQ1ExhuNd5TxY6. The lanes ran on 2026-10-04 from 12:06Z, and verification finished on 2026-10-05. After an earlier overload of the box, concurrency was capped at three lanes (a maintainer order), with verifiers counted as lanes. Tier-1 pins that live in this repository were run and are cited in the table. Items whoseautomated.reflives only in objectui were driven by hand as manual browser runs (RUNNER environment facts, option a).Scope
node scripts/checklist-select.mjs surface:browser --jsonreturned 61 runnable items. One item is hidden as blocked and was not run:approvals.quorum-m-of-n. The selector returned no planned items. All 61 items received a verdict./discovery; List showcase_task 200 equals a direct GET; 404RECORD_NOT_FOUNDand 400VALIDATION_FAILEDshown verbatim from the wireactorIdis refused 403can_act=false; forged approve / reject 403 and the reads before and after are byte-identicalaction_urlopens the drawer on 2 cold loads via both routes; an unknown id answers 404 with the named toastlockRecordgates inline edit; reassignment moves the buttonsapprovals:inboxcontribution; drawer approve round-trips; deep link opens; zh-CN labels hold (objectui#11326 fixed)group_approvalsorder equals the sidebar; lands on the inbox component; zh-CN labels; nav-contribution pin 1/1sys_filecommitted with ref_object / ref_id / ref_fieldcollect; screen dialog; resume completes and the task reads the new assignee; empty inputs 400, Cancel sends nothingtask_statusby design (#7568) — stale clause; the composing tilekpi_awaiting_reviewshows the API intersection; A1–A5, A7–A9 passzhcode dates render in the browser's language — held (verifier unconfirmed, re-run owed); A1, A2, A4, A5 passconfirmText)features.phoneNumberfalse, no runtime lever); A1, A4 passinputSchemaformLinkpre-link; breadcrumbs; object-mismatch refusalobject-ui-theme);autoresolves per emulation; dark screen coherentallowExportgrant (export is opt-in)positiononly when siblings share a stored position (fixture-created) — invalid pairing; holds on stock INV-1001; A1–A4 pass$ref; server roll-up equals the line sum; an invalid child aborts the whole batchdependenciesField;lockFieldis not a spec key); drag persists, a 403 veto rolls backdiscardGuard.test.tsxis objectui-only); A1, A2 pass hand-drivenuf_params deep-linkproject)FEEDS_DISABLED403 on create and re-threadNOT_OVERRIDABLE/ITEM_LOCKED, flow byte-identicalTotals: 38 PASS / 8 PARTIAL / 15 FAIL / 0 BLOCKED / 0 NOT-RUN. The 15 fails break down as follows:
One more defect lies outside the clauses (dashboards.chart-type-matrix, which passes) and is extracted with the four.
Every fail was re-derived by an independent verifier (VF3 or VF4). Where a verifier changed a disposition, the verifier's is recorded:
One item verdict is derived differently from its lane's summary: form-dirty-guard is PARTIAL rather than pass, because its A3 pin is objectui-only and was not run (RUNNER per-item derivation).
Fails — reproduction rules and dispositions
Product defects
platform-core.shell-nav-personalization A3 {card-1}: drag-reorder is never offered on grouped navigation, and every stock app's navigation is grouped.
GET /api/v1/meta/app?id=showcase_appnavigation is grouped (8 groups), and so are the Setup and Account navigations./_console/apps/showcase_app/showcase_task.objectui-nav-order-showcase_app).[aria-label="Drag to reorder"], no sortable, and the localStorage key is never written. Seen on two loads.NavigationRenderer.tsx:1590computeshasGroups.!hasGroupsarm (:1614-1631). The grouped arm (:1650ff.) renders plain items.UnifiedSidebar.tsx:583passesenableReorder={!isMobile}unconditionally.useNavOrderpersists only__root__.31971ff1e.platform-core.marketplace-console-honesty A3 {card-2}: on an offline boot, the installed package's Details page is a dead end, so reseed and purge cannot be reached from the console.
OS_CLOUD_URL=off./runtime/configreportsmarketplace:false.os package install examples/app-crm/dist/objectstack.json -r http://localhost:{p}. Installed Apps then listscom.example.crmv4.0.0./system/marketplace/com.example.crm.POST /api/v1/marketplace/install-local/com.example.crm/{reseed,purge}-sample-data.InstalledListWidget.tsx:155links Details to/system/marketplace/:packageId.MarketplacePackagePage.tsx:568returns theMarketplaceDisabledcard before the page reaches its local reseed/purge menu (:752).31971ff1e.records-forms.view-type-gallery A2 {card-3}: the kanban board never renders its
summarizeFieldper-column totals.showcase_task.boarddeclares{groupByField:'status', summarizeField:'estimate_hours'}(examples/app-showcase/src/ui/views/task.view.ts:262-275).estimate_hoursper status overGET /api/v1/data/showcase_taskgives backlog 30 / todo 36 / in_progress 100 / in_review 54 / done 24./_console/apps/com.example.showcase/showcase_task/view/showcase_task.board.estimate_hours. Seen twice by the runner and twice by the verifier, all on fresh loads.packages/plugin-kanban/srcreadssummarizeField(column header aroundKanbanImpl.tsx:1066-1100).plugin-list/src/ListView.tsx:2002and:2517, add the field to the projection.packages/spec/src/ui/view.zod.ts:1789with no liveness verdict, making it an ADR-0049 declared-but-unenforced key.31971ff1eeither.records-forms.grid-personalization A2 {card-4}: the row height (density) is lost on reload.
/_console/apps/com.example.showcase/showcase_task. The runner also used…/view/showcase_task.grid.PUT /api/v1/meta/view/showcase_task.defaultand gets 200 "Saved customization overlay".config{…},_provenance,scope,_diagnostics) with a flat top-level"rowHeight":"medium".GET /api/v1/meta/view/showcase_task.defaultcarries norowHeight, either at top level or inconfig.config.rowHeight:"tall"reads back"rowHeight":"tall".packages/app-shell/src/views/ObjectView.tsx:1181buildPersistedViewBodyspreads the patch at the envelope top level instead of intoconfig, for views the switcher classes as saved views.sortandhiddenFieldspatches probably take the same path (not driven).31971ff1e.dashboards.chart-type-matrix, outside the item's clauses {card-5}: a
previousPeriodcomparison on the dataset path is labelled "vs yesterday". Clause A8 passes because the comparison renders; only the label is wrong.PUT /api/v1/meta/dashboard/qa_compareto_probe?mode=draftwith:dateRange:{field:'created_at', defaultRange:'last_30_days'};showcase_task_metrics,values:['task_count'],compareTo:{kind:'previousPeriod'}.POST …/publish.timeDimensionsdateRange[2026-09-04, 2026-10-04],task_count__compare: 1)./_console/apps/showcase_app/dashboard/qa_compareto_probe.packages/core/src/utils/compare-to.ts:124-136compareToTrendLabelKeyderives the label by regex-sniffing the raw filter for macro tokens (today→vsYesterday).plugin-dashboard/src/DatasetWidget.tsx:1097reuses it on the ADR-0021 dataset path, where the executor shifts the dimension window (service-analyticsdataset-executor.ts:810-819shiftRange).31971ff1e.Held: observed, not verified, not extracted
i18n.surface-matrix A1 (relative-dates variant) and i18n.studio-follows-app-locale A3: dates render in the browser's language when the app locale code is the language-only
zh.GET /api/v1/i18n/translations/zh-CNis the expectation set.locale:'en-US'.localStorage['objectui-locale']='zh'before the first load. This is the codei18n.notification-localized-and-clearstells runners to write./_console/apps/showcase_app/showcase_task.zhsession in a zh-CN browser renders 9月16日 / 3天后.zh-CN(what the LocaleSwitcher writes) renders zh in an en-US browser.html langiszhin the failing case andzh-CNin the passing one.zh-CN. The studio clause fails only through the shared formatter.useDisplayLocalepasseszhtoIntlverbatim, and the date-fns resolution maps it to zh-CN.en-USdefault fromGET /api/v1/auth/me/localizationoutranks the UI language. A tenant locale ofzhitself is refused by settings.Checklist clauses (no product defect)
/homehas no sidebar for any persona. Every persona reaches Documentation through the top-bar Help menu → "All documentation" →/docs. The member's rendered tree equals the member API subset, and every entry opens without 401/403 (that half passes)HomeLayout.tsx:1-6"deliberately omits the sidebar";AppHeader.tsx:758-793; pre-17.6.0/apps/:app/systemredirects in one hop to/system/settings, and every Settings-hub entry resolves9eea12a2b(objectui#10507, fixes objectui#3743), landed before 17.6.0/homenav. A member's shell offers no Administration entry anywhere, and the server refusal is proven by builtin-apps-nav-renderfeatures.marketplace=falseboot every viewer, member included, gets the MarketplaceDisabled card. On the enabled boot a member gets access-denied (holds)d524bde29(objectui#5557 via #5582),2573ff434; before 17.6.0/system/ai-approvalsroute is scored by A69eea12a2b(#10507)simpleon purpose: they are presentation modes, not layouts. A JSXObjectForm formType="drawer"(Task Desk) renders a real side panel. NamedformViews.*are reachable from no console doorRecordFormPage.tsx:281-289(#1890), ADR-0050 (Proposed)positionre-emit happens only when sibling lines share a stored position, and a second line added through the API defaults to position 0, so the collision comes from the fixtureGridField.tsx:703-707+masterDetailTx.ts:180-195; INV-1002 ships a single linekind:'full'with no record-header node (objectui#7298 ruling: "a page is what its author composes"), and the project page replaces the related strip with line itemstask-detail.page.ts,project-detail.page.ts; pre-17.6.0sys-approval-request.object.ts:568-591(#3424 lever, button #12716); clause rev 3 predates itkpi_at_riskopts out oftask_status(filterBindings:{task_status:false}) by design. The tile that composes (kpi_awaiting_review, status=in_review) shows the API intersection: 0 under In Progress, 2 under In Reviewops-dashboard.dashboard.ts:87(#7568), pinned bydashboard-filter-vocabulary.test.ts:230Known expected-fail (not re-filed)
/_console/apps/showcase_app/showcase_taskwith focus on the body. None changed the URL, focus, dialogs, the root class or data. Seen on two fresh loads.KeyboardShortcutsDialog.tsx:49lists bareB,sidebar.tsx:42,122requires the modifier, and no handler exists for the five advertised accelerators./_console/apps/setup/system/ai-approvalsand watch for 15 s.pending-actionsis re-polled at about +0, +4.9 and +10 s with no backoff. Seen on two runs.AiPendingActionsInbox.tsx:327/:373,usePendingActions.ts:294-295).Partial-coverage gaps (named, not dropped)
records-forms.crud-roundtripA7 readonly half: blocked(fixture). No stock readonly column can be set over HTTP; the server answersx-objectstack-dropped-fields: lead_score;reason=readonly.platform-core.console-installability-indicatorsA3 error leg: not-run. The connection chip tracks only the initial discovery (see candidates).search.command-palette-navigationA5: blocked(fixture). No stock nav item carries a visibility predicate.identity-auth.phone-signin-surfacesA2 / A3: blocked(fixture).features.phoneNumberis false, andplugins.phoneNumberis code config with no runtime setting.records-forms.import-wizard-encoding-and-hintsA3: blocked(dependency). The legacy per-row path exists only when the data source lacksimportRecords, the live server always has it, and the pin is objectui-only.records-forms.gantt-interactionsA2 / A3: blocked(fixture). The stock view has nodependenciesField, andlockFieldis not a GanttConfig key.records-forms.form-dirty-guardA3: not-run. ThediscardGuard.test.tsxpin exists only in objectui.records-forms.bulk-select-all-matchingA5: not-run. Match sets of 26 and 10 cannot reach the 5000 cap.records-forms.grid-personalizationA1 reorder / pin:reorderableColumnsis off, and there is no runtime pin control.records-forms.action-location-matrixA3 url / api dispatch: the fixture hosts no ⋯ surface.i18n.surface-matrixA6 confirm half: no zhconfirmText.platform-core.keyboard-shortcut-surfaceA5 and theai.console-ai-surface-gatingA2 entitled side: blocked(fixture) as their clauses prescribe.builtin-apps-nav-render,marketplace-console-honestyboot A): blocked(environment), because egress to the catalog is denied.Fixed since the last run
approvals.account-app-entryA7 holds on two loads (待我审批 / 我发起的 / 全部).Candidates — not verified, not extracted
Each of these was seen by a runner outside the clauses. They are low severity or possibly by design, and they are listed so they are not lost:
GET /api/v1/data/{object}?top=0answerstotal:0whiletop=1gives the real total, and the console sendstop=0as its record-count probe. Two lanes saw it (FE3, FE4).POST /api/v1/data/showcase_taskis treated as an empty body: the answer is 400 "Title is required; Project is required", not a parse error.default: trueare not pre-selected (invoice status / region), so "Status is required" blocks create. Separately, an edit save wroteregion:"amer"into a row whose region was null./newpage route honours it.?request=id leaves an empty "Approval Request" sheet behind the correct toast.showcase_invoiceshows two fields both labelled "Owner" (the systemowner_idand its ownowner).inlineEditgrid renders two "Actions" header columns.UnifiedSidebar(Home, Documentation, the Administration cluster) has no rendering surface. VF4 also notes this and suggests an item revision rather than a defect./docs/….404 GET /api/v1/usage/storage./api/v1/discoveryat load strands the splash at "Preparing workspace" for 45 s or more, with no retry and no error.image/svg+xmleven when the favicon is a PNG.invite_onlyboot shows "Don't have an account? Sign up", which leads to the 403.sys_user_preference(recents), which floods the bell activity feed with "更新了 用户偏好".sys_userlist "updated" cell renders date and time with no separator (10/4/20263:22 pm).ResourceHistoryPagehard-codes English ("Back to item", "by …") on a zh session.showcase_task, while its Object field reads "Task".en-USdefault (/auth/me/localization) may outrank the UI language. This is VF3's alternative reading of the held zh-date finding and needs a live render.FormView.typedrawer/modalanddrawerSidewith no live renderer path. This is ADR-0049 debt pending ADR-0050 (VF3).records-forms.record-edit-undoA4, observe-and-flag: an undo after a concurrent edit sends a bare PATCH with noIf-Matchand silently overwrites the other session's value. This is recorded as the clause asks, not as a fail.Generated by Claude Code