FixDataset Deep Dive¶
This chapter covers mutation policy and branch-safe application patterns.
FixDataset as layered transformation¶
A practical order for understanding behavior:
flag normalization (
-sys,-group,-pta),overlap/relabel policy application,
jump insertion/pruning,
par default enforcement,
variant generation (
<PSR>_<variant>_all.timplus optional<PSR>_<variant>.par),optional QC-based apply actions,
optional per-TOA
-pqcclass tagging.
Policy boundaries¶
Use catalogs for static mappings/tables and rules for strategy decisions:
catalogs:
configs/catalogs/*rules:
configs/rules/*
This includes:
overlap catalogs/rules,
relabel rules,
system/group table,
optional frequency-based YAML rules for system assignment.
Non-destructive first¶
Recommended default apply policy is comment-first:
fix_qc_action = "comment"
Only enable deletion after reviewing QC summaries and action lists.
Branch safety pattern¶
Use branch chaining:
base branch = previously validated stage,
new branch per mutation pass,
commit message documents the policy pass applied.
Variant generation¶
FixDataset can generate:
multiple include files:
<PSR>_<variant>_all.timvariant par products:
<PSR>_<variant>.parwhen enabled
Ensure classification + variant catalogs are both set and compatible.
Debug order for missing expected outputs¶
verify stage toggles,
verify branch/apply controls,
verify catalog/rule file paths,
verify output placement in pulsar and run result trees.
See also¶
Config groups: Operational Config Groups
Full settings catalog: Full Settings Catalog
Comment and whitespace normalization¶
When FixDataset comments TOAs, comments are normalized to start with
Cfollowed by a space, and leading whitespace is stripped from rewritten comment lines. This avoids parser ambiguity in downstream tools.