Commit graph

10 commits

Author SHA1 Message Date
DJP
dc861fbc23 Excel ratecard summary: add Tier row and split caveat rows
The ratecard summary tab now includes:
- Tier row (showing client_tier A/B/C per asset column) below the header
- Match Summary row (per-match caveat text) — split from combined caveats
- GMAL Standard Caveats row — split from combined caveats

Match summary and GMAL standard caveats were previously merged into a
single row, which made it hard to tell what came from the AI match vs
the standard GMAL clause. Splitting them surfaces both clearly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 12:12:29 -04:00
DJP
2d44103603 Fix hours × volume bug: store per-1-asset hours, link directly to GMAL
Ratecard lines now store total_hours as per-1-asset hours (= base_hours,
linked to the GMAL row), with volume tracked separately. Aggregators
(team_shape, ratecard summary, Excel matrix, in-app ratecard tab) multiply
by volume themselves when computing total effort. Display behavior is
preserved; storage semantics are clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 12:11:04 -04:00
DJP
04eed9fdd6 Custom tier editor, brief analysis feeds matching, exportable questions
1. Custom tier editor:
   - Editable label + complexity dropdown per tier row
   - Add/remove tier rows
   - Presets populate editable fields (can be customised after)

2. Brief analysis feeds into matching:
   - Summary, channels, deliverable categories, objectives passed as context
   - Claude gets brief context when matching each asset for better accuracy
   - RFP analysis now improves matching quality, not just informational

3. Discovery questions:
   - "Copy to Clipboard" button for sharing with client
   - Brief Analysis sheet added to Excel export
   - Questions exported with priority, category, rationale

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 16:02:11 -04:00
DJP
1d920d62cc Fix: Brief analysis text input, Excel formulas on all sheets
- Brief Analysis now accepts pasted text OR uploaded file
- Textarea for typing/pasting brief directly (no upload required)
- Re-analyze button returns to input screen
- Team Shape Excel sheets now use formulas:
  - FTE = Hours/1800 (formula)
  - Adjusted Hours = Original * (1-eff%) (formula)
  - Hours Saved = Original - Adjusted (formula)
  - Headcount = IF/CEILING formula
  - Base team shape also uses FTE + headcount formulas
- All sheets are now formula-driven, Finance can edit hours and see recalculation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:37:56 -04:00
DJP
1dcf7c084a P1: Excel SUM formulas + Assumptions & Rates sheet
- Ratecard Summary: Total Hours column now uses =SUM() formulas
- Grand total row uses =SUM() formulas per column
- New "Assumptions & Rates" sheet with editable inputs:
  - Global: Hours per FTE, Margin %, Overhead %
  - Per-role: Day Rate (£), Annual Salary (£)
  - Yellow highlighted input cells for Finance to edit
- Foundation for full formula-linked financial model

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 14:06:46 -04:00
Vadym Samoilenko
4ed072105f Add GMAL standard caveats to ratecard Excel export
Ratecard Summary caveats row now combines AI match caveats with the
original GMAL asset caveats (labelled "GMAL Standard Caveats:") below.
Asset Detail sheet splits these into two separate columns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 19:31:10 +01:00
Vadym Samoilenko
de150f3b57 Add caveats row to Ratecard Summary sheet in Excel export
Inserts an "Assumptions / Caveats" row (row 2) in the Ratecard Summary
sheet so users can see each asset's AI-matched caveats without switching
to the Asset Detail tab. Uses the same amber colour scheme as the PDF report.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 18:00:29 +01:00
DJP
1c3f6fe78f Add AI/Automation efficiency adjustment for team shape
- Efficiency preview: toggle 10/25/50/75/90% to see adjusted FTE live
- Programme roles NOT reduced (they don't scale with AI)
- Excel export: select multiple efficiency levels, each gets its own tab
  showing original vs adjusted hours/FTE/headcount with hours saved
- Export buttons on both Ratecard and Team Shape tabs
- team_shape service accepts efficiency_pct parameter

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 10:36:44 -04:00
DJP
0a5b552ad2 Add Team Shape calculator (Phase 2) with FTE per role
- Team shape service: total_hours / 1800 = FTE per role
- Programme roles (6) flagged separately from delivery roles
- New API endpoint GET /projects/{id}/team-shape
- Team Shape tab in frontend with summary stats and role breakdown
- Sheet 3 "Team Shape" in Excel export with discipline grouping,
  delivery vs programme split, FTE, rounded headcount, and summary
- Full GMAL catalog matching (replaced pre-filter with compact catalog)
- Upload progress stages with live polling

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 19:32:34 -04:00
DJP
e18976fdb2 Initial commit - GMAL Scope Builder
Dockerized web app (FastAPI + React + PostgreSQL) for scoping client ratecards
against the GMAL master asset database. Features:
- GMAL data ingestion from Excel (390 assets, 120 roles, 5 model types)
- AI-powered document parsing and asset extraction (Claude Opus 4.6)
- AI matching engine with parallel batching, confidence scoring, caveats
- Ratecard builder with hours x volume calculation
- Excel and PDF export
- GMAL browser and inline editor
- AI cost tracking per project (persisted to DB)
- Debug panel for AI call inspection
- Dark theme UI with gold (#FFC407) accent

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 17:35:14 -04:00