You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drafted by a LLM-based AI tool (Claude Code/Opus 4.8).
The decision
Does WR_t → NW_{t+1} — prior word reading feeding subsequent nonword reading — belong in dag/dag-language-reading-lagged.dagitty? This is a team decision, not a build, and it is the item that gates whether the strongest descriptive signal in notes/202607241600-findings-word-reading-bands.md has any identified estimand behind it at all. Nothing downstream can be specified until it is settled, so it is recorded here as its own issue rather than inside a model-building one.
Why it is open
The lagged graph currently contains WR_t → { TE, TR, PA, RW, LS }_{t+1} and noNW. Any WR → NW coupling estimated on the graph as it stands is therefore the total lagged effect routed through letter sounds and blending — and conditioning on those, as several candidate adjustment sets do, simultaneously blocks the paths being sought and opens colliders. A machine-searched minimal sufficient set for the coupling on the current graph runs to 8 nodes on the randomised transition and 12 post-crossover, which is unfittable at n ≈ 54 regardless of what one thinks of the estimand.
Evidence for adding the edge. Among children scoring zero on nonword reading at t1, 2 of 20 (10%) in the bottom word-reading half had moved off the floor by t2 against 10 of 16 (62%) in the top half. It holds inside both arms (immediate 18% vs 80%; wait-list 0% vs 33%), and arm is balanced across the bands (14/11 vs 13/12) as randomisation implies — the t1 split is pre-randomisation, so arm cannot confound it. This is the Roch & Jarrold (2012) WR → NW pattern for children with Down syndrome (doi:10.1016/j.jcomdis.2011.11.001) visible descriptively in this cohort. The mechanism is not exotic: a growing sight-word lexicon supplies the orthographic-phonological mappings a child then generalises to unfamiliar strings.
Evidence against. The committed graph already routes reading's influence on nonword reading through letter sounds and blending, and if that were the whole story it should be visible on those legs — where it mostly is not. The descriptive WR → LS contrast is flat but censored (by t3 the top word-reading half sits at a median 28 of 32 letter sounds with 11% at ceiling, so it cannot gain), so that leg is uninformative rather than null; lcsm-082's prior-reading → blending-change coupling is +0.055 (89% CrI −0.036 to +0.147, P = 0.835), suggestive at best. So the "it must already be visible upstream" argument is weaker than it looks, but it has not been ruled out either.
There is also a measurement reading worth putting on the table before any edge is drawn: NW is a 6-item task floored at zero for 72 / 64 / 52 / 40% of children at t1–t4, so "moving off the floor" is a one-item event. The 62%-vs-10% contrast is a floor-exit contrast, and a graph edge is a strong response to it.
What to do once it is settled
If the edge is adopted: add WR_t → NW_{t+1} to dag/dag-language-reading-lagged.dagitty; extend the REVERSE edge list in tests/test_lagged_dag_adjustment_sets.py (which currently carries the corrected five-edge list including LS); re-derive the minimal sufficient sets for the affected couplings against the amended graph; and record whether the resulting set is fittable at this sample size before anything is specified as a model. Sweep the DAG-dependent families for adjustment sets that change, in the #247 idiom.
If it is rejected: record the rationale as a dated notes/ decision entry in the same form as notes/202607241240-decision-drop-vocabulary-letter-sound-analyses.md, so the descriptive result has a standing explanation rather than being re-raised each time someone reads the bands note. The framing to use is the one the note lands on: the floor-exit contrast is real, but under the committed graph it is a total lagged effect through letter sounds and blending plus shared latent general ability, not a direct edge.
Second, smaller item — a stale archived asset
notes/assets/202607141030-lagged-dsep-checks.py has a REVERSE list of ["TE", "TR", "PA", "RW"], missing the WR_t → LS_{t+1} edge added on 2026-07-17, so re-running it today builds a graph the DAG no longer matches. The CI guard is fine — tests/test_lagged_dag_adjustment_sets.py carries the corrected five-edge list and test_unroll_slices_mirror_the_dagitty_template asserts the unroll matches the parsed template — so nothing published is wrong; only the archived reproducible record attached to notes/202607141030-time-lagged-model-designs.md went stale. Either refresh its edge list or replace it with a pointer to the test that supersedes it. Worth doing in the same pass as this decision, since whoever re-derives the sets will be in exactly that code.
Acceptance criteria
Decision recorded (adopt / reject) with its rationale, in a dated notes/ entry.
If adopted: dag/dag-language-reading-lagged.dagitty amended, tests/test_lagged_dag_adjustment_sets.pyREVERSE list extended, minimal sufficient sets re-derived and their fittability at n ≈ 54 stated explicitly.
notes/assets/202607141030-lagged-dsep-checks.py refreshed or replaced by a pointer to the superseding test.
notes/202607241600-findings-word-reading-bands.md updated with the outcome.
ruff check src/, npm run format:check, npm run spellcheck pass.
Related
Raised by notes/202607241600-findings-word-reading-bands.md (pass 3 and "What would be worth building", first item). Graph and design context: notes/202607131200-time-lagged-dag.md, notes/202607141030-time-lagged-model-designs.md, #250 (lagged DAG workstream, closed), #251 (2026-07-10 DAG revision, closed), #247 (adjustment-set re-derivation, closed). Companion follow-ups from the same pair of notes: #421 and #404.
Note
Drafted by a LLM-based AI tool (Claude Code/Opus 4.8).
The decision
Does
WR_t → NW_{t+1}— prior word reading feeding subsequent nonword reading — belong indag/dag-language-reading-lagged.dagitty? This is a team decision, not a build, and it is the item that gates whether the strongest descriptive signal innotes/202607241600-findings-word-reading-bands.mdhas any identified estimand behind it at all. Nothing downstream can be specified until it is settled, so it is recorded here as its own issue rather than inside a model-building one.Why it is open
The lagged graph currently contains
WR_t → { TE, TR, PA, RW, LS }_{t+1}and noNW. AnyWR → NWcoupling estimated on the graph as it stands is therefore the total lagged effect routed through letter sounds and blending — and conditioning on those, as several candidate adjustment sets do, simultaneously blocks the paths being sought and opens colliders. A machine-searched minimal sufficient set for the coupling on the current graph runs to 8 nodes on the randomised transition and 12 post-crossover, which is unfittable at n ≈ 54 regardless of what one thinks of the estimand.Evidence for adding the edge. Among children scoring zero on nonword reading at t1, 2 of 20 (10%) in the bottom word-reading half had moved off the floor by t2 against 10 of 16 (62%) in the top half. It holds inside both arms (immediate 18% vs 80%; wait-list 0% vs 33%), and arm is balanced across the bands (14/11 vs 13/12) as randomisation implies — the t1 split is pre-randomisation, so arm cannot confound it. This is the Roch & Jarrold (2012)
WR → NWpattern for children with Down syndrome (doi:10.1016/j.jcomdis.2011.11.001) visible descriptively in this cohort. The mechanism is not exotic: a growing sight-word lexicon supplies the orthographic-phonological mappings a child then generalises to unfamiliar strings.Evidence against. The committed graph already routes reading's influence on nonword reading through letter sounds and blending, and if that were the whole story it should be visible on those legs — where it mostly is not. The descriptive
WR → LScontrast is flat but censored (by t3 the top word-reading half sits at a median 28 of 32 letter sounds with 11% at ceiling, so it cannot gain), so that leg is uninformative rather than null;lcsm-082's prior-reading → blending-change coupling is +0.055 (89% CrI −0.036 to +0.147, P = 0.835), suggestive at best. So the "it must already be visible upstream" argument is weaker than it looks, but it has not been ruled out either.There is also a measurement reading worth putting on the table before any edge is drawn:
NWis a 6-item task floored at zero for 72 / 64 / 52 / 40% of children at t1–t4, so "moving off the floor" is a one-item event. The 62%-vs-10% contrast is a floor-exit contrast, and a graph edge is a strong response to it.What to do once it is settled
If the edge is adopted: add
WR_t → NW_{t+1}todag/dag-language-reading-lagged.dagitty; extend theREVERSEedge list intests/test_lagged_dag_adjustment_sets.py(which currently carries the corrected five-edge list includingLS); re-derive the minimal sufficient sets for the affected couplings against the amended graph; and record whether the resulting set is fittable at this sample size before anything is specified as a model. Sweep the DAG-dependent families for adjustment sets that change, in the #247 idiom.If it is rejected: record the rationale as a dated
notes/decision entry in the same form asnotes/202607241240-decision-drop-vocabulary-letter-sound-analyses.md, so the descriptive result has a standing explanation rather than being re-raised each time someone reads the bands note. The framing to use is the one the note lands on: the floor-exit contrast is real, but under the committed graph it is a total lagged effect through letter sounds and blending plus shared latent general ability, not a direct edge.Second, smaller item — a stale archived asset
notes/assets/202607141030-lagged-dsep-checks.pyhas aREVERSElist of["TE", "TR", "PA", "RW"], missing theWR_t → LS_{t+1}edge added on 2026-07-17, so re-running it today builds a graph the DAG no longer matches. The CI guard is fine —tests/test_lagged_dag_adjustment_sets.pycarries the corrected five-edge list andtest_unroll_slices_mirror_the_dagitty_templateasserts the unroll matches the parsed template — so nothing published is wrong; only the archived reproducible record attached tonotes/202607141030-time-lagged-model-designs.mdwent stale. Either refresh its edge list or replace it with a pointer to the test that supersedes it. Worth doing in the same pass as this decision, since whoever re-derives the sets will be in exactly that code.Acceptance criteria
notes/entry.dag/dag-language-reading-lagged.dagittyamended,tests/test_lagged_dag_adjustment_sets.pyREVERSElist extended, minimal sufficient sets re-derived and their fittability at n ≈ 54 stated explicitly.notes/assets/202607141030-lagged-dsep-checks.pyrefreshed or replaced by a pointer to the superseding test.notes/202607241600-findings-word-reading-bands.mdupdated with the outcome.ruff check src/,npm run format:check,npm run spellcheckpass.Related
Raised by
notes/202607241600-findings-word-reading-bands.md(pass 3 and "What would be worth building", first item). Graph and design context:notes/202607131200-time-lagged-dag.md,notes/202607141030-time-lagged-model-designs.md, #250 (lagged DAG workstream, closed), #251 (2026-07-10 DAG revision, closed), #247 (adjustment-set re-derivation, closed). Companion follow-ups from the same pair of notes: #421 and #404.