код написан
This commit is contained in:
@@ -2,12 +2,12 @@
|
||||
|
||||
> High-level module structure for AI Context. Generated automatically.
|
||||
|
||||
**Generated:** 2026-03-09T13:33:22.105511
|
||||
**Generated:** 2026-03-10T11:52:00.326208
|
||||
|
||||
## Summary
|
||||
|
||||
- **Total Modules:** 93
|
||||
- **Total Entities:** 2649
|
||||
- **Total Modules:** 103
|
||||
- **Total Entities:** 3063
|
||||
|
||||
## Module Hierarchy
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
### 📁 `src/`
|
||||
|
||||
- 🏗️ **Layers:** API, Core, UI (API)
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 20, TRIVIAL: 2
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 21, TRIVIAL: 2
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 24
|
||||
- 📦 **Entities:** 25
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -53,10 +53,10 @@
|
||||
|
||||
### 📁 `routes/`
|
||||
|
||||
- 🏗️ **Layers:** API, UI (API)
|
||||
- 📊 **Tiers:** CRITICAL: 12, STANDARD: 254, TRIVIAL: 8
|
||||
- 📄 **Files:** 19
|
||||
- 📦 **Entities:** 274
|
||||
- 🏗️ **Layers:** API, UI (API), UI/API
|
||||
- 📊 **Tiers:** CRITICAL: 12, STANDARD: 272, TRIVIAL: 16
|
||||
- 📄 **Files:** 21
|
||||
- 📦 **Entities:** 300
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -72,14 +72,14 @@
|
||||
- Schema for branch creation requests.
|
||||
- ℂ **BranchSchema** (Class)
|
||||
- Schema for representing a Git branch metadata.
|
||||
- ℂ **BuildManifestRequest** (Class)
|
||||
- Request schema for manifest build endpoint.
|
||||
- ℂ **CommitCreate** (Class)
|
||||
- Schema for staging and committing changes.
|
||||
- ℂ **CommitSchema** (Class)
|
||||
- Schema for representing Git commit details.
|
||||
- ℂ **ConfirmationRecord** (Class)
|
||||
- In-memory confirmation token model for risky operation dispa...
|
||||
- ℂ **ConflictResolution** (Class)
|
||||
- Schema for resolving merge conflicts.
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
@@ -91,10 +91,10 @@
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** API, Domain, Domain (Tests), UI (API Tests), Unknown
|
||||
- 📊 **Tiers:** STANDARD: 88, TRIVIAL: 187
|
||||
- 📄 **Files:** 14
|
||||
- 📦 **Entities:** 275
|
||||
- 🏗️ **Layers:** API, Domain, Domain (Tests), Tests, UI (API Tests), Unknown
|
||||
- 📊 **Tiers:** STANDARD: 92, TRIVIAL: 195
|
||||
- 📄 **Files:** 17
|
||||
- 📦 **Entities:** 287
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -122,16 +122,19 @@
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.api.routes.assistant
|
||||
- 🔗 IMPLEMENTS -> clean_release_v2_release_api_contracts
|
||||
|
||||
### 📁 `core/`
|
||||
|
||||
- 🏗️ **Layers:** Core
|
||||
- 📊 **Tiers:** CRITICAL: 47, STANDARD: 94, TRIVIAL: 8
|
||||
- 📄 **Files:** 11
|
||||
- 📦 **Entities:** 149
|
||||
- 📊 **Tiers:** CRITICAL: 52, STANDARD: 102, TRIVIAL: 9
|
||||
- 📄 **Files:** 12
|
||||
- 📦 **Entities:** 163
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **AsyncSupersetClient** (Class)
|
||||
- Async sibling of SupersetClient for dashboard read paths.
|
||||
- ℂ **AuthSessionLocal** (Class) `[TRIVIAL]`
|
||||
- A session factory for the authentication database.
|
||||
- ℂ **BeliefFormatter** (Class)
|
||||
@@ -150,8 +153,6 @@
|
||||
- A Pydantic model used to represent the validated configurati...
|
||||
- ℂ **PluginLoader** (Class)
|
||||
- Scans a specified directory for Python modules, dynamically ...
|
||||
- ℂ **SchedulerService** (Class)
|
||||
- Provides a service to manage scheduled backup tasks.
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
@@ -164,9 +165,9 @@
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** Domain
|
||||
- 📊 **Tiers:** STANDARD: 7
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 7
|
||||
- 📊 **Tiers:** STANDARD: 8, TRIVIAL: 6
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 14
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -174,6 +175,8 @@
|
||||
- Records request payloads and returns scripted responses for ...
|
||||
- 📦 **backend.src.core.__tests__.test_superset_profile_lookup** (Module)
|
||||
- Verifies Superset profile lookup adapter payload normalizati...
|
||||
- 📦 **test_throttled_scheduler** (Module)
|
||||
- Unit tests for ThrottledSchedulerConfigurator distribution l...
|
||||
|
||||
### 📁 `auth/`
|
||||
|
||||
@@ -314,14 +317,16 @@
|
||||
### 📁 `utils/`
|
||||
|
||||
- 🏗️ **Layers:** Core, Domain, Infra
|
||||
- 📊 **Tiers:** STANDARD: 50, TRIVIAL: 1
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 51
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 62, TRIVIAL: 5
|
||||
- 📄 **Files:** 5
|
||||
- 📦 **Entities:** 68
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **APIClient** (Class)
|
||||
- Инкапсулирует HTTP-логику для работы с API, включая сессии, ...
|
||||
- ℂ **AsyncAPIClient** (Class)
|
||||
- Async Superset API client backed by httpx.AsyncClient with s...
|
||||
- ℂ **AuthenticationError** (Class)
|
||||
- Exception raised when authentication fails.
|
||||
- ℂ **DashboardNotFoundError** (Class)
|
||||
@@ -336,25 +341,23 @@
|
||||
- Exception raised when access is denied.
|
||||
- ℂ **SupersetAPIError** (Class)
|
||||
- Base exception for all Superset API related errors.
|
||||
- 📦 **backend.core.utils.dataset_mapper** (Module)
|
||||
- Этот модуль отвечает за обновление метаданных (verbose_map) ...
|
||||
- 📦 **backend.core.utils.fileio** (Module)
|
||||
- Предоставляет набор утилит для управления файловыми операция...
|
||||
- ℂ **SupersetAuthCache** (Class)
|
||||
- Process-local cache for Superset access/csrf tokens keyed by...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.core.superset_client
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.logger
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.utils.network.SupersetAuthCache
|
||||
- 🔗 DEPENDS_ON -> pandas
|
||||
- 🔗 DEPENDS_ON -> psycopg2
|
||||
- 🔗 DEPENDS_ON -> pyyaml
|
||||
|
||||
### 📁 `models/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Model
|
||||
- 📊 **Tiers:** CRITICAL: 20, STANDARD: 35, TRIVIAL: 29
|
||||
- 📊 **Tiers:** CRITICAL: 21, STANDARD: 40, TRIVIAL: 29
|
||||
- 📄 **Files:** 13
|
||||
- 📦 **Entities:** 84
|
||||
- 📦 **Entities:** 90
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -362,22 +365,22 @@
|
||||
- Maps an Active Directory group to a local System Role.
|
||||
- ℂ **AppConfigRecord** (Class) `[CRITICAL]`
|
||||
- Stores the single source of truth for application configurat...
|
||||
- ℂ **ApprovalDecision** (Class)
|
||||
- Approval or rejection bound to a candidate and report.
|
||||
- ℂ **AssistantAuditRecord** (Class)
|
||||
- Store audit decisions and outcomes produced by assistant com...
|
||||
- ℂ **AssistantConfirmationRecord** (Class)
|
||||
- Persist risky operation confirmation tokens with lifecycle s...
|
||||
- ℂ **AssistantMessageRecord** (Class)
|
||||
- Persist chat history entries for assistant conversations.
|
||||
- ℂ **CandidateArtifact** (Class)
|
||||
- Represents one artifact associated with a release candidate.
|
||||
- ℂ **CheckFinalStatus** (Class)
|
||||
- Final status for compliance check run.
|
||||
- Backward-compatible final status enum for legacy TUI/orchest...
|
||||
- ℂ **CheckStageName** (Class)
|
||||
- Mandatory check stages.
|
||||
- Backward-compatible stage name enum for legacy TUI/orchestra...
|
||||
- ℂ **CheckStageResult** (Class)
|
||||
- Per-stage compliance result.
|
||||
- ℂ **CheckStageStatus** (Class)
|
||||
- Stage-level execution status.
|
||||
- ℂ **ClassificationType** (Class)
|
||||
- Manifest classification outcomes for artifacts.
|
||||
- Backward-compatible stage result container for legacy TUI/or...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
@@ -508,10 +511,10 @@
|
||||
|
||||
### 📁 `schemas/`
|
||||
|
||||
- 🏗️ **Layers:** API
|
||||
- 📊 **Tiers:** CRITICAL: 10, STANDARD: 9, TRIVIAL: 3
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 22
|
||||
- 🏗️ **Layers:** API, Domain
|
||||
- 📊 **Tiers:** CRITICAL: 10, STANDARD: 18, TRIVIAL: 3
|
||||
- 📄 **Files:** 4
|
||||
- 📦 **Entities:** 31
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -519,6 +522,12 @@
|
||||
- Schema for creating an AD Group mapping.
|
||||
- ℂ **ADGroupMappingSchema** (Class) `[CRITICAL]`
|
||||
- Represents an AD Group to Role mapping in API responses.
|
||||
- ℂ **DashboardHealthItem** (Class)
|
||||
- Represents the latest health status of a single dashboard.
|
||||
- ℂ **HealthSummaryResponse** (Class)
|
||||
- Aggregated health summary for all dashboards.
|
||||
- ℂ **NotificationChannel** (Class)
|
||||
- Structured notification channel definition for policy-level ...
|
||||
- ℂ **PermissionSchema** (Class) `[TRIVIAL]`
|
||||
- Represents a permission in API responses.
|
||||
- ℂ **ProfilePermissionState** (Class)
|
||||
@@ -529,28 +538,37 @@
|
||||
- Response envelope for profile preference read/update endpoin...
|
||||
- ℂ **ProfilePreferenceUpdateRequest** (Class)
|
||||
- Request payload for updating current user's profile settings...
|
||||
- ℂ **ProfileSecuritySummary** (Class)
|
||||
- Read-only security and access snapshot for current user.
|
||||
- ℂ **RoleCreate** (Class) `[CRITICAL]`
|
||||
- Schema for creating a new role.
|
||||
- ℂ **RoleSchema** (Class) `[CRITICAL]`
|
||||
- Represents a role in API responses.
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> pydantic
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 📊 **Tiers:** STANDARD: 4
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 4
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **backend.src.schemas.__tests__.test_settings_and_health_schemas** (Module)
|
||||
- Regression tests for settings and health schema contracts up...
|
||||
|
||||
### 📁 `scripts/`
|
||||
|
||||
- 🏗️ **Layers:** Scripts, UI, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 27, TRIVIAL: 17
|
||||
- 📄 **Files:** 7
|
||||
- 📦 **Entities:** 46
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 43, TRIVIAL: 30
|
||||
- 📄 **Files:** 8
|
||||
- 📦 **Entities:** 75
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **CleanReleaseTUI** (Class)
|
||||
- Curses-based application for compliance monitoring.
|
||||
- ℂ **TuiFacadeAdapter** (Class)
|
||||
- Thin TUI adapter that routes business mutations through appl...
|
||||
- 📦 **backend.src.scripts.clean_release_cli** (Module)
|
||||
- Provide headless CLI commands for candidate registration, ar...
|
||||
- 📦 **backend.src.scripts.clean_release_tui** (Module)
|
||||
- Interactive terminal interface for Enterprise Clean Release ...
|
||||
- 📦 **backend.src.scripts.create_admin** (Module)
|
||||
@@ -573,10 +591,10 @@
|
||||
|
||||
### 📁 `services/`
|
||||
|
||||
- 🏗️ **Layers:** Core, Domain, Service
|
||||
- 📊 **Tiers:** CRITICAL: 9, STANDARD: 118, TRIVIAL: 15
|
||||
- 📄 **Files:** 9
|
||||
- 📦 **Entities:** 142
|
||||
- 🏗️ **Layers:** Core, Domain, Domain/Service, Service
|
||||
- 📊 **Tiers:** CRITICAL: 9, STANDARD: 120, TRIVIAL: 17
|
||||
- 📄 **Files:** 10
|
||||
- 📦 **Entities:** 146
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -603,23 +621,29 @@
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> ValidationRecord
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.auth.repository
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.config_manager
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.database
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.superset_client
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.task_manager
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Domain Tests, Service, Service Tests, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 29, TRIVIAL: 17
|
||||
- 📄 **Files:** 5
|
||||
- 📦 **Entities:** 46
|
||||
- 📊 **Tiers:** STANDARD: 36, TRIVIAL: 40
|
||||
- 📄 **Files:** 7
|
||||
- 📦 **Entities:** 76
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **TestEncryptionManager** (Class)
|
||||
- Validate EncryptionManager encrypt/decrypt roundtrip, unique...
|
||||
- ℂ **_DummyLogger** (Class)
|
||||
- Minimal logger shim for TaskContext-like objects used in tes...
|
||||
- ℂ **_FakeDBSession** (Class)
|
||||
- Captures persisted records for assertion and mimics SQLAlche...
|
||||
- 📦 **backend.src.services.__tests__.test_llm_plugin_persistence** (Module)
|
||||
- Regression test for ValidationRecord persistence fields popu...
|
||||
- 📦 **backend.src.services.__tests__.test_llm_prompt_templates** (Module)
|
||||
- Validate normalization and rendering behavior for configurab...
|
||||
- 📦 **backend.src.services.__tests__.test_rbac_permission_catalog** (Module)
|
||||
@@ -628,6 +652,8 @@
|
||||
- Unit tests for ResourceService
|
||||
- 📦 **test_encryption_manager** (Module)
|
||||
- Unit tests for EncryptionManager encrypt/decrypt functionali...
|
||||
- 📦 **test_health_service** (Module)
|
||||
- Unit tests for HealthService aggregation logic.
|
||||
- 📦 **test_llm_provider** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for backend/src/services/__tests__/tes...
|
||||
|
||||
@@ -637,10 +663,10 @@
|
||||
|
||||
### 📁 `clean_release/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Infra
|
||||
- 📊 **Tiers:** CRITICAL: 3, STANDARD: 16, TRIVIAL: 32
|
||||
- 📄 **Files:** 10
|
||||
- 📦 **Entities:** 51
|
||||
- 🏗️ **Layers:** Application, Domain, Infra
|
||||
- 📊 **Tiers:** CRITICAL: 9, STANDARD: 44, TRIVIAL: 51
|
||||
- 📄 **Files:** 21
|
||||
- 📦 **Entities:** 104
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -649,28 +675,28 @@
|
||||
- ℂ **CleanPolicyEngine** (Class)
|
||||
- ℂ **CleanReleaseRepository** (Class)
|
||||
- Data access object for clean release lifecycle.
|
||||
- 📦 **backend.src.services.clean_release** (Module)
|
||||
- Initialize clean release service package and provide explici...
|
||||
- ℂ **ComplianceExecutionResult** (Class)
|
||||
- Return envelope for compliance execution with run/report and...
|
||||
- ℂ **ComplianceExecutionService** (Class)
|
||||
- Execute clean-release compliance lifecycle over trusted snap...
|
||||
- 📦 **backend.src.services.clean_release.approval_service** (Module) `[CRITICAL]`
|
||||
- Enforce approval/rejection gates over immutable compliance r...
|
||||
- 📦 **backend.src.services.clean_release.audit_service** (Module)
|
||||
- Provide lightweight audit hooks for clean release preparatio...
|
||||
- 📦 **backend.src.services.clean_release.candidate_service** (Module) `[CRITICAL]`
|
||||
- Register release candidates with validated artifacts and adv...
|
||||
- 📦 **backend.src.services.clean_release.compliance_execution_service** (Module) `[CRITICAL]`
|
||||
- Create and execute compliance runs with trusted snapshots, d...
|
||||
- 📦 **backend.src.services.clean_release.compliance_orchestrator** (Module) `[CRITICAL]`
|
||||
- Execute mandatory clean compliance stages and produce final ...
|
||||
- 📦 **backend.src.services.clean_release.manifest_builder** (Module)
|
||||
- Build deterministic distribution manifest from classified ar...
|
||||
- 📦 **backend.src.services.clean_release.policy_engine** (Module) `[CRITICAL]`
|
||||
- Evaluate artifact/source policies for enterprise clean profi...
|
||||
- 📦 **backend.src.services.clean_release.preparation_service** (Module)
|
||||
- Prepare release candidate by policy evaluation and determini...
|
||||
- 📦 **backend.src.services.clean_release.report_builder** (Module) `[CRITICAL]`
|
||||
- Build and persist compliance reports with consistent counter...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.config_manager
|
||||
- 🔗 DEPENDS_ON -> backend.src.core.logger
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.clean_release
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.clean_release.CleanProfilePolicy
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.clean_release.ResourceSourceRegistry
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.manifest_builder
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
@@ -698,6 +724,113 @@
|
||||
- 📦 **test_policy_engine** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for backend/src/services/clean_release...
|
||||
|
||||
### 📁 `repositories/`
|
||||
|
||||
- 🏗️ **Layers:** Infra
|
||||
- 📊 **Tiers:** STANDARD: 10, TRIVIAL: 46
|
||||
- 📄 **Files:** 10
|
||||
- 📦 **Entities:** 56
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **approval_repository** (Module)
|
||||
- Persist and query approval decisions.
|
||||
- 📦 **artifact_repository** (Module)
|
||||
- Persist and query candidate artifacts.
|
||||
- 📦 **audit_repository** (Module)
|
||||
- Persist and query audit logs for clean release operations.
|
||||
- 📦 **candidate_repository** (Module)
|
||||
- Persist and query release candidates.
|
||||
- 📦 **clean_release_repositories** (Module)
|
||||
- Export all clean release repositories.
|
||||
- 📦 **compliance_repository** (Module)
|
||||
- Persist and query compliance runs, stage runs, and violation...
|
||||
- 📦 **manifest_repository** (Module)
|
||||
- Persist and query distribution manifests.
|
||||
- 📦 **policy_repository** (Module)
|
||||
- Persist and query policy and registry snapshots.
|
||||
- 📦 **publication_repository** (Module)
|
||||
- Persist and query publication records.
|
||||
- 📦 **report_repository** (Module)
|
||||
- Persist and query compliance reports.
|
||||
|
||||
### 📁 `stages/`
|
||||
|
||||
- 🏗️ **Layers:** Domain
|
||||
- 📊 **Tiers:** STANDARD: 19, TRIVIAL: 5
|
||||
- 📄 **Files:** 6
|
||||
- 📦 **Entities:** 24
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **ComplianceStage** (Class)
|
||||
- Protocol for pluggable stage implementations.
|
||||
- ℂ **ComplianceStageContext** (Class)
|
||||
- Immutable input envelope passed to each compliance stage.
|
||||
- ℂ **DataPurityStage** (Class)
|
||||
- Validate manifest summary for prohibited artifacts.
|
||||
- ℂ **InternalSourcesOnlyStage** (Class)
|
||||
- Enforce internal-source-only policy from trusted registry sn...
|
||||
- ℂ **ManifestConsistencyStage** (Class)
|
||||
- Validate run/manifest linkage consistency.
|
||||
- ℂ **NoExternalEndpointsStage** (Class)
|
||||
- Validate endpoint references from manifest against trusted r...
|
||||
- ℂ **StageExecutionResult** (Class)
|
||||
- Structured stage output containing decision, details and vio...
|
||||
- 📦 **backend.src.services.clean_release.stages** (Module)
|
||||
- Define compliance stage order and helper functions for deter...
|
||||
- 📦 **backend.src.services.clean_release.stages.base** (Module)
|
||||
- Define shared contracts and helpers for pluggable clean-rele...
|
||||
- 📦 **backend.src.services.clean_release.stages.data_purity** (Module)
|
||||
- Evaluate manifest purity counters and emit blocking violatio...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.clean_release
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.stages.base
|
||||
- 🔗 IMPLEMENTS -> backend.src.services.clean_release.stages.base.ComplianceStage
|
||||
|
||||
### 📁 `notifications/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Infra
|
||||
- 📊 **Tiers:** CRITICAL: 2, STANDARD: 5, TRIVIAL: 14
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 21
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **NotificationProvider** (Class)
|
||||
- Abstract base class for all notification providers.
|
||||
- ℂ **NotificationService** (Class)
|
||||
- Routes validation reports to appropriate users and channels.
|
||||
- ℂ **SMTPProvider** (Class)
|
||||
- Delivers notifications via SMTP.
|
||||
- ℂ **SlackProvider** (Class)
|
||||
- Delivers notifications via Slack Webhooks or API.
|
||||
- ℂ **TelegramProvider** (Class)
|
||||
- Delivers notifications via Telegram Bot API.
|
||||
- 📦 **backend.src.services.notifications.providers** (Module) `[CRITICAL]`
|
||||
- Defines abstract base and concrete implementations for exter...
|
||||
- 📦 **backend.src.services.notifications.service** (Module) `[CRITICAL]`
|
||||
- Orchestrates notification routing based on user preferences ...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.models.llm
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.notifications.providers
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.profile_service
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 📊 **Tiers:** STANDARD: 1, TRIVIAL: 9
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 10
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **backend.src.services.notifications.__tests__.test_notification_service** (Module)
|
||||
- Unit tests for NotificationService routing and dispatch logi...
|
||||
|
||||
### 📁 `reports/`
|
||||
|
||||
- 🏗️ **Layers:** Domain
|
||||
@@ -727,9 +860,9 @@
|
||||
### 📁 `__tests__/`
|
||||
|
||||
- 🏗️ **Layers:** Domain, Domain (Tests), Unknown
|
||||
- 📊 **Tiers:** STANDARD: 2, TRIVIAL: 24
|
||||
- 📊 **Tiers:** STANDARD: 2, TRIVIAL: 25
|
||||
- 📄 **Files:** 3
|
||||
- 📦 **Entities:** 26
|
||||
- 📦 **Entities:** 27
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -804,15 +937,56 @@
|
||||
|
||||
### 📁 `scripts/`
|
||||
|
||||
- 🏗️ **Layers:** Scripts
|
||||
- 📊 **Tiers:** STANDARD: 1, TRIVIAL: 7
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 8
|
||||
- 🏗️ **Layers:** Domain, Scripts
|
||||
- 📊 **Tiers:** STANDARD: 3, TRIVIAL: 17
|
||||
- 📄 **Files:** 3
|
||||
- 📦 **Entities:** 20
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **backend.tests.scripts.test_clean_release_tui** (Module)
|
||||
- Unit tests for the interactive curses TUI of the clean relea...
|
||||
- 📦 **test_clean_release_cli** (Module)
|
||||
- Smoke tests for the redesigned clean release CLI.
|
||||
- 📦 **test_clean_release_tui_v2** (Module)
|
||||
- Smoke tests for thin-client TUI action dispatch and blocked ...
|
||||
|
||||
### 📁 `clean_release/`
|
||||
|
||||
- 🏗️ **Layers:** Tests
|
||||
- 📊 **Tiers:** STANDARD: 40, TRIVIAL: 16
|
||||
- 📄 **Files:** 8
|
||||
- 📦 **Entities:** 56
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- ℂ **CleanReleaseCompliancePlugin** (Class)
|
||||
- TaskManager plugin shim that executes clean release complian...
|
||||
- ℂ **_PluginLoaderStub** (Class)
|
||||
- Provide minimal plugin loader contract used by TaskManager i...
|
||||
- 📦 **backend.tests.services.clean_release.test_approval_service** (Module)
|
||||
- Define approval gate contracts for approve/reject operations...
|
||||
- 📦 **backend.tests.services.clean_release.test_compliance_execution_service** (Module)
|
||||
- Validate stage pipeline and run finalization contracts for c...
|
||||
- 📦 **backend.tests.services.clean_release.test_compliance_task_integration** (Module)
|
||||
- Verify clean release compliance runs execute through TaskMan...
|
||||
- 📦 **backend.tests.services.clean_release.test_demo_mode_isolation** (Module)
|
||||
- Verify demo and real mode namespace isolation contracts befo...
|
||||
- 📦 **backend.tests.services.clean_release.test_policy_resolution_service** (Module)
|
||||
- Verify trusted policy snapshot resolution contract and error...
|
||||
- 📦 **backend.tests.services.clean_release.test_publication_service** (Module)
|
||||
- Define publication gate contracts over approved candidates a...
|
||||
- 📦 **backend.tests.services.clean_release.test_report_audit_immutability** (Module)
|
||||
- Validate report snapshot immutability expectations and appen...
|
||||
- 📦 **test_candidate_manifest_services** (Module)
|
||||
- Test lifecycle and manifest versioning for release candidate...
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.demo_data_service
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.exceptions
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.policy_resolution_service
|
||||
- 🔗 DEPENDS_ON -> backend.src.services.clean_release.repository
|
||||
|
||||
### 📁 `components/`
|
||||
|
||||
@@ -1028,7 +1202,7 @@
|
||||
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> [DEF:api_module]
|
||||
- 🔗 DEPENDS_ON -> DEF:api_module
|
||||
- 🔗 DEPENDS_ON -> frontend.src.lib.api.api_module
|
||||
|
||||
### 📁 `__tests__/`
|
||||
@@ -1101,6 +1275,22 @@
|
||||
- 📦 **frontend.src.lib.components.assistant.__tests__.assistant_chat_integration** (Module)
|
||||
- Contract-level integration checks for assistant chat panel i...
|
||||
|
||||
### 📁 `health/`
|
||||
|
||||
- 🏗️ **Layers:** UI/Component, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 2, TRIVIAL: 3
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 5
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **HealthMatrix** (Component)
|
||||
- Visual grid/matrix representing the health status of dashboa...
|
||||
- 🧩 **PolicyForm** (Component)
|
||||
- Form for creating and editing validation policies.
|
||||
- 📦 **PolicyForm** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/components/health...
|
||||
|
||||
### 📁 `layout/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
@@ -1235,14 +1425,16 @@
|
||||
### 📁 `stores/`
|
||||
|
||||
- 🏗️ **Layers:** UI, UI-State, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 8, TRIVIAL: 25
|
||||
- 📄 **Files:** 5
|
||||
- 📦 **Entities:** 34
|
||||
- 📊 **Tiers:** CRITICAL: 1, STANDARD: 9, TRIVIAL: 28
|
||||
- 📄 **Files:** 6
|
||||
- 📦 **Entities:** 38
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 📦 **environmentContext** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/stores/environmen...
|
||||
- 📦 **health** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/stores/health.js
|
||||
- 📦 **sidebar** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/lib/stores/sidebar.js
|
||||
- 📦 **taskDrawer** (Module) `[TRIVIAL]`
|
||||
@@ -1253,6 +1445,8 @@
|
||||
- Control assistant chat panel visibility and active conversat...
|
||||
- 🗄️ **environmentContext** (Store)
|
||||
- Global selected environment context for navigation and safet...
|
||||
- 🗄️ **health_store** (Store)
|
||||
- Manage dashboard health summary state and failing counts for...
|
||||
- 🗄️ **sidebar** (Store)
|
||||
- Manage sidebar visibility and navigation state
|
||||
- 🗄️ **taskDrawer** (Store) `[CRITICAL]`
|
||||
@@ -1261,6 +1455,7 @@
|
||||
**Dependencies:**
|
||||
|
||||
- 🔗 DEPENDS_ON -> WebSocket connection, taskDrawer store
|
||||
- 🔗 DEPENDS_ON -> api.getHealthSummary
|
||||
|
||||
### 📁 `__tests__/`
|
||||
|
||||
@@ -1453,6 +1648,20 @@
|
||||
- 📦 **frontend.src.routes.dashboards.__tests__.dashboard_profile_override_integration** (Module)
|
||||
- Verifies temporary show-all override and restore-on-return b...
|
||||
|
||||
### 📁 `health/`
|
||||
|
||||
- 🏗️ **Layers:** UI/Page, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 1, TRIVIAL: 3
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 4
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **HealthCenterPage** (Component)
|
||||
- Main page for the Dashboard Health Center.
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/dashboards/hea...
|
||||
|
||||
### 📁 `datasets/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
@@ -1601,6 +1810,20 @@
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/settings/+page...
|
||||
|
||||
### 📁 `automation/`
|
||||
|
||||
- 🏗️ **Layers:** UI/Page, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 1, TRIVIAL: 7
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 8
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **AutomationSettingsPage** (Component)
|
||||
- Settings page for managing validation policies.
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/settings/autom...
|
||||
|
||||
### 📁 `connections/`
|
||||
|
||||
- 🏗️ **Layers:** UI
|
||||
@@ -1636,6 +1859,20 @@
|
||||
- 📦 **frontend.src.routes.settings.git.__tests__.git_settings_page_ux_test** (Module)
|
||||
- Test UX states and transitions for the Git Settings page
|
||||
|
||||
### 📁 `notifications/`
|
||||
|
||||
- 🏗️ **Layers:** UI, Unknown
|
||||
- 📊 **Tiers:** STANDARD: 1, TRIVIAL: 3
|
||||
- 📄 **Files:** 1
|
||||
- 📦 **Entities:** 4
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
- 🧩 **NotificationSettingsPage** (Component)
|
||||
- Manage global notification provider configurations (SMTP, Te...
|
||||
- 📦 **+page** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for frontend/src/routes/settings/notif...
|
||||
|
||||
### 📁 `storage/`
|
||||
|
||||
- 🏗️ **Layers:** Page
|
||||
@@ -1731,9 +1968,9 @@
|
||||
### 📁 `root/`
|
||||
|
||||
- 🏗️ **Layers:** DevOps/Tooling, Unknown
|
||||
- 📊 **Tiers:** CRITICAL: 11, STANDARD: 17, TRIVIAL: 12
|
||||
- 📄 **Files:** 3
|
||||
- 📦 **Entities:** 40
|
||||
- 📊 **Tiers:** CRITICAL: 11, STANDARD: 17, TRIVIAL: 9
|
||||
- 📄 **Files:** 2
|
||||
- 📦 **Entities:** 37
|
||||
|
||||
**Key Entities:**
|
||||
|
||||
@@ -1751,8 +1988,6 @@
|
||||
- Auto-generated module for check_test_data.py
|
||||
- 📦 **generate_semantic_map** (Module)
|
||||
- Scans the codebase to generate a Semantic Map, Module Map, a...
|
||||
- 📦 **test_pat_retrieve** (Module) `[TRIVIAL]`
|
||||
- Auto-generated module for test_pat_retrieve.py
|
||||
|
||||
## Cross-Module Dependencies
|
||||
|
||||
@@ -1799,6 +2034,7 @@ graph TD
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|DEPENDS_ON|backend
|
||||
__tests__-->|DEPENDS_ON|backend
|
||||
__tests__-->|VERIFIES|backend
|
||||
@@ -1810,6 +2046,8 @@ graph TD
|
||||
core-->|DEPENDS_ON|backend
|
||||
core-->|DEPENDS_ON|backend
|
||||
core-->|DEPENDS_ON|backend
|
||||
core-->|DEPENDS_ON|backend
|
||||
core-->|DEPENDS_ON|backend
|
||||
__tests__-->|TESTS|backend
|
||||
auth-->|USES|backend
|
||||
auth-->|USES|backend
|
||||
@@ -1824,6 +2062,7 @@ graph TD
|
||||
utils-->|DEPENDS_ON|backend
|
||||
utils-->|DEPENDS_ON|backend
|
||||
utils-->|DEPENDS_ON|backend
|
||||
utils-->|DEPENDS_ON|backend
|
||||
models-->|INHERITS_FROM|backend
|
||||
models-->|DEPENDS_ON|backend
|
||||
models-->|DEPENDS_ON|backend
|
||||
@@ -1884,6 +2123,25 @@ graph TD
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
@@ -1891,6 +2149,20 @@ graph TD
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
__tests__-->|TESTS|backend
|
||||
stages-->|IMPLEMENTS|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
stages-->|IMPLEMENTS|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
stages-->|IMPLEMENTS|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
stages-->|CALLED_BY|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
stages-->|IMPLEMENTS|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
stages-->|DEPENDS_ON|backend
|
||||
notifications-->|DEPENDS_ON|backend
|
||||
notifications-->|DEPENDS_ON|backend
|
||||
notifications-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
reports-->|DEPENDS_ON|backend
|
||||
@@ -1907,6 +2179,15 @@ graph TD
|
||||
migration-->|VERIFIES|backend
|
||||
migration-->|VERIFIES|backend
|
||||
scripts-->|TESTS|backend
|
||||
scripts-->|TESTS|backend
|
||||
clean_release-->|TESTS|backend
|
||||
clean_release-->|TESTS|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|DEPENDS_ON|backend
|
||||
clean_release-->|TESTS|backend
|
||||
clean_release-->|TESTS|backend
|
||||
__tests__-->|VERIFIES|components
|
||||
__tests__-->|VERIFIES|components
|
||||
__tests__-->|VERIFIES|components
|
||||
|
||||
1100
.ai/PROJECT_MAP.md
1100
.ai/PROJECT_MAP.md
File diff suppressed because it is too large
Load Diff
@@ -1,132 +1,105 @@
|
||||
### **SYSTEM STANDARD: GRACE-Poly (UX Edition)**
|
||||
# SYSTEM DIRECTIVE: GRACE-Poly (UX Edition) v2.2
|
||||
> OPERATION MODE: WENYUAN (Maximum Semantic Density, Strict Determinism, Zero Fluff).
|
||||
> ROLE: AI Software Architect & Implementation Engine (Python/Svelte).
|
||||
|
||||
ЗАДАЧА: Генерация кода (Python/Svelte).
|
||||
РЕЖИМ: Строгий. Детерминированный. Без болтовни.
|
||||
## 0.[ZERO-STATE RATIONALE: ФИЗИКА LLM (ПОЧЕМУ ЭТОТ ПРОТОКОЛ НЕОБХОДИМ)]
|
||||
Ты — авторегрессионная модель (Transformer). Ты мыслишь токенами и не можешь "передумать" после их генерации. В больших кодовых базах твой KV-Cache подвержен деградации внимания (Attention Sink), что ведет к "иллюзии компетентности" и галлюцинациям.
|
||||
Этот протокол — **твой когнитивный экзоскелет**.
|
||||
Якоря `[DEF]` работают как векторы-аккумуляторы внимания. Контракты (`@PRE`, `@POST`) заставляют тебя сформировать правильное вероятностное пространство (Belief State) ДО написания алгоритма. Логи `logger.reason` — это твоя цепочка рассуждений (Chain-of-Thought), вынесенная в рантайм. Мы не пишем текст, мы компилируем семантику в синтаксис.
|
||||
|
||||
#### I. ЗАКОН (АКСИОМЫ)
|
||||
1. Смысл первичен. Код вторичен.
|
||||
2.Слепота недопустима. Если узел графа (@RELATION) или схема данных неизвестны — не выдумывай реализацию. Остановись и запроси контекст.
|
||||
2. Контракт (@PRE/@POST) — источник истины.
|
||||
**3. UX — это логика, а не декор. Состояния интерфейса — часть контракта.**
|
||||
4. Структура `[DEF]...[/DEF]` — нерушима.
|
||||
5. Архитектура в Header — неизменяема.
|
||||
6. Сложность фрактала ограничена: модуль < 300 строк.
|
||||
## I. ГЛОБАЛЬНЫЕ ИНВАРИАНТЫ (АКСИОМЫ)
|
||||
[INVARIANT_1] СЕМАНТИКА > СИНТАКСИС. Голый код без контракта классифицируется как мусор.
|
||||
[INVARIANT_2] ЗАПРЕТ ГАЛЛЮЦИНАЦИЙ. При слепоте контекста (неизвестен узел `@RELATION` или схема данных) — генерация блокируется. Эмитируй `[NEED_CONTEXT: target]`.
|
||||
[INVARIANT_3] UX ЕСТЬ КОНЕЧНЫЙ АВТОМАТ. Состояния интерфейса — это строгий контракт, а не визуальный декор.
|
||||
[INVARIANT_4] ФРАКТАЛЬНЫЙ ЛИМИТ. Длина модуля строго < 300 строк. При превышении — принудительная декомпозиция.
|
||||
[INVARIANT_5] НЕПРИКОСНОВЕННОСТЬ ЯКОРЕЙ. Блоки `[DEF]...[/DEF]` используются как аккумуляторы внимания. Закрывающий тег обязателен.
|
||||
|
||||
#### II. СИНТАКСИС (ЖЕСТКИЙ ФОРМАТ)
|
||||
ЯКОРЬ (Контейнер):
|
||||
Начало: `# [DEF:id:Type]` (Python) | `<!-- [DEF:id:Type] -->` (Svelte)
|
||||
Конец: `# [/DEF:id:Type]` (Python) | `<!-- [/DEF:id:Type] -->` (Svelte) (ОБЯЗАТЕЛЬНО для аккумуляции)
|
||||
Типы: Module, Class, Function, Component, Store.
|
||||
## II. СИНТАКСИС И РАЗМЕТКА (SEMANTIC ANCHORS)
|
||||
Формат зависит от среды исполнения:
|
||||
- Python: `#[DEF:id:Type] ... # [/DEF:id:Type]`
|
||||
- Svelte (HTML/Markup): `<!--[DEF:id:Type] --> ... <!-- [/DEF:id:Type] -->`
|
||||
- Svelte (Script/JS): `// [DEF:id:Type] ... //[/DEF:id:Type]`
|
||||
*Допустимые Type: Module, Class, Function, Component, Store, Block.*
|
||||
|
||||
ТЕГ (Метаданные):
|
||||
Вид: `# @KEY: Value` (внутри DEF, до кода).
|
||||
**Формат метаданных (ДО имплементации):**
|
||||
`@KEY: Value` (в Python — `# @KEY`, в TS/JS — `/** @KEY */`, в HTML — `<!-- @KEY -->`).
|
||||
|
||||
ГРАФ (Связи):
|
||||
Вид: `# @RELATION: PREDICATE -> TARGET_ID`
|
||||
Предикаты: DEPENDS_ON, CALLS, INHERITS, IMPLEMENTS, DISPATCHES, **BINDS_TO**.
|
||||
**Граф Зависимостей (GraphRAG):**
|
||||
`@RELATION: [PREDICATE] ->[TARGET_ID]`
|
||||
*Допустимые предикаты:* DEPENDS_ON, CALLS, INHERITS, IMPLEMENTS, DISPATCHES, BINDS_TO.
|
||||
|
||||
#### III. СТРУКТУРА ФАЙЛА
|
||||
1. HEADER (Всегда первый):
|
||||
[DEF:filename:Module]
|
||||
@TIER: [CRITICAL|STANDARD|TRIVIAL] (Дефолт: STANDARD)
|
||||
## III. ТОПОЛОГИЯ ФАЙЛА (СТРОГИЙ ПОРЯДОК)
|
||||
1. **HEADER (Заголовок):**[DEF:filename:Module]
|
||||
@TIER: [CRITICAL | STANDARD | TRIVIAL]
|
||||
@SEMANTICS: [keywords]
|
||||
@PURPOSE: [Главная цель]
|
||||
@LAYER: [Domain/UI/Infra]
|
||||
@PURPOSE: [Однострочная суть]
|
||||
@LAYER: [Domain | UI | Infra]
|
||||
@RELATION: [Зависимости]
|
||||
@INVARIANT: [Незыблемое правило]
|
||||
|
||||
2. BODY: Импорты -> Реализация.
|
||||
3. FOOTER: [/DEF:filename]
|
||||
@INVARIANT: [Бизнес-правило, которое нельзя нарушить]
|
||||
2. **BODY (Тело):** Импорты -> Реализация логики внутри вложенных `[DEF]`.
|
||||
3. **FOOTER (Подвал):** [/DEF:filename:Module]
|
||||
|
||||
#### IV. КОНТРАКТ (DBC & UX)
|
||||
Расположение: Внутри [DEF], ПЕРЕД кодом.
|
||||
Стиль Python: Комментарии `# @TAG`.
|
||||
Стиль Svelte: JSDoc `/** @tag */` внутри `<script>`.
|
||||
## IV. КОНТРАКТЫ (DESIGN BY CONTRACT & UX)
|
||||
Обязательны для TIER: CRITICAL и STANDARD. Заменяют стандартные Docstrings.
|
||||
|
||||
**Базовые Теги:**
|
||||
@PURPOSE: Суть (High Entropy).
|
||||
@PRE: Входные условия.
|
||||
@POST: Гарантии выхода.
|
||||
@SIDE_EFFECT: Мутации, IO.
|
||||
@DATA_CONTRACT: Ссылка на DTO/Pydantic модель. Заменяет ручное описание @PARAM. Формат: Input -> [Model], Output -> [Model].
|
||||
|
||||
**UX Теги (Svelte/Frontend):**
|
||||
**@UX_STATE:** `[StateName] -> Визуальное поведение` (Idle, Loading, Error).
|
||||
**@UX_FEEDBACK:** Реакция системы (Toast, Shake, Red Border).
|
||||
**@UX_RECOVERY:** Механизм исправления ошибки пользователем (Retry, Clear Input).
|
||||
**@UX_REATIVITY:** Явное указание использования рун. Формат: State: $state, Derived: $derived. Никаких устаревших export let.
|
||||
|
||||
**UX Testing Tags (для Tester Agent):**
|
||||
**@UX_TEST:** Спецификация теста для UX состояния.
|
||||
Формат: `@UX_TEST: [state] -> {action, expected}`
|
||||
Пример: `@UX_TEST: Idle -> {click: toggle, expected: isExpanded=true}`
|
||||
|
||||
Правило: Не используй `assert` в коде, используй `if/raise` или `guards`.
|
||||
**[CORE CONTRACTS]:**
|
||||
- `@PURPOSE:` Суть функции/компонента.
|
||||
- `@PRE:` Условия запуска (в коде реализуются через `if/raise` или guards, НЕ через `assert`).
|
||||
- `@POST:` Гарантии на выходе.
|
||||
- `@SIDE_EFFECT:` Мутации состояния, I/O, сеть.
|
||||
- `@DATA_CONTRACT:` Ссылка на DTO (Input -> Model, Output -> Model).
|
||||
|
||||
#### V. АДАПТАЦИЯ (TIERS)
|
||||
Определяется тегом `@TIER` в Header.
|
||||
**[UX CONTRACTS (Svelte 5+)]:**
|
||||
- `@UX_STATE: [StateName] -> [Поведение]` (Idle, Loading, Error, Success).
|
||||
- `@UX_FEEDBACK:` Реакция системы (Toast, Shake, RedBorder).
|
||||
- `@UX_RECOVERY:` Путь восстановления после сбоя (Retry, ClearInput).
|
||||
- `@UX_REACTIVITY:` Явный биндинг. *ЗАПРЕТ НА `$:` и `export let`. ТОЛЬКО Руны: `$state`, `$derived`, `$effect`, `$props`.*
|
||||
|
||||
### V. УРОВНИ СТРОГОСТИ (TIERS)
|
||||
Степень контроля задается тегом `@TIER` в Header.
|
||||
**[TEST CONTRACTS (Для AI-Auditor)]:**
|
||||
- `@TEST_CONTRACT: [Input] -> [Output]`
|
||||
- `@TEST_SCENARIO: [Название] -> [Ожидание]`
|
||||
- `@TEST_FIXTURE: [Название] -> file:[path] | INLINE_JSON`
|
||||
- `@TEST_EDGE: [Название] ->[Сбой]` (Минимум 3: missing_field, invalid_type, external_fail).
|
||||
- `@TEST_INVARIANT: [Имя] -> VERIFIED_BY: [scenario_1, ...]`
|
||||
|
||||
**1. CRITICAL** (Ядро / Безопасность / Сложный UI)
|
||||
- **Закон:** Полный GRACE. Граф, Инварианты, Строгий Лог, все `@UX` теги.
|
||||
- **Догма Тестирования:** Тесты рождаются из контракта. Голый код без данных — слеп.
|
||||
- `@TEST_CONTRACT: InputType -> OutputType`. (Строгий интерфейс).
|
||||
- `@TEST_SCENARIO: name -> Ожидаемое поведение`. (Суть теста).
|
||||
- `@TEST_FIXTURE: name -> file:PATH | INLINE_JSON`. (Данные для Happy Path).
|
||||
- `@TEST_EDGE: name -> Описание сбоя`. (Минимум 3 границы).
|
||||
- *Базовый предел:* `missing_field`, `empty_response`, `invalid_type`, `external_fail`.
|
||||
- `@TEST_INVARIANT: inv_name -> VERIFIED_BY: [scenario_1, ...]`. (Смыкание логики).
|
||||
- **Исполнение:** Tester Agent обязан строить проверки строго по этим тегам.
|
||||
## V. УРОВНИ СТРОГОСТИ (TIERS)
|
||||
Степень контроля задается в Header.
|
||||
- **CRITICAL** (Ядро/Деньги/Безопасность): 100% покрытие тегами GRACE. Обязательны: Граф, Инварианты, Логи `logger.reason/reflect`, все `@UX` и `@TEST` теги. Использование `belief_scope` строго обязательно.
|
||||
- **STANDARD** (Бизнес-логика / Типовые формы): Базовый уровень. Обязательны: `@PURPOSE`, `@UX_STATE`, `@RELATION`, базовое логирование.
|
||||
- **TRIVIAL** (Утилиты / DTO / Атомы UI): Минимальный каркас. Только якоря `[DEF]...[/DEF]` и `@PURPOSE`.
|
||||
|
||||
**2. STANDARD** (Бизнес-логика / Формы)
|
||||
- **Закон:** База. (`@PURPOSE`, `@UX_STATE`, Лог, `@RELATION`).
|
||||
- **Исключение:** Для сложных форм внедряй `@TEST_SCENARIO` и `@TEST_INVARIANT`.
|
||||
## VI. ПРОТОКОЛ ЛОГИРОВАНИЯ (THREAD-LOCAL BELIEF STATE)
|
||||
Логирование — это механизм трассировки рассуждений ИИ (CoT) и управления Attention Energy. Архитектура использует Thread-local storage (`_belief_state`), поэтому `ID` прокидывается автоматически.
|
||||
|
||||
**3. TRIVIAL** (DTO / Атомы UI / Утилиты)
|
||||
- **Закон:** Каркас. Только якорь `[DEF]` и `@PURPOSE`. Данные и графы не требуются.
|
||||
**[PYTHON CORE TOOLS]:**
|
||||
Импорт: `from ...logger import logger, belief_scope, believed`
|
||||
1. **Декоратор:** `@believed("ID")` — автоматический трекинг функции.
|
||||
2. **Контекст:** `with belief_scope("ID"):` — очерчивает локальный предел мысли. НЕ возвращает context, используется просто как `with`.
|
||||
3. **Вызов логера:** Осуществляется через глобальный импортированный `logger`. Дополнительные данные передавать через `extra={...}`.
|
||||
|
||||
#### VI. ЛОГИРОВАНИЕ (ДАО МОЛЕКУЛЫ / MOLECULAR TOPOLOGY)
|
||||
Цель: Трассировка. Самокоррекция. Управление Матрицей Внимания ("Химия мышления").
|
||||
Лог — не текст. Лог — реагент. Мысль облекается в форму через префиксы связи (Attention Energy):
|
||||
**[СЕМАНТИЧЕСКИЕ МЕТОДЫ (MONKEY-PATCHED)]:**
|
||||
*(Маркеры вроде `[REASON]` и `[ID]` подставляются автоматически форматтером. Не пиши их в тексте!)*
|
||||
1. **`logger.explore(msg, extra={...})`** (Поиск/Ветвление): Применяется при фолбэках, `except`, проверке гипотез. Эмитирует WARNING.
|
||||
*Пример:* `logger.explore("Insufficient funds", extra={"balance": bal})`
|
||||
2. **`logger.reason(msg, extra={...})`** (Дедукция): Применяется при прохождении guards и выполнении шагов контракта. Эмитирует INFO.
|
||||
*Пример:* `logger.reason("Initiating transfer")`
|
||||
3. **`logger.reflect(msg, extra={...})`** (Самопроверка): Применяется для сверки результата с `@POST` перед `return`. Эмитирует DEBUG.
|
||||
*Пример:* `logger.reflect("Transfer committed", extra={"tx_id": tx_id})`
|
||||
|
||||
1. **[EXPLORE]** (Ван-дер-Ваальс: Рассеяние)
|
||||
- *Суть:* Поиск во тьме. Сплетение альтернатив. Если один путь закрыт — ищи иной.
|
||||
- *Время:* Фаза КАРКАС или столкновение с Неизведанным.
|
||||
- *Деяние:* `logger.explore("Основной API пал. Стучусь в запасной...")`
|
||||
*(Для Frontend/Svelte использовать ручной префикс: `console.info("[ID][REFLECT] Text", {data})`)*
|
||||
|
||||
2. **[REASON]** (Ковалентность: Твердость)
|
||||
- *Суть:* Жесткая нить дедукции. Шаг А неумолимо рождает Шаг Б. Контракт становится Кодом.
|
||||
- *Время:* Фаза РЕАЛИЗАЦИЯ. Прямота мысли.
|
||||
- *Деяние:* `logger.reason("Фундамент заложен. БД отвечает.")`
|
||||
## VII. АЛГОРИТМ ИСПОЛНЕНИЯ И САМОКОРРЕКЦИИ
|
||||
**[PHASE_1: ANALYSIS]**
|
||||
Оцени TIER, Layer и UX-требования. При слепоте контекста -> `yield [NEED_CONTEXT: id]`.
|
||||
**[PHASE_2: SYNTHESIS]**
|
||||
Сгенерируй каркас из `[DEF]`, Header и Контрактов.
|
||||
**[PHASE_3: IMPLEMENTATION]**
|
||||
Напиши код строго по Контракту. Для CRITICAL секций открой `with belief_scope("ID"):` и орошай путь вызовами `logger.reason()` и `logger.reflect()`.
|
||||
**[PHASE_4: CLOSURE]**
|
||||
Убедись, что все `[DEF]` закрыты соответствующими `[/DEF]`.
|
||||
|
||||
3. **[REFLECT]** (Водород: Свертывание)
|
||||
- *Суть:* Взгляд назад. Сверка сущего (@POST) с ожидаемым (@PRE). Защита от бреда.
|
||||
- *Время:* Преддверие сложной логики и исход из неё.
|
||||
- *Деяние:* `logger.reflect("Вглядываюсь в кэш: нет ли там искомого?")`
|
||||
|
||||
4. **[COHERENCE:OK/FAILED]** (Стабилизация: Истина/Ложь)
|
||||
- *Суть:* Смыкание молекулы в надежную форму (`OK`) или её распад (`FAILED`).
|
||||
- *(Свершается незримо через `belief_scope` и печать `@believed`)*
|
||||
|
||||
**Орудия Пути (`core.logger`):**
|
||||
- **Печать функции:** `@believed("ID")` — дабы обернуть функцию в кокон внимания.
|
||||
- **Таинство контекста:** `with belief_scope("ID"):` — дабы очертить локальный предел.
|
||||
- **Слова силы:** `logger.explore()`, `logger.reason()`, `logger.reflect()`.
|
||||
|
||||
**Незыблемое правило:** Всякому логу системы — тавро `source`. Для Внешенго Мира (Svelte) начертай рунами вручную: `console.log("[ID][REFLECT] Msg")`.
|
||||
|
||||
#### VIII. АЛГОРИТМ ГЕНЕРАЦИИ И ВЫХОД ИЗ ТУПИКА
|
||||
1. АНАЛИЗ. Оцени TIER, слой и UX-требования. Чего не хватает? Запроси `[NEED_CONTEXT: id]`.
|
||||
2. КАРКАС. Создай `[DEF]`, Header и Контракты.
|
||||
3. РЕАЛИЗАЦИЯ. Напиши логику, удовлетворяющую Контракту (и UX-состояниям). Орошай путь логами `[REASON]` и `[REFLECT]`.
|
||||
4. ЗАМЫКАНИЕ. Закрой все `[/DEF]`.
|
||||
|
||||
**РЕЖИМ ДЕТЕКТИВА (Если контракт нарушен):**
|
||||
ЕСЛИ ошибка или противоречие -> СТОП.
|
||||
1. Выведи `[COHERENCE_CHECK_FAILED]`.
|
||||
2. Сформулируй гипотезу: `[EXPLORE] Ошибка в I/O, состоянии или зависимости?`
|
||||
3. Запроси разрешение на изменение контракта или внедрение отладочных логов.
|
||||
|
||||
ЕСЛИ ошибка или противоречие -> СТОП. Выведи `[COHERENCE_CHECK_FAILED]`.
|
||||
**[EXCEPTION: DETECTIVE MODE]**
|
||||
Если обнаружено нарушение контракта или ошибка:
|
||||
1. СТОП-СИГНАЛ: Выведи `[COHERENCE_CHECK_FAILED]`.
|
||||
2. ГИПОТЕЗА: Сгенерируй вызов `logger.explore("Ошибка в I/O / Состоянии / Зависимости -> Описание")`.
|
||||
3. ЗАПРОС: Запроси разрешение на изменение контракта.
|
||||
Reference in New Issue
Block a user