Skip to content

[P2] Build cache keys do not include the installed toolchain identity #12

Open

Description

@UnsignedArduino

build_binary_js receives the source and destination, then resolves mkc from ambient installation state. The compiler installation is not represented in the task's arguments, so replacing it does not invalidate an unchanged project's cached artifacts.

Relevant code: inputs/code.py, lines 128–132.

A controlled probe used the real scheduler and a fake compiler whose output included its installed version:

  1. Build with compiler version v1.
  2. Replace the simulated installed compiler with v2, leaving the project/config unchanged.
  3. Build again: no commands run, and the artifact still contains the v1 output.
  4. Build with --full-rebuild: the artifact now contains v2 output.

This matters especially for the managed/system/path toolchain selection and version-pinning roadmap. Persisting those selections and supplying subprocess environments will not make them part of redun's cache keys. A selected toolchain can therefore differ from the one that produced a returned artifact.

Expected behavior: represent the selected toolchain identity/version as an explicit build dependency, with invalidation limited to the tasks that actually use it. This concerns toolchain selection, separately from the documented policy requiring --full-rebuild for out-of-band source edits.

Found while reviewing PR #7, toolchain at ce12c48.

Activity

  1. changed the title [-][P2] Build cache keys do not include the installed toolchain identity[/-] [+]Build cache keys do not include the installed toolchain identity[/+] on Nov 4, 2026
  2. changed the title [-]Build cache keys do not include the installed toolchain identity[/-] [+][P2] Build cache keys do not include the installed toolchain identity [found by chatgpt codex][/+] on Nov 4, 2026
  3. changed the title [-][P2] Build cache keys do not include the installed toolchain identity [found by chatgpt codex][/-] [+][P2] Build cache keys do not include the installed toolchain identity[/+] on Nov 4, 2026
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

    bugSomething isn't workingfound by chatgptIssue was originally found by ChatGPT Codex. Only used for tracking.p2

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions