Skip to content

Publish TwinDuel team membership - #3

Merged
flemming-n-larsen merged 2 commits into
mainfrom
ch-031-team-catalog
Aug 30, 2026
Merged

Publish TwinDuel team membership#3
flemming-n-larsen merged 2 commits into
mainfrom
ch-031-team-catalog

Conversation

@flemming-n-larsen

Copy link
Copy Markdown
Contributor

Summary

  • publish additive teamMembers metadata for every generated catalog entry
  • validate TwinDuel teams as exactly two active, non-team sibling entries
  • add focused RBC-004 positive and negative integration evidence

Verification

  • python -m unittest discover -s tests -v
  • python scripts/validate_bot.py --root . --owner flemming-n-larsen --smoke

Part of robocode-dev/tank-royale#247.

Team directories returned from validation before the binary, archive, and
forbidden-token scans, so a team could publish arbitrary content that the
client would then materialize. A team directory now carries nothing but its
own JSON.

teamMembers held bare directory names and a team's sourceHash covered only
its own directory, so a member version bump rewrote the published membership
while the team's own name and version stayed put, silently changing what an
immutable result identity means. Members are now declared as full
`<name> <version>` identities, so a member release forces a team resubmission
that the existing version-bump rule can see.

Members were resolved as siblings of the team directory, which forbade a
cross-platform team and published whichever platform the team directory
happened to sit under. Members now resolve by identity across every platform
directory, bot names must be globally unique, and a team publishes its
members' shared platform or `Mixed`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hag2ofqnbadWJqvnboJU7s
@flemming-n-larsen
flemming-n-larsen marked this pull request as ready for review August 30, 2026 20:03
@flemming-n-larsen
flemming-n-larsen merged commit 8ba8c99 into main Aug 30, 2026
1 check 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.

1 participant