Skip to content

docs+fix: ecarts doc/code resolus, read_rules parle a l'editeur de YAML#55

Merged
VincentGuyader merged 1 commit into
audit-0.4.10from
fix/issue-32-doc-drift
Jul 3, 2026
Merged

docs+fix: ecarts doc/code resolus, read_rules parle a l'editeur de YAML#55
VincentGuyader merged 1 commit into
audit-0.4.10from
fix/issue-32-doc-drift

Conversation

@VincentGuyader

Copy link
Copy Markdown
Member

Closes #32

Doc alignee sur le code

  • @return de compare_datasets_from_yaml() liste les 8 elements dont all_passed (le premier, celui que tout consommateur lit) et decrit agent fidelement : configure, NON interroge (reponse l'est)
  • README Quick Start : le mode zero-config d'abord (compare_datasets_from_yaml(ref, cand, key = "id") sans YAML), puis le flux template edite ; key explicite partout
  • README « Dev part » : n'embarque plus les sorties check/covr perissables (figees a la 0.4.2 depuis mars) - remplacees par les commandes a lancer
  • Vignette : restriction locale des diagnostics __absdiff/__thresh documentee ; caveat NaN DuckDB-only du chemin lazy (l'overclaim « any DBI backend » releve au triage de la PR fix: le SQL temple reproduit la semantique NaN/Inf du kernel R #41)

read_rules : friction d'un YAML edite a la main

  • Version non supportee : erreur nommant le fichier, la version declaree et la supportee (fini le stopifnot brut « r$version == 1 is not TRUE »)
  • Champs inconnus racine/defaults (typos by_nmae:, no_equal:) : warning nommant les champs fautifs et les champs connus au lieu de l'ignorance silencieuse
  • write_rules_template() refuse version != 1 en amont (il ecrivait des templates que read_rules() refusait ensuite)

Tests (TDD red-first)

Erreur de version actionnable (rouge : le stopifnot brut), warnings de typos (rouge : silence), rejet de version du template (rouge : ecriture heureuse). Aucun YAML existant de la suite ne declenche les nouveaux warnings (verifie par la review interne : les 5 consommateurs de defaults correspondent exactement a la liste connue).

Suite complete : 1023 PASS / 0 FAIL. Check --as-cran 0/0.

Review interne

pr-reviewer : APPROVE, nit applique (suppressWarnings sur la coercition de version non numerique).

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR resolves doc↔code drift around compare_datasets_from_yaml() outputs and improves the ergonomics of hand-edited YAML rules by making read_rules() failures and typos more actionable, while updating README/vignette guidance accordingly.

Changes:

  • Documentation alignment: README quick start now shows the zero-config path first (explicit key), removes stale dev outputs, and the vignette documents extract diagnostic limitations + lazy NaN caveat.
  • read_rules() and write_rules_template() now reject unsupported rules versions with clearer messaging; read_rules() also warns on unknown top-level/defaults fields.
  • Tests added to cover unsupported version errors, unknown-field warnings, and template version rejection.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vignettes/datadiff.Rmd Documents local-only extract diagnostics and DuckDB-only NaN semantics for lazy booleans.
tests/testthat/test-main.R Adds regression tests for actionable read_rules() errors/warnings and template version rejection.
README.Rmd Reorders Quick Start to zero-config first; removes stale “Dev part” embedded outputs.
README.md Knitted README reflecting the updated README.Rmd content and table formatting.
R/compare_datasets_from_yaml.R Improves version validation in read_rules() and rejects unsupported write_rules_template() versions.
NEWS.md Announces the documentation alignment + YAML friction improvements (issue #32).
man/compare_datasets_from_yaml.Rd Regenerated docs reflecting updated @return items (all_passed + clarified agent).
Files not reviewed (1)
  • man/compare_datasets_from_yaml.Rd: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread R/compare_datasets_from_yaml.R Outdated
Comment on lines +136 to +142
if (is.null(r$version) ||
!identical(suppressWarnings(as.numeric(r$version)), 1)) {
stop(sprintf(
"'%s' declares rules version %s; this version of {datadiff} supports version 1 only.",
path, r$version %||% "<missing>"
), call. = FALSE)
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valides tous les deux (TDD rouge d'abord), appliques : la version non scalaire recoit un resume imprimable (classe + longueur) dans l'erreur prevue, et les 4 sections doivent etre des mappings YAML - refus explicite en amont au lieu du crash lointain sur $.

Comment on lines +145 to +149
known_top <- c("version", "defaults", "by_type", "by_name", "row_validation")
unknown_top <- setdiff(names(r), known_top)
known_defaults <- c("na_equal", "ignore_columns", "keys", "key", "label")
unknown_defaults <- setdiff(names(r$defaults %||% list()), known_defaults)
unknown <- c(unknown_top, unknown_defaults)
…ML (issue #32)

- @return complet (all_passed en tete, agent decrit fidelement : configure
  mais non interroge)
- README : Quick Start zero-config d'abord, cle explicite partout ; la
  section Dev n'embarque plus de sorties check/covr perissables (figees a
  la 0.4.2 depuis mars)
- vignette : restriction locale des diagnostics __absdiff/__thresh dans
  les extraits ; caveat NaN DuckDB-only du chemin lazy (releve au triage
  de la PR #41)
- read_rules : erreur de version explicite (fichier + version declaree +
  version supportee, fini le stopifnot brut) ; warning sur les champs
  inconnus racine/defaults (typos by_nmae, no_equal) en nommant les
  champs connus - la friction principale d'un YAML edite a la main
- write_rules_template refuse version != 1 en amont (il ecrivait des
  templates que read_rules refusait ensuite)
@VincentGuyader
VincentGuyader force-pushed the fix/issue-32-doc-drift branch from bd185ae to 38be24f Compare July 3, 2026 10:37
@VincentGuyader
VincentGuyader merged commit c3a70cc into audit-0.4.10 Jul 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants