Excel task pane add-in for workbook explainability. The live repo now contains only:
- the Office.js + React add-in shell
- the local
graph_runtime/backend for workbook scan, dependency tracing, graph view, and Groq story generation - the minimal manifest/commands plumbing Excel requires to sideload and open the task pane
Legacy experiments and older product branches were moved under archive/.
From the repo root:
cd /Users/arnoldcheskis/Documents/Projects/Financial\ modeling/excel-addin-react
npm install
uv sync
cp .env.example .envSet the current runtime variables in .env:
GRAPH_RUNTIME_PORT=8010
ASPOSE_LICENSE_PATH=/absolute/path/to/Aspose.Cells.lic
GROQ_API_KEY=your_groq_api_key_here
GROQ_MODEL=openai/gpt-oss-20bStart the backend:
uv run python graph_runtime_main.pyStart the add-in shell in another terminal:
npm startHealth check:
curl http://127.0.0.1:8010/api/healthflowchart LR
A["Developer runs npm start"] --> B["office-addin-debugging start manifest.xml"]
B --> C["Webpack dev server starts on https://localhost:3000"]
B --> D["Excel sideloads manifest.xml"]
D --> E["Excel shows the ProJets ribbon button"]
E --> F["User clicks the button"]
F --> G["Excel opens taskpane.html"]
G --> H["office.js loads"]
H --> I["src/taskpane/index.tsx waits for Office.onReady()"]
I --> J["React renders App.tsx"]
flowchart TD
A["App.tsx"] --> B["ExplainabilityPanel"]
B --> C["Scan Workbook or Upload Workbook File"]
C --> D["Frontend sends workbook bytes to /graph-api/api/workbooks/scan"]
D --> E["graph_runtime builds and caches workbook snapshot"]
E --> F["Excel selection change fires"]
F --> G["Frontend resolves active cell"]
G --> H["POST /graph-api/api/workbooks/{id}/explain-cell"]
H --> I["Trace and Graph tabs render explanation"]
I --> J["Optional Story tab calls Groq"]
manifest.xmlwebpack.config.jssrc/commands/commands.htmlsrc/commands/commands.tssrc/taskpane/taskpane.htmlsrc/taskpane/index.tsxsrc/taskpane/components/App.tsxsrc/taskpane/components/App.styles.tssrc/taskpane/features/explainability/**graph_runtime/**graph_runtime_main.py
excel-addin-react/
├── archive/ # legacy code and data moved out of the live path
├── assets/ # manifest icons
├── graph_runtime/ # FastAPI local backend
├── src/commands/ # manifest function file plumbing
├── src/taskpane/ # task pane bootstrap + explainability UI
├── manifest.xml # Office add-in manifest
├── webpack.config.js # frontend build + /graph-api proxy
├── package.json # frontend scripts
└── pyproject.toml # backend dependencies
Archived material now lives under archive/, including:
- old
llm_alpha_models/ - old
traffic_model/ - old
financial_model_knowledge_graph/ - old
src/ProJetsAddin/ - sample payload/data files
- old deployment files
See [archive/README.md](/Users/arnoldcheskis/Documents/Projects/Financial modeling/excel-addin-react/archive/README.md) for restore instructions.
If you need the last working version with the ProJets backend, revert the main remote repo to commit ec7ab63, then check [archive/README.md](/Users/arnoldcheskis/Documents/Projects/Financial modeling/excel-addin-react/archive/README.md) for the latest local commit handoff.
Warning: the old local .git-broken state is corrupted, so restoring from it will require debugging.
webpack.config.jsis part of the live flow and must stay.src/commands/commands.htmlandsrc/commands/commands.tsare still required bymanifest.xml.- The current runtime is full-workbook scan plus cached explanation on selection.
- Story generation is optional; scan/trace/graph work without Groq.