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
Satyam Rastogi
2e481e13ad
docs: spec for demo data coherence & simulation depth
2026-05-29 01:32:55 +05:30
Satyam Rastogi
97597737df
fix(dev): stub /api/* in vite dev to avoid @vercel/kv transform crash; allow owners to create map entries
2026-05-29 01:32:55 +05:30
Satyam Rastogi
73387366fe
merge: integrate subcontractor, org-settings & commission features from project-refinement
...
# Conflicts:
# src/App.jsx
# src/components/Layout.jsx
# src/data/mockStore.jsx
# src/pages/LeadsListPage.jsx
# src/pages/owner/OwnerProjectDetail.jsx
# src/pages/owner/OwnerSnapshot.jsx
2026-05-29 01:11:03 +05:30
Satyam-Rastogi
ac1811c765
chore: ignore .vercel dir and add .npmrc with shamefully-hoist for pnpm
2026-05-29 00:35:35 +05:30
Satyam Rastogi
490d16b80a
subcontrcator: post a status update section- removed photo required option
2026-05-21 20:49:10 +05:30
Satyam Rastogi
e648547f1b
change mock data of all projects to show positive net profit
2026-05-21 17:48:55 +05:30
Satyam Rastogi
680b2b4cfe
update correct url for admin/settings
2026-05-21 16:52:58 +05:30
Satyam Rastogi
371c52fe9d
subcontractor: task thread section having teams and direct chat options now
2026-05-21 15:50:19 +05:30
Satyam Rastogi
3a038ffc6f
subcontractor: add progress updates and task activity timeline
2026-05-21 15:30:19 +05:30
Satyam Rastogi
ad39848b0f
adds subcontractor project history and payments table a amount column
2026-05-20 19:32:55 +05:30
Satyam Rastogi
6838d6c38e
adds subcontractor project history and payments
2026-05-20 19:23:53 +05:30
Satyam Rastogi
5dd781ca45
subcontractor payments table added in owners box
2026-05-20 18:45:00 +05:30
Satyam Rastogi
11b15a2e30
updates budget & cost feature of projects: added sub contrcator comm, team cost
2026-05-20 14:34:38 +05:30
Satyam Rastogi
2589975074
adds sections as list tasks,log expenses. fees, notifications for sub contrcator
2026-05-19 18:17:36 +05:30
Satyam-Rastogi
f9f25cf797
fix(vite): exclude api/ folder from Vite module processing and watcher
2026-05-19 02:55:33 +05:30
Satyam-Rastogi
bdb7a4e465
fix(storm-intel): show CloudHail icon for ice-pellet/hail forecast codes
...
Tomorrow.io 7xxx codes are ice pellets, not snow — remapped from Snowflake
to CloudHail. Added hailRisk override so any day flagged as hail risk by
the API always renders the hail icon regardless of weatherCode. Also added
missing 6xxx (freezing rain) codes to the icon table.
Mock Sunday entry corrected to weatherCode 8000 (thunderstorm) — 7102 at
76°F made no meteorological sense.
2026-05-19 02:40:21 +05:30
Satyam-Rastogi
e754911e0b
fix(storm-intel): graceful hail proxy error + suppress inflated homes total
...
Hail Recon fetch now checks Content-Type before parsing JSON — when running
under pnpm dev (Vite only), the proxy JS file is served as-is; the check
catches the non-JSON response and flags it as proxy_unavailable, surfacing
"Not available in dev mode" instead of the raw parse-error string.
Est. Homes header now shows "—" when no events are event-pinned. The
previous totalHomes sum across all 37 NWS warning polygons (each 100–500 sq mi)
produced a nonsensical 19.7M figure. The number is only meaningful per-event
or when the user explicitly pins events to compare.
2026-05-19 02:39:19 +05:30
Satyam-Rastogi
30728a0db6
feat(storm-intel): damage-probability homes estimate + pinned events total in header
...
useStormEvents:
- Replace flat 1800/sq mi estimate with damage probability multiplier per type:
hail ≥2.0" = 95%, 1.75" = 80%, 1.5" = 65%, 1.25" = 45%, 1.0" = 30%, <1.0" = 15%;
tornado = 20% (path << polygon), flood = 25%, wind = 40%, winter = 20-30%
- Expose damagePct on event object for display in drawer
StormIntelPage:
- pinnedHomes useMemo — sums estimatedHomes across event-pinned events
- Header homes stat switches to amber + "Est. Homes · N pinned" label when events are pinned;
hover tooltip notes zones may overlap
- Drawer: "Est. Homes Affected" now shows "~X% damage probability" as sub-label
2026-05-19 02:31:57 +05:30
Satyam-Rastogi
4c32266f3d
feat(storm-intel): Tier 1/2/3 data enrichment — SBW tags, LSR spotter reports, Hail Recon pin history
2026-05-19 02:27:47 +05:30
Satyam-Rastogi
dc994be329
feat(storm-intel): richer event data + NWS boundary label in drawer and map tooltip
...
useStormEvents:
- Extract windSpeed (windtag), expireTime, warningDurationMins, phenomenaCode/Label
- Calculate polygonAreaSqMi via shoelace formula; estimate homes at 1800/sq mi
StormDetailDrawer — new sections:
- Weather Metrics: hail size with damage descriptor, wind speed with severity label
- Impact Zone: warning area sq miles + estimated homes in zone
- Warning Timeline: issued time, expired time, duration, issuing NWS office
- NWS Boundary note: explains the shape is a meteorologist-drawn warning zone
Map tooltip:
- Shows phenomenaLabel, wind speed, area sq mi
- Footer section labeled "NWS Warning Boundary" with shape explanation
2026-05-19 01:10:17 +05:30
Satyam-Rastogi
b9450dc7b4
fix(storm-intel): map shows only selected/pinned events; add Show all toggle + auto-zoom to pins
...
- Location pins filter the sidebar only; map no longer auto-renders all
nearby polygons (NWS warnings span entire counties, cluttering the view)
- Map shows event polygons only for explicitly selected or event-pinned items
- "Show all on map" toggle in sidebar renders the full sidebar event list
- FitToPins auto-zooms to the pin radius circle when a new pin is dropped;
clears back to Plano center when all pins are removed
2026-05-19 00:56:37 +05:30