Skip to content

include_cRQA silently ignores the flat list its schema documents as supported #14

Description

@mikub97

docs/contracts/config.schema.json defines one pairList and both include_cRQA and include_crosswavelet $ref it. Its own description says:

Either explicit pairs [[a,b],[a,c]], or a legacy flat list [a,b,c] which is expanded to all combinations. Both forms are supported; prefer pairs.

Cross-wavelet honours that. Cross-RQA does not: it skips every entry that is not a two-element list, finds no valid pairs, prints a warning and returns without writing a file. So a config that validates against the contract produces a cross-RQA tab with no data, and the only clue is a line in the build log.

"include_crosswavelet": ["a", "b", "c"],   // three pairs
"include_cRQA":         ["a", "b", "c"],   // nothing at all

Where

  • packages/dims-analysis/dims_analysis/steps/crqa.pyvalid_pairs()
  • packages/dims-analysis/dims_analysis/steps/crosswavelet.py — the expansion, around the base_pairs construction
  • docs/contracts/config.schema.json:13-34 — the shared pairList
  • Already documented as a trap in docs/analyses/index.md, which is not the same as fixing it

What to do

Pick one and make all of it true. Either expand the flat form in crqa.py as cross-wavelet does — the combination logic is four lines and could be shared — or drop the legacy form everywhere: from both steps, from apps/builder/dims_builder/validate.py, from packages/dims-tabs/crosswavelet.js, and from the schema.

Expanding is the smaller change and keeps existing study configs working. Dropping is defensible too, but it is a breaking config change and needs a release note.

Acceptance

  • "include_cRQA": ["a", "b", "c"] either produces three pairs or is refused with a message naming the fix. It does not silently produce nothing.
  • Whatever is decided, the schema, both steps, the wizard's validator and the tab gate agree.
  • A test in packages/dims-analysis/tests/ covers the flat form for both keys.
  • The gotcha paragraph in docs/analyses/index.md is updated or removed.

🤖 Generated with Claude Code

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

    area:analysisPython analysis steps and pipelinereadySelf-contained: names files, links contract, states acceptancetype:bugSomething is incorrect or broken

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions