docs(contract): flip §4 withings --format cells to machine - #20
Merged
Conversation
QUA-17 wired compat/formats against withings-export-cli (PR quantcli/withings-export-cli#36, merged 2026-05-11). The four §4 withings cells the bundle attests now flip from human to machine: - --format flag surface (documented, rejects unknown) - --format markdown (default) - --format json - --format csv crono and liftoff stay human / — pending their consumer-wire PRs (QUA-16, QUA-19); those flips are tracked under their own tickets. Refs: QUA-29 Co-Authored-By: Paperclip <noreply@paperclip.ing>
DTTerastar
added a commit
that referenced
this pull request
Aug 2, 2026
Closes #27. §4 pinned down which codecs exist and the stdout/stderr split, and §2 pins timestamp formatting, but nothing pinned the JSON type of an individual field. That gap produced the same class of bug four times across two repos (liftoff #33 quoted-string bodyweight, liftoff #36 duration-only-as-prose, withings #27/#20/#42 key-and-type drift). One unwritten rule violated repeatedly. Adds a Scalar typing subsection under §4 with three requirements — numbers are JSON numbers not strings; a logical field has one type (and null, not ""/0, when absent) across every subcommand; a human-formatted quantity ships a canonical-unit sibling — plus the timestamp carve-out (§2 already fixes their shape). Status table gains a JSON-scalar-typing row: liftoff is human-attested (fixed its known violations in v1.3.0), withings and crono stay at — (withings has open violations #27/#20/#42; crono is unaudited). Not machine-attested yet: a compat/scalars bundle is the follow-up, and it inherits the enforcement-reach gap #27 flags — liftoff and withings import only compat/formats, so a new bundle needs their imports widened to actually run in their CI. Tracked separately rather than bundled into this text change. Claude-Session: https://claude.ai/code/session_012MvqxTC64Z9EEDewCUbNNo Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
QUA-17 wired
compat/formatsagainstwithings-export-cliand merged on 2026-05-11. Per QUA-29, the four §4 Status cells the bundle attests for withings now flip fromhumanto machine.Cells changed
Only the withings (rightmost) column changes. crono and liftoff stay
human/—until their consumer-wire PRs land (tracked under QUA-16 and QUA-19).Evidence trail
compat/formatsHelpDocumentsFormatFlag,UnknownFormatFails,FlagValidationIsHermetic, plus the json/csv/markdown codec assertions.Test plan
CONTRACT.md§4 Status table; no other content edited.🤖 Generated with Paperclip