# Changelog

## Score

- CAI 45 → 33 (-12.2)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 61 → 60 (-1.5)
- Architecture 76 → 71 (-4.5)
- Maturity 70 → 66 (-3.8)
- Readiness 55 → 20 (-35.1)
- Security 37 → 25 (-12.5)

## Resolved (150)

- Change coupling: EventReviewTimeline.tsx ↔ use-draggable-element.ts (web/src/components/timeline/EventReviewTimeline.tsx)
- Change coupling: LineGraph.tsx ↔ SystemGraph.tsx (web/src/components/graph/LineGraph.tsx)
- Change coupling: events_query_parameters.py ↔ Explore.tsx (frigate/api/defs/query/events_query_parameters.py)
- Change coupling: face.py ↔ license_plate.py (frigate/data_processing/real_time/face.py)
- Change coupling: segment-metadata.tsx ↔ use-draggable-element.ts (web/src/components/timeline/segment-metadata.tsx)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (docs/scripts/lib/yaml_extractor.py)
- Duplicated block (10 lines × 2) (frigate/api/classification.py)
- Duplicated block (10 lines × 2) (frigate/api/event.py)
- Duplicated block (10 lines × 2) (frigate/api/media.py)
- Duplicated block (10 lines × 2) (frigate/camera/maintainer.py)
- Duplicated block (10 lines × 2) (frigate/detectors/plugins/memryx.py)
- Duplicated block (10 lines × 2) (frigate/detectors/plugins/rknn.py)
- Duplicated block (10 lines × 2) (frigate/record/cleanup.py)
- Duplicated block (10 lines × 2) (frigate/record/export.py)
- Duplicated block (10 lines × 2) (frigate/record/maintainer.py)
- Duplicated block (10 lines × 2) (frigate/util/config.py)
- Duplicated block (10 lines × 2) (frigate/util/image.py)
- Duplicated block (11 lines × 2) (docs/scripts/lib/i18n_loader.py)
- …and 130 more

## New (110)

- Change coupling: AnnotationOffsetSlider.tsx ↔ AnnotationSettingsPane.tsx (web/src/components/overlay/detail/AnnotationOffsetSlider.tsx)
- Change coupling: DetailStream.tsx ↔ detail-stream-context.tsx (web/src/components/timeline/DetailStream.tsx)
- Change coupling: MotionSegment.tsx ↔ use-motion-segment-utils.ts (web/src/components/timeline/MotionSegment.tsx)
- Change coupling: MsePlayer.tsx ↔ WebRTCPlayer.tsx (web/src/components/player/MsePlayer.tsx)
- Change coupling: ObjectTrackOverlay.tsx ↔ DetailStream.tsx (web/src/components/overlay/ObjectTrackOverlay.tsx)
- Coverage not measured — test suite did not build
- Dimension evaluation failed
- Duplicated block (10 lines × 2) (frigate/timeline.py)
- Duplicated block (10 lines × 2) (frigate/track/norfair_tracker.py)
- Duplicated block (11 lines × 2) (frigate/test/test_obects.py)
- Duplicated block (12 lines × 2) (frigate/detectors/plugins/zmq_ipc.py)
- Duplicated block (12 lines × 2) (frigate/ptz/autotrack.py)
- Duplicated block (12 lines × 2) (frigate/record/cleanup.py)
- Duplicated block (12 lines × 2) (frigate/record/maintainer.py)
- Duplicated block (12 lines × 2) (frigate/test/test_video.py)
- Duplicated block (13 lines × 2) (frigate/camera/state.py)
- Duplicated block (13 lines × 2) (frigate/data_processing/real_time/custom_classification.py)
- Duplicated block (13 lines × 2) (frigate/record/export.py)
- Duplicated block (13 lines × 2) (frigate/record/maintainer.py)
- Duplicated block (13 lines × 2) (frigate/test/test_storage.py)
- …and 90 more

## Changes since last survey

- 4 commits — 2 feature/other, 2 fixes

## By area

- web/src — 2 commits
- docs/docs — 1 commit
- frigate/api — 1 commit

## Notable commits

- fix: Miscellaneous fixes (0.18 beta) (#23892)
- fix: Miscellaneous fixes (0.18 beta) (#23898)
- change: Pin the internal auth port to the value nginx bound at startup (#23909)
- change: crop motion previews to the selected filter region (#23903)
