Skip to content

Clone Cubes and standalone containers - #24

Merged
dhhieu113pro merged 9 commits into
mainfrom
feat/clone-cube-container
Aug 26, 2026
Merged

Clone Cubes and standalone containers#24
dhhieu113pro merged 9 commits into
mainfrom
feat/clone-cube-container

Conversation

@dhhieu113pro

Copy link
Copy Markdown
Owner

TDD scope

  • clone Cube and standalone Container configuration
  • only cloned identity is editable before creation
  • collision-safe clone names
  • Cube network/workspace regenerate from cloned identity
  • copied runtime/config fields stay read-only in clone confirmation

The first commits intentionally define failing regressions before implementation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: adaf6d3254

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +36 to +40
assert.match(cloneSource, /nextCloneName/);
assert.match(cloneSource, /cloneCubeDraft/);
assert.match(cloneSource, /cloneContainerSpec/);
assert.match(cloneSource, /cubeNetworkName/);
assert.match(cloneSource, /defaultCubeWorkspacePath/);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Assert actual clone-helper outputs

Invoke these helpers with representative inputs instead of only matching their names in the source. An implementation where nextCloneName always returns an existing name, cloneCubeDraft mutates its argument, or the infrastructure helpers are merely imported but never used satisfies every assertion here, so regressions in every behavior named by this test remain undetected.

Useful? React with 👍 / 👎.

Comment thread tests/container-defaults.test.mjs Outdated
assert.match(groupsView, /Clone Cube/);
assert.match(groupsView, /CloneCubeDialog/);
assert.match(groupsView, /Save Clone/);
assert.match(groupsView, /readOnly/);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scope the read-only assertion to the clone dialog

Verify the clone dialog's individual configuration controls rather than searching the entire groups-view.tsx file for readOnly. That file already contained an unrelated read-only workspace input before this change, so a clone dialog that leaves all copied runtime/configuration fields editable will still pass this assertion once its name and button labels are added.

Useful? React with 👍 / 👎.

@dhhieu113pro
dhhieu113pro merged commit 617eaa2 into main Aug 26, 2026
2 checks passed
@dhhieu113pro
dhhieu113pro deleted the feat/clone-cube-container branch August 26, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant