You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2026/06/06 08:21:08 UTC

(causeway) 16/39: CAUSEWAY-4012: archives selector parent parameter refinement

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch CAUSEWAY-4012
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit e26bf9d6699aa6da1928a690395827b77194fcdf
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Jun 5 11:42:54 2026 +0100

    CAUSEWAY-4012: archives selector parent parameter refinement
---
 .../.openspec.yaml                                         |  0
 .../2026-06-05-refine-selector-parent-parameter}/design.md |  0
 .../proposal.md                                            |  0
 .../specs/parented-collection-selector-actions/spec.md     |  0
 .../2026-06-05-refine-selector-parent-parameter}/tasks.md  |  0
 .../specs/parented-collection-selector-actions/spec.md     | 14 ++++++++++++++
 6 files changed, 14 insertions(+)

diff --git a/openspec/changes/refine-selector-parent-parameter/.openspec.yaml b/openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/.openspec.yaml
similarity index 100%
rename from openspec/changes/refine-selector-parent-parameter/.openspec.yaml
rename to openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/.openspec.yaml
diff --git a/openspec/changes/refine-selector-parent-parameter/design.md b/openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/design.md
similarity index 100%
rename from openspec/changes/refine-selector-parent-parameter/design.md
rename to openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/design.md
diff --git a/openspec/changes/refine-selector-parent-parameter/proposal.md b/openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/proposal.md
similarity index 100%
rename from openspec/changes/refine-selector-parent-parameter/proposal.md
rename to openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/proposal.md
diff --git a/openspec/changes/refine-selector-parent-parameter/specs/parented-collection-selector-actions/spec.md b/openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/specs/parented-collection-selector-actions/spec.md
similarity index 100%
rename from openspec/changes/refine-selector-parent-parameter/specs/parented-collection-selector-actions/spec.md
rename to openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/specs/parented-collection-selector-actions/spec.md
diff --git a/openspec/changes/refine-selector-parent-parameter/tasks.md b/openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/tasks.md
similarity index 100%
rename from openspec/changes/refine-selector-parent-parameter/tasks.md
rename to openspec/changes/archive/2026-06-05-refine-selector-parent-parameter/tasks.md
diff --git a/openspec/specs/parented-collection-selector-actions/spec.md b/openspec/specs/parented-collection-selector-actions/spec.md
index 2f79d3a5b00..c5fef66945f 100644
--- a/openspec/specs/parented-collection-selector-actions/spec.md
+++ b/openspec/specs/parented-collection-selector-actions/spec.md
@@ -51,6 +51,8 @@ The synthetic action SHALL have the display name `Select` through name metadata
 ### Requirement: Selector actions expose parent and scalar child parameters
 The synthetic selector action SHALL define one mandatory parent object parameter.
 The parent parameter SHALL be typed as the collection owner type.
+The parent parameter SHALL default to the current action target.
+The parent parameter SHALL be disabled so it cannot be changed by the user.
 The synthetic selector action SHALL define optional parameters for eligible scalar properties of the collection element type.
 The synthetic selector action MUST NOT automatically create selector parameters for child collections or reference properties.
 
@@ -59,6 +61,18 @@ The synthetic selector action MUST NOT automatically create selector parameters
 - **WHEN** the framework synthesizes the selector action for `items`
 - **THEN** the action has a mandatory parameter typed as `Lease`
 
+#### Scenario: Parent parameter defaults to action target
+- **GIVEN** an entity type `Lease` has a parented collection `items`
+- **AND** synthetic parented collection selector action creation is enabled
+- **WHEN** the framework evaluates defaults for the selector action on a `Lease` target
+- **THEN** the parent parameter default is that `Lease` target
+
+#### Scenario: Parent parameter is disabled
+- **GIVEN** an entity type `Lease` has a parented collection `items`
+- **AND** synthetic parented collection selector action creation is enabled
+- **WHEN** the framework evaluates parameter usability for the selector action
+- **THEN** the parent parameter is disabled
+
 #### Scenario: Scalar child properties become optional filters
 - **GIVEN** `LeaseItem` has scalar properties suitable for equality matching
 - **WHEN** the framework synthesizes the selector action for `Lease.items`