/ rfcs / 0007-fix-testing-import-and-align-ci-toolchain.md
0007-fix-testing-import-and-align-ci-toolchain.md
 1  # RFC-0007 — Fix Testing Import and Align CI Toolchain
 2  
 3  Status: Accepted
 4  
 5  ## Summary
 6  
 7  Fix a duplicate import error in `lightspeed/testing` and align CI runtime versions with the repository `.tool-versions` pin.
 8  
 9  ## Motivation
10  
11  `gleam check` fails because `lightspeed/testing` imports `lightspeed/agent/isa` twice. CI also used broader runtime versions than local asdf pins, which can cause environment drift.
12  
13  ## Design
14  
15  - Replace duplicate module imports in `src/lightspeed/testing.gleam` with a single selective import:
16    - `import lightspeed/agent/isa.{opcode, type Instruction}`
17  - Update `.github/workflows/ci.yml` setup-beam versions to:
18    - `otp-version: 28.5`
19    - `gleam-version: 1.16.0`
20    - `rebar3-version: 3.27.0`
21  
22  ## API impact
23  
24  No public API changes.
25  
26  ## Protocol impact
27  
28  No protocol changes.
29  
30  ## ISA impact
31  
32  No ISA changes.
33  
34  ## Security impact
35  
36  No direct security impact. CI version alignment reduces supply-chain drift in automated checks.
37  
38  ## Alternatives
39  
40  - Keep CI version ranges and accept drift risk.
41  - Fix duplicate import only and postpone CI alignment.
42  - Pin CI via container image instead of setup-beam versions.
43  
44  ## Unresolved questions
45  
46  - Should CI run against both pinned versions and an additional latest-compatible matrix?