Verification
5/5 calculation tests · Production surface contract 2/2
- Golden tests 0 / 0
- Boundary tests 0 / 0
- Property tests 5 / 5
- Production surface contract 2 / 2
}
- Engine tested Yes
- Source checked Yes
- Artifact integrity PASS
- Production attestation Embedded snapshot: Capability production binding: STALE · Last attested schema matched 1.0.0 snapshot / local build · Semantic contract ✓ · Last attestation PASS · Evidence changed after the last successful production attestation. Re-attestation required. · Public/cache ✓ · Origin ✓
- Semantic contract PASS
- Evidence attested at 2026-09-23T02:27:54.588Z
- Last production check 2026-09-23T02:27:54.588Z
- Public / cache PASS
- Origin PASS
- Supplemental domain review Not performed
- Named expert review Not performed
- release artifacts aligned PASS
- schema output required declared PASS
Fingerprint sha256:5e32b28c1a508268531b1b85bc260a8e9d8c81a8586b32fde79c536cff172c9b
Input schema sha256:ba86af57a5d9411ba3b304b559ed5872e51eac18ff3a291b859f978c5480ff07 · Output schema sha256:ef8c147b4741359949d923614a63f64ef3b038ffd2916b7d77e48572b529e83d · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write
(published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.
Engine identity and declared limitations.
- Tool
- trapezoidal-specific-force
- Engine
- trapezoidal-specific-force
- Engine build
- 2026-09-23
- Evidence core
- 2026-09-23T01:37:28.962Z
- Rendered
- 2026-09-23T03:34:50.918Z
- Last reviewed
- —
Assumptions
- Trapezoid specific force: M = Q²/(gA) + A ȳ with A=(b+z y)y and ȳ=y(3b+2zy)/(6(b+zy)); SI; default g=9.80665; M is m²; z>0 is run/rise
- Unknown is M (force mode) or y (depth invert, subcritical y>yc by default); conjugate y_alt is reported; Fr is reported not an input
- Not rectangular ȳ=y/2; not trapezoid sequent y2; not trapezoid specific energy E; not Manning n; not Q=Av
Limitations
- Trapezoid specific force: M = Q²/(gA) + A ȳ with A=(b+z y)y and ȳ=y(3b+2zy)/(6(b+zy)); SI; default g=9.80665; M is m²; z>0 is run/rise
- Unknown is M (force mode) or y (depth invert, subcritical y>yc by default); conjugate y_alt is reported; Fr is reported not an input
- Not rectangular ȳ=y/2; not trapezoid sequent y2; not trapezoid specific energy E; not Manning n; not Q=Av
Sources
Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.
- ISO 80000-4 — Mechanics — Volume flow rate and force
Supports: Q is volume flow; specific force M is force per unit weight (m²)
- Chow, V.T. Open-Channel Hydraulics — Specific force in a trapezoidal section
Supports: M = Q²/(gA) + A ȳ with ȳ from the trapezoid centroid. Rectangular ȳ=y/2 is a different product. Sequent depths are a different product.
Published checks
Golden, boundary, and property cases included in this evidence build.
| ID | Kind | Status | Detail |
|---|
property-tsf-M | property | pass | M=Q²/(gA)+Aȳ |
property-tsf-not-jump | property | pass | Fr<1 not a jump |
property-tsf-not-rect | property | pass | M≠rectangular ȳ=y/2 |
property-tsf-roundtrip-y | property | pass | y roundtrip |
property-tsf-model | property | pass | specific_force_trapezoid |