Skip to content

Add XML tree, semantic tree - #1

Merged
mattbriggs merged 1 commit into
mainfrom
mdb_20260811_update
Aug 12, 2026
Merged

mattbriggs merged 1 commit into
mainfrom
mdb_20260811_update

Conversation

@mattbriggs

@mattbriggs mattbriggs commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Added reconciliation support for generic XML, JSON, and YAML documents.
    • Added built-in profiles with format-specific ordering behavior.
    • Added secure parsing limits and clear input validation errors.
    • Added unresolved-region reporting and configurable ambiguity handling.
    • CLI installation and missing-dependency guidance are now clearer.
  • Bug Fixes

    • Ambiguous matches no longer produce misleading insert, delete, or localization presence findings.
    • Genuine, unambiguous differences remain reported accurately.
  • Documentation

    • Expanded setup, CLI, API, profile, alignment, and classification guidance with JSON/YAML examples.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 153feee9-4f23-49e2-a69a-da43d44ddb02

📥 Commits

Reviewing files that changed from the base of the PR and between ad029db and 829f3e2.

📒 Files selected for processing (51)
  • README.md
  • _design/2026-08-11-Implementation-Note1.md
  • _design/implementation-note-structural-reconciliation-iteration.md
  • docs/api/cli.md
  • docs/api/http.md
  • docs/design/alignment.md
  • docs/design/classification.md
  • docs/development/extension-points.md
  • docs/getting-started.md
  • docs/profiles/authoring.md
  • pyproject.toml
  • src/reconciliation/adapters/data_tree/__init__.py
  • src/reconciliation/adapters/data_tree/canonical_adapter.py
  • src/reconciliation/adapters/data_tree/errors.py
  • src/reconciliation/adapters/json/__init__.py
  • src/reconciliation/adapters/json/canonical_adapter.py
  • src/reconciliation/adapters/json/errors.py
  • src/reconciliation/adapters/json/parser.py
  • src/reconciliation/adapters/xml/canonical_adapter.py
  • src/reconciliation/adapters/yaml/__init__.py
  • src/reconciliation/adapters/yaml/canonical_adapter.py
  • src/reconciliation/adapters/yaml/errors.py
  • src/reconciliation/adapters/yaml/parser.py
  • src/reconciliation/application/contracts/localization.py
  • src/reconciliation/application/services/localization_validation.py
  • src/reconciliation/core/alignment/aligner.py
  • src/reconciliation/core/classification/classifiers/insert_delete.py
  • src/reconciliation/core/classification/registry.py
  • src/reconciliation/core/contracts/alignment.py
  • src/reconciliation/core/contracts/profiles.py
  • src/reconciliation/core/engine.py
  • src/reconciliation/delivery/cli/app.py
  • src/reconciliation/delivery/cli/entry.py
  • src/reconciliation/delivery/composition.py
  • src/reconciliation/profiles/generic_json_v1.yaml
  • src/reconciliation/profiles/generic_xml_v1.yaml
  • src/reconciliation/profiles/generic_yaml_v1.yaml
  • src/reconciliation/reporting/html/templates/report.html.j2
  • src/reconciliation/reporting/html/view_model.py
  • src/reconciliation/reporting/summary_renderer.py
  • tests/acceptance/test_ac_unresolved_alignment.py
  • tests/integration/test_generic_json_pipeline.py
  • tests/integration/test_generic_yaml_pipeline.py
  • tests/unit/adapters/test_data_tree_adapter.py
  • tests/unit/adapters/test_json_adapter.py
  • tests/unit/adapters/test_profiles.py
  • tests/unit/adapters/test_yaml_adapter.py
  • tests/unit/application/test_ambiguity_guard.py
  • tests/unit/core/test_unresolved_alignment.py
  • tests/unit/delivery/test_cli.py
  • tests/unit/delivery/test_orchestration.py

📝 Walkthrough

Walkthrough

The change adds secure generic XML, JSON, and YAML adapters, canonical data-tree mappings, generic profiles, ambiguity-aware alignment and classification, CLI packaging updates, reporting fields, documentation, and broad test coverage.

Changes

Generic reconciliation and unresolved alignment

Layer / File(s) Summary
Contracts, design, and documentation
_design/..., docs/..., README.md
Documents generic adapters, canonical mappings, unresolved alignment states, presence policies, profiles, installation, and usage.
Secure parsing and canonical tree adapters
src/reconciliation/adapters/...
Adds bounded JSON and YAML parsing, generic XML document adaptation, canonical data-tree construction, and structured errors.
Unresolved alignment and presence classification
src/reconciliation/core/..., src/reconciliation/application/...
Adds unresolved alignment edges and regions, ambiguity-aware presence policies, diagnostics, localization filtering, and unresolved-region summaries.
Profiles, registry, delivery, and reporting
src/reconciliation/profiles/..., src/reconciliation/delivery/..., src/reconciliation/reporting/..., pyproject.toml
Registers generic profiles, updates optional extras and the CLI entry point, and reports unresolved-region counts.
Adapter, pipeline, ambiguity, and delivery validation
tests/...
Adds unit, integration, acceptance, profile, registry, and CLI coverage for the new behavior.

Estimated code review effort: 5 (Critical) | ~120 minutes

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mdb_20260811_update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mattbriggs
mattbriggs merged commit aec883b into main Aug 12, 2026
1 of 3 checks passed
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