Skip to content
CAI
Software that uses CAICheck a score

NeuCharFramework/NCF

31.0

Weak · 20 September 2026

107.4k

lines of production code

JavaScript

with C#

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a modular .NET 10 application framework (NCF) that provides a comprehensive backend administration console for managing users, roles, and system configurations. It features a modernized admin interface built with Vue.js, supporting multi-tenancy, JWT authentication, and extensive localization. The platform integrates AI capabilities for chat-assisted module management and workflow automation, while offering robust infrastructure for multi-database support, containerized deployment, and automated installation.

How it got here

2020–2021 — NCF backend modernization and multi-tenancy

74 changes.

The project underwent a major structural overhaul, migrating to .NET 10 and consolidating the codebase into a dedicated back-end directory while removing legacy Senparc utilities and Vue-based admin interfaces. This period focused on implementing multi-tenant support, expanding database provider compatibility, and introducing a new web-based installation wizard. Significant features included the integration of AI chat capabilities within the admin console and the adoption of JWT authentication alongside traditional cookie-based login.

2022–2026 — Admin frontend and Aspire infrastructure

25 changes.

This period focused on establishing the Senparc.Xncf.Admin frontend and micro-frontend modules, alongside a comprehensive restructuring of the admin backend to support chat, workflows, and enhanced security. It also introduced .NET Aspire for local development orchestration, automated migration and publishing tools, and extensive internationalization across the installer and admin interfaces.

Features

Add Docker support and CI/CD pipeline configuration

The project now includes Docker support with a new Dockerfile, docker-compose configuration for local development (including MySQL and Redis services), and a macOS startup script to simplify running the application. Additionally, a comprehensive Azure Pipelines CI/CD configuration has been added to automate building, testing, and releasing the application, including checks for PR merge status and release keywords.

(repo-wide) · high confidence

Added .NET Aspire test application host

A new test application host has been added to the back-end test suite, utilizing the .NET Aspire distributed application framework. This host initializes a distributed application builder and includes configuration for local development, setting up specific endpoints for the Aspire Dashboard (OTLP) and the Resource Service, along with logging settings for Aspire components.

src/back-end/testapphost · high confidence

Added Chart.js 2.1.4 library to static assets

The project now includes the Chart.js library (version 2.1.4) in the \wwwroot/lib/Chart.js\ directory. This addition provides the core JavaScript files (\Chart.bundle.js\ and \Chart.bundle.min.js\) along with necessary configuration files (such as \.bower.json\, \bower.json\, and ESLint configs) required to render HTML5 canvas-based charts in the application.

src/back-end/Senparc.Web/wwwroot/lib · high confidence

Added DatabasePlant project for multi-database migration support

A new 'DatabasePlant' project has been added to the back-end folder structure to serve as a development-only tool for generating Entity Framework Core migrations across multiple database providers (such as MySQL, SQL Server, PostgreSQL, and SQLite). This project references all available database configuration libraries, allowing developers to run migration commands against any supported database without modifying the target modules. It is excluded from Release builds to avoid unnecessary dependencies in production, functioning as a 'maintenance' utility for database schema management.

src/back-end/Senparc.Web.DatabasePlant · high confidence

Added admin area AutoMapper profiles for user, role, and menu mappings

The application now includes a new AutoMapper profile in the admin area that defines mapping configurations for administrative entities. This enables automatic conversion between request models and DTOs for creating or updating admin users, roles, and menus, as well as mapping role and permission data to list and detail views.

src/back-end/Senparc.Areas.Admin/AutoMpperProfiles · high confidence

Added configuration file for multiple database providers

A new configuration file (SenparcConfig.config) has been added to the application's App\_Data/Database directory. This file defines connection settings for seven distinct database backends: SQL Server, SQLite, MySQL, PostgreSQL, Oracle, and Dameng (DM). This change enables the application to connect to a wider variety of database systems out of the box, supporting both local development scenarios (using SQLite and local instances of other databases) and remote server connections.

_src/back-end/Senparc.Web.DatabasePlant/App\_Data, src/back-end/Senparc.Xncf.Accounts/App\Data · high confidence

Added database configuration file with support for DaMeng (DM)

The SenparcConfig.config file in the Database directory has been added, providing connection string templates for multiple database providers including SQL Server, SQLite, MySQL, PostgreSQL, Oracle, and DaMeng (DM). This update enables developers to easily configure their local development environments to use different database backends, with the DaMeng configuration specifically added to support this database system.

_src/back-end/Senparc.Web/App\Data/Database · high confidence

Added database-specific migration contexts for Oracle, DM, MySQL, PostgreSQL, SQL Server, and SQLite

The Admin module now includes dedicated entity model classes and design-time DbContext factories for Oracle, DM (Dameng), MySQL, PostgreSQL, SQL Server, and SQLite. These new files enable developers to generate Code-First database migrations for these specific database providers using the Senparc NCF framework, with a centralized configuration class handling cross-platform path resolution for locating connection strings.

src/back-end/Senparc.Areas.Admin/Domain/Models/MultipleDatabase · high confidence

Added default database configuration and placeholder file for installer

The installer now includes a new \SenparcConfig.config\ file that defines connection strings for multiple database providers (SQL Server, SQLite, MySQL, PostgreSQL, Oracle, and Dm) and a placeholder \NewDB.DB\ file for the local SQLite database, providing out-of-the-box configuration options for local and containerized deployments.

_src/back-end/Senparc.Xncf.Installer/App\Data · high confidence

Admin Chat AI now invokes XNCF module functions and workflows

The admin chat assistant can now call XNCF module capabilities and NeuChar workflows directly. Administrators can attach modules to a chat session, and the AI will list available modules, show their details (including registered FunctionRender tools), and inspect their database structures. When enabled, the chat imports allowed FunctionRender methods as AI tools and can execute linked NeuChar workflows, with options to control function invocation and output limits.

src/back-end/Senparc.Areas.Admin/Domain/Services · high confidence

Admin Chat and Management Backend App Services

This change introduces a suite of new application services in the admin backend to support enhanced management capabilities. The new AdminChatAppService and AdminChatStreamController provide a secure, JWT-protected chat interface with streaming support, session management, and integration with AI models and workflow functions. Additionally, new services for administrator user management (AdminUserInfoAppService), module lifecycle management (ModuleAppService), system statistics and host metrics (StatAppService), menu and role permissions (SysMenuAppService, SysRoleAppService), and system configuration (SystemInfoAppService) are added to the local app service layer, enabling comprehensive backend administration features.

