Skip to content

chore(build): migrate to slnx and organize solution folders - #1101

Merged
mforce merged 3 commits into
mainfrom
chore/solution-folders
Oct 6, 2026
Merged

mforce merged 3 commits into
mainfrom
chore/solution-folders

Conversation

@mforce

@mforce mforce commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

What and why

Replace Cluckwork.sln with Cluckwork.slnx so the IDE can show the frontend and working documentation alongside the backend. Group the existing 10 projects under src and tests; include all 278 frontend source files, supporting assets/scripts, runbooks, schema overview/viewpoints, and security docs. Add the stable build files, repo guides, workflows, deployment files, and Dockerfile proposed in #1100. Decision records are excluded from the solution tree.

Update CI commands, path filters, developer scripts, hooks, current documentation, and repo-root finders. Read the XML project inventory in the CI-matrix guard and update the lockfile inventory check for the new format. A new guard checks that every listed solution item exists, including nested frontend files. File additions, removals, and renames still require maintaining the explicit list.

Remove the unused solution COPY from the Docker restore layer and exclude the solution from both image-cache keys. Restore targets the API project directly, so solution navigation changes no longer invalidate its cache.

Closes #1100

How it was verified

  • Locked restore and solution build passed with zero warnings/errors.
  • Migration baseline, before the added item-existence guard: full solution tests 3,249 passed (495 Domain, 741 Application, 10 AppHost, 2,003 Integration).
  • Local Docker image build passed using src/Cluckwork.Api/Dockerfile.
  • Lockfix self-tests: 10 passed.
  • Mutation checks: adding an unexpected test project or commenting out an existing one made both inventory guards fail; a commented fake project did not affect them. Restored baselines passed.
  • Missing-solution mutation: all 15 affected test classes failed for missing repo-root detection, including the shared tenant-bypass scanner's callers; all selected checks passed after restoring the solution.
  • Parsed and checked all 347 solution-item paths and 10 project paths, including complete frontend source coverage. dotnet sln Cluckwork.slnx list passed.
  • Review fixes: both solution guard tests passed; pre-commit checks passed 495 Domain + 741 Application tests; solution build passed with zero warnings/errors.
  • Item-existence mutations: a missing nested frontend file, missing doc file, missing Path attribute, and empty File inventory each failed the new guard; restored baseline passed.
  • Docker build stage passed without the solution COPY. Rebuilding after a temporary solution-only comment reported the API restore step as CACHED. Both workflows have matching image-cache inputs.
  • No old solution filename remains outside historical plans and graph output. git diff --check passed.

GitHub CI, including the E2E smoke workflow, will validate the pushed commit.

Comment thread .github/scripts/lockfix.test.mjs Fixed
@mforce
mforce merged commit 85791ef into main Oct 6, 2026
20 checks passed
@mforce
mforce deleted the chore/solution-folders branch October 6, 2026 05:06
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.

chore(build): convert Cluckwork.sln to .slnx and add repo files as solution items

2 participants