chore: bootstrap repository with governance docs

Initialize git, add Apache-2.0 LICENSE, .gitattributes (LF line
endings), AGENTS.md (entry points, stack, discovery order, baseline
checks), RUNBOOK.md (dev boot, prod deploy with overlay, ingestion,
failures, rollback, scaling notes), .env.prod.example with rotated
credential placeholders, and dev-only warnings on .env.example.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vadim Malanov
2026-05-13 16:41:50 +03:00
commit 7f72171572
157 changed files with 11298 additions and 0 deletions

21
app/utils/hashing.py Normal file
View File

@@ -0,0 +1,21 @@
"""Streaming SHA256 hashing utilities for large files."""
from __future__ import annotations
import hashlib
from pathlib import Path
_CHUNK = 1024 * 1024 # 1 MiB
def sha256_file(path: Path | str) -> str:
"""Compute SHA256 of a file in streaming mode (constant memory)."""
h = hashlib.sha256()
with open(path, "rb") as f:
for block in iter(lambda: f.read(_CHUNK), b""):
h.update(block)
return h.hexdigest()
def sha256_bytes(data: bytes) -> str:
return hashlib.sha256(data).hexdigest()