Skip to content

Reject unreadable case bundles without replacing saved evidence - #89

Merged
EauDoon merged 1 commit into
mainfrom
fix/bounded-case-publication-20261015
Oct 15, 2026
Merged

EauDoon merged 1 commit into
mainfrom
fix/bounded-case-publication-20261015

Conversation

@EauDoon

@EauDoon EauDoon commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Problem

Individually bounded stage files could produce a portable bundle larger than the replay limit. Saving succeeded and replaced latest.json, but export/replay then failed. A persistence failure inside a stage handler could also be mistaken for a component failure and publish a smaller replacement case.

Change

  • Measure exact UTF-8 sizes for formatted stage files, manifest, report, and the combined portable bundle before creating a run directory.
  • Reject oversized cases without truncating evidence or replacing the previous latest pointer.
  • Propagate finalization failures outside component-error handling.

Verification

  • npm run check: 212 tests passed, syntax and version gates passed.
  • Regression coverage includes combined-stage size, formatting expansion, multibyte input, exact-limit acceptance, and five end-to-end stage outcomes preserving the previous case.
  • Independently reviewed and checked before publication.

No component pins, release tags, deployment settings, or live connectors change.

@EauDoon
EauDoon merged commit f9790fb into main Oct 15, 2026
11 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