Skip to content
CAI
Software that uses CAICheck a score

songquanpeng/one-api

44.0

Weak · 25 September 2026

50.9k

lines of production code

JavaScript

with Go

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This release marks the complete rebranding to 'One API' and a comprehensive architectural overhaul, introducing a modular relay system with an adaptor pattern for expanded LLM provider support. The backend features significant improvements in user and channel management, including new OAuth/OIDC authentication, automatic channel monitoring, and a centralized logging and configuration infrastructure. On the frontend, the application now supports multiple UI themes (Default, Berry, Air) with full internationalization and a modernized React interface. The release also includes critical dependency updates and the removal of legacy components.

Features

Add AsString helper for safe type assertion

A new \AsString\ function has been added to the \common/conv\ package, providing a convenient way to convert any value to a string via type assertion. This utility simplifies handling of \any\ typed values by returning the string representation when the underlying type is a string, otherwise returning an empty string.

common/conv · medium confidence

Add Log page with i18n support

The Log page component is introduced, rendering a dashboard card that displays a LogsTable. The implementation integrates react-i18next's useTranslation hook to support internationalization (i18n) for the log title, allowing the header text to be translated based on the user's language preference.

web/default/src/pages/Log · medium confidence

Add TopUp page with redemption code and quota display

A new TopUp page has been introduced, allowing users to redeem top-up codes to increase their quota and view their current quota status. The page includes a form for entering redemption codes, displays the user's current quota, and provides a button to open a top-up link. The implementation uses React with semantic-ui-react components and integrates with the API for quota management.

web/default/src/pages/TopUp · high confidence

Add backend i18n support for error messages

The application now supports internationalization for backend error messages. A new i18n module has been introduced to load and manage translations from embedded JSON files. Currently, English (en) and Simplified Chinese (zh-CN) are supported, covering keys such as 'invalid\_input', 'send\_email\_failed', and 'invalid\_parameter'. This enables the backend to return localized error messages to users based on their language preference.

common/i18n · high confidence

Add billing, log, model, and channel management APIs

The controller package now includes new endpoints for managing and querying system resources. Billing endpoints (billing.go, channel-billing.go) expose user and channel quota, usage, and subscription status, supporting multiple providers (e.g., OpenAI, AIProxy, SiliconFlow). Log management (log.go) provides search, filtering, and deletion of system logs. Model management (model.go) lists available models and their permissions. Channel management (channel.go) handles CRUD operations for channels. Additionally, token (token.go) and redemption (redemption.go) controllers are introduced for managing access keys and coupons, while group (group.go) exposes available groups.

controller · high confidence

Add database migration scripts and a new performance testing script

The bin directory now includes SQL migration scripts for upgrading the database schema from v0.2 to v0.3 (updating user quotas) and from v0.3 to v0.4 (adding default model abilities for GPT-3.5 and GPT-4 models). Additionally, a new time\_test.sh script has been added to measure API response times and calculate standard deviation, supporting performance testing of the chat completion endpoint.

bin · high confidence

Add email and message-pusher notification channels

The system now supports sending notifications via email and a message pusher service. Email sending is implemented with HTML templates, support for SMTP without authentication, and handling of short response errors. The message pusher integration allows sending alerts through a configurable external service. These changes enable more robust and flexible notification delivery for system events.

common/message · high confidence

Add environment variable parsing helpers

Added helper functions to the common/env package to safely parse environment variables into Go primitive types (bool, int, float64, string). These utilities provide default values and handle type conversion errors gracefully, ensuring that missing or invalid environment variables do not cause panics.

common/env · high confidence

Add redemption management pages with i18n support

A new Redemption page and EditRedemption component have been added to the web interface, enabling users to view, create, and edit redemptions. The implementation includes full internationalization (i18n) support via react-i18next, allowing all labels, titles, and messages to be translated.

web/default/src/pages/Redemption · medium confidence

Add token management page and edit form

A new Token management page is introduced, featuring a list view (index.js) that renders a TokensTable component, and an EditToken.js form that allows users to create or edit tokens. The edit form supports setting a token name, remaining quota, expiration time, and model restrictions, with all text labels and messages localized via react-i18next.

web/default/src/pages/Token · medium confidence

Added core application scaffolding and default pages

Introduced the foundational React context providers for managing application status and user authentication state, alongside new page components for Chat and a 404 Not Found view. The Chat page renders an iframe using a stored link, while the Not Found page displays a user-friendly error message.

(repo-wide) · high confidence

Added image processing utilities for URL and Base64 encoded images

A new \common/image\ package was introduced, providing functions to retrieve image dimensions from both remote URLs and Base64-encoded data. This includes support for parsing data URLs, handling various image formats (JPEG, PNG, GIF, WebP), and resolving race conditions in logging. The addition includes comprehensive test coverage for these new capabilities.

common/image · high confidence

Added the 'Berry' theme and UI assets

The 'Berry' theme has been added to the web interface, bringing a new visual style and associated assets. This includes the main application structure in App.js which manages the theme provider, along with supporting configuration files (.gitignore, .prettierrc, jsconfig.json) and static assets (SVGs, README) that define the new look and feel of the application.

web/berry · high confidence

Added utility for deduplicating string slices

A new utility function DeDuplication has been added to the common/utils package. This function takes a slice of strings and returns a new slice containing only the unique values from the original, effectively removing duplicates.

common/utils · high confidence

Channel management page and editor implemented with i18n support

The Channel page now features a dedicated editor component (EditChannel.js) that allows users to configure channel settings, including API keys, model mappings, and system prompts. The implementation includes internationalization (i18n) support via react-i18next, enabling translated labels and messages. The editor dynamically loads available models and groups, and handles specific configurations for various providers (e.g., AWS, Vertex AI) through a structured config state. The main Channel index.js renders the ChannelsTable within a card layout, providing a consistent UI structure for channel management.

web/default/src/pages/Channel · high confidence

Initial implementation of the web UI components

The web interface has been initialized with a complete set of React components for the default theme, including the main navigation header, footer, and data tables for managing channels, logs, tokens, and redemptions. This update introduces full internationalization (i18n) support across the application, allowing all user-facing text to be translated. Additionally, the new components integrate Turnstile CAPTCHA for secure form submissions and support dynamic theme customization.

web/default/src/components · high confidence

Initial web application scaffolding and configuration

The default web application is introduced with standard project scaffolding, including a React template structure, a Vercel deployment configuration, and essential static files like the HTML entry point and robots.txt. The HTML template is configured with a Chinese locale (zh-CN) and specific meta tags for the One API interface.

web/default · high confidence

Introduce 'air' UI theme with new page components

The 'air' theme is introduced as a new UI theme, adding a suite of React components for the web interface. This includes new pages for managing channels, chat, user details, home, logs, Midjourney logs, tokens, redemptions, settings, and user management, alongside a migrated and updated 'About' page. The 'air' theme utilizes the Semi UI library for its components, replacing previous UI frameworks like Semantic UI in these areas.

web/air/src/pages · high confidence

Introduce in-memory user blacklist for banned or deleted accounts

A new blacklist module has been added to manage user bans. It provides functions to ban and unban users by ID, and to check if a user is currently banned. The implementation uses an in-memory concurrent map, meaning the blacklist is not persistent across application restarts.

common/blacklist · high confidence

Introduce multi-theme support with 'berry' and 'air' themes

The web application now supports multiple UI themes. Users can choose between the default theme, the new 'berry' theme, and the 'air' theme. The build process has been updated to compile each theme separately, and the THEMES manifest file has been created to list available themes.

web · high confidence

Introduce request ID tracking and utility helpers

The common/helper package now includes utilities for generating and tracking request IDs, enabling better log correlation and debugging. The new helper functions allow the application to assign, retrieve, and format request identifiers within the request context, which will be used to associate logs and responses with specific API calls.

common/helper · high confidence

Introduce status context and i18n support

The application now initializes internationalization (i18n) using local translation files for English and Chinese, and introduces a new \StatusContext\ to manage global application status. This context is integrated into the root component tree in \index.js\, enabling the \App.js\ to fetch and display system-wide information such as version updates, footer content, and logo settings.

web/default/src · high confidence

Introduce the 'air' UI theme with new components and layout

A new 'air' theme is introduced, comprising a complete set of new React components in web/air/src/components, including ChannelsTable, Footer, GitHubOAuth, HeaderBar, Loading, LoginForm, LogsTable, MjLogsTable, OperationSetting, PersonalSetting, PrivateRoute, RedemptionsTable, and SiderBar. This replaces the previous UI implementation with a modern design using the Semi UI library, featuring updated navigation, login, and settings interfaces.

web/air/src/components · high confidence

Introduces centralized configuration and HTTP client initialization

The application now uses a centralized configuration module (common/config/config.go) to manage environment variables and settings, including new options for OIDC, theme selection (default, berry, air), and Gemini versioning. Additionally, a new HTTP client initialization module (common/client/init.go) is introduced to configure proxy and timeout settings for user content requests and API relays.

common/config · high confidence

New Dashboard page with statistics, charts, and i18n support

A new Dashboard page has been added to the application, featuring a summary of today's requests, quota, and tokens, alongside time-series line charts and stacked bar charts for model usage. The implementation includes responsive CSS styling, handles empty data states, ensures a minimum 7-day data range for charts, and integrates i18n for translated labels.

web/default/src/pages/Dashboard · high confidence

New OAuth and OIDC login providers added

Users can now log in and register using Feishu (Lark) or OpenID Connect (OIDC) in addition to existing GitHub and WeChat authentication methods. The update also reorganizes the authentication controller structure, moving GitHub and WeChat handlers into a dedicated auth package and adding an OAuth state generation endpoint to improve security against CSRF attacks.

controller/auth · high confidence

One API v1.0.0: Complete product rebranding and architecture overhaul

The project has been renamed from 'Gin Template' to 'One API', reflecting its shift to an OpenAI API gateway and proxy. This release introduces a comprehensive suite of features including support for multiple LLM providers (OpenAI, Anthropic, Google, Baidu, etc.), load balancing, stream mode, and multi-machine deployment. It also adds user management, voucher management, channel management, and rich customization options. The underlying architecture has been refactored to support these new capabilities, with improved logging, i18n support, and Docker Compose configuration.

(repo-wide) · high confidence

Restructured routing and added API/relay endpoints

The router package was reorganized into separate files for API, dashboard, and web routes. New endpoints were added for API status, model listing, home page content, and user tokens. OAuth support was expanded to include OIDC and Lark, and the top-up feature was added for both users and admins. The relay router was introduced to handle proxy requests to backend services, and the web router now supports redirecting frontend URLs via the FRONTEND\_BASE\_URL environment variable.

router · high confidence

Support for multiple subnets in IP validation

The network package now handles multiple subnets by parsing comma-separated values, allowing users to validate against or check IP addresses against several subnets at once. The implementation includes a new \ip.go\ file with functions to split, validate, and check IPs against multiple subnets, alongside corresponding tests in \ip\_test.go\.

common/network · medium confidence

Architecture

Refactored relay system with new adaptor architecture

The relay system has been refactored to use a new adaptor pattern, introducing a central dispatcher in relay/adaptor.go that routes requests to specific provider adaptors. This change introduces new adaptor packages for AIProxy, Ali, Alibaba Cloud Bailian, Anthropic, AWS (including Claude and Llama3), and others, each handling their respective API formats and response parsing. This structural change enables easier addition of new model providers and improves code organization within the relay package.

relay · high confidence

Behavioural changes

Add i18n support to the Home page

The Home page now supports internationalization (i18n) for all visible text, including the welcome message, system status information, and configuration details. This allows the home page to be displayed in multiple languages based on user preferences.

web/default/src/pages/Home · high confidence

Add streaming response helpers for chat models

A new \common/render\ package was introduced containing helper functions (\StringData\, \ObjectData\, \Done\) to facilitate streaming responses, supporting the new replicate chat models feature.

common/render · medium confidence

Automatic channel disable/enable and metric-based monitoring

The system now automatically disables channels that fail specific error conditions (e.g., unauthorized, insufficient quota, API key issues) and re-enables them when errors clear. Additionally, a new metric monitoring system tracks channel success rates; if a channel's success rate falls below the configured threshold, the channel is automatically disabled and the root user is notified via email or message pusher.

monitor · high confidence

Centralize context key constants in a dedicated package

The codebase now uses a dedicated \common/ctxkey\ package to define all context key constants (such as \config\, \id\, \username\, \role\, \status\, \channel\, \channel\_id\, \specific\_channel\_id\, \request\_model\, \converted\_request\, \original\_model\, \group\, \model\_mapping\, \channel\_name\, \token\_id\, \token\_name\, \base\_url\, \available\_models\, \key\_request\_body\, and \system\_prompt\). This change replaces previously hardcoded string literals with these centralized constants, ensuring consistent usage of context keys across the application.

common/ctxkey · high confidence

Expanded channel support and updated notification settings

The application now supports a wider range of AI model providers and proxy services, including SiliconFlow, xAI, Replicate, and Proxy channel types, alongside updated names for existing providers like ByteDance Volcano Engine. Additionally, user notification timeouts have been adjusted: success messages now persist for 1.5 seconds (previously 0.5s), and a new 10-second warning timeout has been introduced.

web/air/src/constants · high confidence

Expanded model and provider support with improved user guidance

The application now supports a significantly larger set of AI model providers and channel types, including OpenAI, Anthropic, AWS, Azure, PaLM2, Gemini, Mistral AI, Novita, ByteDance (Doubao), Baidu Qianfan (V2), Alibaba Tongyi Qianwen, Xunfei Spark (V2), Zhipu ChatGLM, 360 Brain, Moonshot AI, Tencent Hunyuan, Baichuan, MiniMax, Groq, Ollama, Yiyi Wanwu, StepFun, Coze, Cohere, DeepSeek, Cloudflare, DeepL, together.ai, VertexAI, Proxy, SiliconFlow, xAI, and Replicate. Additionally, new 'OpenAI compatible' and 'Gemini (OpenAI)' channel options are available for flexible integration. To improve user experience, each channel option now includes descriptive text or tips (e.g., API key retrieval links, version notes), and toast notification timeouts have been increased to ensure users have enough time to read status messages.

web/default/src/constants · high confidence

Introduce the 'air' web template with updated UI and localization

The 'air' directory now contains a complete React web template, including a new Status context for managing application state, helper functions for rendering text, numbers, and quotas, and utility functions for error handling and date formatting. The HTML template has been updated to use 'zh-CN' for Chinese localization, and the title and description have been changed to reflect the 'One API' product.

web/air · medium confidence

Introduces the 'Air' theme with custom styling and layout restructuring

The 'Air' theme is introduced with a new CSS file (index.css) that applies a custom font stack, hides the default browser scrollbar, and adds responsive adjustments for tables and navigation on mobile devices. The application entry point (index.js) is updated to import this new stylesheet and initialize the VChart Semi theme. The main App component is restructured to use a Semi UI Layout with a dedicated SiderBar and HeaderBar, and the routing configuration is updated to include new pages for Channel, Token, Redemption, Log, and Chat, while removing the previous status loading logic and File page.

web/air/src · medium confidence

Major middleware refactoring and new routing capabilities

The middleware layer has been significantly restructured and expanded. A new distributor middleware was added to handle request routing, allowing users to specify a particular channel or automatically select one based on user groups and model requirements. Authentication was overhauled to support token-based access with optional subnet and model restrictions, and the system now supports gzip-decoded requests, request ID tracking, and language-based header parsing. Additionally, CORS settings were updated to allow all origins and headers, and rate limiting was refactored to use a centralized configuration source.

middleware · high confidence

New centralized logging infrastructure with request ID tracking and configurable file output

The application now uses a new logging implementation in common/logger that supports multiple log files or a single consolidated file based on the OnlyOneLogFile configuration. The logger provides structured logging functions (SysLog, SysWarn, SysError, Debug, Info, Warn, Error) and their formatted variants. A key behavioral change is that Debug and Debugf now correctly check config.DebugEnabled before logging, fixing a previous issue where debug logs were always emitted. Additionally, all log entries now include the request ID for better traceability, and the logger initializes the Gin log writers to output to both the console and the configured log file(s).

common/logger · high confidence

New shared helper utilities and API client

The web application now includes a new set of shared helper functions and an Axios-based API client. Users will see improved error handling for HTTP status codes (e.g., automatic redirect on 401, specific messages for 429/500/405 errors), new utility functions for formatting numbers, dates, and quotas, and the ability to load and cache channel models from the server. The API client also centralizes error handling via a response interceptor.

web/default/src/helpers · high confidence

Redesigned About page with dynamic content and i18n support

The About page has been rebuilt to fetch and display dynamic content from the backend API, supporting both local Markdown rendering and remote URL embedding. The page now uses the i18n translation system for all text, and employs a Card component to present the about information, with a fallback state for loading or empty content.

web/default/src/pages/About · medium confidence

Refactored model layer with new schema and caching

The model layer has been refactored to introduce a new \Ability\ schema that maps channels to groups and models, enabling more flexible routing and priority-based selection. A dedicated \cache.go\ file was added to implement Redis caching for tokens, user groups, and quotas, improving performance and reducing database load. The \Channel\ model was expanded to include fields for model mapping, priority, and system prompts, while the \Token\ model now supports expiration times, usage limits, and subnet restrictions. Additionally, the \User\ model was updated to include quota, used quota, request count, and group assignments, and the database initialization logic was restructured to support multiple database backends (MySQL, PostgreSQL, SQLite) with automatic migration.

model · high confidence

Removal of global CSS styles from web/src/index.css

The global stylesheet file web/src/index.css has been removed from the project. This file previously defined base styles for the body element, code blocks, and various utility classes such as .main-content, .small-icon, and .custom-footer, as well as a media query for mobile devices. With this file deleted, these global styling rules are no longer applied to the application.

web/src · high confidence

Removal of the legacy Home page component

The Home page component, which previously displayed a static placeholder layout with three columns of dummy content and fetched a notice message on load, has been removed. This change eliminates the default home view, likely as part of a broader restructuring or feature update where the home page is no longer needed or has been replaced by a different implementation.

web/src/pages/Home · high confidence

The FilesTable, Footer, Header, and PersonalSetting components in web/src/components have been removed. This eliminates the previous file management, footer, header, and personal settings UI, indicating a significant restructuring of the frontend interface.

web/src/components · high confidence

Removed unused NotFound component

The NotFound component, which previously rendered a 404 page with a header and a Chinese message ('未找到所请求的页面'), has been deleted from the codebase.

web/src/pages/NotFound · high confidence

Reorganizes common package structure and introduces new utility modules

The common package has been reorganized, introducing new files for custom server-sent events (custom-event.go), database configuration (database.go), Gin framework helpers (gin.go), and utility functions (utils.go). The previous email and logger implementations have been removed or refactored, with logging now handled via a dedicated logger module. Redis client initialization has been updated to support both single-node and cluster modes, and utility functions have been streamlined to support currency-based quota display.

common · high confidence

Settings page UI and localization overhaul

The Settings page has been restructured to use a Card component with a new header, replacing the previous Segment-based layout. All tab titles and the page title are now localized using i18n (react-i18next). Additionally, an 'Operation' tab has been added for root users, and the layout now wraps the tabs in a dashboard container.

web/default/src/pages/Setting · medium confidence

User management pages support internationalization and updated UI theme

The User, AddUser, and EditUser pages have been migrated to use react-i18next for all user-facing text, replacing hardcoded Chinese strings with translation keys. Additionally, the layout has been updated to use a Card-based structure with a 'dashboard-container' wrapper, and the EditUser page now fetches and displays a group selection dropdown for user management.

web/default/src/pages/User · high confidence

Dependencies

Update frontend and backend dependencies

Updated the Go module (go.mod) to Go 1.20 and upgraded numerous dependencies, including gin v1.8.1 to v1.10.0, golang.org/x/crypto to v0.31.0, and golang.org/x/net to v0.26.0, while also adding support for AWS Bedrock, Google Vertex AI, and PostgreSQL. On the frontend, added new theme configurations for 'air' and 'berry' in web/air/package.json and web/berry/package.json, and updated the default web package with i18n support and recharts.

(dependencies) · medium 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 27 → 44 (+17.4)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 37 → 45 (+8.4)
  • Architecture 52 (new)
  • Maturity 60 → 65 (+4.9)
  • Readiness 10 → 35 (+25.1)
  • Security 44 → 63 (+19.0)
  • Domain Modelling 56 (new)
  • Accessibility 83 (new)

Resolved (111)

  • (anonymous) (cognitive 18) (web/berry/src/views/User/component/EditModal.js)
  • (anonymous) (cognitive 22) (web/berry/src/views/Authentication/AuthForms/AuthRegister.js)
  • (anonymous) (cognitive 28) (web/berry/src/views/Channel/component/EditModal.js)
  • (anonymous) (cyclomatic 23) (web/berry/src/views/Authentication/AuthForms/AuthRegister.js)
  • (anonymous) (cyclomatic 29) (web/berry/src/views/Channel/component/EditModal.js)
  • Breadcrumbs (cognitive 43) (web/berry/src/ui-component/extended/Breadcrumbs.js)
  • Breadcrumbs (cyclomatic 28) (web/berry/src/ui-component/extended/Breadcrumbs.js)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Dimension evaluation failed
  • EditChannel (cognitive 28) (web/default/src/pages/Channel/EditChannel.js)
  • EditChannel (cyclomatic 29) (web/default/src/pages/Channel/EditChannel.js)
  • …and 91 more

New (484)

  • (anonymous) (cognitive 17) (web/berry/src/views/Token/component/EditModal.js)
  • (anonymous) (cyclomatic 18) (web/berry/src/views/Token/component/EditModal.js)
  • App.App (cognitive 18) (web/default/src/App.js)
  • AuthRegister.RegisterForm (cognitive 33) (web/berry/src/views/Authentication/AuthForms/AuthRegister.js)
  • AuthRegister.RegisterForm (cyclomatic 37) (web/berry/src/views/Authentication/AuthForms/AuthRegister.js)
  • Boundary-crossing change coupling: constants.go ↔ option.go (common/constants.go)
  • Breadcrumbs (cognitive 53) (web/berry/src/ui-component/extended/Breadcrumbs.js)
  • Breadcrumbs.Breadcrumbs (cyclomatic 36) (web/berry/src/ui-component/extended/Breadcrumbs.js)
  • Change coupling: Config.js ↔ EditChannel.js (web/berry/src/views/Channel/type/Config.js)
  • Change coupling: EditRedemption.js ↔ EditToken.js (web/default/src/pages/Redemption/EditRedemption.js)
  • Change coupling: compatible.go ↔ url.go (relay/adaptor/openai/compatible.go)
  • Change coupling: constants.go ↔ SystemSetting.js (common/constants.go)
  • Change coupling: option.go ↔ OperationSetting.js (model/option.go)
  • Change-coupling hub: ChannelConstants.js → compatible.go, define.go, Config.js (web/berry/src/constants/ChannelConstants.js)
  • Change-coupling hub: RedemptionsTable.js → TokensTable.js, UsersTable.js, EditRedemption.js (web/default/src/components/RedemptionsTable.js)
  • Change-coupling hub: channel.constants.js → adaptor.go, compatible.go, define.go, url.go (web/default/src/constants/channel.constants.js)
  • Change-coupling hub: model.go → adaptor.go, constants.go, adaptor.go, Config.js (relay/billing/ratio/model.go)
  • ChannelPage (cognitive 27) (web/berry/src/views/Channel/index.js)
  • ChannelPage (cyclomatic 21) (web/berry/src/views/Channel/index.js)
  • ChannelsTable (cognitive 55) (web/default/src/components/ChannelsTable.js)
  • …and 464 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

songquanpeng/one-api 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 25 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 8df4a2670b98266bd287c698243fff327d9748cf — 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-dd72cc24c749.