Repository navigation
e2e(live): eleven live specs are stale or red at the console pin against the shipped showcase — the 18.0 sweep's Tier 1 run (#24598) read them as non-defects, and no card holds their repair #13104
Description
Filing gate ①, class (a): a measured defect with a named producer, carried from the 18.0 release sweep. The maintainer directed the sweep's filing rule (wave anchor objectstack-ai/objectstack#24579, filing gate ③; 「测试出的问题应该使用 pm-dispatch 技能创建 issue」).
Filed by objectstack domain:devx seat 1 (os-warren, session_01FM29ZqLTrnPNXxijioZwMp). Source: the round-6 dev report on #24579 and PR objectstack-ai/objectstack#24697. ⛔ Not a claim. The lane is self-labelled under rule B (domain:ui: objectui's console live specs). Grade and area:* are triage's.
Measured
Tier 1 run objectstack-ai/objectstack#24598 ran at the sweep's console pin 4016370af3c9; the causes come from round-1 records #24572 and #24571. Each spec was then re-read at the shipped pin 12dc7b47c340 (objectstack-ai/objectstack#24660) and at objectui main 90518cdb84. git diff 4016370af3c9 12dc7b47c340 -- e2e/live/ touches only e2e/live/ci/backend.env. The spec bytes are identical, and every cause below still holds.
| spec | at the pin | cause (the spec is stale against the current surface or the shipped showcase, not a product defect) |
|---|---|---|
e2e/live/studio-object-designer.spec.ts |
F1, F4 red | F1 opens /apps/com.objectstack.studio, which no stock boot loads. F4 expects no banner for a picklist with no option source |
e2e/live/studio-record-page.spec.ts |
0 / 1 | fills the Object control as an input, but it is a role=combobox button |
e2e/live/user-filters.spec.ts |
2 / 4 | the filter-tabs, visualization-switcher and lookup-quick-filter cases expect pre-ADR-0053 showcase metadata. The hollow-view case asks for cell where the grid exposes gridcell |
e2e/live/inline-edit-polish-2572.spec.ts |
0 / 1 | expects an approval lock that manager_review's lockRecord: false never applies, and consumes its own fixture |
e2e/live/field-conditional-rules.spec.ts |
0 / 1 | expects a disabled input where a readonlyWhen field renders read-only text |
e2e/live/grid-file-upload.spec.ts |
0 / 1 | getByText('Line Items') collides in strict mode with the sr-only DialogDescription "Enter the record and its line items, then save." |
e2e/live/form-view-subforms.spec.ts |
0 / 1 | the same Line Items collision |
e2e/live/cascading-options.spec.ts |
re-filter case red | waits for md-form-submit, which only MasterDetailForm renders, on showcase_cascade's flat ModalForm |
e2e/live/detail-related-list.spec.ts |
0 / 1 | waits for ?recordId= where a row opens /record/ID |
e2e/live/record-history-display.spec.ts |
skipped | skips unless app-todo is the backend, on the stale premise that the showcase has no enable.trackHistory object (showcase_account carries it) |
e2e/live/screen-flow.spec.ts |
red | measured red at the pin by #24598; its cause was not re-read |
objectui's own Live E2E CI lane runs only four specs (test:e2e:live:ci: screen-flow, action-modal, master-detail and saved-view-filter), against published packages. So nothing in CI reads the other specs red.
Wanted
- Each spec is brought back to the current surface and the shipped showcase, or deliberately retired, so the live suite is green at the next console pin. The table is the acceptance list, one conclusion per row.
- ⛔ A spec is not weakened to pass. Where a spec's assertion is right and the product is wrong, that is a product card instead; none of the eleven is, on this evidence.
- When a spec is repaired, the objectstack checklist items that carry it as
automated.stale(PR #24697: 11 items inrecords-forms.jsonandstudio-authoring.json) can drop the marker. That edit is the objectstackdomain:devxseat's; name it on the objectstack card #24579 when a repair lands.
Dedupe
The round-6 dev scanned all 5257 objectui issues (#7–#13097, every state). It searched for each spec name and for the cause terms (DialogDescription, md-form-submit, recordId=, pre-ADR-0053, e2e/live, live e2e, 4016370, combobox), and nothing matched.
Dedupe words:
- objectui live e2e stale spec console pin
- e2e/live user-filters pre-ADR-0053 showcase metadata
- strict mode Line Items DialogDescription sr-only
- md-form-submit flat ModalForm cascading
- detail-related-list recordId record page
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 20, 2026
Triage: p3 ·
tooling· lanedomain:ui(self-labelled, confirmed) ·area:devpath·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-20T01:56ZTriage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015). ⛔ Not a claim, ⛔ not a dispatch. Fresh read on objectui
origin/maindf943a2a1a.Self-labelled check.
e2e/live/isdomain:ui.domain:uiseat, plus the objectstackdomain:devxseat for theautomated.stalemarkers.Type. These are stale specs, not product defects, as the card's own table reads them. So the card enters
pm:queueastoolingthrough the gate that names the surface it protects (triage-duties.md:36): the 11 checklist items PR objectstack-ai/objectstack#24697 marksautomated.stale.Why p3.
Shape. One conclusion per row: repaired or deliberately retired. ⛔ No spec is weakened to pass. A row whose assertion turns out right is a product card instead.
screen-flow.spec.ts's cause is not re-read, so read it first.Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
A second stale cause for
grid-file-upload.spec.ts· objectstackdomain:devxseat 1 ·session_01FM29ZqLTrnPNXxijioZwMp· 2026-10-20T02:19ZFrom objectstack #24579 round 8's dev report, PR objectstack-ai/objectstack#24723.
The table above gives one cause:
getByText('Line Items')collides in strict mode with the sr-only DialogDescription. The spec has a second one. It expects the submitted batch's receipt to be an object (receipt.name/original_name, withreceipt.urlmatchinghttp). Under ADR-0104 (docs/adr/0104-field-runtime-value-shape-contract.md, "Stored form"), the stored form of a file field is an opaque file id. QA run objectstack-ai/objectstack#24616 saw the batch send a bare id at objectui4016370a.So repairing the locator alone will not turn the spec green. Its receipt assertion has to follow the ADR-0104 stored form, or read the receipt back through the file door. The spec blob is
feb5ff39, the same at4016370af3c9and12dc7b47c340.Also, on objectstack's side,
records-forms.conditional-rules-gridwill stop citing this spec. It asserts no clause of that item even when green.records-forms.inline-grid-receipt-cells-type items that it does serve keep it, with their stale marker, until this card repairs it.Generated by Claude Code
objectstack-fleet commentedon Oct 20, 2026
Claim: PM loop round 3 (
priority:p3,tooling)Session:
session_014MXhk1yjWh37d634hLy3p7Account:
huangyiirene(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-13104-live-specs-currentWorktree:
objectui-issue-13104Domain:
domain:uiSeat:
domain:ui#1File surface: the eleven specs the card's table names under
e2e/live/(studio-object-designer,studio-record-page,user-filters,inline-edit-polish-2572,field-conditional-rules,grid-file-upload,form-view-subforms,cascading-options,detail-related-list,record-history-display,screen-flow),e2e/live/helpers.tsonly if a shared locator is the fix, and a changeset only if objectui's changeset gates ask for one. No product source: a row whose assertion is right and whose product is wrong becomes a product card, not a diff here. Stop on breach; explain in the report.Container & model:
M,mode:subagent,model: opus(default tier;dispatch-gates --tier --repo objectstack-ai/objectuiover this surface reads no path-derived mandate)Clause-②: no
Responsibility: the risk is produced by objectui's own live specs, which are stale against the current surface and the shipped showcase; the platform path that covers it: none in CI (objectui's live lane runs four other specs), so the 18.0 sweep cannot cite these eleven as evidence; who reaches it: the release sweep (objectstack-ai/objectstack#24579) and every contributor who runs
pnpm test:e2e:live.Thread-read: 6281522240
Serial constraints cleared: no open objectui PR touches
e2e/live/orplaywright.live.config.ts(#13028, #11845, #11844, #11600, file lists read at this claim). The neweste2e/live/change onmainis633ef99(objectui#13091's spec, landed).Why
Clause-②: no: the diff is test code undere2e/live/; no package export, prop, key or schema moves.Delivery shape: one conclusion per table row, repaired or deliberately retired, ⛔ no spec weakened to pass.
Fixes #13104only when every row has its conclusion; otherwisePart of #13104, with the open rows named.Claimed at: 2026-10-20T02:19Z