src/back-end/Senparc.Areas.Admin/OHS/Local/AppService · high confidence

The System Configuration page in the Admin area now allows administrators to view and edit the website's footer content. The new interface displays the current system name and footer, and provides an edit dialog where users can input custom footer text (up to 2000 characters) that supports plain text and absolute HTTP/HTTPS links, with other HTML being sanitized for security. This change introduces the Index.cshtml view and its corresponding backend handler (Index.cshtml.cs) which manages the retrieval and persistence of these settings via the SystemConfigService.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/SystemConfig · high confidence

Administrators can now access the backend using either traditional Cookie sessions or JWT (Bearer) tokens. This change introduces new authorization attributes (\AdminOrJwtAuthorizeAttribute\ and \BackendJwtAuthorizeAttribute\) and configuration settings (\JwtSettings\) to handle dual authentication schemes. This enables the admin interface to be consumed by external tools, desktop clients, or headless workflows that rely on token-based security rather than browser cookies.

src/back-end/Senparc.Areas.Admin · high confidence

Admin database schema extended for chat, auth, and workflow management

The Admin area's database schema has been expanded to support new backend capabilities. This includes tables for Admin Chat sessions and messages, configuration for web login and JWT expiration timeouts, and the core storage structures for NeuCharPivot and NeuCharWorkflow (including execution logs, pivot configurations, functions, loop tasks, and workflow definitions). Additionally, performance indexes were added to support the new workflow and pivot query patterns.

src/back-end/Senparc.Areas.Admin/Domain/Migrations · high confidence

Admin interface enhancements: AI chat, localization, and session management

The admin backend now includes a new AI Chat interface (AdminChat) for managing conversations and AI models, alongside a redesigned home page (Index) that displays host metrics and integrates NeuCharPivot and NeuCharWorkflow management. The login page has been updated to support multi-tenant authentication and dynamic language switching with full localization, while the session management endpoints now provide detailed status and keep-alive functionality for both cookie and JWT authentication. Additionally, log viewing (SenparcTrace) has been improved with asynchronous data retrieval.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages · high confidence

Admin panel UI text is now localized into English, Spanish, French, Japanese, and Russian

The admin backend now supports multiple languages for its interface. A new localization resource class (AdminResource) and corresponding .resx files have been added for English, Spanish, French, Japanese, and Russian (with Chinese as the default). This change replaces hardcoded strings in the admin UI with localized entries, allowing users to see labels, placeholders, and messages in their preferred language.

src/back-end/Senparc.Areas.Admin/Resources · high confidence

Initial database migration scaffolding for Accounts module

Added the initial Entity Framework Core migration files for the Accounts module, providing database schema definitions for MySQL, Oracle, and PostgreSQL. These migrations create the core tables required for the account system, including \Accounts\, \AccountPayLogs\, and \PointsLogs\, along with their associated indexes and foreign key constraints.

src/back-end/Senparc.Xncf.Accounts/Domain/Migrations · high confidence

Initial release of the Senparc.Xncf.Admin frontend application

This change introduces the complete source code for the Senparc.Xncf.Admin frontend, establishing the foundational structure for the administration interface. The package includes a Vue.js application configured with ESLint for code quality, Babel for transpilation, and Jest for unit testing. It provides API service modules for managing administrators, roles, menus, and system modules, alongside mock data services to support development without a backend. Additionally, scaffolding templates are included to streamline the creation of new views, components, and store modules.

src/front-end/Senparc.Xncf.Admin · high confidence

Initial release of the Senparc.Xncf.AdminModule micro-frontend application

This change introduces the complete source code for the Senparc.Xncf.AdminModule, a Vue.js-based micro-frontend module designed for the vue-module-loader framework. The module includes a standard project structure with configuration files (babel, eslint, postcss, browserslist), environment variables, and a Vue entry point that integrates ElementUI. It provides a basic application shell with routing (Home, About, App Store) and a Vuex store. Additionally, it features a comprehensive XncfStore section containing a shopping interface and an AntV X6-based diagram editor (lightdemo) for visual node-based workflows, along with views for application details and subscriptions.

src/front-end/Senparc.Xncf.Admin/src/components/Charts/mixins, src/front-end/Senparc.Xncf.AdminModule · high confidence

Installer module UI strings are now localized into six languages

The NCF Installer module now supports internationalization for its interface. Resource files have been added for English, Spanish, French, Japanese, Russian, and Chinese (Simplified), covering all labels, titles, placeholders, and messages on the installation pages. Users can now see the installer interface in their preferred language instead of hardcoded English or Chinese text.

src/back-end/Senparc.Xncf.Installer/Resources · high confidence

Installer module now supports multiple database providers

The installer's domain models have been expanded to support multiple database backends, including DM, MySQL, PostgreSQL, SQLite, and SQL Server. New entity classes and design-time DbContext factories have been added for each provider, enabling the installer to manage database migrations and connections across these diverse systems. Additionally, the configuration logic for locating the application root directory has been updated to use platform-specific path separators, ensuring correct path resolution on different operating systems.

src/back-end/Senparc.Xncf.Installer/Domain/Models · high confidence

Introduce .NET Aspire application host and service defaults

The application now includes a dedicated Aspire AppHost project that orchestrates the local development environment by launching the Installer, Accounts, and Web services with external HTTP endpoints and mutual references. This setup is supported by a new ServiceDefaults library that configures shared infrastructure for all services, including OpenTelemetry observability (metrics and tracing), service discovery, HTTP resilience, and health checks, enabling a unified and observable local development experience.

src/back-end/Senparc.Aspire.AppHost · high confidence

New AutoUpgrade tool for NCF v0.8.0 migration

A new command-line utility has been added to automate the migration of NCF projects to version 0.8.0. The tool scans C\# files and applies specific code transformations, including updating database service registrations, correcting SQL Server configuration naming, and adjusting the web engine startup configuration. It is distributed as a self-contained executable for Windows, Linux, and macOS.

tools/AutoUpgrade · high confidence

New CloudNative IDE environment with code-server and MySQL support

The .ide directory now includes a Dockerfile that provisions a development environment using code-server (VS Code in the browser) with pre-installed extensions for YAML, ESLint, Copilot, and MySQL client, along with SSH support for remote access. It also adds MySQL configuration (my.cnf) and an initialization script to create the 'ncf' database, enabling a ready-to-use CloudNative development setup.

.ide · high confidence

New Download page and localized install redirect

The web application now includes a dedicated Download page (Download.cshtml) that presents NCF Desktop release options for Windows, macOS, and Linux, with UI text fully localized via new SharedResource files for English, Spanish, French, and other languages. Additionally, the Index page behavior has been updated so that when the system is not yet initialized, users see a localized, browser-friendly redirect page instead of an immediate server-side redirect, improving the installation experience.

src/back-end/Senparc.Web/Pages · high confidence

New Download page logic and improved Index page behavior

The application now includes a dedicated client-side script for the new Download page that automatically detects the user's platform and architecture (Windows, macOS, Linux) to serve the correct binary package, supporting both local and remote asset sources. Additionally, the Index page JavaScript now handles a specific edge case for macOS embedded WebViews by intercepting new-window link clicks to ensure navigation occurs within the same window, and it introduces a reusable dialog system for user confirmations and error messages, such as those triggered when installing offline documentation modules.

src/back-end/Senparc.Web/wwwroot/js · high confidence

New NcfTemplateBuild tool for automated template compilation and publishing

A new utility named NcfTemplateBuild has been added to the tools directory to automate the compilation and NuGet publishing of the NCF template project. This includes a Visual Studio solution file (NCF.Template.sln) and a batch script (publish-nuget.bat) that handles cleaning, restoring dependencies, building, packing, and pushing the package to NuGet. A readme.md file has also been added to document this tool alongside the existing AutoUpgrade utility.

tools · high confidence

Added a new layout.css file that defines the visual structure for the admin interface, including full-height wrappers, a flex-based footer with copyright and tool actions, and console output styling. This establishes the base CSS for the admin shell, footer components, and console toolbar.

src/back-end/Senparc.Areas.Admin/wwwroot/css/Admin/Shared · high confidence

New calculation function and account health check API

The Accounts module now includes a new local function for performing arithmetic calculations (addition, subtraction, multiplication, division) with optional squaring or cubing of the result, accessible via the MyFunction\_CaculateRequest model. Additionally, a new remote API endpoint has been added to the AccountAppService to check account health by pinging the Ncf.pub website.

src/back-end/Senparc.Xncf.Accounts/OHS · high confidence

New database upgrade maintenance page and admin console logging

The admin interface now includes a dedicated maintenance page at /Maintenance/DatabaseUpgrade that displays a 503 Service Unavailable status with instructions for running the \--database-upgrade\ command directly on the server, ensuring safe database migrations without caching or indexing. Additionally, the admin footer now features a custom JavaScript console logger (\NcfAdminConsole\) that captures and manages console entries to prevent infinite render loops in Vue applications, enhancing backend debugging and stability.

src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin/Shared, src/back-end/Senparc.Web/Pages/Maintenance · high confidence

New installer API service for system initialization and module selection

The installer module now exposes a new \InstallAppService\ that provides API endpoints for initializing the system. Users can retrieve default installation options (including selectable modules) via \GetInstallOptionsAsync\, perform the installation process with \InstallAsync\, and retrieve tenant information via \GetTenantInfoAsync\. This service integrates with the underlying \InstallerService\ and \TenantInfoService\ to handle the core logic for setting up the application environment, including custom username, system name, and database connection string configurations as implied by the service dependencies and method signatures.

src/back-end/Senparc.Xncf.Installer/OHS · high confidence

New request and response models for admin authentication, user, role, menu, module, and notification features

The admin backend now includes a comprehensive set of new data transfer objects in the OHS/Local/PL layer to support enhanced administrative capabilities. These changes introduce request and response models for configuring admin authentication expiration settings, managing administrator accounts (including login, creation, and role assignment), and handling system roles and menu structures. Additionally, new models support module statistics and management, a 'NeuBell' notification testing function, and backend log statistics, providing the necessary data structures for these backend operations.

src/back-end/Senparc.Areas.Admin/OHS/Local/PL · high confidence

New tenant management interface in the admin console

The admin area now includes a dedicated Tenant Info page (Index) that allows administrators to view, add, edit, and delete tenant configurations. This interface supports initializing new tenants with specific system names and admin accounts, and displays current tenant context and match rules when multi-tenancy is enabled. All UI labels and messages are localized using resource entries for consistency.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/TenantInfo · high confidence

New web-based installation wizard with multi-tenant and module selection support

The installer now provides a dedicated web interface (Areas/Install) that guides users through system initialization. This new flow allows configuring the system name, admin credentials, and database connection strings, while letting users select which XNCF modules to install. It supports multi-tenant setups (with configurable rules) and offers advanced options for these settings. The UI is built with Vue.js and Element UI, includes language switching (Chinese, English, Japanese, French, Spanish, Russian), and handles state reconciliation to prevent re-installation if the database is already initialized or requires a schema upgrade.

src/back-end/Senparc.Xncf.Installer/Areas · high confidence

XncfStore application store interface and navigation structure

The XncfStore front-end application has been restructured to provide a dedicated interface for the application store. This change introduces a new Vue.js project scaffold with routing for key store sections, including a shopping index for browsing applications, a detail view for individual app information, and an application management page for developers. The UI is built using Element UI components to support features like application filtering, subscription management, and developer settings, establishing the core navigation and layout for the store experience.

src/front-end/Senparc.Xncf.XncfStore · high confidence

Removals

Admin dashboard page and model removed

The admin home page (Index.cshtml) and its associated code-behind (Index.cshtml.cs) have been deleted from the admin area. This removes the previous dashboard view that displayed static statistics (such as order counts and account balance) and charts, along with the server-side logic that previously handled menu tree and resource retrieval for this specific page.

src/Senparc.Areas.Admin/Areas/Admin/Pages · high confidence

Removal of Admin Area Registration Module

The \Register.cs\ file, which previously handled the registration, configuration, and authorization setup for the Admin Area (including cookie-based authentication and menu items), has been deleted. This change removes the legacy module registration logic from the \Senparc.Areas.Admin\ location.

src/Senparc.Areas.Admin · high confidence

Removal of SenparcTraceHelper log parsing utility

The SenparcTraceHelper class, which provided static methods for retrieving and parsing Senparc trace log files (including handling exceptions, API requests, and post data), has been removed from the Admin area. This eliminates the built-in capability to read and display these specific trace logs within the application.

src/Senparc.Areas.Admin/SeparcTraceManager · high confidence

Removal of WeChat extension sample code

The sample extension code for integrating WeChat services has been removed from the XncfExtensionSample project. Specifically, the Register.cs file (which handled dependency injection and WeChat SDK registration), the MpAccountMessageHandler.cs file (which processed incoming WeChat messages), and the associated readme documentation have been deleted. This eliminates the example implementation that demonstrated how to use the Senparc.Weixin SDK and Senparc.Xncf.WeixinManager package within an NCF extension.

XncfExtensionSample · high confidence

Removal of legacy Admin UI assets and scripts

Deleted the entire \wwwroot/css/Admin\ and \wwwroot/js/Admin\ directories, along with associated icon images and legacy scripts. This removes the old Vue.js-based admin interface components, including the login page, dashboard charts, module management, and navigation logic, indicating a migration away from this frontend implementation.

src/Senparc.Web/wwwroot · high confidence

Removal of legacy Index page and default layout configuration

The legacy Index page model (Index.cshtml.cs) and the global view start configuration (\_ViewStart.cshtml) have been removed from the Pages directory. This eliminates the previous logic that automatically redirected users to the installation wizard if the system configuration was missing, and removes the default layout assignment for Razor views in this area.

src/Senparc.Web/Pages · high confidence

Removal of legacy Senparc utility libraries and template scaffolding

This change removes a broad set of legacy source files and scaffolding code from the repository. Specifically, it deletes the \Senparc.File\ file upload extension, the \Senparc.ImageUtility\ image processing helpers (including thumbnail generation and watermarking), the \Senparc.Office\ Excel/EPPlus extensions, and the \Senparc.Threads\ background services for email and WURFL device detection. It also removes the \Senparc.Web\ SignalR-based physical file watcher hub, the cookie consent partial view, and the \Senparc.Xscf.ExtensionAreaTemplate\ area template, which included its Razor pages, database migrations, and configuration files. These deletions indicate a cleanup of deprecated or unused functionality from the codebase.

(repo-wide) · high confidence

Removal of legacy XncfModule admin pages and WeixinService

The admin interface for managing Xncf modules (Index and Start pages) has been removed from the Senparc.Areas.Admin project, along with the legacy WeixinService class in the Senparc.Service project. This eliminates the previous module management UI and the specific WeChat template message and OAuth implementation contained in the deleted service file.

src/Senparc.Areas.Admin/Areas/Admin/Pages/XscfModule, src/Senparc.Service/Weixin · high confidence

Removal of legacy core utilities and data models

The \src/Senparc.Core\ package has removed several legacy components, including the \AutoValidateAntiForgeryTokenModelConvention\ (which previously auto-applied anti-forgery tokens to POST actions), the \FeedBack\ entity, and the \SenparcEntities\ DbContext definition. Additionally, utility classes for file saving (\FileSaveUtility\), ID card validation (\IDCardValid\), and reflection-based property setting (\ReflectorUtility\) have been deleted, along with email and area configuration models (\ExtensionEntity\) and the \SqlClientFinanceData\ implementation. These changes reflect a cleanup of deprecated functionality as part of the broader database and multi-tenant refactoring.

src/Senparc.Core · high confidence

Removal of legacy service implementations

The AdminUserInfoService, EncryptionService, FeedBackService, SmsRecordService, SystemConfigService, and XscfModuleServiceExtension classes have been removed from the Senparc.Service library. This eliminates the previous implementations for user authentication, DES-based encryption, feedback handling, SMS token management, system configuration caching, and XNCF module menu installation, indicating a structural shift in how these capabilities are provided.

src/Senparc.Service · high confidence

Removal of legacy web-based installation wizard

The previous web-based installation interface (Index.cshtml and its code-behind) has been removed. This page previously handled the initial system setup, including running database migrations, initializing admin accounts, and configuring system modules. Its removal indicates that the installation process has been refactored or moved to a different mechanism, likely automated or handled via command-line tools, rather than through this specific browser-based wizard.

src/Senparc.Web/Pages/Install · high confidence

Removed Vue-based admin layout template

The Vue.js-based shared layout template (\_Layout\_Vue.cshtml) has been removed from the admin area. This file previously provided the base structure for admin pages using Vue and Element UI components, including the sidebar navigation, header, and footer. Its removal indicates a shift away from this specific Vue-based rendering approach for the admin interface.

src/Senparc.Areas.Admin/Areas/Admin/Pages/Shared · high confidence

Behavioural changes

2 commits (0 fixes) modifying src/Senparc.Web/App\_Data

A change to existing behaviour in src/Senparc.Web/App\_Data — 2 commits, 1 file.

_src/Senparc.Web/App\Data · medium confidence · unverified

Accounts module domain models and multi-database support restructured

The Accounts module's domain models have been reorganized into a new DatabaseModel structure, introducing explicit Entity Framework Core configurations for Account, AccountPayLog, and PointsLog entities. This change adds support for multiple database providers (SQL Server, MySQL, PostgreSQL, Oracle, SQLite, and DM) via dedicated DbContext classes and design-time factories, enabling cross-platform compatibility and flexible database selection. The Account entity now includes detailed user profile fields, login tracking, and balance management, while DTOs for login and queries are standardized. Database mappings enforce specific column types and constraints, with special handling for monetary values across different database engines.

src/back-end/Senparc.Xncf.Accounts/Domain/Models · high confidence

Accounts module refactored into standalone XNCF with multi-tenant support and Docker build

The Accounts module has been restructured into a standalone XNCF component, introducing a new Program.cs entry point and Register classes that handle area registration, database configuration, and module lifecycle. This change enables multi-tenant architecture via new appsettings.json options (EnableMultiTenant, TenantRule) and updates the database configuration to support multiple database types (e.g., Sqlite, SqlServer). Additionally, a Dockerfile is now provided for containerized builds, and localization resources have been enhanced for better user experience across multiple languages.

src/back-end/Senparc.Xncf.Accounts · high confidence

Accounts module services migrated to Xncf domain structure

The account management services (including AccountService, AccountPayLogService, PointsLogService, and OperationQueue components) have been moved from the shared Senparc.Service project into the Senparc.Xncf.Accounts module's Domain layer. This refactoring updates the codebase to use the new Xncf-specific base classes and namespaces, aligning the account logic with the modular Xncf architecture while preserving existing functionality.

src/back-end/Senparc.Xncf.Accounts/Domain/Services · high confidence

Added folder publish profile targeting .NET 10

A new publish profile (FolderProfile.pubxml) has been added for the Senparc.Web project, configuring a file-system publish method to the path \\\\Mac\\Home\\Downloads\\NCF-Publish. This profile is configured to target the net10.0 framework and is set to launch the site after publishing.

src/back-end/Senparc.Web/Properties/PublishProfiles · high confidence

Admin ACL repository layer refactored for resource-based authorization and multi-module support

