8242e51b61
feat(generative): exporters (dxf/pdf) + generative test suite ( #54 #55 #56 )
...
CI / frontend-tests (push) Has been skipped
CI / changes (push) Successful in 10s
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (push) Successful in 7m39s
CI / backend-tests (pull_request) Successful in 7m39s
Deploy / deploy (push) Has been cancelled
Deploy / build-frontend (push) Has been cancelled
Deploy / build-backend (push) Has been cancelled
Deploy / build-worker (push) Has been cancelled
Deploy / changes (push) Successful in 6s
Дополняет движок: exporters/{dxf,pdf}.py (ezdxf + WeasyPrint lazy) + 5 тест-модулей
(geometry/placement/teap_financial/exporters/api). Не вошли в предыдущий commit
(untracked-директории).
2026-06-13 21:33:20 +05:00
3b79533f9f
feat(generative): движок концепций Stage 1a/1b/1c ( #54 #55 #56 )
...
CI / changes (push) Successful in 7s
CI / frontend-tests (push) Has been skipped
CI / backend-tests (push) Has been cancelled
Заменяет generative stubs детерминированным end-to-end пайплайном:
- 1a geometry: WGS84-parse, метрическая AEQD-репроекция, setback-буфер, placement grid
- 1b placement: greedy section-fill + STRtree коллизии (full-gap), 3 стратегии, coverage cap
- 1c teap/financial: площади/квартиры/FAR/паркинг; выручка/затраты/маржа + IRR-proxy
- exporters: ezdxf DXF (геометрия) + WeasyPrint ТЭП/фин PDF (lazy import)
generate() заменил generate_stub в route (422 на degenerate). mypy-strict + ruff clean,
31 generative-тест + full suite 3078 passed. ConceptVariant заполняется реальными числами.
Closes #54
Closes #55
Closes #56
2026-06-13 21:32:32 +05:00
lekss361
6c4ba1777a
deploy.yml: sync compose+Caddyfile from git, reload caddy after up
2026-04-26 13:31:26 +03:00
lekss361
08a63f611d
backend: fix mypy errors in geometry stub
...
- empty_buildings: dict → dict[str, Any] (mypy strict needs type args)
- drop unused `# type: ignore[arg-type]` on strategy= (mypy now narrows
the loop variable to Literal[...] from a tuple of literals)
2026-04-26 11:02:22 +03:00
lekss361
d0909e6200
backend: ruff lint fixes
...
- main.py: AsyncIterator from collections.abc (typing.AsyncIterator deprecated, UP035)
- geometry.py: TEAP first in import (isort: ALL_CAPS before MixedCase, I001)
- pyproject.toml: ignore RUF001/002/003 — Russian-language project legitimately
uses Cyrillic lookalikes in comments/docstrings (МСК-66 etc).
Verified: ruff check . — All checks passed!
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 10:53:50 +03:00
lekss361
b95559eac9
init
2026-04-25 13:45:19 +03:00