Initial SFERA platform baseline

This commit is contained in:
2026-05-16 19:03:49 +03:00
commit 3b845c8fce
282 changed files with 55045 additions and 0 deletions
+726
View File
@@ -0,0 +1,726 @@
# SFERA Platform
**SFERA — Semantic Operating Platform for 1C Ecosystems**
SFERA — enterprise semantic platform для анализа, понимания, индексирования, визуализации и AI-оркестрации экосистем 1С.
SFERA также является современной IDE/authoring-средой для 1С: пользователь должен уметь вручную писать код, создавать и менять объекты, формы, команды и отчёты, а AI должен помогать как pair programmer, который видит текущий код, metadata, связи объектов, доступные переменные и правила платформы.
Платформа строит детерминированное semantic core ядро поверх:
- 1C BSL
- XML metadata
- CF/CFE
- integrations
- access topology
- UI semantics
- scheduled jobs
- object dependencies
- runtime graph
SFERA проектируется как:
```text
Enterprise AI Operating System
for 1C ecosystems
```
---
# Core Philosophy
```text
Semantic truth first.
AI later.
```
AI не является источником истины.
Сначала:
- deterministic parsing
- semantic graph
- metadata topology
- impact analysis
- dependency resolution
- integration discovery
- access analysis
И только потом:
- AI copilots
- AI review
- AI reasoning
- AI onboarding
- AI architecture analysis
- AI migration planning
---
# High-Level Architecture
```text
1C BSL/XML/CF/CFE
Rust BSL Parser
SIR Snapshot
Semantic Kernel
Neo4j Semantic Graph
Incremental Indexing
Impact Analysis
AI Operating Layer
```
---
# Main Goals
## Semantic Understanding of 1C
SFERA должна понимать:
- объекты 1С
- формы
- команды
- реквизиты
- табличные части
- роли
- права доступа
- BSL dependencies
- integrations
- scheduled jobs
- runtime topology
- object impact
- UI semantics
---
## 1C IDE and Authoring
SFERA должна давать возможности современной IDE для 1С:
- BSL editor: подсветка, диагностика, folding, outline, go to definition, find references, rename, extract method и безопасные refactoring actions.
- Semantic autocomplete: продолжение кода с учётом текущей процедуры, параметров, локальных переменных, реквизитов объекта, табличных частей, форм, команд, ролей, интеграций и доступных методов 1С.
- AI pair programmer: генерация процедур, функций, запросов, обработчиков команд, движений регистров, проверок заполнения и обработчиков форм.
- Object designer: создание и изменение документов, справочников, регистров, общих модулей, реквизитов, табличных частей, команд и форм.
- Form/report designer: работа с формами, элементами, командами, обработчиками и отчётами в visual/object-oriented интерфейсе.
- Diff/preview/apply: любое AI- или ручное изменение проходит через preview, semantic diff, impact analysis, review и подтверждение.
- Context-aware hints: подсказки не просто по словам, а по текущему объекту 1С, доступным данным, связям, query/write context и runtime/knowledge facts.
AI не ограничивается анализом. Он должен уметь писать код и предлагать структурные изменения, но SFERA обязана показывать последствия и держать контроль применения у пользователя.
---
## Enterprise AI Layer
Поверх semantic graph строится AI operating layer:
- AI code completion
- AI code generation
- AI object/form/report generation
- AI guarded refactoring
- AI code review
- AI impact analysis
- AI onboarding
- AI architecture assistant
- AI dependency explorer
- AI migration assistant
- AI semantic search
- AI documentation generation
- AI risk analysis
- AI integration analysis
AI должен работать поверх semantic truth: перед предложением кода он учитывает текущий BSL-контекст, AST/SIR, metadata object, форму, доступные реквизиты, табличные части, команды, роли, запросы, регистры, интеграции, knowledge records и privacy policy.
---
## 1C Knowledge Coverage
`GET /projects/{project_id}/knowledge/schema-coverage` показывает покрытие knowledge-records для документов, справочников, реквизитов и табличных частей.
`GET /projects/{project_id}/review` добавляет INFO `Missing 1C schema knowledge`, если узел схемы 1С не связан ни с одной knowledge-записью.
`POST /knowledge/packs` импортирует BSP/vendor documentation pack как набор `KnowledgeRecord` с тегами `pack:{pack_id}` и `vendor:{vendor}`. `GET /knowledge/packs` показывает установленные пакеты знаний.
`GET /projects/{project_id}/patterns` выполняет детерминированный pattern mining по SIR: повторяющиеся чтения таблиц, записи таблиц и совпадающие read/write формы процедур.
## 1C Ownership
`POST /projects/{project_id}/comments` добавляет обсуждение к `target_id` внутри проекта, а `GET /projects/{project_id}/comments/{target_id}` возвращает комментарии по конкретному объекту, задаче или lineage.
`POST /projects/{project_id}/ownership` назначает ответственного на 1С-объект по `lineage_id`.
`GET /projects/{project_id}/objects/ownership/{object_name}` возвращает владельцев документа, справочника, регистра, общего модуля и других корневых объектов 1С.
`GET /projects/{project_id}/review` добавляет INFO `Missing 1C object owner` для 1С-объектов без назначенного владельца, а `GET /projects/{project_id}/report` включает `ownership_count`, `unowned_object_count` и `unowned_objects`.
## 1C Privacy
`POST /projects/{project_id}/privacy/markers` назначает privacy-классификацию на `lineage_id`: `PUBLIC`, `INTERNAL`, `CONFIDENTIAL`, `PERSONAL_DATA`, `SECRET`.
`GET /projects/{project_id}/objects/privacy/{object_name}` возвращает privacy-маркеры самого 1С-объекта и его прямых реквизитов/табличных частей/форм.
`GET /projects/{project_id}/review` добавляет INFO `Unclassified sensitive 1C field` для реквизитов с чувствительными именами вроде ИНН, паспорт, телефон, email, адрес, если они ещё не классифицированы.
## AI Usage Governance
`POST /ai/usage` записывает факт AI-действия: проект, пользователь, модель, операция, prompt/completion токены и стоимость.
`GET /ai/usage/summary` агрегирует AI usage по проекту, пользователю, модели и операции. `GET /ai/policy` показывает текущий token limit и остаток для пользователя.
`GET /projects/{project_id}/report` включает `ai_usage_request_count`, `ai_usage_total_tokens` и `ai_usage_cost`.
`POST /projects/{project_id}/ai/answer-policy` проверяет, можно ли отвечать на AI-вопрос по выбранному 1С-контексту: учитывает token budget, knowledge records, privacy markers и запрет external model calls.
---
# Monorepo Structure
```text
sfera-platform/
packages/
bsl-parser-rs/
sir/
semantic-kernel/
neo4j-projection/
indexing/
integrations/
api/
ai/
frontend/
sfera-web/
docs/
architecture/
frontend/
operations/
ai/
prompts/
.codex/
.cursor/
```
---
# Technology Stack
## Backend
```text
Python
FastAPI
Rust
Neo4j
PostgreSQL
Pydantic
NetworkX
asyncio
uv
```
## Frontend
```text
Next.js
React
TypeScript
Tailwind CSS
shadcn/ui
TanStack Table
TanStack Query
Zustand
Framer Motion
Recharts / ECharts
```
## AI Layer
```text
OpenAI-compatible APIs
Local LLM support
Multi-model routing
AI policy engine
AI audit system
Context orchestration
Token accounting
Semantic AI routing
```
---
# Quick Start
## Environment
```bash
cp .env.example .env
uv sync --all-packages
```
## Run tests
```bash
pytest packages/sir/tests
```
## Run Rust parser
```bash
cargo run -p bsl-parser -- ../tests/golden/english_module.bsl
```
---
# Development Philosophy
SFERA строится как:
```text
Deterministic semantic platform first.
AI-enhanced operating system second.
```
Главный приоритет:
- reproducibility
- deterministic parsing
- semantic correctness
- graph consistency
- auditability
- incremental scalability
---
# Semantic Intermediate Representation (SIR)
Rust parser возвращает deterministic JSON contract:
```json
{
"procedures": [],
"calls": [],
"queries": [],
"writes": [],
"diagnostics": []
}
```
SIR является semantic truth snapshot проекта.
---
# Supported 1C Metadata
## Core metadata objects
```text
Catalog
Document
Register
CommonModule
ExchangePlan
ScheduledJob
BusinessProcess
Task
Role
Form
Command
Attribute
TabularSection
Element
```
---
# Semantic Graph Relations
## Main graph relations
```text
CALLS
WRITES
READS
USES_INTEGRATION
HANDLES
CONTAINS
HAS_FORM
HAS_COMMAND
HAS_ATTRIBUTE
HAS_TABULAR_SECTION
HAS_ROLE
HAS_ELEMENT
RUNS
GRANTS_ACCESS
```
---
# Object Impact Analysis
SFERA умеет строить object-level impact:
- реквизиты
- табличные части
- формы
- команды
- BSL handlers
- registers
- integrations
- scheduled jobs
- roles/access
- UI semantics
- cross-module dependencies
---
# Incremental Indexing
SFERA поддерживает incremental semantic updates.
Изменение:
- `.bsl`
- `.xml`
- metadata object
- forms
- handlers
перестраивает только affected semantic graph sections.
---
# Neo4j Projection
Semantic graph может быть выгружен в Neo4j:
```text
SIR Snapshot
Neo4j Projection
Cypher Queries
Graph Analytics
```
---
# Integration Topology
SFERA извлекает integrations из:
- HTTPConnection
- HTTPСоединение
- WSProxy
- FTPConnection
- COMObject
- ExchangePlan
- URL strings
- external services
---
# Scheduled Jobs
Регламентные задания индексируются как runtime semantic graph:
```text
ScheduledJob
RUNS
Procedure
```
---
# Access Model
Для ролей 1С извлекаются:
- object permissions
- rights
- grants
- access topology
Graph relation:
```text
Role GRANTS_ACCESS Object
```
---
# UI Semantics
SFERA анализирует UI layer:
- forms
- commands
- command handlers
- form elements
- UI actions
- BSL bindings
---
# API Examples
## Object impact
```text
GET /projects/{project_id}/objects/impact/{object_name}
```
## UI semantics
```text
GET /projects/{project_id}/objects/ui/{object_name}
```
## Integrations
```text
GET /projects/{project_id}/integrations
```
## Scheduled jobs
```text
GET /projects/{project_id}/jobs/scheduled
```
## Access graph
```text
GET /projects/{project_id}/access/roles/{role_name}/objects
```
---
# Frontend Philosophy
SFERA UI — не обычная CRM.
Интерфейс должен ощущаться как:
- Linear
- Stripe Dashboard
- Notion
- Attio
- Plane
- Enterprise AI Workspace
---
# Frontend Stack
```text
Next.js
React
TypeScript
Tailwind CSS
shadcn/ui
TanStack Table
Framer Motion
```
---
# Enterprise UI Principles
## Main principles
- clean enterprise minimalism
- dark/light mode
- modular workspace
- AI-native UX
- semantic navigation
- adaptive layouts
- contextual side panels
- command palette
- realtime analytics
---
# AI-Assisted Development
Проект проектируется для работы через:
- Codex
- Cursor
- v0
- AI code review
- AI UI generation
- AI semantic assistants
---
# Codex Workflow
В репозитории присутствуют:
```text
.codex/
.cursor/
docs/design-system.md
docs/component-architecture.md
docs/codex-ui-guidelines.md
prompts/
```
Codex обязан:
- соблюдать architecture rules
- соблюдать design system
- генерировать production-ready TypeScript
- использовать reusable components
- учитывать AI limits/audit/token usage
---
# Frontend Design System
Frontend design system основан на:
```text
Tailwind CSS
shadcn/ui
Radix UI
Design Tokens
Enterprise Layout Rules
```
Основной принцип:
```text
Enterprise AI Operating System
instead of legacy CRM UI
```
---
# AI Operating Layer
Будущие AI возможности:
- AI semantic copilots
- AI impact prediction
- AI migration planning
- AI documentation generation
- AI integration analysis
- AI security review
- AI onboarding assistant
- AI dependency graph reasoning
- AI runtime diagnostics
- AI topology explorer
---
# Infrastructure
Docker Engine локально для development stand не обязателен.
Общий infrastructure host:
```text
docker-test
test-docker
```
Infrastructure documentation:
```text
docs/operations/STAND_RUNBOOK.md
```
---
# First Demo Target
```bsl
Процедура Проведение()
ПроверитьОстатки();
Движения.ОстаткиТоваров.Записать();
КонецПроцедуры
```
Expected semantic graph:
```text
Проведение CALLS ПроверитьОстатки
Проведение WRITES РегистрНакопления.ОстаткиТоваров
```
---
# Long-Term Vision
SFERA — это не просто analyzer.
Цель проекта:
```text
Semantic Operating System
for enterprise 1C ecosystems
```
Где:
- semantic graph
- runtime topology
- integrations
- access model
- UI semantics
- AI reasoning
- enterprise workflows
- impact analysis
становятся единой operating platform.
---
# Core Principles
```text
Deterministic.
Semantic.
Incremental.
Observable.
AI-Ready.
Enterprise-Scale.
```
---
# Future Roadmap
## Phase 1
- Rust parser
- SIR
- semantic graph
- Neo4j projection
- incremental indexing
## Phase 2
- semantic APIs
- integrations topology
- access graph
- UI semantics
## Phase 3
- enterprise frontend
- AI copilots
- semantic search
- AI review
## Phase 4
- distributed indexing
- multi-project graph
- semantic federation
- AI orchestration
- autonomous semantic agents