The repository layer in the Admin ACL area has been restructured to support resource-based authorization and new administrative capabilities. This includes new repositories for managing admin authentication configurations, chat session workflows, and NeuCharPivot system entities. Existing repositories for menus, roles, permissions, and user info have been updated to support resource code retrieval and visible menu filtering, while chat message and session repositories have been migrated from the legacy core to support the new admin chat session workflow features.

src/back-end/Senparc.Areas.Admin/ACL · high confidence

Admin Account module UI templates and routing updated

The Admin area for the Accounts module now uses new Razor view templates (Index.cshtml, \_SideMenu.cshtml, \_ViewImports.cshtml, \_ViewStart.cshtml) that render the interface using Vue.js and Element UI components, replacing the previous template-based structure. The underlying page model has been renamed from About to Index and moved to the Senparc.Xncf.Accounts namespace, aligning the code-behind with the new view structure.

src/back-end/Senparc.Xncf.Accounts/Areas · high confidence

Admin Dto models reorganized and expanded with chat workflow support

The data transfer objects in the Admin area have been reorganized: BaseDto and BaseQueryDto were moved from the core project to the Admin area to align with the new location structure. New DTOs were added to support the Admin Chat session workflow capabilities, including AccountLoginDto for authentication, AdminChatSessionDto and AdminChatMessageDto for chat interactions, and AdminChatSessionWorkflowDto to link sessions with workflows. Additionally, XncfModuleDisplayDto was introduced to provide detailed display information for XNCF modules, including versioning and state.

src/back-end/Senparc.Areas.Admin/Domain/Models/DatabaseModel/Dto · high confidence

Admin UI modernization with Vue-based layout, module selector, and localization

The admin interface has been significantly updated with a new Vue.js-based layout (\_Layout\_Vue.cshtml) that replaces the legacy sidebar and header partials, introducing a collapsible navigation menu, a language switcher supporting Chinese, English, Japanese, French, Spanish, and Russian, and footer tools for AI chat, browser console, and NeuBell notifications. A new shared component (\_ChatModuleSelectorDialog.cshtml) allows administrators to search, select, and preview XNCF modules and workflows directly within the admin area. Localization is enhanced via a new script (\_LocalizationScripts.cshtml) that injects translation resources into the client and dynamically translates legacy UI elements, while existing XNCF module layout partials have been renamed and updated to use localized resource keys for breadcrumbs and navigation labels.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/Shared · high confidence

Admin UI styling and backend repository refactoring

The Admin area receives updated CSS for the login page, tenant info view, and a new sticky-header style for the menu list. On the backend, the Accounts module’s repositories (Account, AccountPayLog, PointsLog) are moved into the DDD ACL layer and switched from the legacy ISqlClientFinanceData dependency to the new INcfDbData abstraction.

src/back-end · high confidence

Admin area JavaScript files relocated and enhanced with security and session management

The admin JavaScript files (axios, dompurify, navMenu, store, vuePermission, global) have been moved from src/Senparc.Web/wwwroot/js/Admin to src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin. This move introduces a centralized axios interceptor for unified error handling and JWT token injection, adds DOMPurify 3.0.6 to sanitize HTML and prevent XSS attacks, and implements a session reminder dialog with configurable expiration and keep-alive options in global.js. Navigation state (opened menus, scroll position) is now persisted in sessionStorage via a Vuex store, and a v-has directive enforces resource-based UI permissions.

src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin · high confidence

Admin backend log reading performance and reliability improvements

The Admin backend's log reading experience is enhanced with a new lightweight scanning feature that provides quick summary statistics (counts by type, exceptions) for log dates without loading full log details, significantly improving performance on the dashboard. Additionally, a synchronization lock has been implemented for reading log details to prevent race conditions and ensure data consistency during concurrent access. The underlying data model for log items has also been updated to use a more descriptive property name for the trace type.

src/back-end/Senparc.Areas.Admin/Domain/SeparcTraceManager · high confidence

Admin backend styles updated and relocated

The administrator backend user interface styles have been updated and moved from the previous location to the new XncfModule area. This change includes modifications to the CSS for the XncfModule, such as adjustments to card action buttons and table styling, to enhance the overall backend experience.

src/back-end/Senparc.Areas.Admin/wwwroot/css/Admin/XncfModule · medium confidence

Admin database models reorganized with chat, auth, and pivot entities

The admin database model layer has been reorganized and expanded. The \AdminUserInfo\ model was moved from the core project to the admin area, upgraded to use SHA-512 password hashing instead of MD5, and its table mapping was updated to support longer password fields. New database models were added to support admin chat capabilities (\AdminChatSession\, \AdminChatMessage\, \AdminChatSessionModule\, \AdminChatSessionWorkflow\) and authentication configuration (\AdminAuthConfig\). Additionally, models for the NeuCharPivot system (\NeuCharPivotConfiguration\, \NeuCharPivotFunction\, \NeuCharPivotLoopTask\, \NeuCharExecutionLog\) were introduced to manage AI-generated UI layouts and scheduled tasks. The \AdminSenparcEntities\ context was updated to include these new DbSets and configure database-specific large text types.

src/back-end/Senparc.Areas.Admin/Domain/Models/DatabaseModel · high confidence

Admin interface restructured with new Vue-based pages and components

The admin area's client-side JavaScript has been reorganized into a new folder structure under \src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin/Pages\. This change introduces dedicated Vue.js applications for key administrative functions, including a new Admin Chat interface (\AdminChat/Chat.js\ and \ChatLauncherMixin.js\) for AI model interaction, a redesigned Home dashboard (\Index/Index.js\) with real-time host metrics and agent overviews, and a new Tenant Management page (\TenantInfo/Index.js\) supporting multi-tenant operations. Additionally, the Xncf Module manager (\XncfModule/index.js\ and \start.js\) has been updated to support batch updates and enhanced module details, while the NeuCharPivot feature (\NeuCharPivot/Aggregate.js\) now includes HTML sanitization via DOMPurify for safer function output display. Common UI components like \sidebar-item\ and \pagination\ are now centralized in \Components/components.js\, and the login flow (\LogIn/Index.js\) has been updated to handle multi-tenant validation.

src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin/Pages · high confidence

Admin menu pages migrated to back-end folder and localized

The Menu management pages (Index and Edit) in the Admin area have been moved from the root src folder to the new src/back-end directory structure. Additionally, all hardcoded Chinese text in these Razor views has been replaced with localized resource keys (e.g., AR\["Menu.管理"\]), enabling the interface to support multiple languages.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/Menu · high confidence

Admin user management pages localized and migrated to back-end

The Admin UserInfo pages (Index, Edit, Authorization) have been moved from the root src folder to the back-end directory and updated to use the AR localization resource system for all user-facing text, including titles, labels, placeholders, and button captions. Additionally, the C\# page models have been refactored to use C\# 12 primary constructors for dependency injection, and the Index page model now applies the AutoValidateAntiforgeryToken attribute for improved security.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/AdminUserInfo · high confidence

Consolidation of System Database Entities and Removal of Separate SystemServiceEntities

The system database model has been unified under \SenparcEntities\, removing the previously separate \SystemServiceEntities\ and its associated design-time factory. This change eliminates the redundant \SystemServiceEntities\ DbContext and its dedicated migration path, simplifying the database architecture by centralizing all system-level data structures and migrations into the single \SenparcEntities\ context. The \Register\ class has been updated to reflect this consolidation, no longer registering \SystemServiceEntities\ for database operations.

src/Senparc.Service/SystemEntities · high confidence

Database upgrade maintenance mode and persistent data protection

The application now intercepts requests with a 503 status and redirects to a maintenance page when the database schema requires migration, preventing business logic from running against an outdated schema. A new command-line flag, --database-upgrade, allows administrators to run migrations in a non-interactive mode. Additionally, ASP.NET Core Data Protection keys are now persisted to the App\_Data directory to ensure authentication cookies remain valid across application restarts.

src/back-end/Senparc.Web · high confidence

The shared layout and partial views now support full internationalization and privacy compliance. The main layout (\_Layout.cshtml) replaces hardcoded navigation text with localized resource strings, adds a language selector dropdown for switching between Chinese, English, Japanese, French, Spanish, and Russian, and conditionally displays the API Swagger link based on module availability. A new cookie consent banner (\_CookieConsentPartial.cshtml) respects user tracking preferences and links to the privacy page. Additionally, a new script partial (\_LocalizationScripts.cshtml) injects site-wide translation resources into the browser and provides a JavaScript function to switch languages dynamically.

src/back-end/Senparc.Web/Pages/Shared · high confidence

Installer UI styling and layout updates

The installer interface now features a dedicated CSS file for the main installation page, introducing specific styles for the start screen, success message display, and option selection blocks. This includes visual enhancements such as centered layouts, hover effects on option blocks, and improved spacing for the footer and logo, ensuring a more polished and consistent user experience during the installation process.

src/back-end/Senparc.Xncf.Installer/wwwroot/css · high confidence

Installer admin UI now uses Vue-based layout with localized side menu

The installer's admin interface has been refactored to use a Vue-based layout (\_Layout\_Vue) instead of the previous Razor layout. The shared side menu now renders localized labels (e.g., Home, Database Sample) via the IStringLocalizer, and navigation links are constructed dynamically using Vue-style bindings to include the module UID.

src/back-end/Senparc.Xncf.Installer/Pages · high confidence

Installer interface domain models updated to support module selection and configuration

The installer interface's domain data transfer objects have been restructured to support a more granular installation process. New DTOs (GetDefaultInstallOptionsResponseDto, InstallResponseDto, XncfRegisterDto) define the structure for retrieving default options, handling installation responses, and representing individual module metadata (including default selection flags and navigation details). The previous InstallVD class has been renamed to InstallRequestDto and moved to the installer interface, expanding its properties to include SystemName, DbConnectionString, and a list of module identifiers, replacing the older AdminUserName/Password-only structure.

src/back-end/Senparc.Xncf.Installer.Interface/Domain · high confidence

Installer module now supports Docker deployment and configurable database settings

The Senparc.Xncf.Installer module has been updated to support containerized deployment via a new Dockerfile and allows users to configure the database type (e.g., Sqlite, SqlServer) and multi-tenant mode through appsettings.json. The module's registration logic has been refactored to use the DDD pattern, and it now integrates with Aspire and Dapr for local development testing, while defaulting to disabled multi-tenant mode for initial installations.

src/back-end/Senparc.Xncf.Installer · high confidence

Installer page now fetches and submits configuration options via Vue.js

The installation interface now uses a Vue.js application to dynamically load default system configuration (such as system name, admin user, and database connection string) and a list of optional modules from the server. Users can review these options and submit them via a confirmation dialog, which triggers the installation process and handles success or failure states by updating the page content.

src/back-end/Senparc.Xncf.Installer/wwwroot/js · high confidence

Installer service refactoring with default module selection and connection string validation

The installer domain services have been restructured to improve the initial setup experience. InstallOptionsService now pre-selects a set of core modules (including Admin, PromptRange, XncfBuilder, MCP, AIKernel, AgentsManager, and DesktopBridge) by default, while filtering out internal system modules from the user's selection list. InstallerService has been refactored to enforce a strict initialization order for core components (permissions, menus, module manager, etc.) before installing user-selected modules. Additionally, the service now validates database connection strings before applying changes, preventing unnecessary reloads if the value remains unchanged, and includes logic to handle database unavailability states gracefully during the installation process.

src/back-end/Senparc.Xncf.Installer/Domain/Services · high confidence

Language switching API and Accounts module localization resources

The application now supports dynamic language switching via a new GET /api/Language/Set endpoint, which sets a persistent culture cookie and redirects the user to a specified return URL. This backend capability is paired with the addition of localized resource files for the Accounts module, providing translated strings for Chinese, English, Spanish, French, Japanese, and Russian.

src/back-end/Senparc.Web/Controllers, src/back-end/Senparc.Xncf.Accounts/Resources · high confidence

Legacy ASP.NET MVC code moved to reference-only directory with NCF branding updates

The legacy ASP.NET MVC project files (including controllers, models, and filters for Admin, User, and WeChat areas) have been relocated from the main \src\ directory to \src/back-end/TobeRemoveProjects\. A new \readme.md\ in this location clarifies that these files are retained solely as a reference for the transition to the NCF framework and are excluded from compilation. Within these moved files, the code has been updated to reflect the NCF branding: the WeChat message handler and context classes have been renamed from \Scf\\ to \Ncf\\, the \LoginController\ no longer depends on \WeixinService\, and the HTTPS redirect target has been changed from \scf.senparc.com\ to \ncf.senparc.com\.

src/back-end/TobeRemoveProjects · high confidence

NCF solution structure refactored and template documentation updated

The repository's solution structure has been reorganized: the legacy NCF.sln (Visual Studio 16) containing numerous core and test projects has been removed and replaced with a new NCF.Template.sln (Visual Studio 17) focused on the template project. The src/readme.md has been updated to reflect this new structure, providing instructions for installing the NCF template via NuGet or locally, and directing users to the Developer branch for the latest code.

src · high confidence

New DTOs for Role Management and System Configuration

The admin backend now includes data transfer objects to support role-based access control and system settings. SysRoleDto, PermissionRequestDto, SysRoleDetailDto, and SysRoleListDto provide the structure for managing roles, permissions, and their details. Additionally, SystemConfigDto and SystemConfig\_CreateOrUpdateDto define the schema for system configuration, including fields for system name, payment identifiers (MchId, MchKey, TenPayAppId), module visibility, and footer content.

src/back-end/Senparc.Areas.Admin/Domain/Dto · high confidence

New FullAccountCache implementation for account data caching

The account module now includes a new FullAccountCache class that manages caching of full account information. This cache maintains a mapping between user IDs and usernames, supports both synchronous and asynchronous operations for retrieving and inserting account data, and includes functionality to force logout users by updating their cache status. The implementation uses a scoped dependency injection lifecycle and integrates with the existing database context to fetch account details when cache misses occur.

src/back-end/Senparc.Xncf.Accounts/Domain/Cache · high confidence

Placeholder implementation for InstallerApiClient added

A new file, InstallerApiClient.cs, has been added to the OHS WebClient layer. The file currently contains a commented-out class definition that outlines a basic HTTP client structure for interacting with the installer service. This serves as a structural placeholder or sample code rather than an active, executable feature, as the actual class and its methods are disabled.

src/back-end/Senparc.Xncf.Installer.Interface/OHS · medium confidence

Rearrange backend static assets and introduce Download page styling

The CSS files for the back-end web application have been reorganized under the new \src/back-end/Senparc.Web/wwwroot/css\ directory, with existing styles for the Index, User, and WX modules moved from the root \src\ folder to maintain the new project structure. Additionally, a new \Download\ page has been added, featuring a dedicated \download.css\ file that provides a modern, dark-themed UI with gradient backgrounds, glowing effects, and responsive button styles for the download interface.

src/back-end/Senparc.Web/wwwroot/css · high confidence

Rearranged model structure and replaced legacy exception with base PageModel

The project structure has been reorganized by moving model files into the new \src/back-end/Senparc.Web/Models\ directory. This change includes the introduction of \BaseVD.cs\, which defines view data interfaces and classes (such as \BaseVD\ and \SuccessVD\) for managing system configuration, user context, and routing data. Additionally, the legacy \ScfUninstallException\ from the removed \Senparc.Core\ project has been replaced by \BasePageModel\, a new base class for frontend PageModels that inherits from \PageModelBase\. The existing \ErrorViewModel\ was simply relocated to the new directory without functional changes.

src/back-end/Senparc.Web/Models · high confidence

Rearrangement of back-end source files into a dedicated directory

The project structure has been reorganized to separate back-end assets from the root source directory. The \GenerateDbMigration\ tool and the \AdminUserInfo\ CSS styles have been moved from \src/\ to \src/back-end/\. Additionally, a new \app.js\ script containing an initialization function has been added to the back-end web root scripts directory.

src/back-end/Senparc.Areas.Admin/wwwroot/css/Admin/AdminUserInfo, src/back-end/Senparc.Web/wwwroot/scripts, src/back-end/Tools · high confidence

Redesigned Xncf Module Management with Batch Updates and NeuCharPivot Integration

The Xncf Module management interface in the Admin backend has been significantly enhanced. The Index page now supports batch updating and enabling of modules via a new 'Updates' tab with selection controls. The Start page has been restructured to include a dedicated 'NeuCharPivot' tab, allowing administrators to generate and manage declarative operation panels for module functions using AI models. Additionally, the module detail view now features a 'ChatAgent' button for interactive assistance and displays a comprehensive summary bar with module status, version, and function counts.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/XncfModule · high confidence

Refactored database migration scaffolding and schema updates

The database migration scaffolding in the \MigrationsForSenparcEntities\ directory has been refactored, requiring users to manually run \update-database\ to synchronize the database schema. This change involves deleting several legacy migration files (including \20200216150622\_Add\_Tables\, \20200225131949\_Update\_XscfModule\_20200225\, \20200225161207\_Update\_Menu\_20200226\, \20200227080207\_Update\_Account\, and \20200528044953\_Update\_SystemConfig\) and their corresponding designer files. The deleted migrations previously defined the initial table structures for entities like \Accounts\, \AdminUserInfos\, \SysMenus\, and \XncfModules\, and applied subsequent schema updates such as adding the \IsLocked\ column to \SysMenus\, modifying column types and lengths in \Accounts\ and \AdminUserInfos\, and updating \XncfModules\ fields.

src/Senparc.Service/SystemEntities/MigrationsForSenparcEntities · high confidence

Removal of legacy Docker, build, and configuration files

The Senparc.Web project has removed several legacy configuration and build artifacts, including the Dockerfile, Startup.cs, Register.cs, and SenparcBaseDbContextFactory.cs. Additionally, build tooling files such as gulpfile.js, tsconfig.json, and global.json have been deleted, along with static asset configurations like libman.json and the log4net.config file. These changes indicate a shift away from the previous Docker-based build process, Gulp/TypeScript client-side build pipeline, and the older ASP.NET Core startup registration pattern.

src/Senparc.Web · high confidence

Removed .NET Core 3.1 folder publish profile

The folder-based publish profile for the .NET Core 3.1 target framework (configured for win-x64 self-contained deployment) has been removed from the project. This change eliminates the pre-configured option to publish the web application to a local file system using the older .NET Core 3.1 runtime, aligning with the project's migration to newer framework versions.

src/Senparc.Web/Properties · high confidence

Removed hardcoded SQL Server database configuration

The static \SenparcConfig.config\ file containing hardcoded connection strings for SQL Server (including local and client environments) has been removed from the \App\_Data/DataBase\ directory. This change eliminates the previous static configuration approach, aligning with the broader migration to support multiple database providers and dynamic configuration.

_src/Senparc.Web/App\Data/DataBase · high confidence

Role management pages now support localization and stricter security

The Role management pages (Edit, Index, and Permission) in the Admin area have been updated to replace hardcoded Chinese strings with localized resource entries (AR\[...\]), enabling multi-language support for labels, placeholders, and buttons. Additionally, the backend models for these pages now enforce anti-forgery token validation by switching from \[IgnoreAntiforgeryToken\] to \[AutoValidateAntiforgeryToken\], improving the security of role editing and permission assignment operations.

src/back-end/Senparc.Areas.Admin/Areas/Admin/Pages/Role · high confidence

Updated authorization tag helper to use new role permission service

The AuthorizationMenuTagHelper in the Admin area now relies on the new SysRolePermissionService instead of the previous SysPermissionService to check user permissions. This change aligns the menu rendering logic with the updated tenant system's role-based permission model, ensuring that access control for admin menu items is evaluated against the new service implementation.

src/back-end/Senparc.Areas.Admin/Domain/TagHelpers · high confidence

Updated marked.js to v14.1.0

The admin area now uses marked.js v14.1.0 for rendering Markdown content. This update to the client-side library ensures that Markdown is processed with the latest parsing rules and security fixes provided by the library maintainers.

_src/back-end/Senparc.Areas.Admin/wwwroot/js/Admin/lib, src/back-end/Senparc.Web/.playwright-cli, src/back-end/Senparc.Web/App\Data/PromptRange · high confidence

Test coverage

Added client-side tests for Admin UI components and Agent Manager features; Added unit tests for Admin area authentication and user services; Added unit tests for Admin backend domain services; Added unit tests for account management operations; Added unit tests for admin user password hashing, NeuCharPivot loop task scheduling, and workflow versioning; Removed Jun Mei SMS test suite and base test class; Removed obsolete unit tests in Senparc.Services.Tests; Updated Firefox UI tests to use RemoteWebDriver and new base URL.

Dependencies

NCF Template and Back-End Projects Upgrade to .NET 10.0 and Latest NuGet Dependencies

The NCF Template and all back-end projects (including Senparc.Web, Senparc.Areas.Admin, Senparc.Xncf.Installer, Senparc.Xncf.Accounts, and Aspire components) have been upgraded to target the .NET 10.0 framework. This change synchronizes the solution with the latest Senparc.\* NuGet packages (such as Senparc.Ncf.Core 0.29.0-preview8, Senparc.CO2NET 4.2.0, and various Xncf modules) and updates Aspire hosting dependencies to version 9.0.0. The template project itself has been updated to version 0.39.0, reflecting the addition of Workflow and Sandbox modules, while the Admin area and Installer modules have been enhanced with improved localization, database upgrade maintenance modes, and multi-language support.

(dependencies) · high confidence

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

How this codebase got here

Score

  • CAI 39 → 31 (-8.4)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 37 → 22 (-14.7)
  • Architecture 67 → 66 (-1.0)
  • Maturity 78 → 81 (+2.3)
  • Readiness 35 → 38 (+3.5)
  • Security 49 → 30 (-19.6)
  • Accessibility 38 → 39 (+0.7)

Resolved (116)

  • Change coupling: InstallerService.cs ↔ index.js (src/back-end/Senparc.Xncf.Installer/Domain/Services/InstallerService.cs)
  • Coverage not measured — test suite did not build
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • …and 96 more

New (232)

  • CommentedOutCode (src/back-end/Senparc.Web/Pages/Index.cshtml)
  • Coverage not measured — .NET and JavaScript/TypeScript suite
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.Admin/package-lock.json)
  • Critical CVE: [GHSA redacted] (src/front-end/Senparc.Xncf.AdminModule/package-lock.json)
  • …and 212 more

Changes since last survey

  • 25 commits — 25 feature/other, 0 fixes

By area

  • src/back-end — 15 commits
  • (repo) — 8 commits
  • src/NCF.Template.csproj — 2 commits

Notable commits

  • change: Add Senparc.Xncf.DesktopBridge package reference and update InstallOptionsService to include its GUID
  • change: Enhance localization support across multiple admin pages by replacing hardcoded strings with localized resource entries. Update titles, placeholders, and labels in Index, Edit, and Permission pages for improved user experience and consistency.
  • change: Enhance localization support by adding new resource entries for multiple languages, including English, Spanish, and French. Update various pages and components to utilize localized strings for improved user experience. Add new scripts for dynamic language switching in the web application.
  • change: Merge branch 'Developer' of https://github.com/NeuCharFramework/NCF into Developer
  • change: Merge pull request #390 from NeuCharFramework/Developer
  • change: Merge pull request #391 from NeuCharFramework/Developer
  • change: Merge pull request #392 from NeuCharFramework/Developer
  • change: Merge pull request #393 from NeuCharFramework/Developer
  • change: Merge pull request #394 from NeuCharFramework/Developer
  • change: Merge pull request #395 from NeuCharFramework/Developer
  • change: Merge pull request #396 from NeuCharFramework/Developer
  • change: [Release] Increment package version to 0.34.0 and enhance Admin Chat functionality with new streaming interface and synchronization events for improved desktop management interactions.
  • change: [Release] Increment package version to 0.35.0 and enhance security for Admin Chat functionality, improving synchronization and interaction for desktop management.
  • change: [Release] Increment package version to 0.36.0, add "Download" page, enhance database upgrade maintenance mode, and improve admin footer with synchronization features and localization support.
  • change: [Release] Increment package version to 0.37.0, add "Download" page, and enhance admin layout with improved menu handling and localization support across multiple languages.
  • change: [Release] Remove deprecated Synchro services and controller, and add new NeuCharWorkflow.Abstractions package reference to enhance modular functionality.
  • change: [Release] Update PackageReleaseNotes in Senparc.Web.csproj to reflect changes in version 0.36.0, including the addition of a download page, database upgrade maintenance mode, and support for independent upgrade commands.
  • change: [Release] Update package versions across multiple projects to latest stable releases, enhancing functionality and compatibility, including improvements in Senparc.Ncf and Senparc.Xncf modules.
  • change: [Release] Update package versions to latest stable releases (0.21.9 for Senparc.Ncf.DatabasePlant, 0.14.7 for Senparc.Xncf.SystemCore, and 0.3.22 for Senparc.Ncf.UnitTestExtension) across multiple projects, ensuring improved functionality and compatibility.
  • change: [Release] Update project dependencies to latest versions, including Senparc.CO2NET (4.1.0), and enhance various project configurations for improved compatibility and performance across multiple modules.
  • …and 5 more

API surface

  • 4 added · 0 removed (a removed endpoint is potentially breaking)

Added endpoints (4)

  • GET /api/senparc.areas.admin/neubell/events
  • GET /api/senparc.areas.admin/neubell/state
  • POST /api/senparc.areas.admin/adminchatstream/send
  • POST /api/senparc.areas.admin/neubell/consume

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

Survey your own repository

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

About this page

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