Skip to content

Repo migration - #211

Merged
Eli Pinkerton (wallstop) merged 80 commits into
masterfrom
dev/wallstop/swap
Jun 3, 2026
Merged

Eli Pinkerton (wallstop) merged 80 commits into
masterfrom
dev/wallstop/swap

Conversation

@wallstop

@wallstop Eli Pinkerton (wallstop) commented May 16, 2026 •

Copy link
Copy Markdown
Collaborator

Description

This PR completes a comprehensive repository migration that enhances project infrastructure, automation, and documentation. The changes reorganize the codebase for better maintainability and establish operational runbooks for the release and deployment process.

Changes

Infrastructure & CI/CD

  • Added new GitHub Actions workflows: Release pipeline, Unity testing (IL2CPP), Unity benchmarks, and banner validation
  • Updated Dependabot and release drafter configuration for improved dependency management
  • Enhanced dev container setup for better local development experience
  • Added validation scripts for repository identity and banner compliance

Documentation

  • New operational documentation (docs/ops/) covering:
    • GitHub repository transfer procedures
    • Release operations and versioning workflows
    • NPM package publishing processes
    • OpenUPM metadata management
    • Ambiguous release migration procedures
    • Post-transfer verification checklist
  • Added banner SVG convention guidelines for LLM skills documentation

Automation & Tooling

  • New scripts for automated release runbook generation
  • Repository identity validation tooling
  • Updated pre-commit hooks configuration
  • Enhanced npm package configuration and .npmignore settings

LLM Context & Skills

  • Organized and updated 70+ LLM skill files for better AI agent instruction quality
  • Added comprehensive GitHub Actions guidelines
  • Enhanced documentation, packaging, and performance skill specifications
  • Improved project context for consistent AI-assisted development

Type of Change

  • Refactor (code change that neither fixes a bug nor adds a feature)
  • Documentation update
  • CI/CD improvement

Performance Impact

N/A - Infrastructure and documentation updates only

Testing

  • All existing tests continue to pass
  • New validation scripts verify repository structure integrity
  • Updated CI/CD workflows tested with new Unity test automation

Note

High Risk
Large CI/release surface (tagged npm publish, Unity license/secrets, self-hosted runners, org lock) plus repo identity URL changes; misconfiguration can block merges or leak license seats.

Overview
Repoints the repo from wallstop to Ambiguous-Interactive (GitHub URLs, Pages, issue templates, devcontainer image label, release drafter guard) and adds Claude Code hooks that run preflight, YAML length, and post-edit validation on edit/stop.

Devcontainer / caching: fifth named volume for node_modules, cache-contract.sh derives CACHE_WORKSPACE_ROOT without hardcoded paths, and validate-caching.sh uses a new JSONC + jq parser instead of brittle grep for mounts and remoteUser.

CI / Unity: introduces .github/unity-versions.json as the single version source, many composite actions (host prereqs, assembly discovery, license validate/return, result verify, log tail), and self-hosted Windows jobs with serial activation (UNITY_SERIAL / email / password), org build lock, and runner preflight. Adds release.yml (tag verify → validate/pack/attest → Unity editmode gate → npm publish then GitHub release), perf-numbers.yml (replaces manual PR perf table check; benchmarks on PR + auto-commit doc on master with [perf-autoupdate] loop guard), cross-platform-preflight.yml, and actionlint.yaml for custom runner labels. Disabled game-ci workflows are updated for serial licensing; perf-numbers-check.yml is removed.

Tooling: pre-commit is invoked via node scripts/ensure-pre-commit.js in devcontainer and workflows; Dependabot drops fixed assignees/reviewers; dotnet-tests uses global.json, check:analyzers, and fixed coverage glob; PR template says perf numbers come from CI.

Reviewed by Cursor Bugbot for commit a6f5a36. Bugbot is set up for automated code reviews on this repo. Configure here.

Copilot AI review requested due to automatic review settings May 16, 2026 22:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR is described as a comprehensive repository migration (CI/CD, docs, scripts, LLM skills). However, the diff content actually visible here is limited to a small subset of the migration: a URL update in one analyzer test to point at the new Ambiguous-Interactive/DxMessaging repo, removal of an in-line <!-- Removed copy ... --> comment from a .csproj, and the addition of several auto-generated C# Dev Kit .lscache files (plus Unity .meta siblings) that should not be checked in.

