Skip to content

Add export validation summary output #39

@needsofmany

Description

@needsofmany

Goal

Add a simple export validation summary that tells users whether the export output appears complete enough to preserve.

The summary should help regular users and contributors understand what was created without requiring them to inspect raw JSON files manually.

Why this matters

PluralBridge is preservation-first. After a user runs an export, they need a plain signal that says what was found, what was saved, and what may be missing.

This should make the export path easier to trust and easier to troubleshoot.

Suggested scope

Add a validation summary that checks for expected export output such as:

  • exports/json/
  • exports/json/members.json
  • exports/json/groups.json
  • exports/json/frontHistory.json
  • exports/member_images/
  • avatar manifest output, if present
  • notes output, if present

The first version can be basic. It should report file presence, rough counts where safe, and clear warning messages for missing expected files.

Safety requirements

Do not print API tokens.

Do not print authorization headers.

Do not print private notes, messages, member details, friend data, fronting details, or raw export content.

Do not include real user export data in tests or examples.

Use synthetic fixtures only.

Possible output style

A plain text summary is enough for the first version, for example:

  • Export folder found
  • JSON files found
  • Members file found
  • Member count detected
  • Avatar folder found
  • Notes folder found
  • Warnings
  • Suggested next action

Possible follow-up work

Later Issues can add:

  • machine-readable validation output
  • richer user-facing reports
  • integration with the guided launcher
  • validation tests based on synthetic fixtures
  • SQLite import readiness checks

Acceptance criteria

  • A user can run a validation step after export.
  • The validation output gives a clear pass/warn/fail style summary.
  • Missing expected output is reported in plain language.
  • No private export content, tokens, notes, messages, logs, screenshots, or database files are printed or included.
  • Any tests or examples use synthetic fixtures only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions