Skip to content

docs(buck2): record CAS origin prototype - #1310

Closed
schickling-assistant wants to merge 8 commits into
mainfrom
schickling-assistant/2026-09-19-cas-origin-prototype
Closed

schickling-assistant wants to merge 8 commits into
mainfrom
schickling-assistant/2026-09-19-cas-origin-prototype

Conversation

@schickling-assistant

@schickling-assistant schickling-assistant commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Problem

Decision 0034 uses immutable GitHub Release assets as the durable origin and the shared CAS only as an accelerator. The existing bazel-remote also exposes a digest-addressed HTTP CAS, but the consumer, authentication, offline, action-cache, and retention behavior had not been exercised together.

Goal

Retain a reproducible experiment record that lets the durable-origin options be re-derived without making a new architecture decision.

Decisions

No architecture decision. The experiment uses the current public @overeng/utils package tarball because no buck2-product-v3-utils-* release exists, and records that fixture difference explicitly.

Verification

axe vrs check --profile strict context/buck2:

axe vrs check: ok

Observed on bazel-remote 2.6.2:

  • authenticated correct-digest PUT: 200; wrong-digest PUT: rejected with checksum mismatch;
  • read-public mode: Nix pkgs.fetchurl, pnpm URL dependency, and Buck2 http_file all returned byte-identical artifacts;
  • strict Basic auth: pnpm passed, pkgs.fetchurl and Buck2 http_file failed at their current credential boundaries;
  • Buck2 incremented CAS GET hits by one and left action-cache counters at zero; its warm repeat used 0 network bytes;
  • pnpm recorded the independently computed SHA-512 but frozen offline reinstall still required the direct tarball.

The scratch service and Buck daemons were stopped; ports 50045/50046 were verified closed.

Complexity

No production machinery. One evidence record only.

Concerns

The successful transport probes do not establish durable retention: the measured service is a bounded LRU cache. A publicly readable CAS also cannot contain private artifacts, and the current Nix/Buck HTTP consumers cannot use the strict Basic-auth shape without a different fetch boundary or client support.

Friction & bottlenecks

  • The requested buck2-product-v3-utils-* fixture does not exist; the current buck2-package-v1-overeng-utils-* release is the available public tarball.
  • The released package has direct-URL runtime dependencies, so pnpm 11 requires blockExoticSubdeps: false; this is transport-independent and already anticipated by the composition bakeoff.
  • The fleet heavy-command admission wait dominated two Buck wall times; inner build times and gate-wrapped wall times are reported separately.

Follow-ups

None created: this PR deliberately supplies evidence without selecting among release assets, a durable CAS backend, or another retained origin.

References

Posted on behalf of @schickling
field value
agent_identity dev3.direct.omp.t3mkm4sd
session unknown
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.1.14
agent_runtime OMP 18.1.14
tooling_profile dotfiles@5d1e05f

agent-identity: dev3.direct.omp.26zazjgy
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
agent-model: openai-codex/gpt-5.6-sol
tooling-profile: dotfiles@01b2d98-dirty
…out a registry

Promotes the bakeoff proposal after its gate was met by the no-registry
publication edge (#1289). Constitutional edits, confirmed by Johannes (q29,
2026-09-15): vision problem 4 and criterion 6, BUCK-R05/R06, COMP-R01/R02,
MR-R11; amendments to decisions 0014, 0020, 0027.

agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
agent-identity: dev3.direct.omp.t3mkm4sd
agent-persona: generalist
agent-supervisor: unavailable
agent-tool: OMP
agent-tool-version: 18.1.14
agent-runtime: OMP 18.1.14
tooling-profile: dotfiles@5d1e05f
Base automatically changed from schickling-assistant/2026-09-15-composition-0034 to main September 20, 2026 06:02
@schickling-assistant

Copy link
Copy Markdown
Collaborator Author

Superseded: this record landed on main via #1319 (experiments) / #1301 (key-stability evidence, DELTA-001 removal). Closing per the 2026-09-22 stack handoff.

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