diff --git a/NEWS.md b/NEWS.md index ea54c05..18a3a9f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -44,6 +44,18 @@ schema and every handoff are unchanged. `item_evidence$scale` names. A test holds the sort, rating, and congruence workflows to it, and checks that each refuses an item with two targets. +## The joint walkthrough lives here + +* `vignette("one-item-set-both-stages")` is the joint walkthrough for + contentvalidR and nomologR, as the maintainer decided for the joint 1.0. + It now says so, passes the handoff itself to `nomo_screen()` and + `nomo_run()` rather than `h$items`, and links to the section of the + nomologR guided workflow that continues from content review. Two stale + sentences are corrected. The handoff reader in nomologR, which the vignette + called future work, has shipped. And nomologR starts from the same handoff + but simulates its own responses, so its screening numbers differ from + these. + # contentvalidR 0.9.0 Ninth public release. v0.9.0 is about how the package presents itself before diff --git a/ROADMAP.md b/ROADMAP.md index 06cfc4d..f61575f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -830,11 +830,11 @@ reads no handoffs and takes no part in the joint 1.0. candidate, so neither README describes a 1.x before one exists. - [ ] one handoff example shown in both READMEs, regenerated from contentvalidR's release candidate. - - [ ] the joint walkthrough lives in one package, and the other links to - it. Recommended, and acceptable to nomologR: this package's - `vignette("one-item-set-both-stages")`, linking to nomologR's - guided-workflow article for the empirical side. The maintainer - decides. + - [x] the joint walkthrough lives in one package, and the other links to + it. Decided by the maintainer on 2026-09-27: it lives here, as + `vignette("one-item-set-both-stages")`, which links to nomologR's + guided-workflow article for the empirical stage. nomologR has agreed + to link its article back to it. - [ ] the release notes link each other. - Three handoff clarifications nomologR asked for before schema 1 becomes a 1.0 promise, approved on 2026-09-27. None changes the schema: diff --git a/vignettes/one-item-set-both-stages.Rmd b/vignettes/one-item-set-both-stages.Rmd index 1d7397e..9bb4753 100644 --- a/vignettes/one-item-set-both-stages.Rmd +++ b/vignettes/one-item-set-both-stages.Rmd @@ -30,6 +30,12 @@ Nothing here is a real instrument or a real sample. The advantage of simulated data is that the right answer is known in advance, so you can check whether each stage found what was actually put there. +This is the joint walkthrough for `contentvalidR` and its partner package +`nomologR`, which handles the empirical stage. The empirical steps below use +base R, so the whole vignette runs with `contentvalidR` alone. Where the +handoff leaves this package, the walkthrough shows the `nomologR` calls that +pick it up. + ## The construct and the items The construct is *Study Persistence*: the tendency to keep working on academic @@ -281,20 +287,26 @@ about the item's wording predicts that, and no panel could have. Whether the difference matters is a measurement-invariance question, which belongs to the empirical stage. -The handoff is what carries the decision into that stage. Its `items` are the -item names to screen and its `scales` are the subscales to form, both in the -shape a downstream package needs. `nomologR` is one such package; it is not a -dependency of this one, so the call below is shown rather than run: +The handoff is what carries the decision into that stage. Pass the handoff +itself rather than `h$items`, so that the held-back items, their reasons, the +keying, and the response scale travel with the names. `nomologR`, the partner +package for the empirical stage, reads it that way. It is not a dependency of +this package, so the calls below are shown rather than run: ```{r nomologr, eval=FALSE} library(nomologR) -nomo_screen(responses, items = h$items) +# Screen the carried items, using the keying declared at content review. +screened <- nomo_screen(responses, items = h) + +# Form the subscales content review defined, and run the empirical stage. +run <- nomo_run(responses, scales = h) ``` -Reading the handoff object directly, rather than taking `h$items` out of it, is -tracked on -[nomologR#46](https://github.com/JUhalt/nomologR/issues/46). +`nomologR`'s guided workflow continues from here, in its section +[Starting from content review](https://juhalt.github.io/nomologR/articles/guided-workflow.html#starting-from-content-review): +screening, the measurement model, and a report that opens with the content +review. ## The moral, stated plainly @@ -322,9 +334,11 @@ carries the evidence forward rather than just the surviving names. Every file used here is generated by `data-raw/build-walkthrough-data.R` in the package sources, which uses only base R and is deterministic. It states the full generating model: the two-factor structure, every loading, the factor -correlation, the response thresholds, and the single cohort shift. `nomologR` -mirrors the response file from the same script, so both packages show the same -numbers. +correlation, the response thresholds, and the single cohort shift. +`nomologR`'s guided workflow starts from the same handoff, which it ships as a +file, so the items, decisions, and keying match between the two packages. Its +responses are simulated separately, so its screening numbers are not the ones +shown here. ## References