Skip to content
CAI
Software that uses CAICheck a score

MarcoSantarossa/mssample-ios

65.4

Adequate · 20 September 2026

1k

lines of production code

Swift

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a sample iOS application designed to demonstrate Clean Architecture and Test-Driven Development practices. It provides a modular photo browsing experience, featuring an album collection view with lazy loading and a detailed photo viewer. The underlying infrastructure supports this functionality through a core module handling HTTP networking, object caching, and multi-language localization.

Features

Initial app launch configuration and main entry point

The application now includes its core entry point and configuration files, establishing the foundation for the iOS app. The \AppDelegate\ initializes the main window with a navigation controller and sets up the \AlbumRouter\ to present the photo collection screen upon launch. The \main.swift\ file defines the application lifecycle, ensuring the app delegate is correctly instantiated while handling test environments. Additionally, the \Info.plist\ configures standard iOS app metadata, including bundle identifiers, supported interface orientations for both iPhone and iPad, and device capabilities.

Source/Main · high confidence

Initial project scaffolding and repository configuration

This release establishes the foundational structure for the mssample-ios project. It introduces SwiftLint for code quality enforcement and Danger for automated pull request reviews, alongside a comprehensive configuration file. Standard repository documentation is added, including a detailed README outlining the TDD, DDD, and Clean Architecture approach, a CONTRIBUTING guide, and the MIT LICENSE. These changes prepare the repository for development and collaboration but do not alter application behavior.

(repo-wide) · high confidence

Initial project structure with modular framework architecture

The iOS application project has been initialized with a modular architecture, introducing separate \Core.framework\ and \Album.framework\ targets that are embedded into the main \MSSampleiOS\ app. The project structure organizes source code into \Main\, \SupportingFiles\, and \Features\ groups, with a specific \Launch\ feature containing presentation views. Additionally, a SwiftLint build phase has been added to enforce code style during compilation, and a UI test target (\MSSampleiOSUITests\) is configured to run against the main application.

MSSampleiOS.xcodeproj · high confidence

Introduce Album module with photo collection and details views

The new Album module provides a photo browsing experience, starting with a collection view that displays album photos with lazy loading and caching support. Users can view a grid of photos with titles and loading indicators, and tap any item to navigate to a dedicated photo details screen. The module includes localization for English and Italian, a router for navigation between the collection and detail scenes, and an environment configuration for image caching.

Modules/Album · high confidence

Introduce Core module with networking, caching, and localization infrastructure

The new Core module provides foundational capabilities for the application, including an HTTP client for network requests, an object-based cache, and a localization system for string management. It also includes utility extensions for UI components and protocol-based abstractions for testing, along with the necessary mock implementations to support unit testing of network interactions.

Modules/Core · high confidence

Behavioural changes

Added Italian localization for the launch screen

The app now supports Italian localization for the launch screen. A new storyboard file defines the initial view with the text "MS Sample iOS", and a corresponding Italian strings file provides the localized translation for this label, ensuring the launch screen displays correctly for Italian-speaking users.

Source/Features/Launch · high confidence

Added Xcode scheme for MSSampleiOS with module-specific test configuration

The project now includes a shared Xcode scheme (MSSampleiOS.xcscheme) that defines the build and test actions for the application. This scheme configures the primary app target (MSSampleiOS.app) for building, running, testing, profiling, and archiving. It also explicitly includes unit tests from the Album and Core modules (AlbumTests.xctest and CoreTests.xctest) in the test action, while skipping specific cache-related tests within CoreTests. UI tests are included in the scheme but are configured to be skipped by default.

MSSampleiOS.xcodeproj/xcshareddata · high confidence

Workspace restructured to include Core, CoreMock, and Album modules

The iOS workspace has been updated to group and reference three new project modules: Core, CoreMock, and Album. This change organizes the development environment to support a modular architecture, allowing these specific components to be built and managed together within the workspace.

MSSampleiOS.xcworkspace · high confidence

Test coverage

Added iOS UI test target

The project now includes a new UI test target (UITests) containing a basic test class and its configuration file, enabling automated user-interface testing for the application.

MSSampleiOS.xcodeproj/project.xcworkspace, UITests · high confidence

Dependencies

Add Danger and danger-swiftlint gems

The project now includes the Danger and danger-swiftlint Ruby gems, enabling automated code review checks and SwiftLint integration within the CI/CD pipeline.

(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 58 → 65 (+7.4)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 100 → 90 (-9.7)
  • Maturity 73 → 75 (+2.8)
  • Readiness 24 → 42 (+18.1)
  • Security 100 → 95 (-4.7)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (8)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .swift — churn × complexity hotspots could not be measured
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient

New (6)

  • Critical CVE: [GHSA redacted] (Gemfile.lock)
  • Documentation: no usage examples (README.md)
  • High CVE: [GHSA redacted] (Gemfile.lock)
  • No ADRs found
  • Outdated: danger
  • Outdated: danger-swiftlint

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

Survey your own repository

MarcoSantarossa/mssample-ios 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 20 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 869e00833e0b7b378680267cc013d1397df82042 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.