docs(edit-content): spec for #37192 relationship field picker and related-list fixes - #37482
docs(edit-content): spec for #37192 relationship field picker and related-list fixes#37482adrianjm-dotCMS wants to merge 2 commits into
Conversation
…ated-list fixes Spec-Kit PR 1 for #37192. Covers two independent bodies of work in the Relationship field of the new Edit Content: - The "Add Relationships" picker moves onto the shared search surface (full-width search + filter chips, no folder-tree sidebar) and searches through api/v1/drive/search. It is a selection editor: it opens with the already-related items checked, unchecking removes, and the confirm action is never disabled. - The related-content list in the form loses its 6-row paging and gains a "Load more" control at 40 rows, so drag-reorder reaches the whole set. Plus hover-only drag handle, right-aligned Status, and single-column form max width. 36 functional requirements, 43 acceptance scenarios across 6 user stories. The issue's acceptance criteria were updated to match. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Claude finished @adrianjm-dotCMS's task in 1m 9s —— View job Spec Review —
|
Three findings from the PR #37482 review, all accepted. - FR-011 (new): the picker's selection is an accumulated set, independent of the result view. It survives paging, search and filter changes; already- related items enter it in full even when outside the current view; confirm reconciles against the set, never against the rows on screen. Today the picker fetches once and pages in the browser, so this holds by accident; api/v1/drive/search pages on the server and ends that accident. An edge case records that the current pre-selection filters only the first response, and hands the latent-defect question to /speckit-plan. - FR-016: states that it bounds FR-007 rather than contradicting it — exchanging the item on a single-cardinality field is a remove-then-add, not an in-picker swap. - US4 scenario 1: reworded so the retired 6-row page size stops reading as a live threshold. 37 FRs, 45 acceptance scenarios. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PR 1 of 2 — spec only. No code. Per Spec-Kit, this carries
spec.mdalone and needs approval (not merge) before planning starts. Implementation lands in PR 2, branched off this one.Resolves the specification for #37192.
Proposed Changes
specs/37192-relationship-field-assetpicker/spec.md— 36 functional requirements, 43 acceptance scenarios across 6 user stories. One file, no code.What the spec says
It splits #37192 into two independent bodies of work that happen to share a field:
A · The "Add Relationships" picker (US 1–3)
api/v1/drive/search, replacing the relationship-specific search path.B · The related-content list in the form (US 4–6)
Decisions worth a reviewer's eye
Three scope questions had no safe default and were settled before writing:
dot-folder-list-viewdefaults toselectionMode: 'multiple'and Content Drive already holds a set. Configuration, not a new capability — the AssetPicker's single-slot selection is untouched.One deliberate addition beyond the issue's original ACs: the confirm action is never disabled. The issue said nothing about it; it is the only reading consistent with "unchecking a row removes it". The issue's acceptance criteria were updated to match before opening this PR.
Out of scope (recorded so PR 2 isn't reviewed against them)
showFields. Separate issue by an explicit scope decision.Checklist
Additional Info
/speckit-plan— please flag it if you can see the canvas.The spec also assumes
api/v1/drive/searchcan already answer "content of type X across the site" with the filters the picker needs, since the issue reuses it as-is and lists no backend work. If a needed filter proves unreachable, that is a finding for the plan phase, not a silent scope expansion.🤖 Generated with Claude Code
This PR fixes: #37192