Commit graph

39 commits

Author SHA1 Message Date
Manohar Gupta
0f8a50caf2 Add as_csv=true to fetch URL to get CSV format
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-24 00:03:04 +05:30
Manohar Gupta
d2c2e2fe63 Add loading spinner and debug logs for file fetch
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 23:47:46 +05:30
Manohar Gupta
a850822e0a Remove backup file causing build error
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 19:07:47 +05:30
Manohar Gupta
351229b0a9 Rewrite ProfileViewer to fix syntax error
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 19:03:30 +05:30
Manohar Gupta
0286bdefae Fix syntax error in ProfileViewer component
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 18:57:03 +05:30
Manohar Gupta
261f5c4184 Fix file preview and button interaction
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 18:13:08 +05:30
Manohar Gupta
fd0aa5060a Show all 8760 rows in file preview (no limit)
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 18:00:57 +05:30
Manohar Gupta
b00d0fa76f Add file preview to display CSV contents when clicking on profiles
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 17:53:17 +05:30
Manohar Gupta
874877f5ba Add bundled reference files download links
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 17:39:39 +05:30
Manohar Gupta
0ba21e8936 Rename to View Files and File Reference Library
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 17:39:04 +05:30
Manohar Gupta
112c25c26b Add CUF profile viewer with upload capability
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-23 17:22:31 +05:30
Manohar Gupta
680df1a597 Make KPI summary cards clickable - navigate to relevant sheets
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Added onClick prop to KpiCard component
- SummarySheet now accepts onNavigate callback
- KPI cards now link to appropriate sheets:
  - Solved Tariff, Solar Y1 CUF, Wind Y1 PLF -> Generation
  - Equity IRR, Project IRR, LCOE, Payback -> IRR / Returns
  - Min DSCR, Avg DSCR, Total Capex, Debt -> Debt
  - IDC -> IDC / Phasing
- WorkbookView accepts optional onNavigate prop
- Scenario page passes onNavigate to switch active sheet
2026-05-22 17:57:32 +05:30
Manohar Gupta
5098bf86f4 Fix Total Project Cost calculation: include upfront lease cost
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Added upfrontLeaseCostCr to totalCostCr calculation
- IDC and upfront fee now calculated on full project cost including lease
- Updated Land & Common card to show lease cost is included in total
2026-05-22 16:57:29 +05:30
Manohar Gupta
f224e98e0a Fix solver values to display as percentage not decimal
- Added pct() helper function
- Target Equity IRR now shows 18% instead of 0.18
- Input accepts percentage and converts back to decimal internally
2026-05-22 16:53:51 +05:30
Manohar Gupta
35cfc409e2 Fix input sheet defaults: Lease Rate 0.40, Upfront Fee 0.75%*1.18
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Changed Lease Rate default from 30 to 0.4 Lakh/acre/year
- Changed Upfront Fee default from 1% to 0.75%*1.18 (=0.885%)
- Updated upfront lease cost calculation to use new default
2026-05-22 15:16:02 +05:30
Manohar Gupta
206b9a0f99 Fix: DC capacity now updates when AC capacity changes
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-22 13:39:09 +05:30
Manohar Gupta
941843e441 Fix solar wizard: reorder AC/DC fields, add DC:AC ratio, auto-calc DC capacity
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Moved AC Capacity above DC Capacity
- Added DC:AC Ratio input field (editable, default 1.4)
- Made DC Capacity auto-calculated (read-only) based on AC * ratio
- Updated buildInputs() to include dc_ac_ratio
- Maintains same data flow as InputsTab.tsx
2026-05-22 13:22:18 +05:30
e286f930f1 fix: add all columns to month/day/hour views for consistent display
Some checks failed
CI / Engine — lint / typecheck / test (push) Has been cancelled
CI / API — lint / typecheck / test (push) Has been cancelled
CI / Web — typecheck / lint / build (push) Has been cancelled
- Hour: raw profile %, DC MW, output MW
- Day: average profile %, DC MW, sum MWh
- Month: average profile %, DC MW, sum MWh

All levels now show: Solar 8760, DC MW, Solar MW, Wind, Total RE, Client End, Load

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 15:59:43 +05:30
fdb387e74c feat: pass solar DC MW and wind capacity from inputs to generation sheet
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Add solarDCMW and windMW props
- Pull from inputs_json in scenario page
- DC MW column now shows actual capacity from input

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 15:02:43 +05:30
2705f4bb11 feat: compute Solar 8760 averages at year/month/day levels
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Add helper functions for raw profile averages
- Solar 8760 shows average profile % at each level
- Month/day levels use daily/hourly averages

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 14:37:34 +05:30
dba1e6990f feat: add profile data columns to generation sheet for detailed breakdown
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Add hourly_solar_profile and hourly_wind_profile to store per-hour output values
- Add solar_dc_mwp, solar_ac_mw, wind_mw to PipelineResult for capacity display
- Add columns: Solar 8760, DC MW, Solar MW / Wind 8760, MW, Wind MW
- Updated UI to show detailed breakdown at each level (Year/Month/Day/Hour)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 13:31:20 +05:30
5e49926289 feat: add hourly timeseries infrastructure with Total RE, Client End, Load columns
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Add client_load_mw to CommercialConfig (defaults to ppa_capacity_mw)
- Add hourly_timestamps, hourly_fy, hourly_proj_year, hourly_total_re,
  hourly_client_end, hourly_load to ScenarioResult
