feat: complete release readiness work

- consolidate API ownership and remove dead vendor code

- add Stripe billing, learning paths, and public CV hardening

- add migration, recovery, security, audit, and browser gates
This commit is contained in:
cesnimda
2026-07-31 16:54:16 +02:00
parent a23c3dfc97
commit ce76046a29
1634 changed files with 6889 additions and 135429 deletions
+6 -1
View File
@@ -1,3 +1,8 @@
# applications
TODO: Complete documentation.
Applications are tenant-owned and soft-deleted. Create/update/status/follow-up operations emit
`JobEvent` records; the timeline projects those events together with correspondence and attachments.
Opportunity fields dual-write to the normalized `Job` entity while compatibility columns remain during
the incremental migration.
The REST surface is summarized in `README.md`; ownership rules are in `docs/security/authorization.md`.
+1 -4
View File
@@ -1,6 +1,3 @@
# companies
TODO: Complete documentation.
# Company Management
## Purpose
@@ -55,4 +52,4 @@ Possible:
- Company research.
- Reviews.
- Hiring insights.
- Hiring insights.
+5 -1
View File
@@ -1,3 +1,7 @@
# followups
TODO: Complete documentation.
Each application can hold a follow-up date and reminder state. Setting or clearing it emits a lifecycle
event. Dashboard reminders and the background email reminder service use the same owned application
data; generated follow-up drafts remain suggestions until the user sends or saves them.
Rules can mark stale applications Ghosted, but user-authored custom statuses are preserved.
+7 -2
View File
@@ -1,6 +1,11 @@
# overview
TODO: Complete documentation.
The job domain tracks opportunities before and after application. Canonical stages cover Saved,
Interested, Preparing, Applied, Waiting, Interview, Offer, Rejected, and Ghosted while preserving
unknown custom status values. Each owned application aggregates company, correspondence, attachments,
follow-ups, checklist, timeline, analysis, and generated application material.
See `docs/architecture/application-workspace.md` and `docs/decisions/ADR-002-job-application-model.md`.
# Job Tracking Overview
## Purpose
@@ -138,4 +143,4 @@ The user should always know:
Do not require users to complete every field.
Smart defaults are preferred.
Smart defaults are preferred.