Skip to content

STATUS.md drift: gamut-dsp lists a shipped module as deferred, gamut-avif contradicts itself #545

Description

@justin13888

Found while correcting the README crates table for #425 and outside PR #526's boundary, which is
frozen to README.md and the guard that reads it.

#425's working premise was that a crate's STATUS.md is the authority and the README is what had
drifted. That premise has a hole: two STATUS.md files are themselves wrong, and a row derived
faithfully from them is wrong as a result. PR #526 has adopted the rule that where a STATUS.md
contradicts the crate's lib.rs, lib.rs wins — a README row has to be true of the crate, not
merely faithful to a stale file. The stale files themselves are left for this issue.

1. gamut-dsp/STATUS.md lists a module the crate ships

crates/gamut-dsp/STATUS.md:67, under Deferred / tracked follow-ups:

  • jpeg module — the ITU-T T.81 8×8 DCT (and friends) for gamut-tiff's JPEG-in-TIFF …

But the module exists and is public:

  • crates/gamut-dsp/src/lib.rs:43pub mod jpeg;
  • crates/gamut-dsp/src/lib.rs:6-7 — the crate docs list jpeg as one of the shipped spec families
  • crates/gamut-dsp/src/jpeg/dct.rs:112pub fn fdct8x8(block: &mut [i32; 64])
  • crates/gamut-dsp/src/jpeg/dct.rs:163pub fn idct8x8(block: &mut [i32; 64])

Line 15 of the same file still speaks of jpeg as "a future … module". The consequence was
concrete: #425 narrowed the README's gamut-dsp row to AV1-only wording on this file's authority,
and an independent review caught it.

What is genuinely still deferred is the consumer — JPEG-in-TIFF in gamut-tiff — not the kernel.
The entry should move out of the deferred list and say so.

2. gamut-avif/STATUS.md contradicts itself

crates/gamut-avif/STATUS.md:21-24 is contradicted by later lines in the same file. This overlaps
PR #506's territory, so it is named here for completeness rather than claimed: whoever lands #506
should reconcile it, and if #506 already does, this half can be closed as covered.

Scope

  • Move gamut-dsp's jpeg module out of "Deferred / tracked follow-ups" and restate what is
    actually deferred (the gamut-tiff JPEG-in-TIFF consumer). Fix line 15's "a future jpeg …".
  • Reconcile gamut-avif/STATUS.md:21-24 with the rest of that file, coordinating with feat(avif): reserve and write a C2PA manifest store, and locate one on read #506.
  • Consider whether a STATUS.md claiming a module is deferred while lib.rs declares it pub is
    mechanically checkable, in the way mise run check-readme-crates made the README's crates table
    checkable. A "deferred module that is pub mod" is a grep, not a judgement call.

Acceptance

No STATUS.md lists as deferred a module its crate's lib.rs declares pub, and
gamut-avif/STATUS.md says one thing about its own scope.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions