# Changelog

## Score

- CAI 76 → 74 (-2.7)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 100 → 76 (-24.3)
- Architecture 98 → 98 (+0.2)
- Maturity 70 → 70 (-1.0)
- Readiness 75 → 75 (-0.1)
- Security 80 → 79 (-1.3)

## Resolved (4)

- Duplicate registration mechanism for interruption adapters. One is a class method on the registry (`InterruptionAdapters.register`), and the other is an instance method on the main context (`JobIteration.register_interruption_adapter`). This creates two entry points for the same concern, risking confusion about which one to use or if they sync state.
- Fork-triggerable workflow runs with an unscoped write token
- Off-boarding risk: anonymized user #1
- Workflow token permissions not restricted

## New (11)

- Documentation: no contributor guidance (README.md)
- Documentation: no usage examples (README.md)
- Duplicate registration mechanism for interruption adapters. One method exists on the main JobIteration class, and another exists on the dedicated InterruptionAdapters collection class. This creates confusion about which entry point to use.
- Fork-triggerable workflow runs with an unscoped write token (.github/workflows/cla.yml)
- High CVE: [GHSA redacted] (Gemfile.lock)
- Off-boarding risk: anonymized user #1
- Orphaned file (lib/job-iteration/active_record_batch_enumerator.rb)
- Orphaned file (lib/job-iteration/active_record_batch_enumerator/column_manager.rb)
- Orphaned files with no living knowledge
- Outdated: json
- Workflow token permissions not restricted (.github/workflows/ci.yml)

## Changes since last survey

- 15 commits — 15 feature/other, 0 fixes

## By area

- (repo) — 7 commits
- lib/job-iteration — 4 commits
- (root) — 3 commits
- .github/workflows — 1 commit

## Notable commits

- change: Add a changelog entry for running jobs in Ractors
- change: Bump ruby/setup-ruby from 1.327.0 to 1.329.0
- change: Describe parallel fan-out logging as enqueue attempts
- change: Don't read Sorbet signatures in non-main Ractors
- change: Let jobs read the global settings in non-main Ractors
- change: Let parallel enumerators tolerate named enqueue errors
- change: Link changelog entry and clarify opt-in skip semantics
- change: Merge main and preserve both unreleased feature entries
- change: Merge pull request #742 from selesse/repair-ci-dependency-drift
- change: Merge pull request #745 from Shopify/dependabot/github_actions/ruby/setup-ruby-1.327.0
- change: Merge pull request #746 from justinbicknellshopify/justinbicknell/tolerated-parallel-enqueue-errors
- change: Merge pull request #747 from Shopify/ractorize
- change: Merge pull request #749 from Shopify/dependabot/github_actions/ruby/setup-ruby-1.329.0
- change: Merge pull request #750 from Shopify/ca-bump-job-iteration-1-16-0
- change: Release job-iteration v1.16.0
