Skip to content

Define a reproducible migration evidence gate #53

Description

@tuanle96

Outcome

Replace the ambiguous production_grade snapshot gate wording from #27 with a concrete, reproducible migration evidence bundle that tells a consultant what is safe, what needs review, and what needs a migration script.

The action taxonomy (no_action / needs_review / needs_script) already shipped in v1.1.0. What is missing is a defined artifact and a mechanical pass/fail interpretation.

Proposed artifact

One versioned JSON evidence bundle containing:

  • source and target Odoo versions;
  • addon/source identifiers and scan timestamp;
  • data-quality summary with ACL/coverage caveats;
  • upgrade-log findings and schema/source worklist;
  • unresolved needs_review and needs_script items;
  • tool/package version and reproducibility metadata;
  • explicit gate result with machine-readable reasons.

Acceptance criteria

  • JSON schema defines required fields, bounds, versioning, and allowed gate outcomes.
  • At least one clean fixture and one blocked fixture demonstrate interpretation.
  • The gate fails only on documented invariants; it never equates incomplete ACL visibility with clean data.
  • Existing data_quality_report, analyze_upgrade_log, scan_addons_source, and upgrade_risk_report outputs map into the artifact without a second competing taxonomy.
  • A human-readable guide explains what the artifact proves and what still requires consultant judgment.
  • Focused regression tests, structural test, architecture fitness, Ruff, and mypy pass.

Decision required before implementation

Choose either:

  1. adopt the evidence-bundle definition above under a descriptive name such as migration_readiness_evidence; or
  2. drop the old production_grade label entirely if no consumer needs a hard gate.

This issue is definition-first. It does not authorize automatic remediation or direct writes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions