00Execution
Issue: sue5t-fix-tags-default-filters-and-add-additive-column-syntax · Generated 2026-06-01 09:40 UTC
01Strategy
Status: complete. All 9 plan tasks landed. make ci green: 1346 tests pass (10.0s), pylint 10.00/10, mypy clean, black/isort clean, audit script exits 0 for the in-scope set.
Two real bugs fixed and one feature added without backward-compat shims:
Tags-class entries (directconnect tags$, ec2.describe_vpcs Tags$, two redshift Tags$, ecr.describe_images imageTags$) replaced with per-service correct forms. 2 leftover Key$/Value$ entries under redshift deleted._is_aws_tags_structure + _transform_aws_tags_list made case-insensitive on member names. Unblocks directconnect, which uses lowercase key/value.+Column syntax: presence of any + in column args keeps defaults and merges all named columns. Strip happens at the top of cli.py::determine_column_filters; merge logic in config.py::apply_default_filters via list(dict.fromkeys(defaults + stripped)).scripts/audit_default_filters.py walks every $-suffix entry, simulates flattening + tag-transform, reports anchors that never match. CI-gated via test; 15 additional broken entries surfaced but deferred to a follow-up issue per scope.02Flow
01
Task 1
Extend apply_default_filters with additive merge mode
02
Tasks 2+3
Add additive +Column CLI syntax for column filters
03
Task 4
Accept case-variant Key/Value in tags structure detection
04
Task 5
Fix 5 broken Tags suffix entries in default_filters.yaml
05
Task 6
Add shape-aware audit script for default_filters.yaml
06
Task 7
Add tests for additive +Column, lowercase tags, and audit
07
Task 8
Document +Column additive filter syntax in README
08
Cleanup
Apply black/isort formatting to touched files
Sequential. Each task verified independently before commit; final make ci ran clean across all 9 commits.
03Decisions
PLAN.md prescribed the standard Generated with Claude Code trailer. The user's standing preference (memory feedback_no_claude_attribution.md) is that Claude attribution must never appear in commits, code, or files (consultant context). The orchestrator's prompt explicitly overrode the PLAN.md trailer with plain single-line messages and no attribution. All 8 behavioural commits and the EXECUTION.md commit follow this override.
Task 3 extends _format_columns_copyable with an additive_marks parameter. Task 2's new branch in determine_column_filters calls that extended signature directly. Splitting them produces an intermediate commit that does not type-check. Combined into one atomic feature commit 6b4bdb1; EXECUTION.md tracks both tasks against this hash.
make format reflowed seven touched files into black/isort canonical form after the per-task commits had landed. The reflow is purely cosmetic (line-wrap differences, no semantic changes) and was committed separately as 3a7cefe so the per-task commits stay focused on their behavioural change.
04Detail
05Provenance
Generated from the canonical .md. This HTML is never
hand-edited — if the .md changes, regenerate with
/issue:view.