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
+34
View File
@@ -0,0 +1,34 @@
# SPRINT 1 — SIR Core
## Цель
Создать `packages/sir`.
## Files
- `enums.py`
- `source_ref.py`
- `lineage.py`
- `nodes.py`
- `edges.py`
- `diagnostics.py`
- `references.py`
- `snapshot.py`
- `delta.py`
- `validation.py`
- `serialization.py`
- `hashing.py`
## DoD
```bash
pytest packages/sir/tests
```
Должно проходить:
- snapshot validation ok;
- dangling edge detected;
- serialization roundtrip;
- snapshot hash deterministic;
- diagnostics/unresolved references serializable.
+27
View File
@@ -0,0 +1,27 @@
# SPRINT 2 — Rust BSL Parser MVP
## Цель
`rust/crates/bsl-parser` должен возвращать `ParsedSemanticUnit`:
- procedures;
- functions;
- calls;
- queries;
- query tables;
- writes;
- diagnostics.
## Важное
Поддержать RU/EN keywords.
## MVP ограничение
Можно начать с deterministic line-based parser. Позже заменить на полноценный lexer/parser.
## DoD
```bash
cd rust && cargo test
```
@@ -0,0 +1,27 @@
# SPRINT 3 — Semantic Kernel
## Цель
`packages/semantic-kernel` конвертирует parsed result в SIR snapshot.
## Вход
`.bsl` файлы.
## Выход
`SirSnapshot` с nodes/edges:
- MODULE;
- PROCEDURE/FUNCTION;
- QUERY;
- TABLE/REGISTER;
- DECLARES;
- CALLS;
- OWNS_QUERY;
- READS_TABLE;
- WRITES.
## DoD
`index_project(path)` возвращает валидный snapshot.
+17
View File
@@ -0,0 +1,17 @@
# SPRINT 4 — Neo4j Projection
## Цель
`SirSnapshot → Neo4j graph`.
## Queries
- find procedures;
- find callers;
- find callees;
- find query tables;
- find writes.
## Rule
Only `projection-engine` can mutate Neo4j.
+13
View File
@@ -0,0 +1,13 @@
# SPRINT 5 — Incremental Indexer
## Цель
Изменился один `.bsl` файл — пересобираем только fragment и применяем delta.
## Components
- source hash;
- change detector;
- SirDelta builder;
- snapshot transition;
- projection delta.