Skip to content

Epic: Buck2 as the repository build authority #1147

Description

@schickling-assistant

2026-09-13 — plan of record moved

Live state now lives in the rendered master epic schickling/megarepo-all#120 (rendered from buck2-ledger.json, PR schickling/megarepo-all#121). Decisions of 2026-09-12/13 (oversight seat dev3.direct.omp.t3mkm4sd, q1–q23): BUCK-R15 net complexity is the hard gate (decision 0031); local checks stay devenv verbs over one scoped Buck aggregate (0032); two cache trust tiers (0033); the #1260–#1265 stack lands as #1260 + value-ordered slices; cross-repo composition direction is artifact-default with no registry (release-asset origin + CAS accelerator; PRs #1282, #1287), composed-by-default paused. The sections below are the pre-2026-09-12 state and are retained as history.


Status

The migration is active again. A takeover audit found that the existing draft heads do not yet satisfy the full bounded deterministic JavaScript/TypeScript authority goal, and the stack must be rebased onto current main before its CI evidence is meaningful.

Canonical contract: context/buck2/ (vision, requirements, roadmap, decisions, and operation disposition).

Confirmed remaining work

  • restack feat(buck2): transfer TypeScript product authority #1260-buck2: transfer Rust product authority #1265 onto current main and restore a linear GitHub stack
  • admit the remaining bounded effect-schema-form-aria unit suite
  • enable shared-cache uploads for authoritative JavaScript product actions
  • replace the last oxc-config Nix/pnpm source build and fixed-output derivation with tracked Buck products, including the StyleX plugin entry
  • make regeneration, freshness checking, recomposition, and publication a deterministic task chain
  • record the BUCK-R15 complexity ledger and BUCK-R16 exact-head cache/CI benchmarks in the repository
  • run the complete local and CI proof before marking the stack ready

Downstream consumer PRs remain blocked on the final merged effect-utils main SHA.

Prior draft-head evidence

The measurements below describe the pre-takeover draft heads. They are useful baselines, but they do not close the current migration or replace fresh evidence from the rebased final heads.

Prior final evidence

  • definitive fleet apply passed at megarepo-all 60fb762d9a2028c026ec3657ae8b1790d1fa1468 with effect-utils 24ce88a08c729df567689260300ed5c767f8fb58 (335.10s)
  • exact repeat converged without work: 8 foreign mounts AlreadyCurrent, 0 overlays, 0 recoveries, 0 Buck builds, root changedPaths: [] (62.66s)
  • complete admitted authority build passed; unchanged warm run 0.377s
  • fresh buck-out reconstruction: 112.94s, 1,241/1,241 remote cache hits (100%), 0 local actions
  • hermetic static authority passed in 18.35s; megarepo suite passed 33 files / 621 tests
  • final aggregate commit: 60fb762d9a2028c026ec3657ae8b1790d1fa1468
  • final authority commit: 24ce88a08c729df567689260300ed5c767f8fb58
  • immutable megarepo product: buck2-product-v3-megarepo-f86c88640238dd6799ac46ddf4a7d9c836d38397eedc4f93f32a1f2d197d1be2
  • product digest: f86c88640238dd6799ac46ddf4a7d9c836d38397eedc4f93f32a1f2d197d1be2
  • PR-B check:quick: 66s baseline to 27.361s (-38.639s, -58.5%)

Prior complexity disposition (BUCK-R15)

Final non-doc/non-test ledger: 705 files, +28,714/-12,286 lines, net +16,428. This is a positive implementation phase, not a LOC reduction. The increase is the shared typed Buck/composition/runtime authority plus explicit generated projections carried across eight consumers. The corresponding operational surface is smaller and closed: 43 governed operations, 3 Buck-owned, 40 outside-policy, no pending or dual authority.

Draft PR stack

  1. feat(buck2): transfer TypeScript product authority #1260 — TypeScript product authority
  2. feat(buck2): transfer bounded unit-test authority #1261 — unit-test authority
  3. feat(buck2): complete TypeScript authority #1262 — TypeScript authority
  4. Buck2: transfer static operation authority #1263 — static operations
  5. Buck2: publish workspace editor dependency views #1264 — editor authority
  6. buck2: transfer Rust product authority #1265 — platform/Rust and final hub authority
  7. final JavaScript/TypeScript closure PR — pending
  8. overengineeringstudio/diffstream#74
  9. Adopt composed Buck authority livestorejs/livestore#1622
  10. schickling/schickling.dev#198
  11. schickling/schickling-stiftung#295
  12. schickling/dotfiles#2736
  13. overengineeringstudio/overeng#216
  14. schickling/megarepo-all#118

#1260 is ready; the remaining implementation PRs are draft. No automatic merge or enrollment is enabled.

Review findings closed

  • no-op composition republished unchanged overlays
  • capability realization could lose Nix store paths to GC during a long apply
  • hermetic oxlint wrapper omitted the tsgolint runtime
  • the resulting type-aware lint surfaced a deprecated Bun stream helper; the final test captures stderr through a file sink

Tooling follow-up: schickling/dotfiles#2740 and schickling/dotfiles#2741.

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:nixNix flakes, derivations, FOD hashes, builders · Set: manualarea:rustRust code and tooling · Set: manualarea:typescriptTypeScript code, tsconfig, and type definitions · Set: manualorigin:agentFiled or primarily produced by an AI agent · Set: AI agent or manualtype:epicLarge tracking issue with child tasks · Set: manual

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions