Skip to content

Bound sealed execution result payloads - #9

Merged
mark-e-deyoung merged 3 commits into
mainfrom
fix/sealed-result-budget
Sep 15, 2026
Merged

mark-e-deyoung merged 3 commits into
mainfrom
fix/sealed-result-budget

Conversation

@mark-e-deyoung

@mark-e-deyoung mark-e-deyoung commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Why

The sealed public worker bounds incoming capsules, but a buggy or adversarial public-safe task could still write unbounded stdout/stderr or result files and consume runner disk/artifact storage.

Change

  • bound captured stdout/stderr using deterministic truncation;
  • bound substantive result file count, per-file size, and total retained result size;
  • reject symlink/non-regular result entries;
  • replace over-budget substantive results with a small bounded resource-exceeded record rather than upload a misleading partial result;
  • preserve original task exit state in execution metadata;
  • require the exact expected age recipient shape;
  • add public contract tests for stream truncation, oversized result replacement, excessive file count, and recipient-shape rejection;
  • preserve the seven-day encrypted-artifact pickup window.

Boundary

This is public execution-economics/reliability hardening, not a new project semantic or evaluator. It adds no scheduler, archive, private credential, public decryption key, private task identity, or trusted-side tracking coordinate.

Trusted-side dispatch/pickup/validation/reconciliation remains private and is intentionally not linked from this public PR.

@mark-e-deyoung
mark-e-deyoung changed the base branch from main to fix/sealed-result-retention-7d September 14, 2026 20:45
@mark-e-deyoung
mark-e-deyoung changed the base branch from fix/sealed-result-retention-7d to main September 15, 2026 03:48
@mark-e-deyoung
mark-e-deyoung force-pushed the fix/sealed-result-budget branch from 2576dc1 to 212d9e2 Compare September 15, 2026 03:50
@mark-e-deyoung
mark-e-deyoung merged commit ef6940b into main Sep 15, 2026
1 check 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