Skip to content

refactor(arch): stage a new farm's defaults through Egg Operations' and Commerce's provisioning ports - #1122

Merged
mforce merged 1 commit into
mainfrom
refactor/1116-provisioning-ports
Oct 6, 2026
Merged

mforce merged 1 commit into
mainfrom
refactor/1116-provisioning-ports

Conversation

@mforce

@mforce mforce commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Part of #1116 (cleanup PR C6, the P4 design change). It does not close the issue.

AccountProvisioner no longer builds Egg Operations' and Commerce's aggregates. It stages a new farm's defaults through two Production ports that the owning modules implement:

  • IEggGradeProvisioning, implemented by EggGradeProvisioning in Egg Operations;
  • IEggUnitConversionProvisioning, implemented by EggUnitConversionProvisioning in Commerce.

CW1004 census (tools/architecture/cw1004-census.sh): 2 → 0 on main after #1121. The two removed rows are AccountProvisioner → EggGrade and → EggUnitConversion. Security, atomicity and mutation proofs follow in an edit.

…nd Commerce's provisioning ports

Part of #1116 (the P4 design change). AccountProvisioner built Egg
Operations' and Commerce's aggregates itself to add a new farm's default
grades and unit conversions. It now calls two Production ports,
IEggGradeProvisioning and IEggUnitConversionProvisioning, which the owning
modules implement. Each stages its defaults for the resolved tenant into the
caller's scoped context, refuses to run without a resolved tenant or outside
the caller's transaction, and never saves; AccountProvisioner keeps its order,
audit row, Owner creation, save, commit and rollback. ProvisionAsync, the
allow-listed tenant bypass, is untouched. The CW1004 census loses the two P4
rows.
@mforce
mforce force-pushed the refactor/1116-provisioning-ports branch from b032658 to d7503eb Compare October 6, 2026 19:42
@mforce
mforce merged commit c74cd01 into main Oct 6, 2026
19 checks passed
@mforce
mforce deleted the refactor/1116-provisioning-ports branch October 6, 2026 20:27
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