You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The application is the laboratory. A NuGet BuildingBlock is a reusable result that earned a boundary through real Aspire-backed experiments — not a framework dumped into the monorepo.
A falsifiable experiment (or package test matrix) proved the contract on real infra.
At least one host outside FeatureFusion would install it without the lab.
The public API can stay stable without pulling EventBus / YARP / FeatureManagement.
CI pack + release workflow exists (or is added in the same change).
Do not extract: Scenario DSL, one-off test gates, fixed-permit rate limiters used only in Exp 16, lease-hold handler wrappers, or EventBus until crash/propagation seams are deliberate product work.
Package / versioning (current)
Each packable project owns <Version> in its .csproj (e.g. BuildingBlocks.Pagination.EntityFrameworkCore1.1.0, BuildingBlocks.Idempotency1.0.1, BuildingBlocks.Mcp1.1.0).
Release tags are package-prefixed (mcp-v*, mediator-v*, telemetry-v*, …) and must match <Version>.
Per-package GitHub Actions: *-yml CI + *-release.yml pack / Trusted Publishing to nuget.org (idempotency.yml / idempotency-release.yml for this package).
IntegrationTests / Exp 1–18 are not in CI (local Aspire/Docker).
Roadmap (lab architecture — not experiment numbers)