diff --git a/platform/docs/PLATFORM_DIRECTION.md b/platform/docs/PLATFORM_DIRECTION.md index e0e75a07..6e791b66 100644 --- a/platform/docs/PLATFORM_DIRECTION.md +++ b/platform/docs/PLATFORM_DIRECTION.md @@ -46,10 +46,9 @@ hosted IdP (связка PII + доступность, а свою сессию ## 2. Деньги: фри-тир и покупка токенов (П-7) -**Форма «как у OpenRouter» — предоплаченный кредитный леджер с резервацией ДО работы.** Проверено по -публичным докам: OpenRouter — предоплаченные кредиты + фри-тир как счётчик запросов; Anthropic — -кредиты + месячные потолки; Modal — фри-тир как ПЕРИОДИЧЕСКИЙ ГРАНТ в тот же леджер (самая чистая -механика: отдельного кода фри-тира не существует вовсе). Берём модель Modal для фри-тира. +**Форма «как у OpenRouter» — предоплаченный кредитный леджер с резервацией ДО работы** (сверено по +публичным докам OpenRouter · Anthropic · Modal). **Фри-тир — периодическим ГРАНТОМ в тот же леджер** +(механика Modal): отдельного кода фри-тира не существует вовсе. **Минимальная схема (строить с П-7, не раньше):** к существующему `usage_windows` — три таблицы: `credit_ledger` (append-only, знаковые целые микро-доллары, типы `grant|purchase|hold|hold_release|settlement|adjustment`, @@ -92,9 +91,8 @@ merchant-of-record, шорт-лист **Paddle vs Stripe Managed Payments** — ## 3. Стандарты и стек: что взять, что не брать -**Ответ на вопрос владельца «это же писали тысячу раз, есть хорошие библиотеки — так ведь?»** — да, -и наш стек уже взял правильные куски (pgx · goose · River · stdlib ServeMux/CSRF · slog · опаковые -сессии). Менять стек не надо; надо добавить четыре вещи, пока репозиторий — скелет: +Стек менять не надо: правильные куски уже взяты (pgx · goose · River · stdlib ServeMux/CSRF · slog · +опаковые сессии). Добавить четыре вещи, пока репозиторий — скелет: | Добавление | Пин | Статус | |---|---|---| diff --git a/platform/docs/platform-PROGRESS.md b/platform/docs/platform-PROGRESS.md index aaed269e..dae62aad 100644 --- a/platform/docs/platform-PROGRESS.md +++ b/platform/docs/platform-PROGRESS.md @@ -47,9 +47,8 @@ PostgreSQL 18.4, поднятым без root, все три БД-гейченн поимённо) · живые пробы бинаря (healthz 200 без БД · readyz 503 честно · Bearer без стора → 401, не паника · неизвестный путь под `/v0` → 401 раньше 404 · CSRF: cookie-POST без `X-TM-Client` 403, cross-site 403, Bearer-POST не требует заголовка · SIGTERM → «shutting down» и чистый выход) · -**три СВОИ мутации** в несущие свойства (см. ниже) · адверсариальный воркфлоу из пяти линз -(слепое ревью до отчёта · security-охота вне карты · корректность/отказоустойчивость · канон-сверка · -опровержение дизайн-ответов) со скептик-пассом. +**три СВОИ мутации** в несущие свойства (см. ниже) · адверсариальный воркфлоу пяти линз со +скептик-пассом (линзы анти-следовые: мнение до чтения отчёта, поиск вне его карты). **Что подтверждено исполнением:** зонная дисциплина (в коммите только `platform/*`, чужого нет) · модуль-sibling, `backend/internal` не импортируется, `go.work` не заведён · живой SQLite движка нигде