Skip to content

Definition of Done

A bijux-gnss-core change is not done when code compiles. It is done when the contract change, if any, is legible and defended.

Completion Gate

changed surface done means first proof
public exports api.rs exposes only deliberate shared contracts cargo test -p bijux-gnss-core --test public_api_guardrail
artifact payloads validation rejects incoherent payloads and preserves versioned meaning nav_artifact_validation or tracking_artifact_validation
observation and tracking records receiver and nav can read the same record meaning without solver or runtime leakage contract docs plus the changed record tests
time, units, and coordinates edge cases remain explicit and portable across consumers cargo test -p bijux-gnss-core --test prop_timekeeping
diagnostics and support matrix shared diagnostic and capability records remain stable across runtime, infra, and command layers support/diagnostic docs plus guardrail proof
serialization old and new readers can still interpret persisted meaning honestly SERIALIZATION.md plus artifact validation proof

Not Done Yet Means

  • a helper was made public before it had shared-contract meaning
  • serialized meaning changed but the docs still describe the old behavior
  • invariants are implicit in test names only
  • the crate absorbed behavior because it was easier than naming a downstream owner

Reader Questions Before Commit

  • Which contract family moved?
  • Which higher crates read that meaning today?
  • Is the change versioned, serialized, or public?
  • What fixture or property test would catch a wrong interpretation?
  • Did any product behavior move into core because it was convenient?

Proof Route

Read crates/bijux-gnss-core/docs/CONTRACTS.md, CONTRACT_MAP.md, PUBLIC_API.md, SERIALIZATION.md, and TESTS.md as needed for the changed family. A core change is done only when the public promise, contract prose, source behavior, and protecting tests all describe the same shared meaning.