Skip to content

[0.3.0-A] Operation registry, dry-run planning, save policy, and schema compatibility #266

Description

@mberrys

Problem
Loupe now has multiple machine-readable contracts, but version numbers alone do not define compatibility. A report, operation plan, or provenance chain must remain readable after application upgrades, and unsupported major versions must fail explicitly rather than being partially interpreted.
Technical direction

struct PDFSchemaVersion
{
    quint16 major = 1;
    quint16 minor = 0;
};

enum class PDFCompatibility
{
    Compatible,
    UpgradeRequired,
    UnsupportedMajor,
    Invalid
};

PDFCompatibility checkCompatibility(PDFSchemaKind kind,
                                    PDFSchemaVersion producer,
                                    PDFSchemaVersion consumer);

Rules:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions