K9i-0/ccpocket
63.8
Adequate · 19 September 2026
131.9k
lines of production code
Dart
with TypeScript
1
measurement over time
What this system is
CC Pocket is a cross-platform client application for interacting with AI coding agents, supporting mobile (iOS, Android), desktop (macOS, Linux, Windows), and web environments. It facilitates real-time chat sessions with providers like Claude and Codex, enabling users to manage code changes, review diffs, and control agent permissions directly from the interface. The system includes a companion macOS menubar app for server management and a backend infrastructure for push notifications and secure device connectivity.
Features
Add Flutter Web platform support
The application now supports running in a web browser. This change introduces the necessary web entry point (index.html) and web app manifest (manifest.json) for the Flutter Web platform, enabling the app to be served and installed as a progressive web app with custom icons and display settings.
apps/mobile/web · high confidence
Add Windows desktop build support
The application now supports building and running on Windows desktop. This change introduces the necessary CMake build configuration, a Win32 window runner with high-DPI and dark-mode support, and a generated plugin registrant that enables platform-specific features such as file selection, URL launching, secure storage, and media playback on Windows.
apps/mobile/windows · high confidence
Add experimental Linux desktop support
The Linux desktop platform is now available for the CCPocket application. This change introduces the necessary CMake build configuration, GTK-based native runner code, and Flutter plugin registrations (including file selection, secure storage, media playback, and URL launching) required to build and run the app on Linux desktop environments.
apps/mobile/linux · high confidence
Add fastlane configuration for mobile store metadata uploads
Introduced Appfile and Fastfile in the mobile fastlane directory to automate metadata and screenshot uploads to the App Store Connect and Google Play. The iOS lane handles version validation and configurable skipping of metadata/screenshots, while the Android lane includes logic to check release states, validate release notes against specific locales, and safely commit edits to prevent conflicts with existing reviews.
apps/mobile/fastlane · high confidence
Add first-time user setup guide
A new multi-step setup guide has been added for first-time users, presented as a six-page interactive walkthrough. The guide covers initial context, bridge setup, connection configuration, Tailscale integration, autostart options, and a final ready state. Users can navigate forward and backward through the steps, skip the guide entirely, or close it upon completion, with the interface adapting to the platform's workspace pane chrome.
_apps/mobile/lib/features/setup\guide · high confidence
Add local sketch editor with image attachment support
Users can now create and edit drawings directly within the mobile app. This feature introduces a new sketch editor that supports freehand drawing, erasing, and adding shapes like arrows, rectangles, and ovals. It also allows users to attach an existing image as a background canvas and overlay text annotations on it. The editor includes a toolbar for selecting tools, changing colors, adjusting stroke width, and undoing or redoing actions, with the final sketch exportable as an image attachment.
apps/mobile/lib/features/sketch · high confidence
Add macOS platform support for the Flutter app
This change introduces the necessary configuration and plugin registration files to enable the Flutter application on macOS. It adds build configuration files (Flutter-Debug.xcconfig and Flutter-Release.xcconfig) and a generated plugin registrant that registers a comprehensive set of native plugins, including media playback, file selection, Firebase services, and in-app purchases, allowing the app to function on the macOS platform.
apps/mobile/macos/Flutter, apps/mobile/macos/Runner.xcodeproj · high confidence
Add message image viewer screen
A new screen has been added to view images attached to a specific message. It loads images via the Bridge service, handles loading and error states with localized messages, and displays single or multiple images using the existing preview components.
_apps/mobile/lib/features/message\images · high confidence
Add project file sharing and saving capability
This change introduces a new file transfer feature that allows users to download project files from the Bridge and share or save them locally. It adds a \FileTransferCubit\ to manage the download lifecycle (preparing, downloading, ready, failed), a platform-aware \FileTransferDownloader\ that handles HTTP streaming and progress reporting on supported platforms (stubbed for unsupported ones), and a \FileTransferDialog\ UI that displays progress and triggers the system share sheet upon completion.
_apps/mobile/lib/features/file\transfer · high confidence
Added local store-preview tooling for review asset validation and display
A new \scripts/store-preview\ directory introduces a Python-based workflow to generate a local, read-only HTML review page and validate store assets. The \generate.py\ script compiles READMEs, screenshots, and metadata from \fastlane/metadata\ into a styled HTML report for maintainer review, while \validate.py\ enforces strict checks on image dimensions, format, and metadata character limits for both iOS and Android. This tooling supports the recent Mint-style refresh of store assets by providing a reliable way to verify content parity and compliance before submission.
scripts/store-preview · high confidence
Added macOS application menu interface
The macOS desktop build now includes the standard application menu structure (MainMenu.xib), providing users with native menu items for application management (About, Preferences, Services, Hide, Quit) and text editing operations (Undo, Redo, Cut, Copy, Paste, Find, Spelling).
apps/mobile/macos/Runner/Base.lproj · high confidence
Added macOS workspace configuration for CocoaPods integration
The macOS build environment now includes a dedicated Xcode workspace that references both the main Runner project and the CocoaPods dependencies. This configuration enables the macOS platform to properly resolve and link third-party libraries managed by CocoaPods, which is a prerequisite for building and running the application on macOS.
apps/mobile/macos/Runner.xcworkspace · high confidence
Added scripts to generate and serve media fixtures for landing page screenshots
New utility scripts in \scripts/landing-preview\ allow developers to generate deterministic video and audio fixtures (a 12s preview clip and a chime) and serve them locally via a Node.js HTTP server with range support. These fixtures are used to capture real app screenshots for the landing page, ensuring the marketing assets reflect the actual UI without including network indicators or playback controls in the static images.
scripts/landing-preview · high confidence
Automated Dart analysis and testing hooks for mobile app changes
Added two new shell scripts in the .claude/hooks directory to enforce code quality before and after edits in the mobile application. The post-edit-analyze hook automatically runs dart analyze on individual Dart files within apps/mobile after they are edited, reporting any errors or warnings to the user. The pre-stop-check hook performs a full static analysis of the lib/ directory and, if any Dart files in lib/ have been modified, runs the Flutter test suite before allowing the session to close, ensuring that no broken code or failing tests remain when the task is completed.
.claude/hooks · high confidence
Automated generation of localized feature graphics for mobile stores
A new shell script has been added to automate the creation of store feature graphics for the mobile app. The script composites the app icon, specific UI screenshots, and localized text overlays into the required 1024x500 format for Google Play. It supports four locales (en-US, ja-JP, zh-CN, ko-KR), using appropriate fonts and translations for each, and outputs the final images to the Android metadata directory.
scripts/feature-graphic · high confidence
Automated iOS App Store review submission and release management
New shell scripts in the store-review tooling now automate the iOS App Store submission lifecycle. The system verifies that the correct build is attached to the App Store version, checks for existing review blockers, and submits the app for review using the App Store Connect CLI. It also supports manual release requests for versions in 'Pending Developer Release' state and allows configuring the release type (Keep, Manual, or After Approval) to control when the update goes live after Apple's approval.
scripts/store-review · high confidence
Automated install banner and QR code generation
Added scripts in \scripts/install-banner\ to automatically generate branded install banners and QR codes for documentation. The new \generate.sh\ and \generate-qr.py\ scripts use Playwright to render HTML templates (including a Japanese variant) into images, embedding a QR code with the app icon for easy mobile installation.
scripts/install-banner · high confidence
Bridge server gains CLI entry point, session archiving, and auto-rename capabilities
The Bridge server now includes a CLI entry point (cli.ts) with help, version, doctor, and setup commands, alongside a robust argument parser (cli-args.ts) and port configuration (bridge-port.ts). It introduces a new ArchiveStore for persisting archived session metadata and an auto-rename feature that uses the Claude CLI or Codex Luna model to generate concise session titles from user input. Additionally, it adds support for detecting Amazon Bedrock as a Claude API backend (claude-provider.ts), configuring Codex app-server modes (codex-app-server-config.ts) and assist models (codex-assist.ts), and deriving Codex permissions modes (codex-permissions.ts).
packages/bridge/src · high confidence
Enhanced session management and usage visibility in mobile chat
The mobile chat interface now provides richer context and control within the session. A new compact usage summary bar displays session cost, duration, token usage (including cache hits), and tool/file edits. The session header has been updated to show the project name, active git branch, and worktree status. Users can now navigate their conversation history via a message list sheet that allows jumping to specific messages or rewinding to a previous point, with a dedicated action sheet offering rewind modes (conversation, code, or both) and a dry-run preview of changes. Additionally, a session switcher widget enables quick switching between active sessions, highlighting those awaiting approval.
_apps/mobile/lib/features/claude\session/widgets · high confidence
Expanded file preview support for media, 3D models, and HTML
The file peek feature now supports previewing a wider range of file types directly within the app. Users can now play video and audio files with custom media controls, interactively view GLB 3D models (with caching and a 50 MiB size limit), and render HTML files in a secure, JavaScript-disabled web view. This update replaces generic file icons with rich previews for these common media formats, improving the ability to inspect content before opening or downloading.
_apps/mobile/lib/features/file\peek/widgets · high confidence
Expanded mobile app localization to Japanese, Korean, and Simplified Chinese
The mobile app now supports Japanese, Korean, and Simplified Chinese in addition to English. This change adds the corresponding ARB resource files and generated Dart localization classes for these languages, enabling the interface to display in these languages when selected by the user.
apps/mobile/lib/l10n · high confidence
Expanded mock data library for mobile app testing and previews
The mobile app's mock data library has been significantly expanded to support a wider variety of testing and preview scenarios. New files introduce programmatically generated PNG images for diff testing and generated-image previews, a comprehensive catalog of chat and session-list mock scenarios (including Claude and Codex providers, approval flows, and long history states), realistic mock recent sessions for project filtering, and dedicated data structures for App Store screenshot automation. This provides richer, more realistic test data for UI components and screenshot generation workflows.
apps/mobile/lib/mock · high confidence
File Peek: Interactive file path detection and secure media previews
The File Peek feature now intelligently detects file paths within agent messages, rendering them as tappable links in both backtick-quoted code and plain text by matching against the project's file list (including suffix matching for partial paths). When a path is tapped, the app resolves it to the correct project file and opens a preview sheet that supports syntax highlighting, HTML rendering (with a strict Content Security Policy to block scripts and external resources), and previews for common media formats including images, audio, video, and interactive GLB 3D models (with caching and size validation).
_apps/mobile/lib/features/file\peek · high confidence
Initial public release with documentation, configuration, and security policies
This change introduces the initial public release structure for CC Pocket. It adds comprehensive documentation including the main README, localized versions (Japanese, Korean, Simplified Chinese), a privacy policy, security policy, and contribution guidelines. It also establishes project configuration files such as \.gtrconfig\ for worktree management, \.mcp.json\ for MCP server definitions, \.mise.toml\ for tool versioning, and \.coderabbit.yaml\ for automated code review standards. Additionally, it includes Firebase configuration (\firebase.json\, \firestore.rules\) and updates \.gitignore\ to exclude sensitive local state, secrets, and build artifacts.
(repo-wide) · high confidence
Introduce CC Pocket menubar app with onboarding, health checks, and usage monitoring
The new CC Pocket menubar application provides a native macOS menu bar interface for managing the Bridge server, monitoring usage, and connecting mobile devices. It features a guided onboarding wizard that prioritizes Codex setup, a Doctor tab for environment health checks (verifying Node.js, CLI providers, and Bridge status), and a Usage tab displaying consumption metrics for Codex and Claude. The app includes a custom programmatic 'cc' logo, Japanese localization, and a debug-only Mock Doctor mode for testing first-run experiences. It manages the Bridge service via launchd, supports browser-based OAuth login for CLI providers, and displays connection information via QR codes.
apps/menubar · high confidence
Introduce Codex project configuration and execution policies
The project now includes a local \.codex\ directory containing \config.toml\ and \rules/default.rules\ to define how the Codex agent operates. The configuration registers two MCP servers, \marionette\ (for mobile UI automation) and \dart-mcp\ (for Flutter/Dart tooling), with all their respective tools set to auto-approve. The execution rules define safe, auto-allowed commands for read-only inspection (such as \ls\, \git status\, \gh issue view\) and verification (like \dart analyze\ and \flutter test\), while requiring prompts for state-mutating actions like \git push\, \npm install\, or destructive simulator operations.
.codex · high confidence
Introduce CodexSessionCubit for provider-specific session state
The mobile app now uses a dedicated \CodexSessionCubit\ to manage session state for Codex providers. This new class extends the existing \ChatSessionCubit\ to ensure compatibility with shared UI components (like \ChatMessageList\ and \ChatInputWithOverlays\) that rely on the base cubit, while allowing Codex-specific initialization parameters such as \initialCodexApprovalPolicy\ and \initialCodexPermissionsMode\ to be passed through the session pipeline.
_apps/mobile/lib/features/codex\session/state · high confidence
Introduce adaptive multi-pane workspace layout and declarative navigation
The mobile application now supports an adaptive workspace interface that switches between single-pane and multi-pane layouts based on screen width, allowing users to view session lists, code exploration, and git diffs side-by-side on larger devices. This change introduces a new \WorkspaceShellScreen\ that manages the layout logic and integrates \auto\_route\ for declarative navigation, replacing the previous imperative routing approach. The session list screen has been refactored to work within this new shell, utilizing \SessionListCubit\ for state management and supporting features like project grouping, filtering, and real-time session status updates within the new layout context.
_apps/mobile/lib/features/session\list · high confidence
Introduce dedicated Codex session screen with approval and permission controls
The mobile app now includes a dedicated \CodexSessionScreen\ for managing Codex-specific interactions, distinct from the general chat session. This screen handles session state, including sandbox and permission modes, and integrates specific UI components for approvals (via \ApprovalBar\), tool suggestions, and goal tracking. It supports features like session rewind, file peeking, and adaptive workspace layouts, providing a tailored experience for Codex agents within the mobile interface.
_apps/mobile/lib/features/codex\session · high confidence
Introduce dedicated GitScreen for unified diff viewing
The application now uses a new \GitScreen\ component to display unified diffs, replacing the previous \DiffScreen\. This screen supports two modes: viewing an individual diff from a tool result or fetching a session-wide diff via the Bridge service. It includes features like scroll-to-file navigation, caching of view cubits per session and project, and integration with commit and file-peek functionalities, providing a more robust and performant experience for reviewing code changes.
apps/mobile/lib/features/git · high confidence
Introduce file explorer UI components for mobile
Added new widgets to the mobile app's explore feature to support file browsing and interaction. The new ExploreBreadcrumbs widget provides navigation through project directories, while ExploreFileList and ExploreEntryTile render the file list with support for file type icons, highlighting, and sharing actions. An ExploreEmptyState widget displays a message when no files are found. These components enable users to navigate, view, and share files within the mobile interface.
apps/mobile/lib/features/explore/widgets · high confidence
Introduce macOS native app shell with Sparkle auto-updates and custom window chrome
This change adds the native macOS runner scaffolding for the app, establishing the core platform support. It integrates the Sparkle framework for automatic application updates, exposing methods to probe for and perform updates while allowing feed URL overrides via diagnostics. The native window implementation provides a unified, borderless Chrome experience by handling window dragging through a dedicated method channel and supports dictation paste via a native paste bridge that intercepts Command+V to forward clipboard content to the Flutter engine. Additionally, the app bundle is configured with the display name "CC Pocket" and includes necessary entitlements for sandboxing, network access, and keychain storage.
apps/mobile/macos/Runner · high confidence
Introduce mobile file explorer with upload and peek capabilities
The mobile app now includes an Explore screen that allows users to browse project files, upload local files to the workspace, and preview file contents via a peek sheet. This new feature integrates file selection, upload validation (size limits), and recent file history navigation within the mobile interface.
apps/mobile/lib/features/explore · high confidence
Introduce prompt history bottom sheet with swipe-to-delete and filtering
The mobile app now includes a bottom sheet for browsing and managing prompt history. This sheet displays a list of past prompts, allowing users to swipe left to delete entries, toggle favorites, and view usage counts. It includes controls to sort the history and apply filters, with the filter menu expandable via a header button. The list supports infinite scrolling to load more history items as the user scrolls down.
_apps/mobile/lib/features/prompt\history/widgets · high confidence
Introduce push notification relay functions with Firebase Anonymous Auth and App Check
Added a new Firebase Functions module that acts as a relay for push notifications, handling device token registration, unregistration, and notification delivery via FCM. Authentication has shifted from a shared secret to Firebase Anonymous Auth ID tokens, with the relay verifying the UID to identify the bridge. The implementation includes Firestore-backed sliding-window rate limiting for both token operations and notifications, and enforces Firebase App Check token validation (configurable via an environment variable). The relay sanitizes error responses to prevent leaking internal details and includes comprehensive unit tests for the relay logic.
functions · high confidence
Introduce secure file upload with integrity verification
The mobile app now supports uploading files to the Bridge with SHA-256 integrity verification. The new file upload feature includes a transport layer that calculates and validates file hashes, a state management cubit to handle the upload lifecycle (preparing, uploading, finalizing), and a UI dialog that allows users to select files and configure conflict policies (rename, overwrite, skip). Users can now securely upload files with progress tracking and error handling for integrity failures.
_apps/mobile/lib/features/file\upload · high confidence
Introduce state management for the mobile file explorer
Added the core state logic for the new mobile file browser feature. This includes the \ExploreCubit\ to manage file list updates from the bridge service, the \ExploreState\ data model (using Freezed) to track navigation context and file entries, and helper functions to build and sort the directory/file hierarchy for display.
apps/mobile/lib/features/explore/state · high confidence
Introduces new mobile UI components for chat, approvals, and file management
The mobile app now includes a suite of new widgets in the \lib/widgets\ directory to enhance the user interface. Users will see a redesigned \ChatInputBar\ with support for slash commands, image attachments, and diff previews, alongside an \ApprovalBar\ that presents tool-use and plan approval controls with distinct modes for Claude and Codex. File interactions are improved with a \DirectoryBrowserSheet\ for secure path selection, a \FileMentionOverlay\ for plugin and file suggestions, and a \FileTypeIcon\ system that provides visual cues for various file types. Additionally, an \AdaptiveContextMenu\ provides platform-specific context menus, and a \CodexSettingsPanel\ allows users to adjust effort and speed settings.
apps/mobile/lib/widgets · high confidence
Introduces new mobile backend services for connection, updates, and data persistence
This change adds a suite of new service classes to the mobile app's backend layer to support recent feature rollouts. It introduces BridgeEndpointProbe for automatic secure/standard transport detection, AppUpdateService for macOS native (Sparkle) and GitHub Releases update checks, and AppIconService to allow supporter-driven app icon switching. It also adds BridgeLatestVersionService to monitor the Bridge server version via npm, ConnectionUrlParser for handling deep links (session links and connection URLs), and DraftService for persisting chat drafts and image attachments across navigation. Finally, it establishes the DatabaseService with platform-specific SQLite backends (using sqflite\_common\_ffi for desktop) to support prompt history backup and restore.
apps/mobile/lib/services · high confidence
New Codex session UI components for goals, rewinding, and tool suggestions
The mobile app now includes dedicated widgets for the Codex session feature: a goal card that displays objective status (active, paused, blocked, etc.) with edit, pause/resume, and clear actions; a localized rewind confirmation dialog that previews the message being rewound; and a tool suggestion card that handles plugin/connector installation prompts, including authentication links and error states. These components enhance the user's ability to manage session goals, navigate history, and install required tools directly within the chat interface.
_apps/mobile/lib/features/codex\session/widgets · high confidence
New Simulator Preview skill using Expo Device Hub and Tailscale
Added a new 'sim-preview' skill that streams iOS simulator output to a mobile browser via Expo Device Hub (v0.10.1) and Tailscale HTTPS, replacing the previous TrollVNC/noVNC approach. The skill includes a shell script that launches the hub on localhost port 3400 with H.264, 30fps, 1000px max dimension, and 2.5Mbps bitrate, and documentation guiding users to configure Tailscale Serve for secure remote access.
.claude/skills/sim-preview · high confidence
New centralized settings state and persistence layer for mobile
The mobile app introduces a new \SettingsCubit\ and \SettingsState\ in the settings feature state directory to manage a comprehensive set of user preferences. This change consolidates configuration into a single, persistent state object, introducing controls for theme mode, app and speech locales, text scaling, and code font customization. It also adds settings for Git diff interaction modes (including focus and scroll-first behaviors), hidden directory visibility, and external terminal app integration. Additionally, the state now supports per-machine Firebase Cloud Messaging (FCM) enablement and privacy modes, automatic session renaming for Codex and Claude, usage display toggles, and supporter-specific app icon switching, with a migration path for legacy FCM settings.
apps/mobile/lib/features/settings/state · high confidence
New chat input and lifecycle hooks for voice, auto-complete, and scroll persistence
The mobile app introduces four new hooks in the \lib/hooks\ directory to enhance chat interaction and stability. \useVoiceInput\ manages the voice recording lifecycle and integrates with the configurable speech locale from settings, ensuring text is preserved during input. \useListAutoComplete\ adds Google Keep-style automatic list prefixing (numbered and bullet) when pressing Enter in the chat input. \useScrollTracking\ implements cross-session scroll position persistence and exposes UI controls for returning to the latest message. Finally, \useAppResumeCallback\ ensures that app-resume logic triggers only on genuine background transitions, filtering out false positives from the Android notification shade.
apps/mobile/lib/hooks · high confidence
New debug screen for app configuration and diagnostics
A new DebugScreen has been added to the mobile app, providing a centralized interface for developers and testers to adjust runtime settings. Users can now toggle the application theme (system, light, dark) and change the display language directly from this screen. It also includes controls to force the visibility of the support banner for testing purposes, switch the Shorebird code-push update track between stable and staging (mobile only), and view application logs via Talker. Additionally, a mock preview feature for chat scenarios is accessible from this screen.
apps/mobile/lib/features/debug · high confidence
New developer tooling and automation scripts
This change introduces a suite of new scripts to streamline development, security, and deployment workflows. For mobile development, \android-install-and-launch.sh\ automates building and installing the Flutter APK, while \dev-restart.sh\ manages restarting the Bridge server and Flutter app. macOS-specific tooling includes a Sparkle update scaffolding (\macos-build-local-update.sh\, \macos-generate-local-appcast.sh\, \macos-serve-local-feed.sh\, \macos-set-feed-override.sh\, \macos-reset-sparkle-state.sh\, \macos-stream-sparkle-logs.sh\) and a \setup-launchd.sh\ script to register the Bridge Server as a persistent macOS service via launchd. Security is enhanced by \check-secrets.sh\, a pre-commit hook that scans staged files for accidental secret leaks, installed via \setup-hooks.sh\. Operational visibility is added through \daily-metrics.sh\, which aggregates npm, GitHub, and App Store/Google Play ratings into a Discord report, supported by \generate-jwt.py\ for API authentication. Finally, \pr-readiness.mjs\ and its tests implement automated PR intake gates, labeling, and readiness checks, while \setup-test-repo.sh\ provides a sandbox for E2E testing.
scripts · high confidence
New generated image preview and sharing experience on mobile
The mobile app now includes a dedicated feature for previewing and sharing AI-generated images. Users can view generated images in a gallery within the chat, tap to open a full-screen viewer with pinch-to-zoom and swipe navigation, and use the new share button to export images directly. The preview screen displays image details such as the prompt, status, and technical metadata, and supports both local and remote image sources with caching.
_apps/mobile/lib/features/generated\_image\preview · high confidence
New local Voice Lab for testing real-time speech transcription
Added a local development tool in scripts/voice-lab that allows users to test real-time voice transcription against the Codex app-server. The lab consists of a Node.js server (server.mjs) that proxies WebSocket connections to the local Codex binary, a browser-based UI (index.html, app.js) for recording audio or uploading files, and a Web Audio Worklet (capture.js) for efficient PCM processing. Users can verify transcription accuracy, model selection, and protocol versions (v1-v3) locally, with results saved to a history log or exported as JSON. The tool requires a local Codex login and is intended for experimental validation of the realtime conversation feature.
scripts/voice-lab · high confidence
New mobile Git UI components and widgets
This change introduces a suite of new Flutter widgets for the mobile Git experience, including a branch selector bottom sheet, a commit bottom sheet with AI auto-generation, a file list sheet, and a comprehensive diff viewer. The diff viewer supports multi-file lists, image comparison (side-by-side, slider, overlay), and hunk-level actions (stage, unstage, revert) via swipe and long-press. It also handles binary files, empty/error states, and line wrapping, providing a polished, interactive Git interface on mobile.
apps/mobile/lib/features/git/widgets · high confidence
New mobile chat bubble components for structured interactions
The mobile app now renders a comprehensive set of new UI widgets for chat bubbles, replacing or augmenting previous layouts. Users will see structured Error Bubbles with localized titles, remedy hints, and copyable commands for authentication and protocol issues. Assistant messages now feature a Gemini-style action bar (copy, plain-text toggle, share, fork) and support for inline implementation plans via Plan Cards. Tool interactions are enhanced with dedicated AskUserQuestion widgets supporting multi-question paging and multi-select, inline edit diffs for code changes, and permission request bubbles with expandable details. Additionally, image attachments are displayed with caching and full-screen preview, and a new Guardian Approval Notice provides a low-priority, expandable view for medium/high-risk actions.
apps/mobile/lib/widgets/bubbles · high confidence
New mobile configuration and data models for settings, connections, and sessions
The mobile app introduces a suite of new data models in the \lib/models\ directory to support recent feature additions. Users can now switch between app icon variants (default, light outline, pro copper emerald) and configure custom code font families. Connection handling is enhanced with a new \Machine\ model that supports SSH jump hosts, secure connection modes, and semantic version comparison for the Bridge server. Session management includes models for offline pending actions, new session tabs (Codex vs. Claude), and protocol version compatibility checks. Additional models support local URL settings for agent messages, git diff interaction modes, image paste shortcuts, external terminal app presets, and recording event parsing.
apps/mobile/lib/models · high confidence
New mobile utility library for composer, diff, and tool handling
The mobile app now includes a comprehensive set of utility functions in \apps/mobile/lib/utils\ to enhance the composer experience and tool interaction. Composer input now features token highlighting and scoring for slash commands, file mentions, skills, and plugins, with CLI-style display formatting for commands. The diff system has been rebuilt with a robust parser that supports unified diffs, image previews, and structured data extraction. Tool usage is now categorized (read, write, bash, search) with specific summaries and icons for better readability. Additionally, the app supports structured error inference for clearer troubleshooting messages, renumbering of ordered lists in the composer, and platform-specific helpers for desktop/mobile detection.
apps/mobile/lib/utils · high confidence
New mock preview and QR scanning screens for app demonstration and connection
The app now includes a Mock Preview screen that allows users to browse and launch various UI scenario simulations (such as landing page previews, session lists, and supporter summaries) for testing and demonstration purposes. Additionally, a new QR Scan screen has been added to enable seamless device-to-server connection via QR codes, parsing connection URLs and providing fallback instructions for unsupported platforms.
apps/mobile/lib/screens · high confidence
New release monitoring and validation scripts
Added \scripts/release/monitor.mjs\ to track GitHub Actions workflow status for iOS, Android, macOS, Linux, and Windows releases, providing concise output that highlights only status transitions and terminal results rather than full logs. Included \scripts/release/run-checks.sh\ to validate code quality by running Dart analysis and Flutter tests before release, and \scripts/release/release-tools.test.mjs\ to test the monitoring logic.
scripts/release · high confidence
New release-card script for generating announcement images
A new Node.js script at scripts/release-card/generate.mjs has been added to automatically generate social media announcement images (PNG) from mobile app release notes. The tool reads release notes for English and Japanese locales, extracts the version from the mobile app's pubspec.yaml, and uses Playwright to render styled HTML into images saved to docs/images. Users can run this via npm run release-card or directly with Node, specifying locales, version, and output directory.
scripts/release-card · high confidence
New settings widgets for app customization, language, and usage tracking
The settings screen now includes dedicated UI components for several new and refined capabilities. Users can switch the app icon through a new bottom sheet that offers a default option and supporter-exclusive variants. Language and speech recognition preferences are managed via new bottom sheets supporting system default, Japanese, English, Simplified Chinese, and Korean. A new section allows configuring local URL handling for the bridge connection, with options to replace, ask, or use the original URL. The new session experience is customizable via a bottom sheet that lets users reorder and toggle the visibility of provider tabs. Prompt history is now managed through a new section that displays sync status across bridges and offers migration from legacy local history. Supporter status is displayed in a new card that reflects active, one-time, or inactive support levels. Finally, usage tracking now displays Codex limits and pace with an animated gauge and auto-refresh cooldown, while Claude usage is replaced by direct billing links.
apps/mobile/lib/features/settings/widgets · high confidence
New setup guide for first-time users
The mobile app now includes a guided setup flow for new users, implemented via a new widget library in the setup guide feature. This flow walks users through understanding the app architecture, installing the bridge server, connecting via QR code or mDNS, configuring remote access with Tailscale, and setting up auto-start. The guide pages are fully internationalized, supporting English and Korean, and use a consistent layout with icons, step-by-step instructions, and platform-specific details for macOS and Linux.
_apps/mobile/lib/features/setup\guide/widgets · high confidence
New simulator automation script for screenshot capture
A new Swift script (sim-tap.swift) has been added to the update-store skill scripts to automate interactions with the iOS Simulator. This tool allows the update workflow to programmatically tap UI elements by accessibility label, dump the accessibility tree, and capture screenshots. It includes specific logic to handle iPad screenshot orientation by rotating images when necessary, ensuring consistent visual assets for the store listing.
.claude/skills/update-store/scripts · high confidence
New state management layer for mobile Git operations
The \apps/mobile/lib/features/git/state\ directory now contains the core state management logic for the mobile Git experience, introducing dedicated Cubits and Freezed state models for branch selection, commit workflows, and diff viewing. \BranchCubit\ and \BranchState\ handle branch listing, search, creation, and checkout, including tracking of worktree-checked-out branches and remote status. \CommitCubit\ and \CommitState\ manage the commit flow with support for auto-generated messages, staged file summaries, and a sequential commit-then-push action. \GitViewCubit\ and \GitViewState\ drive the diff viewer, supporting staged/unstaged modes, file parsing, hunk collapse/expand, and git actions like stage, unstage, fetch, pull, push, and revert. \GitStatusCubit\ and \GitStatusState\ track per-session dirty and remote status badges, while \GitViewCacheService\ manages the lifecycle and caching of \GitViewCubit\ instances per session.
apps/mobile/lib/features/git/state · high confidence
New store screenshot generation pipeline with Mint branding and multi-language support
The \apps/mobile/fastlane/screenshots\ directory now contains a complete, automated pipeline for generating App Store and Google Play screenshots. This includes a new \compose.sh\ script and \Framefile.json\ that apply the Mint design system (dark background, specific typography) to raw app captures, producing framed 1320x2868 phone cards and 2752x2064 iPad cards. The pipeline supports four locales (English, Japanese, Simplified Chinese, Korean) and defines eight specific phone scenarios (e.g., conversation, approval, git review) and five iPad scenarios (e.g., workspace overview, explorer). It also includes assets like a remote-agent-connection SVG and README documentation, replacing previous ad-hoc screenshot handling with a standardized, version-controlled generation process.
apps/mobile/fastlane/screenshots · high confidence
New web-preview skill for Flutter Web builds and verification
A new 'web-preview' skill has been added to the .claude/skills directory, providing an automated workflow to build the Flutter Web app, start a local HTTP server on port 8888, and verify the deployment using Playwright. The included script handles building the release web assets, managing server processes (including stopping existing instances via PID files), and outputting both local and Tailscale URLs for preview. The skill also defines steps for running Playwright checks to confirm the page title and capture screenshots, ensuring the web preview is accessible and correct before presenting the URL to the user.
.claude/skills/web-preview · high confidence
Redesigned settings screen with new support, usage, and configuration sections
The mobile settings interface has been completely redesigned to group options into distinct, scrollable sections. Users can now access a dedicated Supporter screen for managing subscriptions and viewing impact, a Usage section that displays real-time quota pacing and limits via a new UsagePace model, and a Connection section for bridge status. The redesign also introduces new configuration screens for code font customization (family and size with live preview), an Auth Help screen with multi-language markdown troubleshooting guides, a Changelog screen that filters updates by the current app version, and a searchable Open Source Licenses page. Additional settings include app icon switching, speech and input locale selection, and local URL configuration.
apps/mobile/lib/features/settings · high confidence
Support for resuming non-live sessions via session links
The session link feature now supports resuming non-live (recent) sessions. When a user follows a session link, the app attempts to resolve the session; if it is not currently live, it triggers a resume flow that restores the session context, including project path, workspace, git branch, and permission settings, rather than failing or falling back to a legacy mode.
_apps/mobile/lib/features/session\link · high confidence
Supporter app icon switching and deep-link handling
The Android app now supports switching the launcher icon to supporter-themed variants (light outline, pro copper emerald) via a native method channel, and introduces a dedicated DeepLinkActivity to handle external 'ccpocket://' links for 'connect' and 'session' hosts without spawning duplicate Flutter engines.
apps/mobile/android/app/src/main/kotlin · high confidence
iOS app icon switching, localization, and privacy compliance
The iOS app now supports switching between custom app icons (Light Outline and Pro Copper Emerald) via a new native channel, and displays the localized display name "CC Pocket" instead of "Ccpocket". It adds native localization support for English, Japanese, Simplified Chinese, and Korean, including permission descriptions for camera, microphone, and speech recognition. To meet App Store requirements, a PrivacyInfo.xcprivacy file is introduced declaring access to user defaults, file timestamps, and disk space, and the app declares non-exempt encryption. Additionally, the configuration enables Flutter GPU rendering, sets up deep link handling for the "ccpocket" scheme, and configures Bonjour services for local network discovery.
apps/mobile/ios/Runner · high confidence
macOS app configuration and build settings
The macOS Runner target now includes dedicated configuration files that define the application identity (name 'CC Pocket', bundle identifier, copyright) and integrate the Sparkle auto-updater with a specific feed URL and public key. Additionally, build warnings are standardized across Debug and Release configurations to enforce stricter compiler checks for nullability, availability, and code quality.
apps/mobile/macos/Runner/Configs · high confidence
Behavioural changes
Agent skills directory restructured
The .agents/skills location is now a symbolic link pointing to ../.claude/skills, indicating a reorganization of how agent skills are stored and accessed within the project structure.
.agents · low confidence
Automated staging patch creation with manual stable promotion
The new shorebird-patch skill automates the creation of Shorebird OTA patches for iOS and Android, delivering them directly to the staging track. The patch script includes flags to allow asset and native diffs and prevents icon tree-shaking to ensure stability in non-interactive environments. To maintain safety, the promotion of these patches from staging to stable is no longer automatic; users must manually execute the promote script after verifying the patch in staging.
.claude/skills/shorebird-patch · high confidence
Bridge v1.83.0: GLB preview caching and larger model limits
The Bridge server now reuses temporary preview URLs for unchanged GLB files, allowing clients to cache model downloads and reducing redundant network traffic. The maximum size for GLB model previews has been increased from 20 MiB to 50 MiB, and the server now rejects outdated model URLs after file changes while still preserving path authorization checks.
packages/bridge · high confidence
Expanded platform support and configuration for mobile app
The mobile application now supports macOS, Linux, and Windows desktop platforms in addition to existing Android, iOS, and Web targets, as reflected in the updated project metadata and launcher icon configurations. Custom app icons are now generated for all supported platforms using specific asset paths and background colors. The app integrates Firebase for push notifications with platform-specific configuration files for Android and iOS. Localization is configured with Japanese as the preferred supported locale, and the app utilizes Shorebird for code push updates with manual update control. Additionally, the diff image preview feature in the bridge server is documented with configurable environment variables for image size thresholds.
apps/mobile · high confidence
Gallery screen now supports scoped image streams and adaptive workspace chrome
The gallery screen has been refactored to use the auto\_route navigation framework and integrates with the new adaptive workspace pane chrome, allowing it to correctly render back/close buttons and app bar styling based on the platform and layout context. It now supports session-scoped image streams via a dedicated bridge method, enabling the gallery to display images specific to a session when in session mode, while falling back to global gallery images otherwise. The screen also utilizes Flutter hooks for state management and integrates with the new GalleryContent widget for image display.
apps/mobile/lib/features/gallery · high confidence
Introduce centralized app constants and feature flags for mobile
The mobile app now uses dedicated constant files to manage configuration and feature toggles. AppConstants defines the expected Bridge server version (1.83.0) for update checks, sets the default remote project path to \~/Workspace/ccpocket, and centralizes external links including the install page, GitHub repository, App Store/Play Store URLs, and billing/privacy policy pages. FeatureFlags introduces a compile-time toggle to hide terminal integration behind the FEATURE\_TERMINAL\_APP\_INTEGRATION flag, defaulting to disabled.
apps/mobile/lib/constants · high confidence
Introduce new Claude session screen with improved state management and UI components
The claude\_session\_screen.dart file has been rewritten to replace the previous Riverpod-based state management with a Flutter BLoC pattern using MultiBlocProvider for ChatSessionCubit and StreamingStateCubit. This change introduces a new screen architecture that handles session lifecycle more robustly, including better handling of pending sessions, workspace info, and git branch context. The new implementation also integrates with the BottomOverlayLayout for approval/question overlays, uses ListView.builder for message lists, and includes new widgets for rewind actions, usage summaries, and session renaming. Additionally, it adds support for file peeking, explorer history persistence, and improved keyboard handling during chat interactions.
_apps/mobile/lib/features/claude\session · high confidence
Introduce prompt history state management with frequency-based sorting
The prompt history feature now uses a dedicated state management layer (Cubit and State classes) to handle loading, pagination, and filtering of prompt entries. A key behavioral change is that the default sort order for prompt history is now set to 'frequency' rather than recency, meaning the most frequently used prompts will appear at the top by default. The state also supports cycling through sort orders (frequency, recency, favorites first) and persists user filter preferences.
_apps/mobile/lib/features/prompt\history/state · high confidence
Introduces dedicated state management for chat sessions and streaming
The chat session state logic has been restructured into a new \ChatSessionCubit\ and \ChatSessionState\ (powered by Freezed), which now centrally manages session metadata, approval policies, execution modes, and message history. To improve UI performance, high-frequency streaming updates (text and thinking deltas) are handled by a separate \StreamingStateCubit\, preventing the entire message list from rebuilding on every delta. This change also introduces support for offline input queuing and delivery-pending state tracking within the session lifecycle.
_apps/mobile/lib/features/chat\session/state · high confidence
Major mobile app overhaul: new architecture, project management, and deep linking
The mobile application has been significantly restructured and expanded. The state management infrastructure has migrated from Riverpod to flutter\_bloc, introducing new Cubits for sessions, settings, and Git status. A new 'Projects' feature allows users to create and manage multi-root workspace projects via a dedicated manager sheet. The app now supports deep linking (ccpocket://session/\<sessionId\>) for resuming specific sessions, integrates Firebase Cloud Messaging for push notifications with proper Android heads-up support, and adds Shorebird for over-the-air code updates. Additionally, the entry point (main.dart) has been completely rewritten to initialize these services, configure the new Bloc providers, and handle platform-specific logic for SSH tunneling and media playback.
apps/mobile/lib · high confidence
Migrate mobile navigation to auto\_route for declarative routing
The mobile app's navigation system has been replaced with the auto\_route library, introducing a declarative routing configuration in app\_router.dart that defines routes for sessions, settings, and other screens. This change includes a new SessionRouteObserver to sync active session state with notifications and a SessionStackNavigation utility to manage and reveal stacked session routes, ensuring consistent navigation behavior across the mobile interface.
apps/mobile/lib/router · high confidence
Migrate state management from Riverpod to flutter\_bloc
The mobile app's state management infrastructure has been replaced with the flutter\_bloc library. This change introduces new Cubit implementations (such as MachineManagerCubit, UnseenSessionsCubit, and StreamCubit) to handle connection states, machine management, and session tracking, replacing the previous Riverpod-based providers. This migration underpins subsequent behavioral improvements in the app, including the addition of unseen session indicators and refined bridge connection health checks.
apps/mobile/lib/providers · high confidence
New Graphite & Ember design system with configurable code fonts and enhanced markdown rendering
The mobile app introduces a new 'Graphite & Ember' visual identity, replacing the previous AI-purple palette with a warm editorial theme featuring burnt-orange primary colors, muted teal accents, and stone-based surfaces for both light and dark modes. This update includes a new spacing and theming infrastructure (app\_spacing.dart, app\_theme.dart) that standardizes card radii, bubble shapes, and component styles. Users can now customize code block fonts and sizes via settings, which are applied to markdown rendering. Markdown support has been significantly enhanced with language-aware syntax highlighting, clickable links, and a new feature that displays colored swatches next to hex color codes in inline code.
apps/mobile/lib/theme · high confidence
Persisted session defaults and resume settings for multi-provider projects
The session list services now persist new-session defaults and resume settings per provider (Claude and Codex) using scoped shared preferences, replacing the previous single legacy storage key. This ensures that when a user starts a new session or resumes a non-live session, the correct provider-specific settings (such as permission modes, execution modes, and model selections) are restored, and legacy projectless defaults are automatically migrated or removed. Additionally, a new store persists the selected Codex profile per project path, allowing users to maintain distinct AI profiles across different workspace roots.
_apps/mobile/lib/features/session\list/services · high confidence
Redesigned chat session UI with improved scrolling stability and overlay handling
The chat session interface has been redesigned to improve visual polish and interaction stability. A new \BottomOverlayLayout\ widget manages the chat content alongside approval and question overlays, ensuring that messages do not scroll behind the overlay and that keyboard interactions are handled smoothly. Scrolling behavior has been significantly refined: a custom \AnchorMaintainingAutoScrollController\ and \MaintainReadingPositionOnResizePhysics\ work together to prevent the one-frame jumps and flickering that previously occurred during layout changes, keyboard appearance, or viewport resizing. The \SessionModeBar\ has been updated to display a compact, glassmorphic bar with animated status indicators and dedicated controls for Codex model selection, reasoning effort, and plan mode. Additionally, the \ChatInputWithOverlays\ component now supports multiple image attachments, sketch drawings, and dynamic slash-command and @-mention overlays, while a new \BranchChip\ provides a compact indicator for the current git branch or worktree.
_apps/mobile/lib/features/chat\session/widgets · high confidence
Redesigned gallery with project filtering, image viewer, and caching
The gallery experience has been rebuilt with a new widget structure that includes project-based filtering via filter chips, a dedicated empty state, and a full-screen image viewer. Users can now swipe through images, zoom and pan (with improved gesture handling on Android), delete screenshots, and share them. The gallery tiles and viewer now use the extended\_image package to cache images for 7 days, improving load performance and reducing network usage.
apps/mobile/lib/features/gallery/widgets · high confidence
Redesigned session list with project grouping, unified filters, and connection management
The session list UI has been rebuilt with a new visual design and enhanced organization. Recent sessions are now grouped by project, and a unified filter bar allows filtering by provider or named tool with active state highlighting. The home screen now displays banners for macOS app updates, Bridge server version mismatches, and protocol incompatibility, along with a Codex usage summary widget. Connection management is consolidated into a new ConnectForm that includes a machine list, discovered servers via mDNS, and a machine edit sheet supporting SSH jump hosts and secure connections.
_apps/mobile/lib/features/session\list/widgets · high confidence
Session list state management migrated to Cubit with server-side filtering
The session list feature now uses a new \SessionListCubit\ and Freezed-based \SessionListState\ to manage session data, replacing the previous implementation. This change introduces server-side filtering for providers (All, Claude, Codex) and named-only sessions, meaning filter changes trigger a fresh fetch from the server rather than client-side manipulation. The state now tracks accumulated project paths for the new session picker, supports pinning individual sessions and entire projects, and includes an \ArchiveRequestTracker\ to handle timeouts for stalled archive requests. Users will see these filters applied directly by the backend, with skeleton loading states during re-fetches.
_apps/mobile/lib/features/session\list/state · high confidence
Updated Android build configuration and security practices
The Android build setup now includes an example keystore properties file to guide developers in configuring signing keys, while the .gitignore file has been updated to explicitly exclude keystore properties and the Firebase configuration file (google-services.json) to prevent accidental exposure of sensitive secrets in version control.
apps/mobile/android · high confidence
iOS build configuration updated for CocoaPods and minimum OS version
The iOS build configuration has been updated to support CocoaPods integration and adjust deployment targets. The minimum iOS version requirement has been removed from AppFrameworkInfo.plist, and the Debug and Release xcconfig files now conditionally include the corresponding Pods xcconfig files. Additionally, the Xcode workspace has been updated to reference the Pods project, ensuring that CocoaPods dependencies are correctly linked during the build process.
apps/mobile/ios/Flutter · high confidence
iOS project configured for CocoaPods, Firebase, and multi-language support
The iOS build configuration now integrates CocoaPods for dependency management, adds Firebase support via GoogleService-Info.plist and entitlements, and includes localization files for English, Japanese, Simplified Chinese, and Korean. It also adds a privacy manifest for App Store compliance and updates the build scheme to prepare the Flutter framework.
apps/mobile/ios/Runner.xcodeproj · high confidence
Fixes
Preserve xhigh reasoning effort in Bridge runtime messages
The Bridge now correctly preserves the requested 'xhigh' reasoning effort level in the \system.init\ runtime message, fixing a previous issue where it was downgraded to 'high'. This ensures that the effort setting selected by the user is accurately reflected in the session's runtime state and logs.
tmp · high confidence
Streamline chat session permission transcript handling
The chat session feature now includes a dedicated \permission\_transcript.dart\ module that accurately tracks and derives the status of permission requests (pending, approved, rejected, etc.) within the conversation history. This logic ensures that stale permission requests are correctly marked as resolved when the session is no longer waiting for approval, preventing users from seeing actionable requests that are no longer relevant.
_apps/mobile/lib/features/chat\session · high confidence
Test coverage
Added SSH jump host smoke test infrastructure; Added comprehensive UI tests for chat screen approval flows and input behaviors; Added initial macOS test suite scaffold; Added regression tests for mobile session and UI behaviors; Added test coverage for mobile app services; Added test helpers for bridge versioning, chat scenarios, and native image pumping; Added test helpers for chat screen widget testing; Added unit tests for chat input hooks; Added widget and unit tests for mobile UI components and state management.
Dependencies
Mobile app build infrastructure and dependency configuration
The mobile application's build environment is now fully configured with specific dependency versions and build settings. This includes adding a Gemfile for Fastlane (v2.235.0) to manage iOS/Android release automation, and setting up CocoaPods for both iOS (targeting 15.0) and macOS (targeting 12.0) with plugins like Firebase, RevenueCat, and Sparkle. The Android build is updated to use NDK 29, enable core library desugaring for Google Play compliance, and generate dummy Firebase configs for OSS builds. The Flutter project (pubspec.yaml) has been updated to SDK ^3.13.0, version 1.133.1+251, and includes a comprehensive set of dependencies for features like chat, media, localization, and state management. Additionally, a new \functions\ directory initializes the backend with Firebase Admin/Functions SDKs and Node 22.
(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
Baseline
- First survey — no prior run to compare against. CAI 64.
Lenses
- Code Health 62
- Architecture 98
- Maturity 73
- Readiness 61
- Security 66
- Domain Modelling 100
- Event-Driven 80
- Accessibility 66
Changes since last survey
- 300 commits — 188 feature/other, 112 fixes
By area
- apps/mobile — 108 commits
- (root) — 53 commits
- packages/bridge — 50 commits
- (repo) — 27 commits
- .github/workflows — 23 commits
- .claude/skills — 9 commits
- docs/sparkle — 7 commits
- scripts/store-ppo — 7 commits
- scripts/pr-readiness.mjs — 5 commits
- docs/install — 3 commits
- scripts/store-preview — 3 commits
- docs/bridge-tailscale-aliyun-guide.zh-CN.md — 1 commit
- docs/design — 1 commit
- docs/voice-lab.md — 1 commit
- scripts/release — 1 commit
- scripts/voice-lab — 1 commit
Notable commits
- fix: Merge branch 'codex/integrate-pr-fixes'
- fix: Merge branch 'fix/codex-custom-permissions-resume'
- fix: Merge branch 'fix/codex-dead-process-fallback'
- fix: Merge branch 'fix/relax-text-only-ui-evidence'
- fix: Merge pull request #230 from wanghaha1256/fix/wss-default-port-notifications
- fix: Merge pull request #231 from K9i-0/fix/relax-pr-readiness
- fix: Merge pull request #232 from K9i-0/fix/coderabbit-completed-readiness
- fix: Merge pull request #233 from xuanmingguo/fix/codex-desktop-writer-conflict-guard
- fix: Merge pull request #234 from K9i-0/fix/relax-text-only-ui-evidence
- fix: Merge remote-tracking branch 'origin/main' into pr-233-maintainer-fix
- fix: ci(store): update asc for review submission fix
- fix: fix(android): prevent duplicate deep-link activity
- fix: fix(bridge): clear requests when replacing sockets
- fix: fix(bridge): derive session titles from user text
- fix: fix(bridge): fetch Codex usage from app-server API
- fix: fix(bridge): hide internal Claude diagnostics
- fix: fix(bridge): ignore model-specific Codex usage limits
- fix: fix(bridge): invalidate queue flush on dispose
- fix: fix(bridge): keep Codex retry warnings out of transcripts
- fix: fix(bridge): merge Codex usage API refresh
- …and 280 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
K9i-0/ccpocket 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 19 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 2b64a088c8903494c35fbc3374c0aeb4635e01b6 — 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-13a154b7f5d1.