Skip to content
CAI
Software that uses CAICheck a score

tldev/dorso

62.2

Adequate · 30 September 2026

8.5k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Dorso is a macOS application designed for posture tracking and analytics, featuring a comprehensive engine for monitoring user posture via camera and AirPods data. It provides a release automation suite for building, signing, and distributing the app, including an auto-update system via Sparkle. The system ensures data continuity by migrating legacy Posturr analytics into its new storage structure and maintains code quality through extensive test coverage of its core modules.

Features

Dorso release infrastructure and documentation overhaul

The repository now ships with a complete release automation suite, including a \release.sh\ script that handles building, code signing, notarization, DMG creation, and GitHub release publishing, alongside a Sparkle-based auto-update system for direct downloads (with an \appcast.xml\ feed). The project has been rebranded from Posturr to Dorso, updating the app name, bundle identifier, and all documentation (README, CHANGELOG, Privacy Policy). A new \CLAUDE.md\ provides detailed instructions for the release workflow, and a \test-dmg.sh\ script allows quick previewing of the installer appearance. Legacy \main.swift\ has been removed in favor of a structured source layout.

(repo-wide) · high confidence

Removals

Removal of macOS icon generation script

The \scripts/generate-iconset.sh\ utility, which previously used macOS \sips\ and \iconutil\ tools to convert a master image into an \AppIcon.icns\ file for the application bundle, has been removed. Users relying on this script to build or update the app's macOS icon will need to adopt an alternative method for icon generation.

scripts · high confidence

Behavioural changes

App rebranded to Dorso with legacy data migration

The application has been rebranded from Posturr to Dorso, including the main entry point (DorsoMain.swift) and internal identifiers. To ensure a seamless transition for existing users, the new analytics system automatically detects and merges historical posture data from the legacy Posturr storage location into the new Dorso analytics file, preserving past daily stats and posture scores.

Sources · high confidence

Test coverage

Added comprehensive test coverage for core Dorso modules

Added new test suites for AirPods authorization flows, analytics tracking and persistence, camera and AirPods calibration data, posture engine logic, display and screen-lock observers, menu bar UI state, and localization key consistency, ensuring these core components behave correctly under various conditions.

Tests · high confidence

Dependencies

Introduce Swift Package Manager support for Dorso

The application now includes a Package.swift manifest and a resolved Package.resolved file, enabling developers to build, run, and debug the app directly within Xcode using the Swift Package Manager. This change defines the project structure with a core library target (DorsoCore) and an executable target, while explicitly declaring dependencies on the Composable Architecture (version 1.10.0+) and Sparkle (version 2.9.4). The resolved file pins specific versions for additional Point-Free and Apple libraries, such as Swift Collections, Swift Navigation, and Swift Sharing, establishing the dependency graph for the project.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 62 → 62 (+0.5)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 94 → 89 (-4.9)
  • Architecture 98 → 96 (-2.1)
  • Maturity 63 → 63 (-0.3)
  • Readiness 40 → 45 (+4.8)
  • Security 95 → 95 (+0.0)

Resolved (2)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)

New (25)

  • Coverage not measured — Swift suite
  • DeviceStatusRow.body (cognitive 19) (Sources/UI/SettingsComponents.swift)
  • DeviceStatusRow.body (cyclomatic 16) (Sources/UI/SettingsComponents.swift)
  • Duplicated block (10 lines × 2) (Sources/UI/AnalyticsWindow.swift)
  • Duplicated block (12 lines × 2) (Sources/UI/OnboardingWindow.swift)
  • Duplicated block (14 lines × 2) (Sources/UI/SettingsWindow.swift)
  • Duplicated block (19 lines × 2) (Sources/UI/SettingsComponents.swift)
  • Duplicated block (5 lines × 3) (Sources/UI/SettingsComponents.swift)
  • Duplicated block (6 lines × 2) (Sources/UI/AnalyticsWindow.swift)
  • Duplicated block (7 lines × 2) (Sources/UI/SettingsComponents.swift)
  • Duplicated block (8 lines × 2) (Sources/UI/SettingsComponents.swift)
  • Duplicated block (9 lines × 2) (Sources/UI/SettingsWindow.swift)
  • Duplicated block (9 lines × 3) (Sources/UI/SettingsComponents.swift)
  • Hotspot: Sources/Core/TrackingFeature.swift (Sources/Core/TrackingFeature.swift)
  • Hotspot: Sources/UI/SettingsWindow.swift (Sources/UI/SettingsWindow.swift)
  • MethodTooLong: SettingsView.body (Sources/UI/SettingsWindow.swift)
  • MethodTooLong: TrackingFeature.body (Sources/Core/TrackingFeature.swift)
  • Off the main sequence: DorsoCore
  • OnboardingView.body (cognitive 16) (Sources/UI/OnboardingWindow.swift)
  • Outdated: sparkle
  • …and 5 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

tldev/dorso was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 80a41c22d647d56cc01d7a0d1045ffdf86d8dfcc — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.