Skip to content

refactor(arch): remove slop from the package-by-module and CW1004 work - #1128

Merged
mforce merged 3 commits into
mainfrom
chore/slop-sweep-1087-1116
Oct 7, 2026
Merged

mforce merged 3 commits into
mainfrom
chore/slop-sweep-1087-1116

Conversation

@mforce

@mforce mforce commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Refs #1087
Refs #1116

Removes dead code and stale prose that the package-by-module work (#1089–#1099, #1119) and the CW1004 work (#1116) left behind. It also carries the credential-epoch sentence from #1127, which is closed in favour of this PR. Behaviour does not change.

What changed and why

Where Change Why
ModuleEdgeAnalyzer.Attribute, ModuleMap.Claimant Attribution uses the namespace owner directly; Claimant is deleted #1099 removed type claims, so _claims holds only namespaces. Claimant(symbol) could match only a type whose full name equals a claimed namespace, and no type in src/ does (all 904 type names checked against all 35 claims)
tools/module-move/move.py marks command deleted It strips [ModuleContract], which #1099 deleted; nothing is left to strip
Edge reasons in Common/Architecture/Modules/*.cs Domain.Accounts.*, Domain.Catalog.EggUnit and Domain.Eggs.EggLot become "Farm's X", "Commerce's EggUnit" and "EggLot" Those namespaces no longer exist. A module-qualified name points to the right type and stays true when a folder moves. No test reads reason text
Reasons, two test comments, src/AGENTS.md, decisions 514, 850 and 1023 "#1087 S8", "S9" and "S10" become #1095, #1097 and #1099 Slice ids live only in a plan; the PR numbers are what a reader can open. The mapping is taken from each PR's own body
AccessOwnershipClaimTests comment "through a namespace claim, not a type claim" becomes "Access, not the Platform hub, owns them" Type claims no longer exist
src/AGENTS.md, contract rule "Finance, Farm, … and Insights are contracted today" becomes "Every module has a contract today" The list left out Access, which has had a contract since #857. All eight modules have a Contracts/ folder
src/AGENTS.md, ledger rule "Nine namespace owners (…)" becomes "Each namespace owner, every module and Platform," A hand-copied count goes stale when a module is added
Decision 849, #1087 amendment One added sentence pointing to #1116's wider contract rule The amendment says Domain contracts hold only enums and nested types are never contract; #1116 changed both
docs/architecture.md, epoch sentence (from #1127) Names logout and the /error re-execution as exempt, and the unparseable-claim rejection "Every authenticated request" was false; CredentialEpochFreshReadTests pins the exemptions

Considered and left unchanged:

Proof

Check Result
dotnet build Cluckwork.slnx --no-incremental 0 warnings, 0 errors
Mutation: CreateExpenseHandler names Commerce's DiscountCeiling build exit 1, error CW1001: undeclared cross-owner edge Finance -> Commerce
Mutation: CreateExpenseHandler names Flock Management's Flock build exit 1, error CW1004: Finance … reaches FlockManagement's non-contract type …Flock
move.py marks prints the usage text and exits; no command remains

Guard classes, each run on its own: ModuleEdgeAnalyzerTests 14, ModuleLedgerRealTreeTests 2, ModuleLedgerTests 41, AdapterReachRealTreeTests 2, AdapterReachTests 102, PeerContractRealTreeTests 1, PeerContractTests 10, AdapterTierRealTreeTests 3, CompatibilityExceptionRealTreeTests 2, CompatibilityExceptionTests 37, ContractDerivationTests 1, ModuleContractRealAssemblyTests 1, NamespaceFolderAgreementTests 10, AccessOwnershipClaimTests 2, SeamSurfaceRealAssemblyTests 2, CouplingMatrixRealTreeTests 3, TableOwnerRealModelTests 2, TenantBypassRealTreeTests 4 and TenancyDocsFreshnessTests 1 all pass. The SchemaDocsTests image-pin guards and CredentialEpochFreshReadTests pass 11/11 together.

mforce added 2 commits October 7, 2026 00:32
The analyzer still asked ModuleMap for a type claim, and move.py still
had its marks command, after #1099 removed both mechanisms. Edge reasons
named pre-#1087 namespaces and a plan-only slice id.

Refs #1087
Refs #1116
Slice ids S8-S10 become the PRs that shipped them, the contracted-module
list becomes "every module" (Access was missing), the owner count goes,
and 849 notes the contract rule #1116 widened.

Refs #1087
Refs #1116
@mforce
mforce merged commit 30b0e11 into main Oct 7, 2026
19 checks passed
@mforce
mforce deleted the chore/slop-sweep-1087-1116 branch October 7, 2026 01:01
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