proposal-system/web/src
Adam Moussa 5d84399a0d
Some checks are pending
Deploy / Deploy to AWS (push) Waiting to run
feat: pricing library — curated priced items feed the RAG corpus (#127)
Adds a managed pricing library so admins can seed/curate reference priced items
directly, instead of the corpus being populated only by ingesting Sent proposals.
v1 PR5.

API:
- PricingLibraryItem entity + migration; /api/pricing-library CRUD (admin), with
  GET {id} reachable by internal Lambda callers (admins role via internal key).
- Create/update publish an ADDITIVE library-ingest SQS job {pricingLibraryItemId},
  wrapped so a publish failure never rolls back the save.

Lambda (library-ingest):
- Additive event-shape branch: pricingLibraryItemId -> fetch item, format markdown,
  upload to pricing-library/{category}/{id}.md, trigger KB sync. The existing
  proposalId path is byte-for-byte unchanged. Explicit error when neither id present;
  warns when both present.

Web:
- Pricing Library management page (/admin/pricing-library): list / create / edit / delete.

GPT-4.1 cross-review on the event-shape change: no BLOCK (neither/both-id handling
applied). Verified: api 159 tests; web tsc + 26 tests; lambdas ruff + 37 pytest.
2026-06-18 12:49:47 -04:00
..
app test: bootstrap test infrastructure with critical coverage (QA-C1 through QA-C6) 2026-05-27 18:18:44 -04:00
components feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
constants feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
hooks Phase 3 audit fixes: FIX-01–47, accessibility NITs, code quality NITs [skip deploy] 2026-05-20 19:38:36 -04:00
lib feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
pages feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
test test: bootstrap test infrastructure with critical coverage (QA-C1 through QA-C6) 2026-05-27 18:18:44 -04:00
App.tsx feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
index.css Implement Phases 2-5: Frontend, AI/RAG, PDF Generation (#22) 2026-05-17 13:06:23 -04:00
main.tsx fix: web medium findings (WEB-M2, M5, M6, M7, M10, M13) 2026-05-27 18:18:44 -04:00
theme.ts feat(web): apply Sea Haven Ops design system re-theme and layout fixes 2026-06-12 16:06:47 -04:00
vite-env.d.ts Implement Phases 2-5: Frontend, AI/RAG, PDF Generation (#22) 2026-05-17 13:06:23 -04:00