Skip to content

release: prepare Arco 0.3.0 independent integration profile - #456

Merged
ethan-tyler merged 17 commits into
mainfrom
release/arco-030-independent-20261008
Oct 18, 2026
Merged

ethan-tyler merged 17 commits into
mainfrom
release/arco-030-independent-20261008

Conversation

@ethan-tyler

@ethan-tyler ethan-tyler commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Arco 0.3.0 defines an independent catalog, Flow and publication profile. Accepted runs retain their original manifest and execution declarations across later deployments, uncertain responses and restart. Computation success is durable before publication verification; independent consumers can inspect owner-verified output and consume a pinned catalog descriptor.

Changes

  • Operator-owned HTTP dispatch and sweeper repair preserve stable task identity, capacity refusal and explicit timer/priority refusal.
  • Frozen accepted plans block recovery of incomplete legacy reservations without sufficient proof.
  • Compatible publication fields, owner verification and task-scoped inspection reject forged visibility and descriptor replacement.
  • Catalog read handoff binds verified Workspace scope, one authority/projection cut and exact Parquet files. The control-store route remains operator-only and default-off.
  • R2 uses consistent ETag identities across PUT, HEAD and listing while retaining canonical JSON and legacy decoding. AWS/GCS/Azure identities remain unchanged. Historical versions and identical-content replacement generation identity are excluded.
  • A protected native R2 lane qualifies Arco's storage, owner recovery and packaged API/Flow behavior. Credential scope requires independent owner evidence of a known private denial-control object and a typed denial. Accepted-write and callback response faults occur at the client boundary; receipts explicitly record wireLoss=false.
  • Python/CLI/OpenAPI versions, release notes, migration guidance and supported profiles are reconciled. Authority defaults and disabled private authority-8 deletion remain intact. Turntable is not a dependency.

Verification

The candidate has 17 DCO commits ending at e9181eb16a3d725de457ce3b03f199c891c22da5; the worktree is clean. The current increment passed 13 complete local packaged-process cases, 12 fixture guard tests, five owner/configuration tests, three reference-seed tests, focused strict Clippy, formatting and workflow lint. Publication replay preserves every immutable field, refuses a changed object path, retains the original inspected descriptor and does not recompute. Failed local receipts remain retained, including fencing expiry after long local pauses and the corrected fixture oracles.

Earlier candidate revisions passed the release-required local workspace/API/Flow/parity, documentation, integrity, proto/JSON, Python and static release matrix. Those results remain bound to their source revisions.

Final-source CI and CodeQL passed. Packaged integration passed all 13 cases on clean merge commit af8ce3e58dafc580547dccbad0dc2d312df87820, whose parents are main b3b132ea8c134bb57209ef10ae4d51dd8f4ad01b and candidate e9181eb16a3d725de457ce3b03f199c891c22da5. Release-tag discipline remains skipped until tagging; ignored or skipped credentialed tests do not establish provider qualification.

The owner-reviewed native R2 qualification campaign passed all three jobs on clean source e9181eb16a3d725de457ce3b03f199c891c22da5 with the updated dedicated credentials. The credential could read/write the qualification bucket and received typed PermissionDenied for the independently confirmed private denial-control object. Owner recovery reconciled one accepted pointer CAS after client-boundary response loss, advanced the authority sequence exactly once, recreated disabled/default/pressure caches with zero initial demands/loads, and read the retained checkpoint after advancement. Its observed 212 logical calls and 23,627 submitted bytes stayed within the enforced 512-call/32 MiB limits.

The native API/Flow proof passed all 13 cases: pinned catalog full/range HTTP reads and retained reads after HEAD advancement; invalid/stale task authorization and cross-scope refusal; immutable execution across deployment, API/dispatcher restart and uncertain acceptance; verified publication, unavailable/corrupt output refusal, repair and callback replay without recomputation; changed-descriptor refusal and preserved original identity; capacity refusal, sweeper repair and HTTP timer refusal. Source, lockfile, toolchain, all four fixture hashes and all four executable hashes are retained with the receipts. The owner control object matched before and after the campaign. This qualifies the declared R2 static-S3/operator-HTTP profile; it does not establish production deployment, wire-level faults or broader provider capabilities.

The earlier native campaign failed credential scope in attempts 1 and 2 before native writes. Both failed artifacts remain retained beside the passing campaign. The original guard and source were unchanged; updated environment credentials resolved the configuration failure.

The limited live R2 storage probe passed on 869eadc8. Failed receipts and objects from the first executed attempt and diagnostic run remain retained; the diagnostic object's original content was independently reconciled. That earlier storage receipt does not qualify the current native integration profile.

Release gates

  • Scoped authorization, frozen accepted identity, owner-verified publication and compatible wire contracts.
  • Expanded standalone local packaged proof and fixture/owner regressions.
  • Final-source CI and clean PR merge-tree packaged proof.
  • Owner-reviewed final-source limited live R2 storage conformance.
  • Owner-reviewed native R2 integration qualification on the final candidate, including scope, accepted-write recovery, fresh caches, retained reads and all 13 API/Flow process cases.
  • Merge review and separate signed tagging/publication authorization.

No merge, runtime deployment, signed tag or release publication was performed. Root/worktrees and retained evidence were preserved. Failed cloud objects remain retained; conformance deletes/recreates only its own disposable fixtures. Physical request/cost estimates are unmetered; owner recovery enforces its logical-call/submitted-byte budget and the native job has a 45-minute timeout. This profile does not qualify historical-version reads, wire-level loss, IAM/STS, retention/GC, throughput or soak behavior.

Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Comment thread crates/arco-flow/tests/pilot_flow_http_fixture.py Fixed
Comment thread crates/arco-flow/tests/pilot_flow_http_fixture.py Fixed
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
@ethan-tyler
ethan-tyler deployed to r2-qualification October 13, 2026 02:36 — with GitHub Actions Active
Signed-off-by: Ethan Urbanski <ethan@urbanskitech.com>
@ethan-tyler
ethan-tyler deployed to r2-qualification October 14, 2026 02:21 — with GitHub Actions Active
@ethan-tyler
ethan-tyler deployed to r2-qualification October 18, 2026 22:44 — with GitHub Actions Active
@ethan-tyler
ethan-tyler deployed to r2-qualification October 18, 2026 22:45 — with GitHub Actions Active
@ethan-tyler
ethan-tyler marked this pull request as ready for review October 18, 2026 23:25
@ethan-tyler
ethan-tyler merged commit 9d03ccd into main Oct 18, 2026
31 of 33 checks passed
@ethan-tyler
ethan-tyler deleted the release/arco-030-independent-20261008 branch October 18, 2026 23:26

This branch was successfully deployed

1 active deployment
r2-qualification — e9181eb1 Deployed Oct 18, 2026 by ethan-tyler via Native R2 API and owner recovery #11
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.

2 participants