Summary
IPhysicalQuantity.cs and PhysicalQuantity.cs are minimal: a Value property and an IsPhysicallyValid shape, with no per-dimension validation, no dimension/base-unit metadata accessors, no In(unit) conversion, and no uncertainty support. Several pieces of documentation imply more.
Evidence
Semantics.Quantities/IPhysicalQuantity.cs:1-27 — minimal interface.
Semantics.Quantities/PhysicalQuantity.cs:16-32 — exposes Value; no validation hook.
docs/design-semantic-quantities.md and docs/strategy-unified-vector-quantities.md reference Dimension, BaseUnit, In(unit), IsPhysicallyValid, WithUncertainty, Magnitude() (the latter is actually emitted on Vector1+).
CLAUDE.md mentions a polished public API including PhysicalConstants.Generic.*<T>() and dimensional analysis on operators.
Suggested next step
Decide which surface is canonical for the unified-vector branch:
- Trim docs back to match the slim runtime interface, or
- Extend
IPhysicalQuantity / PhysicalQuantity with the documented members (Dimension metadata, In(unit) conversion, validation hook), backed by tests.
Either way, write down the resulting contract in docs/architecture.md so the generator templates can target it deterministically.
Area / Severity
Quantities / Docs · incomplete
Summary
IPhysicalQuantity.csandPhysicalQuantity.csare minimal: aValueproperty and anIsPhysicallyValidshape, with no per-dimension validation, no dimension/base-unit metadata accessors, noIn(unit)conversion, and no uncertainty support. Several pieces of documentation imply more.Evidence
Semantics.Quantities/IPhysicalQuantity.cs:1-27— minimal interface.Semantics.Quantities/PhysicalQuantity.cs:16-32— exposesValue; no validation hook.docs/design-semantic-quantities.mdanddocs/strategy-unified-vector-quantities.mdreferenceDimension,BaseUnit,In(unit),IsPhysicallyValid,WithUncertainty,Magnitude()(the latter is actually emitted on Vector1+).CLAUDE.mdmentions a polished public API includingPhysicalConstants.Generic.*<T>()and dimensional analysis on operators.Suggested next step
Decide which surface is canonical for the unified-vector branch:
IPhysicalQuantity/PhysicalQuantitywith the documented members (Dimension metadata, In(unit) conversion, validation hook), backed by tests.Either way, write down the resulting contract in
docs/architecture.mdso the generator templates can target it deterministically.Area / Severity
Quantities / Docs · incomplete