# Changelog

## Score

- CAI 43 → 50 (+7.0)
- Rubric changed (rubric-2026.09.8 → rubric-2026.09.17) — scores are not directly comparable.

## Lenses

- Code Health 77 → 78 (+0.3)
- Architecture 76 → 75 (-0.7)
- Maturity 87 → 87 (-0.1)
- Readiness 51 → 41 (-9.8)
- Security 23 → 46 (+22.9)
- Domain Modelling 91 → 93 (+2.1)
- Event-Driven 80 → 80 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
- Accessibility 55 → 55 (+0.0)
- Performance 100 (new)

## Resolved (106)

- CfgParser._expression (cognitive 25) (scripts/check_no_panics.py)
- CfgParser._expression (cyclomatic 17) (scripts/check_no_panics.py)
- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no installation or build instructions (docs/internal/reborn/README.md)
- Documentation: no usage examples (README.md)
- FileTooLong: scripts/check_no_panics.py (scripts/check_no_panics.py)
- Hotspot: crates/app/ironclaw_cli/src/commands/config/set.rs (crates/app/ironclaw_cli/src/commands/config/set.rs)
- Hotspot: crates/app/ironclaw_cli/src/commands/traces/mod.rs (crates/app/ironclaw_cli/src/commands/traces/mod.rs)
- Hotspot: crates/app/ironclaw_cli/src/runtime/mod.rs (crates/app/ironclaw_cli/src/runtime/mod.rs)
- Hotspot: crates/contracts/ironclaw_common/src/llm_costs.rs (crates/contracts/ironclaw_common/src/llm_costs.rs)
- Hotspot: crates/contracts/ironclaw_host_api/src/messaging.rs (crates/contracts/ironclaw_host_api/src/messaging.rs)
- Hotspot: crates/contracts/ironclaw_loop_contracts/src/content_digest.rs (crates/contracts/ironclaw_loop_contracts/src/content_digest.rs)
- Hotspot: crates/contracts/ironclaw_loop_contracts/src/host/progress.rs (crates/contracts/ironclaw_loop_contracts/src/host/progress.rs)
- Hotspot: crates/domains/ironclaw_attachments/src/project_scoped.rs (crates/domains/ironclaw_attachments/src/project_scoped.rs)
- Hotspot: crates/domains/ironclaw_extractors/src/lib.rs (crates/domains/ironclaw_extractors/src/lib.rs)
- Hotspot: crates/domains/ironclaw_llm/src/agent_message.rs (crates/domains/ironclaw_llm/src/agent_message.rs)
- Hotspot: crates/domains/ironclaw_llm/src/reasoning.rs (crates/domains/ironclaw_llm/src/reasoning.rs)
- Hotspot: crates/domains/ironclaw_llm/src/recording.rs (crates/domains/ironclaw_llm/src/recording.rs)
- Hotspot: crates/domains/ironclaw_llm/src/smart_routing.rs (crates/domains/ironclaw_llm/src/smart_routing.rs)
- …and 86 more

## New (162)

- Duplicated block (10 lines × 2) (scripts/reborn_qa_matrix/audit_quality_loop_status.py)
- Duplicated block (10 lines × 2) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (10 lines × 3) (scripts/telegram_smoke/run_smoke.py)
- Duplicated block (10 lines × 4) (scripts/workflow_canary/scenarios/bug_logger.py)
- Duplicated block (10–12 lines × 2) (scripts/live-canary/notify_slack.py)
- Duplicated block (10–15 lines × 2) (scripts/live_canary/common.py)
- Duplicated block (11 lines × 2) (scripts/reborn_qa_matrix/audit_defect_traceability.py)
- Duplicated block (11 lines × 2) (scripts/slack_smoke/run_smoke.py)
- Duplicated block (11–12 lines × 4) (scripts/reborn_webui_v2_live_qa/google_api_helpers.py)
- Duplicated block (12 lines × 2) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (12 lines × 2) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (12 lines × 2) (scripts/workflow_canary/scenarios/calendar_prep.py)
- Duplicated block (12–13 lines × 2) (scripts/ci/check-guidance.py)
- Duplicated block (13 lines × 2) (scripts/live_canary/common.py)
- Duplicated block (13 lines × 2) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (13–17 lines × 3) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (14 lines × 2) (scripts/reborn_qa_matrix/report_coverage.py)
- Duplicated block (14–15 lines × 2) (scripts/slack_smoke/run_smoke.py)
- Duplicated block (14–16 lines × 2) (scripts/reborn_webui_v2_live_qa/run_live_qa.py)
- Duplicated block (15 lines × 2) (scripts/ci/regression-test-check.py)
- …and 142 more
