Fix platform prompt after independent review: emitter absence named, go.work ownership stated, log rule de-attributed from canon, auth sources precise
This commit is contained in:
parent
250e4160eb
commit
94a24b74e8
1 changed files with 14 additions and 10 deletions
|
|
@ -24,7 +24,7 @@ TextMachine — SaaS издательского художественного
|
|||
|
||||
1. Корневой `CLAUDE.md` — канон целей и гардрейлы (⚠ `.env` не читать НИКОГДА).
|
||||
2. `docs/research/23-engine-platform-seam.md` — ратифицированный шов движок↔платформа
|
||||
(D39.85). Это твоя конституция: NDJSON-поток событий движка → идемпотентный апсерт
|
||||
(D39.85) — приоритетный канон зоны: NDJSON-поток событий движка → идемпотентный апсерт
|
||||
`(run_id, seq)` в Postgres (Reporting Database) → SSE фронту из Postgres; ре-синк на
|
||||
обрыве — `tmctl status --json`; **анти-паттерны запрещены**: живой SQLite движка не
|
||||
читать · event-sourcing/реплей истории не строить · read-пакет из ядра не выносить.
|
||||
|
|
@ -34,8 +34,9 @@ TextMachine — SaaS издательского художественного
|
|||
сквозная или пер-ресурсная) · **К-7** (пагинация: 2284 главы / 1200 терминов) ·
|
||||
**К-12** (завершение экспорта: пуш событием или опрос).
|
||||
4. `platform/BACKLOG.md` — П-1..П-5: твой зонный трекер (аутентификация П-1 ратифицирована
|
||||
D39.84: ОДНА серверная сессия в Postgres, `__Host`-кука браузеру · `Bearer` десктопу/CLI ·
|
||||
principal создаётся ТОЛЬКО в middleware · CSRF только на cookie-пути).
|
||||
D39.84 + `frontend/docs/STACK_DECISIONS.md` §5: ОДНА серверная сессия в Postgres,
|
||||
`__Host`-кука браузеру · `Bearer` десктопу/CLI · principal создаётся ТОЛЬКО в middleware ·
|
||||
CSRF только на cookie-пути).
|
||||
5. `frontend/docs/STACK_DECISIONS.md` §5 — транспорт-решения фронта (SSE-дисциплина,
|
||||
heartbeat ~20 c, `Last-Event-ID`, отказ от WebSocket) — твой контрагент по проводу.
|
||||
6. Grep по D-номерам в `docs/architecture/05-decisions-log.md`: D39.81 · D39.84 · D39.85 ·
|
||||
|
|
@ -51,14 +52,17 @@ TextMachine — SaaS издательского художественного
|
|||
не ратифицируешь — таблица уходит оркестратору при передаче.
|
||||
2. **Layout модуля.** ⚠ Ревью-гард D39.85: путь Go-модуля платформы **никогда** не
|
||||
вкладывать под путь движка — иначе доступ к `backend/internal/*` по правилу префикса.
|
||||
Отдельный `platform/go.mod` уже заведён — наполни.
|
||||
Отдельный `platform/go.mod` уже заведён — наполни. ⚠ Корневой `go.work` (мандат D39.85)
|
||||
НЕ создавай — корень вне твоей зоны, его заведёт оркестратор при лендинге.
|
||||
3. **Скелет, который компилируется и поднимается**: HTTP-сервер + `/healthz` · каркас
|
||||
session-auth по П-1 (схема Postgres + middleware, без UI регистрации) · драфт схемы
|
||||
read-model под контракт (books/runs/chapters/units/bank/notes/events + ревизии) ·
|
||||
интерфейс NDJSON-ингест воркера (супервизия процесса tmctl, апсерт `(run_id, seq)`,
|
||||
ре-синк `status --json`) — интерфейс и типы, живой прогон НЕ нужен.
|
||||
ре-синк `status --json`) — интерфейс и типы, живой прогон НЕ нужен: **NDJSON-эмиттер
|
||||
в движке ещё НЕ построен** (строка 103 единого бэклога) — формы событий проектируй по
|
||||
словарю research/23 §7 и контракту §6, из tmctl потока сегодня не получить.
|
||||
4. **Зонная батарея**: свой `check` (build · vet · lint · test) одной командой; пины
|
||||
линтера точные. Образец дисциплины — `backend/Makefile` и фронтовый `npm run check`.
|
||||
линтера точные. Образец дисциплины — `backend/Makefile` (агрегатная цель там зовётся `battery`) и фронтовый `npm run check`.
|
||||
5. **Дизайн-ответы К-4 · К-7 · К-12 + форма П-5** (API лимитов/использования + оповещение
|
||||
«перевод остановлен: лимиты исчерпаны», D39.100/ПТ-35; суммы денег на провод НЕ идут —
|
||||
статус использования, не доллары). Каждый ответ — ПРЕДЛОЖЕНИЕ с обоснованием в зонном
|
||||
|
|
@ -66,14 +70,14 @@ TextMachine — SaaS издательского художественного
|
|||
|
||||
**Не в скоупе:** П-2 (брокер рейт-лимитов — гейт «до второго пользователя») · стройка
|
||||
очереди П-3 целиком (дизайн-заметки можно) · деплой/TLS/домены · UI чего угодно ·
|
||||
любые вызовы LLM-провайдеров (у тебя их нет и ключи тебе не нужны). Бюджет сессии $0.
|
||||
любые вызовы LLM-провайдеров. Бюджет сессии $0.
|
||||
|
||||
## Жёсткие ограничения
|
||||
|
||||
- Движок не править и не форкать; `tmctl` дёргать можно только read-only командами и только
|
||||
в интеграционных пробах ($0); живой SQLite движка не открывать даже «одним глазком».
|
||||
- Деньги: никакие суммы/цены не попадают ни в API-ответы, ни в логи уровня INFO (канон
|
||||
D39.84; лимиты-статус — П-5, отдельная поверхность).
|
||||
в интеграционных пробах ($0); живой SQLite движка не открывать.
|
||||
- Деньги: суммы/цены не попадают в API-ответы (канон D39.84); в логи уровня INFO — тоже
|
||||
(норма ЭТОГО промта, не D-лога); лимиты-СТАТУС — П-5, отдельная поверхность.
|
||||
- ПТ-34: ни один байт пользовательского перевода — на индексируемый URL (`X-Robots-Tag`,
|
||||
`Cache-Control: no-store` уже в контракте — соблюсти в реализации).
|
||||
- Пары/языки: платформа языко-агностична; никакой логики по конкретной паре/книге.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue