Skip to content

Release: publish Dummies and unwind the embedded Dummies.dll in FirstClassErrors.Testing #229

Description

@Reefact

Problem

Two sequencing risks are open only until first publication. (1) The generic package ID Dummies is unclaimed on nuget.org while its release train (dum-v*), pack guards, changelog and README already exist — an open squatting window on an identity ADR-0011 itself calls "costly to rename after adoption". (2) FirstClassErrors.Testing meanwhile embeds an unpublished Dummies.dll in its own lib/ (PrivateAssets=all + IncludeDummiesInPackage target): the Dummies version is invisible to NuGet, a future direct Dummies reference creates a same-identity double-assembly hazard (recorded as ADR-0026's top risk), and since Testing is netstandard2.0-only, net8+ consumers silently get the downlevel Dummies asset (no DateOnly/TimeOnly/Int128/Half generators).

Impact

Both risks are documented-as-temporary, but the window is live; every day before dum-v0.1.0 is exposure with zero upside.

Direction

  • Cut the first dum-v release (or at minimum claim the ID with a preview) — every guard needed already exists in tools/packaging/pack.sh.
  • At the next lib release after Dummies publishes, delete the IncludeDummiesInPackage target and the PrivateAssets=all reference, replacing them with a versioned PackageReference, exactly as the csproj comment plans.
  • Until the swap, document in Testing's README.nuget.md that the embedded copy is the netstandard2.0 asset.

Acceptance criteria

  • Dummies resolves on nuget.org.
  • FirstClassErrors.Testing references Dummies as a normal NuGet dependency; the embedding target is gone.
  • A guard (or tracked follow-up) fails if Dummies is on NuGet while Testing still embeds the DLL.

Context

Surfaced by the 2026-07-20 architecture, design & ecosystem audit (doc/handwritten/for-maintainers/audit/2026-07-20-firstclasserrors-architecture-and-design-audit.md, §10.3/§14-C2; branch claude/firstclasserrors-audit-83gap7). Related: #218 (Dummies docs), #221 (API baseline before first release), ADR-0011, ADR-0026.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions