chore: восстановление репозитория из снапшота v0.3.1

Прежняя git-история утрачена при переносе проекта на машину владельца
(снапшот без .git). Хэши коммитов в docs/reports/* относятся к утраченной
истории.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
sab.code.lab 2026-08-07 09:34:02 +02:00
commit 1c85091186
184 changed files with 33303 additions and 0 deletions

37
apps/web/public/.htaccess Normal file
View file

@ -0,0 +1,37 @@
# Статический сайт на Apache shared hosting (ADR-0001).
#
# HTTPS-редиректа в этом файле НЕТ и быть не должно: включать только
# панелью хостинга. Проверка HTTPS через mod_rewrite за SSL-прокси хостера
# даёт вечный цикл редиректов (gotcha-https-redirect-proxy).
Options -Indexes
DirectoryIndex index.html
# MIME для WASM (нужен движку, этап 9): без него потоковая компиляция
# WebAssembly.instantiateStreaming не стартует.
AddType application/wasm .wasm
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
# Прочее (картинки, шрифты, favicon) — час.
ExpiresDefault "access 1 hour"
# HTML без хэша в имени — всегда перепроверять (Cache-Control ниже).
ExpiresByType text/html "access 0 seconds"
# Ассеты /_astro/ с хэшем в имени — год (Cache-Control immutable ниже).
ExpiresByType text/css "access 1 year"
ExpiresByType application/javascript "access 1 year"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.html$">
Header set Cache-Control "no-cache, must-revalidate"
</FilesMatch>
# Имена ассетов Astro содержат хэш: _astro/<имя>.<хэш>.<css|js>.
<FilesMatch "\.[0-9A-Za-z_-]{8,}\.(css|js)$">
Header set Cache-Control "public, max-age=31536000, immutable"
</FilesMatch>
</IfModule>

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -0,0 +1,3 @@
# Владелец (2026-08-07): сайт не для индексации поисковиками.
User-agent: *
Disallow: /