Changes:

  • Update analyzer help-link URL in tests from wallstop/DxMessaging to Ambiguous-Interactive/DxMessaging.
  • Remove a stale XML comment from WallstopStudios.DxMessaging.SourceGenerators.csproj.
  • Add auto-generated *.csproj.lscache cache files (and .meta siblings) for the Analyzer, SourceGenerators, and SourceGenerators.Tests projects.

Reviewed changes

Copilot reviewed 150 out of 154 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
SourceGenerators/.../SourceGenerators.csproj Drops a stale XML comment.
SourceGenerators/.../SourceGenerators.csproj.lscache (+ .meta) Adds an auto-generated C# Dev Kit cache that should not be tracked.
SourceGenerators/.../SourceGenerators.Tests.csproj.lscache (+ .meta) Adds another auto-generated cache containing machine-specific paths/SDKs.
SourceGenerators/.../Analyzer.csproj.lscache (+ .meta) Adds another auto-generated cache file.
SourceGenerators/.../MessageAwareComponentBaseCallAnalyzerTests.cs Updates the analyzer help-link URL to the new org; assumes master branch.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 148 out of 152 changed files in this pull request and generated 5 comments.

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread scripts/sync-banner-version.ps1 Outdated
Comment thread scripts/validate-repo-identity.js Outdated
Comment thread scripts/validate-repo-identity.js
Comment thread .lychee.toml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 155 out of 159 changed files in this pull request and generated 3 comments.

Comment thread scripts/validate-repo-identity.js Outdated
Comment thread scripts/validate-repo-identity.js
Comment thread scripts/validate-repo-identity.js Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

Comment thread .github/workflows/release.yml Outdated
Eli Pinkerton (wallstop) and others added 16 commits May 29, 2026 19:36
Fix all CRITICAL/HIGH/MEDIUM/LOW findings from the 72/100 review of the
unity-benchmarks perf-doc auto-update:

- CRITICAL-1: render a Prettier-aligned table and run managed Prettier
  --write before diff/commit so the auto-PR is GREEN on the required
  markdown-json.yml format:md:check gate; add the missing AUTOGENERATED
  marker block to docs/architecture/performance.md (the committed doc had
  no markers, so the renderer threw).
- CRITICAL-2: blocksEquivalent compares only table-row cells (trimmed,
  alignment-insensitive) and ignores the provenance/commit line, so a
  changed SHA or Prettier alignment no longer churns a PR; rendered output
  is byte-stable run-to-run.
- HIGH-1: replace hand-rolled git + force-with-lease with
  stefanzweifel/git-auto-commit-action@v7 (force-push to the bot-owned
  auto/perf-doc-update branch), eliminating the 2nd-run stale-info failure.
- MEDIUM-1: least-privilege top-level permissions (contents: read); grant
  contents/pull-requests write only on update-perf-doc.
- MEDIUM-2: gate update-perf-doc on the LATEST version's per-leg success
  markers (editmode + playmode), so older-version flakiness no longer
  blocks the latest-version doc update.
- LOW-1: locateMarkers throws unless exactly one BEGIN/END pair exists.
- LOW-2: perf-numbers-check requires the auto-maintained N/A reference to
  mention performance.md or unity-benchmarks.

Tests: rewrite render-perf-doc.test.js + add a perf-doc auto-update
contract to unity-workflow-shape.test.js with regression guards that fail
on the old behavior (compact pipes, commit-churn, force-with-lease,
over-broad perms, all-legs gating).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…000 il2cpp, perf auto-update

Completes the adversarially-reviewed CI fix set on top of 97dd630 (4101 tests green).

