Skip to content

Commit df4bfb0

Browse files
committed
docs(qa): records-forms drops a stale knownGaps sentence and points the import-harness gap at its retirement card
action-location-matrix knownGaps[2] no longer says steps[6] and acceptance[4].verify lack the specimen (the fold rewrote both). The import-harness twin's missing harness is tracked on the existing retirement card #25921, in the qa-crm-import-console recipe's knownGaps[0] and in import-job-undo-cancel knownGaps[0]. Claude-Session: https://claude.ai/code/session_01JQwxbXyxFGYMNdVd5maF1e Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 5e0d57f commit df4bfb0

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

‎docs/qa/platform-checklist/areas/records-forms.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@
176176
],
177177
"teardown": "stop the boot and the console dev server by their recorded PIDs (--fresh discards the DB), then delete ui/e2e/live/.auth/ — its state.json holds a live bearer token — and ui/test-results/",
178178
"knownGaps": [
179-
"The harness twin ui/e2e/import-harness/import-undo.spec.ts has NO door in this tree. ui/playwright.import-harness.config.ts says to serve the harness with packages/plugin-grid/demo/vite.live.config.ts at http://localhost:5200/live.html, and neither file exists (ui/packages/plugin-grid/demo holds index.html and bulk-actions.html only). Its CSV (first_name,last_name,email) also has no column for crm_lead's required name. It stays a self-skip, which is the control and never a result; reported on #26625 for its own card",
179+
"The harness twin ui/e2e/import-harness/import-undo.spec.ts has NO door in this tree. ui/playwright.import-harness.config.ts says to serve the harness with packages/plugin-grid/demo/vite.live.config.ts at http://localhost:5200/live.html, and neither file exists (ui/packages/plugin-grid/demo holds index.html and bulk-actions.html only). Its CSV (first_name,last_name,email) also has no column for crm_lead's required name. It stays a self-skip, which is the control and never a result; tracked on #25921",
180180
"The spec counts rows with an unfiltered, page-bounded GET /api/v1/data/crm_lead and reads records.length (the item's automated.ref). On an accumulated DB whose leads overflow that page the count stops moving and the spec fails without a defect, so run it on a --fresh boot"
181181
]
182182
}
@@ -1997,7 +1997,7 @@
19971997
"knownGaps": [
19981998
"NO PIN COVERS A FULL CLAUSE — `automated` was dropped at revision 13, so this P1 item is hand-driven (Tier 2). The two objectui live specs it cited are adjacent: e2e/live/list-row-action-cel.spec.ts opens the first task row's menu and asserts only that at most one Mark Done renders (not both sides of acceptance[3], nor its fail-closed half), and e2e/live/action-modal.spec.ts only that the host's row Edit opens and closes a modal (one dispatch kind of acceptance[2], on no declared action). Tier 1 run #24598 scored every clause not-run on them. Re-add `automated` only with a pin that asserts a full clause.",
19991999
"[CLOSED by #22030 (PR #22036, 60ccda5a24), lifted by #22039 — the gap text is rewritten to say where each location now lives] a stock showcase boot hosts all six locations on showcase_task, including the three this gap used to block. record_header and record_more: Task Detail (showcase_task_detail, the record page the console opens for any task), whose first node is a page:header. That header renders the action ids it lists, each placed by its own locations, followed by the host's Edit / Share / Delete. Inline (record_header) on a desktop viewport, where the header's default inline budget is 3 (1 on mobile; a record_header action past the budget folds into ⋯): showcase_mark_done (script, shown only while the task is not done), showcase_log_time (form) and showcase_archive_task (script, disabled until the task is done). Under the ⋯ overflow (record_more without record_header): showcase_open_docs (url), showcase_recalc_estimate (api) and showcase_recalc_selection (api). The Task Detail quick-actions bar (record_section) names its actions explicitly (actionNames: mark_done, log_time and archive_task, in examples/app-showcase/src/ui/pages/task-detail.page.ts), so showcase_recalc_estimate, which declares record_section too, is absent there by page authoring, not a missing placement (run #25817). record_related: Project Detail (showcase_project_detail, the record page for any project) → the Related tab (?tab=related), which holds the Tasks related list, a record:related_list for showcase_task through its project FK; open a project that has tasks. It is an authored node, not the synthesizer's strip: the page's tabs override still replaces that strip, and this tab puts the list back with no actions key, so its rows carry showcase_log_time beside the task's list_item actions, and its header renders the list_toolbar action (Reassign…), as in 18.1 (run #25817): that list's own toolbar placement, not an extra one. The Tasks tab beside it is the record:line_items grid, which hosts no record_related action. An expected action missing from one of these hosts is a missing placement, never blocked(fixture). The hosts were read from objectui source at pin a58626c88dc8 and from the served metadata, not from a browser render, so the first run against them is their first browser evidence",
2000-
"CLOSED by the qaact-placement-specimen recipe (#26625) for acceptance[4] half (a) and acceptance[3]'s fail-closed half. A runtime-authored action is still not joined into the served object's actions[] (QA run #23163 A4: its positive control, the same probe with a location, rendered nowhere), and authoring refuses a throwing `visible` (QA run #26456), so ⛔ do not author either probe at runtime. The recipe installs both specimens through the package loader, whose actions the served object does carry. Score half (a) on qaact_no_locations and the fail-closed half on qaact_visible_throws, each only on a surface where the recipe's qaact_control renders: the list row menu and the Project Detail Related-tab row menus. Task Detail's header, ⋯ overflow and quick-actions bar list their action ids, so the control is absent there and they are no evidence for either half (the recipe's knownGaps[0]). Half (b) stays on showcase_new_task as before. steps[6] and acceptance[4].verify still say no packaged locations-less specimen exists on stock; the recipe is that specimen"
2000+
"CLOSED by the qaact-placement-specimen recipe (#26625) for acceptance[4] half (a) and acceptance[3]'s fail-closed half. A runtime-authored action is still not joined into the served object's actions[] (QA run #23163 A4: its positive control, the same probe with a location, rendered nowhere), and authoring refuses a throwing `visible` (QA run #26456), so ⛔ do not author either probe at runtime. The recipe installs both specimens through the package loader, whose actions the served object does carry. Score half (a) on qaact_no_locations and the fail-closed half on qaact_visible_throws, each only on a surface where the recipe's qaact_control renders: the list row menu and the Project Detail Related-tab row menus. Task Detail's header, ⋯ overflow and quick-actions bar list their action ids, so the control is absent there and they are no evidence for either half (the recipe's knownGaps[0]). Half (b) stays on showcase_new_task as before."
20012001
]
20022002
},
20032003
"variants": [
@@ -3775,7 +3775,7 @@
37753775
"why": "lets the console spec run as committed instead of from a scratch copy: on an app-crm boot behind the console dev server it meets its own defaults (crm_app / crm_lead, port 5180), and the API half replays against crm_lead on the same boot. Without the recipe a run either rebuilds requires[2]'s scratch copy and qa_lead object on showcase or hand-drives the console route (knownGaps[2]), as both 18.2.0 waves did"
37763776
},
37773777
"knownGaps": [
3778-
"CLOSED for runs by the qa-crm-import-console recipe (#26625): on an app-crm boot behind the console dev server, e2e/import-console/import-console-undo.spec.ts runs UNMODIFIED with IMPORT_CONSOLE_LIVE=1 and LIVE_API_URL set (passed at main 1708115e2f). The showcase route in requires[2] (a scratch copy with the /_console goto path and a scratch qa_lead object, #21845) still works and is no longer needed. A skip without the gate is the control, never a result. The harness twin e2e/import-harness/import-undo.spec.ts has NO door in this tree: the harness its config names (packages/plugin-grid/demo/vite.live.config.ts serving /live.html) does not exist, and its CSV has no column for crm_lead's required name (the recipe's knownGaps[0], reported on #26625). It is optional evidence; the API half below needs no gate at all",
3778+
"CLOSED for runs by the qa-crm-import-console recipe (#26625): on an app-crm boot behind the console dev server, e2e/import-console/import-console-undo.spec.ts runs UNMODIFIED with IMPORT_CONSOLE_LIVE=1 and LIVE_API_URL set (passed at main 1708115e2f). The showcase route in requires[2] (a scratch copy with the /_console goto path and a scratch qa_lead object, #21845) still works and is no longer needed. A skip without the gate is the control, never a result. The harness twin e2e/import-harness/import-undo.spec.ts has NO door in this tree: the harness its config names (packages/plugin-grid/demo/vite.live.config.ts serving /live.html) does not exist, and its CSV has no column for crm_lead's required name (the recipe's knownGaps[0], tracked on #25921). It is optional evidence; the API half below needs no gate at all",
37793779
"AUTOMATION LIVES IN THE objectui TREE, WHICH IS ui/ IN THIS CHECKOUT — `automated.ref` names objectui specs exclusively, by objectui-relative paths that resolve under ui/ (a unit suite at ui/packages/…, a Playwright spec at ui/e2e/…). They run from that tree: a unit suite with cwd ui/ (pnpm exec vitest run FILE), a live spec only against a booted stack serving a console built by pnpm console:build. Drive the item by hand in the browser and score it as a manual run, OR run the pin from ui/ and cite its output naming the framework commit it ran at. ⛔ Never score it as covered on the strength of the `automated` field alone — an unrun pin is a claim, not evidence. Full protocol: RUNNER.md, the objectui-pinned-automation standing fact, whose 'none of those specs exist here' predates the ui/ import.",
37803780
"HAND-DRIVEN CONSOLE ROUTE, measured by QA run #24616 without the gated spec: on showcase_task's list, Import → Preview → tick 'Import in the background (runs as an undoable job)' → import → History → 'Undo import'. The Undo asks a NATIVE window.confirm (objectui plugin-grid ImportWizard.tsx), which Playwright dismisses by default, so an unhandled dialog makes Undo a silent no-op (automation-input): accept it (page.on('dialog', d => d.accept())). showcase_contact's list shows no Import button (it sits in the header's overflow menu there); showcase_task's does"
37813781
]

0 commit comments

Comments
 (0)