Skip to content

id(roc): F11.18 pin the Roc compiler for checked-in example modules and rebuild them in CI #541

Closed

Description

@dezren39

What and why

Rebuild every example with the nix/roc.nix compiler, make each build.sh refuse another compiler, and add a CI job that rebuilds examples and checks behaviour (not hashes) with the sandbox suite and fuel budgets. Checked-in modules are built with whatever roc is on PATH, so nobody can tell which compiler produced them or rebuild them the same way.

Source

Current status

Not started. pkgs/id/examples/territory/build.sh:4 ROC="${ROC:-roc}", with no version check (the same pattern is in every build.sh). pkgs/id/tests/toolchain_pin.rs covers only the Rust toolchain. No workflow in .github/workflows/ rebuilds examples.

Acceptance criteria

  • Every example is rebuilt with the nix/roc.nix compiler
  • Each build.sh refuses to run with any other compiler version
  • A CI job rebuilds the examples and checks behaviour (sandbox suite and fuel budgets), not hashes

Size

M

Prerequisites

None.

Activity

  1. added
    kind/ciCI/CD pipelines, workflows, and build automation
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    area/ciCI/CD pipelines, workflows, and build automation (area)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    and removed
    enhancementNew feature or request
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Verified still live on main 14dd66b6 (2026-10-26, fleet monitor). pkgs/id/examples/territory/build.sh still opens with ROC="${ROC:-roc}" and no version check (the same pattern the body reports in every example build.sh), and no workflow under .github/workflows/ rebuilds the examples.

    Related: pkgs/id/tests/toolchain_pin.rs pins only the Rust toolchain — the Roc side is the gap. Sibling #565 (Roc example migration, enriched last run) touches the same examples from a different angle.

    Risks / suggested approach: have each build.sh compare roc --version against the nix/roc.nix pin and refuse otherwise, rebuild all examples with the pinned compiler, then add the CI rebuild job checking behaviour (sandbox suite + fuel budgets), not hashes, per the acceptance criteria.

  3. added
    priority/highImportant and time-sensitive
    nowOrg Project gate: active priority — orchestrator adds to the board
    on Oct 27, 2026
  4. 36 remaining items

  5. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 2, 2026
  6. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    Resumed queue task 1363 to shepherd PR #3883. Fresh checks show the PR is open and authored by dezren39, matching the signed-in account; this is a Drew-owned PR. I will not review, modify, or merge it under the hard-stop rule. Parking this task for 30 minutes pending a non-Drew owner / explicit handoff.

  7. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 2, 2026
  8. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    Parked queue task 1363 for 30 minutes. PR #3883 is open and authored by the signed-in dezren39 account (Drew); the protocol hard-stop forbids touching Drew-owned PRs. Resume only after a non-Drew owner or explicit handoff, then recheck PR state, CI, and review comments. No implementation or PR changes made.

  9. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    Parked queue task 1363 for 30 minutes. PR #3883 is open and authored by dezren39 (Drew-owned account); hard-stop prohibits review, modification, or merge. Fresh revalidation 2026-11-02T23:22Z: PR still OPEN (head fix/id-541, base main), only bot reviews since (coderabbit summary, codex no-findings), CodeRabbit check passing. No non-Drew owner or explicit handoff. Resume: recheck PR ownership/handoff, then CI and review threads; do not reimplement.

  10. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — state: handed off

    Queue task #1363 is handed to OpenCode for execution.

  11. added 2 commits that reference this issue on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)area/ciCI/CD pipelines, workflows, and build automation (area)effort/mMedium: expected under 1 day of workkind/ciCI/CD pipelines, workflows, and build automationmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmeta/protocol-gapAn agent touched this without the required agent-note comment or labels; needs review of whymode/onlineFully doable remotely: design, config, code, cloudnowOrg Project gate: active priority — orchestrator adds to the boardpriority/highImportant and time-sensitivequeue/parkedQueue task is parked (waiting on CI, time, or an event)source/humanFiled directly by a humanstatus/parkedDeliberately paused with a recorded resume conditionwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions