Commit Graph

235 Commits

Author SHA1 Message Date
Satyam Rastogi a8ed0c0034 feat(leads): enrich lead data + add clickable lead detail page mirroring the create-lead form 2026-05-29 18:18:58 +05:30
Satyam Rastogi aeabcea850 fix(analytics): recognize revenue/commission on percentage-of-completion basis (fix spurious negative gross profit) 2026-05-29 18:11:38 +05:30
Satyam Rastogi c068106679 feat(projects): claimed-vs-verified scope-variance badge 2026-05-29 17:49:58 +05:30
Satyam Rastogi 6c5d9ea5e8 feat(projects): Estimate Versions tab (history + full document view) 2026-05-29 17:48:23 +05:30
Satyam Rastogi 35ff7a2e05 feat(projects): Inspections tab (damage + final, issues, rework loop, photo upload) 2026-05-29 17:45:35 +05:30
Satyam Rastogi 6d2c06f74b fix(data): remove duplicate completionPercentage keys introduced with lifecycleStage 2026-05-29 17:39:57 +05:30
Satyam Rastogi 5dff6cfaea feat(projects): interactive lifecycle progression control with stage history 2026-05-29 17:30:16 +05:30
Satyam Rastogi ffb2307066 feat(store): add lifecycle/inspection/estimate-version mutators 2026-05-29 17:26:40 +05:30
Satyam Rastogi 63b80a91b5 feat(data): add inspections, estimate versions, and scope variance to demo scenarios 2026-05-29 17:25:18 +05:30
Satyam Rastogi 1a96346200 feat(data): add lifecycleStage + stageHistory to all projects 2026-05-29 17:19:39 +05:30
Satyam Rastogi 293abb6d27 feat(lifecycle): add pure project lifecycle stage model (stages, progress map, helpers) 2026-05-29 17:10:53 +05:30
Satyam Rastogi bf796e83ea docs: add Plan 4 (lifecycle state machine + inspections + estimate versions) 2026-05-29 17:07:30 +05:30
Satyam Rastogi 8e75aa15c9 fix(data): convert signed lead kl_044 to PRJ-2026-029 (resolves orphan signed-column lead) 2026-05-29 17:01:20 +05:30
Satyam Rastogi dd781f4692 feat(dashboards): wire owner + admin KPIs to computed selectors (pipeline, funnel, win-rate, revenue, commission, storm) 2026-05-29 16:50:19 +05:30
Satyam Rastogi 8f5a32179d feat(analytics): add pure selectors for pipeline, revenue, commission, sub performance, storm 2026-05-29 16:46:57 +05:30
Satyam Rastogi 4857033994 feat(data): de-fake customer phones, tag 10 demo archetypes, add lost lead (#3), make #6 over-budget 2026-05-29 16:43:48 +05:30
Satyam Rastogi 76df03f6fa feat(data): realistic pre-sale lead identities, values, dates, and storm attribution 2026-05-29 16:31:23 +05:30
Satyam Rastogi 33b99c57d9 docs(plan3): correct phantom App.jsx route-bug (Windows grep artifact); routes verified correct 2026-05-29 16:22:58 +05:30
Satyam Rastogi e28d9c0266 docs: add Plan 3 (pipeline depth + computed analytics); note App.jsx lead-route fix in roadmap 2026-05-29 16:14:11 +05:30
Satyam Rastogi ec1d9dfb25 feat(routes): unify won leads and projects on a single /projects/:id page
- add role-prefix-free /projects/:id route (OWNER/ADMIN/FIELD_AGENT; ABAC guard lands in Phase 8)
- relax detail lookup so admin/field-agent open any project, owners only their own
- kanban drawer + project list route won leads (with projectId) to /projects/:id; pre-sale leads stay on the lead page
2026-05-29 15:51:09 +05:30
Satyam Rastogi d5ea0935b4 fix(data): correct pendingInvoiceCount and align cost-invoice vendors to breakdown 2026-05-29 15:39:36 +05:30
Satyam Rastogi 2b741dd0b5 fix(data): trade-correct vendors, margins, and timeline details on converted projects 2026-05-29 15:20:01 +05:30
Satyam Rastogi 4b2bb37b3b feat(data): convert won kanban leads (kl_023-038) into unified project records 2026-05-29 14:10:54 +05:30
Satyam Rastogi 058f41c763 refactor(data): migrate project ids to PRJ-2026-### (with inbound FKs) 2026-05-29 13:50:13 +05:30
Satyam Rastogi c62ee39012 docs: reframe access control to ABAC; align Plan 2 to unified /projects/:id; add Appendix G plan-by-plan roadmap (what/why/how) 2026-05-29 05:35:27 +05:30
Satyam Rastogi 5ac4087658 docs(master): add data dictionary, concrete scenarios, component map, demo clickstreams, naming conventions, QA appendices 2026-05-29 05:28:40 +05:30
Satyam Rastogi bb3a6a42e1 docs(master): add Phase 8 (access control + unified permission-aware routing); route naming map 2026-05-29 05:23:37 +05:30
Satyam Rastogi 16389dbca7 docs: expand master plan into a comprehensive reference (vision, data model, phases, state machines, scenarios, execution) 2026-05-29 05:14:46 +05:30
Satyam Rastogi fc7cc855c3 docs: Plan 2 — unify lead/project + routing (PRJ-2026-### ids), with parallel-safe lane map 2026-05-29 05:10:46 +05:30
Satyam Rastogi c1eef01a66 docs: master scope & rationale for the demo build (all phases + why) 2026-05-29 05:07:42 +05:30
Satyam Rastogi f794ec28b4 chore(data): purge residual placeholder name in docs; normalize sub_001 trade + owner email 2026-05-29 05:00:22 +05:30
Satyam Rastogi 55ede33c2f chore(login): update employee-id placeholder to LUP scheme; gitignore playwright artifact 2026-05-29 04:47:34 +05:30
Satyam Rastogi a3dfd732e8 feat(login): per-role person picker for quick demo access 2026-05-29 04:45:03 +05:30
Satyam Rastogi 155bf6ce63 feat(data): add kanban lead values, fix Complete-stage data, set stormSource 2026-05-29 04:37:57 +05:30
Satyam Rastogi 2f43205854 fix(data): match subcontractor tasks to real projects; style On Hold status 2026-05-29 04:22:30 +05:30
Satyam Rastogi 2010ca080e fix(data): align sub_002-005 login company/trade/phone with subcontractor records 2026-05-29 04:16:26 +05:30
Satyam Rastogi 2399b40926 feat(data): add login records for sub_002-005 so each subcontractor inbox is reachable 2026-05-29 04:13:52 +05:30
Satyam Rastogi cb6695aa94 fix(data): seed leads list so the Leads page is populated on load 2026-05-29 04:09:11 +05:30
Satyam Rastogi 4ee480ec87 fix(data): reconcile project financials and add missing budget breakdowns 2026-05-29 04:01:27 +05:30
Satyam Rastogi ebd5b78f41 fix(data): remap subcontractor task/notification actor ids to canonical scheme 2026-05-29 03:48:24 +05:30
Satyam Rastogi 8c4e6695be fix(data): remap orgMembers userId to canonical id scheme 2026-05-29 03:44:23 +05:30
Satyam Rastogi 890072a051 feat(data): canonical roster — real Texan names + unified LUP employee ids 2026-05-29 03:41:18 +05:30
Satyam Rastogi 0c40f1c881 feat(data): add resolvePerson selector over a merged people index 2026-05-29 03:31:40 +05:30
Satyam Rastogi a03fb0cf00 chore(data): add DEMO_TODAY anchor and use it for kanban day-counter 2026-05-29 03:24:57 +05:30
Satyam Rastogi 670b33c69b docs: add Texan roster (real names + LUP employee ids), login person picker, optional profile identity fields; update plan + protocol order 2026-05-29 02:53:51 +05:30
Satyam Rastogi eb0f600ee0 docs: subagent execution protocol (sequential, lane ownership, conflict prevention) 2026-05-29 02:21:24 +05:30
Satyam Rastogi 10450b05de docs: implementation plan for demo data foundation (phases 1-3) 2026-05-29 02:17:15 +05:30
Satyam Rastogi 20fe4e6ba7 docs: add profiles, skill catalog, and LynkDispatch AI-context to spec 2026-05-29 02:11:16 +05:30
Satyam Rastogi b0de8b9ec1 docs: expand spec with project lifecycle, inspections, scope-variance, estimate versions, sub-task stage machine, 10 demo cases 2026-05-29 01:56:31 +05:30
Satyam Rastogi c68d11dd98 feat(leaderboard): animate podium numbers (count-up) and staggered bottom-up bar growth
Podium values now count up via AnimatedNumber with per-metric formatting
(currency/percent/deals). Podium bars grow from a fixed baseline at constant
speed so bronze settles first, then silver, then gold last; reserve row height
so the baseline doesn't shift mid-animation. Remove unused formatSales/formatCv.
2026-05-29 01:54:33 +05:30