Skip to content

fix: preserve YAML project cards regardless of key order - #532

Merged
Vilin97 merged 2 commits into
mainfrom
fix/yaml-card-rebase
Sep 26, 2026
Merged

Vilin97 merged 2 commits into
mainfrom
fix/yaml-card-rebase

Conversation

@Vilin97

@Vilin97 Vilin97 commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Auto-rebase silently dropped newly added project registrations when a YAML card began with title: rather than slug:. Parse the YAML sequence and use its source positions to preserve each card verbatim, independently of key order, quoting, or indentation. Reject ambiguous identities and unsupported layouts before writing a merged registry.

Validation: all 450 Python tests pass, including 35 rebase tests covering the reported loss, quoted identities, standalone sequence markers, nested lists/block scalars, duplicate and missing slugs, and byte-for-byte coverage of the actual project registry. Ruff lint, formatting, and git diff --check pass.

The fixed parser also round-trips all 46 currently labeled PR registries without losing or rewriting any card.

@greptile-apps

greptile-apps Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict.

Retrigger

[Medium risk] Changes how YAML project cards are parsed and split.

The PR appears safe to merge; no new actionable issue was identified.

Summary

The PR replaces first-key-based card detection with YAML sequence boundaries, preserving cards with reordered keys or standalone sequence markers. It adds regression tests for those layouts and for the real registry.

Reviews (2) · Last reviewed commit: "fix: recognize standalone YAML sequence ..."

Comment thread python/lean_pool/rebase.py Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant