Found while driving dryvist/cc-edge-claude-code-io#9 to green (first real run of _cribl-pack-validate.yml / tests/cribl-pack/).
Two checks in tests/cribl-pack/test_pack.py would fail against the canonical pack layout used by the gold-standard reference pack (VisiCore/cc-edge-claude-code-io) and by dryvist/cc-edge-pack-template (whose CI skips on is_template == true, so this has never surfaced there):
TestRouteCrossReference::test_route_pipelines_exist only accepts flat default/pipelines/<name>.yml or <name>.conf.yml. Canonical Cribl layout (gold-standard pack, the template, criblpacks) is default/pipelines/<name>/conf.yml — a directory. That layout fails the check.
TestRouteCrossReference::test_all_inputs_have_routes only recognizes __inputId == '<type>:<x>.<id>'-style filters when computing routed inputs. The gold-standard pack uses datatype=='...' filters (per its own validator rules), so every one of its inputs would be reported as orphaned.
Impact: the planned canonical-content migration into dryvist/cc-edge-claude-code-io (dryvist/cc-edge-claude-code-io#7) cannot land as-is — porting the gold-standard content verbatim fails the suite on both checks. Either the suite should additionally accept pipelines/<name>/conf.yml and datatype-filter route coverage, or the canonical layout/filter convention should change (the former seems right; the suite contradicts the validator rules the packs are written to).
🤖 Generated with Claude Code
Found while driving dryvist/cc-edge-claude-code-io#9 to green (first real run of
_cribl-pack-validate.yml/tests/cribl-pack/).Two checks in
tests/cribl-pack/test_pack.pywould fail against the canonical pack layout used by the gold-standard reference pack (VisiCore/cc-edge-claude-code-io) and bydryvist/cc-edge-pack-template(whose CI skips onis_template == true, so this has never surfaced there):TestRouteCrossReference::test_route_pipelines_existonly accepts flatdefault/pipelines/<name>.ymlor<name>.conf.yml. Canonical Cribl layout (gold-standard pack, the template, criblpacks) isdefault/pipelines/<name>/conf.yml— a directory. That layout fails the check.TestRouteCrossReference::test_all_inputs_have_routesonly recognizes__inputId == '<type>:<x>.<id>'-style filters when computing routed inputs. The gold-standard pack usesdatatype=='...'filters (per its own validator rules), so every one of its inputs would be reported as orphaned.Impact: the planned canonical-content migration into
dryvist/cc-edge-claude-code-io(dryvist/cc-edge-claude-code-io#7) cannot land as-is — porting the gold-standard content verbatim fails the suite on both checks. Either the suite should additionally acceptpipelines/<name>/conf.ymland datatype-filter route coverage, or the canonical layout/filter convention should change (the former seems right; the suite contradicts the validator rules the packs are written to).🤖 Generated with Claude Code