Skip to content

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
  • [[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