Паста BOM на странице конфигурирования теперь распознаёт текстовый и
Inspur-форматы: вместо дублирования парсера на JS добавлен stateless
эндпоинт POST /api/vendor-spec/parse-text, который использует те же
детекторы и парсеры, что и импорт файла (KISS — один парсер на оба
входа). JS-копии _parseInspurBOMText/_isInspurBOMText удалены.
Заголовок конфигурации определяется по маркеру ", в составе:" с любым
префиксом ("Сервер X3" и "Вычислительный GPU сервер X3" → модель X3);
строки тримятся, пробел в начале не попадает в P/N; запятые и дефисы
внутри описания сохраняются (RAID0,1,10; 8-GPU-2304GB).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
QuoteForge Bible
Project-specific architecture and operational contracts.
Files
| File | Scope |
|---|---|
| 01-overview.md | Product scope, runtime model, repository map |
| 02-architecture.md | Local-first rules, sync, pricing, versioning |
| 03-database.md | SQLite and MariaDB data model, permissions, migrations |
| 04-api.md | HTTP routes and API contract |
| 05-config.md | Runtime config, paths, env vars, startup behavior |
| 06-backup.md | Backup contract and restore workflow |
| 07-dev.md | Development commands and guardrails |
| 09-vendor-spec.md | Vendor BOM and CFXML import contract |
| 10-agent-api-guide.md | End-to-end API guide for agents pricing servers from a TZ |
Rules
bible-local/is the source of truth for QuoteForge-specific behavior.- Keep these files in English.
- Update the matching file in the same commit as any architectural change.
- Remove stale documentation instead of preserving history in place.
Quick reference
- Local DB path: see 05-config.md
- Runtime bind: loopback only
- Local backups: see 06-backup.md
- Release notes:
releases/<version>/RELEASE_NOTES.md