Two pipeio bugs discovered during ttl_removal mod creation:
Bug 1: pipeio_rule_insert double-wraps params values¶
When passing params as {"ttl_freq": "config[\"ttl_removal\"][\"ttl_freq\"]"}, the tool wraps the value again: config["config["ttl_removal"]["ttl_freq"]"]. It should pass the value through verbatim since it's already a valid Python expression.
Reproduction: pipeio_rule_insert(params={"ttl_freq": "config[\"ttl_removal\"][\"ttl_freq\"]"}) produces ttl_freq=config["config["ttl_removal"]["ttl_freq"]"] instead of ttl_freq=config["ttl_removal"]["ttl_freq"].
Fix: detect if the value already starts with config[ and pass through, or better yet, never auto-wrap — treat params values as raw Python expressions.
Bug 2: pipeio_config_patch strips flow-style whitespace¶
The ruamel round-trip mode preserves flow-style mappings but strips the space after {: { suffix: "ieeg" } becomes {suffix: "ieeg"}. Also strips alignment whitespace in member keys (e.g. npy: { becomes npy: {).
These are cosmetic but create unnecessary diff noise. ruamel's best_map_representor or best_sequence_representor settings may help preserve exact whitespace.
Bug 3: pipeio_config_patch drops &log_default anchor¶
The log_default member set lost its &log_default anchor after patching. The anchor was present before (log_default: &log_default) and removed after. This could break downstream references to *log_default if any exist.
Source context: pixecog¶
PixEcog (pixecog): Neuropixels and ECoG dataset and analysis
Recent commits:
c309f45 Fix pipeline doc naming drift, populate registry doc_path, close 3 issues
84d605b Migrate 43 scripts from utils.smk.smk_log
5808910 [DATALAD] removed content
README:
type: readme
Quick Start for Collaborators¶
Follow this checklist to get started with Pixecog documentation and workflows.
🐀 Pixecog Project — Compact Overview¶
Core principles
- One immutable BIDS raw dataset (
raw/) as the canonical baseline - Each analysis pipeline ha
Related Notes¶
- [[issue-arash-20260329-223209-991822.md]] — Directly overlaps: both report pipeio_config_patch destroying YAML anchors and formatting (Bug 2 & 3 here vs. that issue's core topic)
- [[issue-arash-20260326-232732-019412.md]] — Implements pipeio rule/config tooling — the same tools (pipeio_rule_insert, pipeio_config_patch) where these bugs were found
- [[issue-arash-20260326-191057-730671.md]] — pipeio mod tooling work (mod_resolve, modkey) — same pipeio mod-creation workflow that triggered these bugs