# Changelog

## Score

- CAI 63 → 59 (-4.1)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 90 → 71 (-19.8)
- Architecture 69 → 69 (+0.0)
- Maturity 53 → 47 (-5.4)
- Readiness 65 → 65 (+0.0)
- Security 99 → 99 (+0.0)

## Resolved (6)

- Both `IRB.Context` and `Rib.Rbtrace` expose `puts` and `print` methods. While these are standard Ruby IO methods, having them on distinct domain objects (`Context` vs `Rbtrace`) without a shared output interface creates duplication. `Rbtrace` also has `format_result` which is related to output but not present in `Context`.
- Documentation: no architecture or design documentation
- Multiple types expose methods for evaluating code, but with inconsistent naming and signatures. `eval_and_inspect` implies inspection, `evaluate` is generic, `loop_eval` implies a loop, and `eval` is standard. There is no unified interface for code execution across the library's components.
- Off-boarding risk: anonymized user #1
- Two methods on `RBTracer` appear to perform overlapping functionality for adding methods to be traced. `add_slow` takes only methods, while `add` takes methods and a `slow` boolean. It is unclear if `add_slow` is a convenience wrapper for `add(methods, true)` or if they have distinct internal behaviors.
- Workflow token permissions not restricted

## New (6)

- Inconsistent naming for output methods across different types. `puts` and `print` are used in `Context`, `Rbtrace`, and `RBTracer`. While these mimic Ruby's IO methods, the presence of both `puts` and `print` in some contexts but not others (e.g., `RBTracer` only has `puts`) creates inconsistency. Additionally, `Rbtrace` has `format_result` which is a distinct concern but grouped with IO methods.
- Multiple methods for code evaluation with inconsistent signatures and naming. `eval_and_inspect` implies a specific output format, `eval` is generic, and `evaluate` is a synonym for eval but with different parameters (file/line context).
- Off-boarding risk: anonymized user #1
- Orphaned file (lib/rbtrace/rbtracer.rb)
- Redundant methods for adding methods to watch. `add_slow` is a specific case of `add` where `slow` is likely true or implied. This creates confusion about which method to use.
- Workflow token permissions not restricted (.github/workflows/ci.yml)

## Changes since last survey

- 1 commits — 1 feature/other, 0 fixes

## By area

- (repo) — 1 commit

## Notable commits

- change: Merge pull request #111 from yuri-zubov/reduce-gem-size
