Map compare noise controls and --exit-code

Aperta
#164 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
go

Direzione di ricerca

Start with internal/cli/map_compare.go, pkg/mapdiff/markdown.go, schema/map-compare.schema.json, and COMPATIBILITY.md to map the existing compare contract and the unimplemented noise-control note. Review #186 before taking on exit semantics, then define the remaining scope and acceptance cases for fixture, generated, and tooling changes; done means the opt-in behavior and compatibility documentation are agreed and covered without changing defaults.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement follow-up

Release scope update (1.1.0)

Opt-in comparison exit semantics are tracked by #186. Noise suppression remains in this parent. Incomparable or indeterminate results must remain distinguishable from unchanged; the new child will specify explicit fail/allow policy while preserving defaults.

Map compare noise controls and --exit-code

Background

Issues #10 and #40 both touch the dircue map compare command. On main, compare is implemented and correct. pkg/mapdiff/markdown.go:16 explicitly marks noise controls as not yet applied: "Noise controls are not yet applied; a future opt-in can suppress changes whose sole reason is a test-fixture or generated-content role." The --exit-code flag for automation use cases is also absent.

What 1.0 ships

  • dircue map compare --json before.json after.json (internal/cli/map_compare.go, pkg/mapdiff).
  • Comparison by stable node/edge IDs from pkg/mapdoc.
  • Separates material source changes from provider observations, evidence changes, and coverage changes.
  • Indeterminate removals reported explicitly when head coverage is partial.
  • dircue map compare PR summary job (map-diff-dogfood) runs as a CI dogfood check.
  • schema/map-compare.schema.json is the stable output contract.

Remaining work

From #10 (1.0-scope comment, noise controls):

  • Opt-in noise suppression: suppress changes whose sole reason is a node with role = fixture, role = generated, or role = tooling. The --summary output should not flag a PR as having architectural changes when only fixture deployables changed.
  • COMPATIBILITY.md to document the noise-control contract once defined.

From #40 (--exit-code gap):

  • --exit-code flag for dircue map compare: exits non-zero when the comparison is changed (or indeterminate, separately configurable); exits zero on unchanged and incomparable. Enables gate-style use in CI pipelines without parsing JSON.

Both must preserve the existing COMPATIBILITY.md field semantics.

Links

  • #10, #40 (1.0.0 issues being closed)
  • pkg/mapdiff/markdown.go:16 (noise controls comment)
  • schema/map-compare.schema.json
  • COMPATIBILITY.md
Lingua principale
Go
Stelle
0
Fork
0
Merge medio
6h 18m
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di war-and-code/dircue

Tutte le issue di war-and-code/dircue

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.