- Generate 25-year hourly data in runner.py with proper timestamps
- Update API worker to return new hourly fields
- Update WorkbookView HourlyGenerationSheet to show all 5 columns
  at each expandable level (Year > Month > Day > Hour)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 12:52:44 +05:30
27866e86f0 fix: month order - Apr first at top, then subsequent months
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-16 12:07:19 +05:30
96ddb2fa60 feat: fix month labels and reverse order, vertical hourly display
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Show Apr 27 instead of Apr - include FY suffix
- Reverse month order: Apr first, then May... Mar
- Change hourly from horizontal wrap to vertical stack
2026-05-16 12:00:59 +05:30
7062688397 feat: use FY labels in generation sheet based on COD date
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Show FY 2026-27 instead of Y1 based on cod_year
- Show month names (Apr, May, etc.) instead of M1, M2
- Show actual dates (Apr 1, etc.) instead of D1, D2
- Pass codYear from scenario inputs to WorkbookView
2026-05-16 11:51:56 +05:30
093e62b011 feat: add 25-year hourly generation data with expandable drill-down
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- Engine: generate all 25 years × 8760 hours of hourly generation
- Schema: add solar_hourly and wind_hourly fields to ScenarioResult
- API: expose hourly data in statements endpoint
- UI: new HourlyGenerationSheet with Year → Month → Day → Hour drill-down
- Add TYPEOF for hourly generation in web API types

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 10:41:25 +05:30
ef3f2ace25 fix: pass NEXT_PUBLIC_API_URL as Docker build ARG so Next.js bakes it into bundle
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-15 05:15:25 +00:00
cdcefa389d Add renewable energy favicon with sun and leaf
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-15 08:50:22 +05:30
71d834e992 Fix web: use absolute path /app/node_modules/.bin/next
Some checks failed
CI / Engine — lint / typecheck / test (push) Has been cancelled
CI / API — lint / typecheck / test (push) Has been cancelled
CI / Web — typecheck / lint / build (push) Has been cancelled
2026-05-13 22:24:26 +05:30
e7bb1007e2 Fix web: use pnpm node_modules path for next binary
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 22:02:09 +05:30
01c1a9682f Fix web: add node_modules/.bin to PATH
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 22:00:50 +05:30
66b76fc947 Fix web: use next start instead of node server.js
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 21:55:53 +05:30
001906ea3c Create placeholder .env.local in builder stage for Docker
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 21:31:57 +05:30
62144ff8ad Fix: pnpm install --ignore-scripts to skip build errors
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 21:18:59 +05:30
6a19374af2 Fix: Use Node.js 22 in Dockerfile (required by pnpm)
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
2026-05-13 21:15:36 +05:30
f125015bcc Add Docker files for deployment
Some checks are pending
CI / Engine — lint / typecheck / test (push) Waiting to run
CI / API — lint / typecheck / test (push) Waiting to run
CI / Web — typecheck / lint / build (push) Waiting to run
- docker-compose.yml: api, worker, web, redis services
- packages/api/Dockerfile
- packages/web/Dockerfile

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 10:45:35 +05:30
e6dc39aa33 [S1-T12/T13] P&L revenue breakdown + collapsible rows + UI polish
- Engine: Add ppa_revenue_cr, mcp_revenue_cr, tariff, units to PnLRow
- Engine: Split PPA vs MCP revenue in P&L computation
- Web: Collapsible rows for PPA/MCP Revenue and Opex
- Web: Highlighted rows (Total Revenue, EBITDA, EBIT, PBT, PAT)
- Web: Units above Tariff in breakdown, bg-blue-50 highlight
- Fix sticky column z-index for horizontal scroll
- CLAUDE.md: Add project documentation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 10:42:36 +05:30
4fbb723164 [S0-T04/T05/T10/T14] packages/web: Next.js, shadcn, TanStack Query, AG Grid; docker-compose; UI pages; openapi-typescript 2026-05-07 02:27:21 +05:30
1d23b579fe [S0-T01] Initialize monorepo with packages/engine, packages/api, packages/web directories 2026-05-07 02:04:47 +05:30