- A: reword empty workflow-expression in verify-unity-results action comment (it broke the verify step on all 9 Unity jobs); add empty-expression policy guard.
- B: mark shipped Editor/Analyzers dependency .meta files excluded-from-all-platforms so Roslyn deps are not Unity precompiled assemblies (fixes 2021 'Multiple precompiled assemblies'); categorical, SetupCscRsp.cs untouched.
- C: guard editor-only test with '#if UNITY_EDITOR' (fixes 2022 standalone CS0246); add all-platforms-UnityEditor policy guard (hardened for OR-with-runtime-symbol).
- D: ensure-editor.ps1 sidesteps a non-Hub-manageable 6000 editor via atomic in-place module reinstall; version-scope the stale-process sweep (no cross-version collateral kill); profile-aware stall threshold; honest runner-side residual.
- Perf: unity-benchmarks auto-updates performance.md from the latest Unity version (prettier-stable, idempotent, create_branch for rerun safety); perf-numbers gate gains an N/A auto-maintained escape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…, standalone)

Multi-agent CI fix effort, validated by `npm run preflight` (green). Includes:
- Analyzer single-registration: Editor/Analyzers/*.dll.meta Editor-disabled +
  RoslynAnalyzer-labeled; SetupCscRsp effective Editor-disable; harness diagnostic
  asserts the Editor-excluded state. Fixes Unity 2021 "Multiple precompiled
  assemblies with the same name".
- Log-flood gate in MessagingTestBase (DXM_TEST_VERBOSE_LOG, default off).
- Standalone IL2CPP split-build + file-based results (run-ci-tests.ps1 +
  generated build modifier / test callback + tree-kill watchdog).
- Perf: delete perf-numbers-check.yml PR-body gate + new perf-numbers.yml.

Post-review fixes (standalone timeout-honors-file, perf merge-block rework,
analyzer meta :Any block, player.log diagnostic) follow in the next commit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rf merge-block rework, analyzer :Any block, player.log diagnostic)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…+ master-commit jobs)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…esults delete

Re-review round-2 MAJOR finding: 7 prose/comment locations still described the
removed merge-blocking branch-push. Reworded to the implemented mechanism (PR ->
non-blocking sticky comment; push to master -> commit) across perf-numbers.yml,
unity-benchmarks.yml, pull_request_template.md, docs/architecture/performance.md,
.llm/skills/performance/dispatch-hot-path.md, unity-workflow-shape.test.js.
Re-review minor: run-ci-tests.ps1 deletes any stale results.xml before the
standalone player runs (timeout-honors-file can only honor THIS run's results).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 1, 2026 •

Copy link
Copy Markdown
Contributor

Dispatch throughput (Unity 6000.3.16f1, ELI-MACHINE)

Regenerated by CI from commit a6f5a36 (run logs). These numbers MOVED versus the committed doc; they are committed to master automatically when this PR merges.

Latest CI benchmark run: Unity 6000.3.16f1, commit 4c389f9f2f55bd0bfbe47aac7c1ad88610236392.

Platform: Editor Mono x64 Development (WindowsEditor; Unity 6000.3.16f1).

Scenario Throughput / Wall clock Allocated bytes
UntargetedFlood_OneHandler 11.95 M emits/sec 0 B
UntargetedFlood_FourHandlers_OnePriority 2.60 M emits/sec 0 B
UntargetedFlood_FourHandlers_FourPriorities 2.50 M emits/sec 0 B
TargetedFlood_OneListener 8.24 M emits/sec 0 B
TargetedFlood_SixteenListeners 0.46 M emits/sec 0 B
BroadcastFlood_OneHandler 6.35 M emits/sec 0 B
InterceptorHeavy_FourInterceptors 2.41 M emits/sec 0 B
PostProcessingHeavy_FourPostProcessors 2.05 M emits/sec 0 B
RegistrationFlood_1000Types_FromColdBus 19.016 ms 0 B

Comment thread .github/workflows/release.yml

@cursor cursor 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.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 76cedab. Configure here.

Comment thread .github/workflows/perf-numbers.yml Outdated
Comment thread .devcontainer/cache-contract.sh Outdated
@wallstop
Eli Pinkerton (wallstop) merged commit 7707b50 into master Jun 3, 2026
62 checks passed
@wallstop
Eli Pinkerton (wallstop) deleted the dev/wallstop/swap branch June 3, 2026 20:15
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