8000 test(server): verify clone exemptions by behaviour by opsmon · Pull Request #252 · aenix-io/aeman · GitHub
[go: up one dir, main page]

Skip to content

test(server): verify clone exemptions by behaviour - #252

Merged
kvaps merged 1 commit into
aenix-io:mainfrom
opsmon:242
Nov 2, 2026
Merged

kvaps merged 1 commit into
aenix-io:mainfrom
opsmon:242

Conversation

@opsmon
@opsmon opsmon commented Sep 24, 2026
Copy link
Copy Markdown
Contributor

Verify board clone exemptions by behaviour

Summary

  • add a behavioural test that populates every []board.Card field and observes which nested card containers are actually cloned
  • compare the observed clone paths with the paths exempted by the declarative type guard
  • key exemptions by their full path instead of type identity
  • walk identical types reached through different paths independently

Why

The clone guard previously inferred clone behaviour from the type graph. This allowed the guard and detached to diverge while tests remained green.

The new check asks detached what it actually cloned and asserts that the observed paths exactly match the guard exemptions. Adding another []Card path can no longer silently inherit an exemption intended for Board.Cards or Board.Tasks.

Testing

  • git diff --check
  • Go tests were not run locally because the Go toolchain is unavailable in the current environment

ISSUE

#242

@kvaps
kvaps merged commit e02cc77 into aenix-io:main Nov 2, 2026
2 checks passed
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.

2 participants

0