Skip to content

An intent finding verified satisfied cannot be cleared, so a correct resync can never produce a clean run #727

Description

@ptr727

An intent finding says the copy "possibly trails the hub, verify intent per AUDIT.md section 7". AUDIT.md section 7 gives the verdict model, and a verified-satisfied intent check is a pass. There is nowhere to record that pass, so the next audit prints the identical finding.

check_intent_staleness clears on exactly two conditions (spec/audit.py:1351): the downstream copy is byte-identical to the canonical, or the copy's last commit is newer than the canonical's. An intent file is adapted by definition, so the first can never hold. The second is a commit touching the file. The only way to clear a verified intent finding is to edit a file that does not need editing.

What this looked like in practice

The ESPHome-Config resync read the hub's full change history behind each of four flagged files and found nothing to adopt: every hub change behind .editorconfig and .gitattributes touches scripts/, host-setup/, catalog/ or .husky/, none of which that repo carries, and cspell.json's added words are hub host-setup vocabulary. That is the verification the finding asks for, it concluded "intent satisfied", and all four will report again on the next run and every run after it.

The cost is not the noise itself. RESYNC.md ends "done means measured, not applied", and AUDIT.md section 8 has a conformance claim quote its run stamp. A repo that has done the work correctly cannot produce a clean run, so the reader of a report cannot separate "verified, nothing to adopt" from "nobody looked". The audit already treats that ambiguity as worth fixing elsewhere: a driftNote asserting outstanding work is flagged as contradicted by a clean audit.

Shapes that would close it

Not a recommendation, just what seems available:

  1. A per-file acknowledgement, the repo recording "verified against hub <sha>, nothing to adopt", which the check reads as a floor instead of the file's commit date. Costs a committed artifact, and gains an auditable statement of who checked what and when.
  2. Demote it below a finding, printed as a note the way the host gate prints its per-tool notes, so it informs a resync without standing as drift.
  3. Leave it and say so, documenting in AUDIT.md section 7 that an intent finding is expected to stand after verification and does not count against a clean run.

#726 on intentRef is adjacent but separate: fixing the comparand changes which file the date comes from, not that a date comparison cannot express "checked, nothing owed".

Found during the ESPHome-Config resync, audit run 2026-08-15T14:30:53Z | hub 0e84805.

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

    bugSomething isn't workingscriptA defect in hub tooling

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions