Колонка «PN code» в таблице импорта BOM: HPE-спецификации хранят партномер в двух столбцах, канонический вид — P52534-B21#B19. Склейка попадает в vendor_partnumber и сравнивается с книгой партномеров как есть; при загрузке разбирается обратно на две колонки. Схему БД менять не пришлось. Список допустимых LOT собирается из world ∪ estimate (componentUniverse), а не только из estimate. Прежняя область видимости молча теряла lot_mappings: резолвер сопоставлял PN по книге, которая про прайслисты не знает, а фронт отбрасывал LOT, которого нет в estimate — при этом в корзину он всё равно попадал. World-only позиции отдают price_quality 0. Кнопка «Пересопоставить» — перерешать BOM по актуальной книге, так как при открытии конфигурации сопоставления остаются замороженными. Итоги на вкладке «Ценообразование»: звёздочки убраны (переносились на новую строку), все три суммы красные, при наведении — попап с долей цен из прайслиста WORLD. Колонка «PN вендора» больше не переносится. 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 |
| 11-lot-suggestions.md | lot_suggestion column in qt_vendor_partnumber_seen — write/read contract for manual UI mappings |
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