Skip to content

Bun mismatch switch: drop it from local gates once the pin's packageManager names the machines' Bun #450

Closed

Description

@Blind-Striker

The maintainer's rule is one Bun per machine; every machine now runs Bun 1.4.3 in ~/.bun, while the pinned upstream (external/opencode/package.json) names bun@1.4.2. Local gates therefore run with OPENCODE_SDK_TESTS_BUN_MISMATCH=allow and are local evidence only; CI installs the exact pin (setup-pinned-bun, bun-version-file) and never sets the switch (CiPinnedBunTests).

Removal trigger: the Faz 5 upstream refresh moves the pin to a release whose packageManager is the Bun on the machines. Then local gates stop setting the switch, and the manual/verify-array guidance returns to the plain pinned Bun. If the pin and the machines diverge again, the machines follow the pin (Estate canon), not the other way round.

Activity

  1. added this to the 1.0 milestone on Oct 18, 2026
  2. Blind-Striker commented on Oct 23, 2026

    @Blind-Striker
    CollaboratorAuthor

    The removal trigger is met.

    • The pin names the machines' Bun. Since feat!: refresh the upstream pin to v2.1.4 #532 the pin is v2.1.4, and external/opencode/package.json names bun@1.4.4. Every lane machine now runs 1.4.4 (KAER, dev-01, the Mac, UNDERDARK; UNDERDARK's upgrade finished 2026-10-23).

    • The local gates no longer set the switch:

      • the internal gate scripts (windows-gate.ps1, dev01-gate.sh);
      • the operating manual and the lane recipes;
      • the harness verify arrays and task templates.

      An off-pin Bun now fails the tests' prerequisite check, and that is reported as a finding.

    • Evidence on UNDERDARK (Bun 1.4.4), with OPENCODE_SDK_TESTS_BUN_MISMATCH removed from the environment: Sdk.Tests passed on net10.0 and net472 (the door table, 336 / 336 each), and Tools.Tests passed 2095 / 2095. Each run included the pinned-server prerequisite check.

    • The switch stays in code (PinnedServerPrerequisites, quality-gates.md's exception paragraph) for a future divergence, as this issue says. If the pin and the machines diverge again, the machines follow the pin. CI keeps installing the exact pin (CiPinnedBunTests).

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

    No labels
    No labels

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions