You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

28
+
29
+
---
30
+
31
+
## What You Can Ask
32
+
33
+
CriticalPath AI understands **12 intent types** out of the box. Below are real prompts and what each returns.
34
+
35
+
### Schedule & Critical Path
36
+
37
+
| Prompt | Intent | What it returns |
38
+
|---|---|---|
39
+
|`"Which activities are driving my project finish?"`|`CRITICAL_PATH`| Ordered list of zero-float activities forming the critical path + total duration |
40
+
|`"Show critical path"`|`CRITICAL_PATH`| Same as above, trigger phrase shortcut |
41
+
|`"What is the total project duration?"`|`DURATION`| Early finish of sink node in working days |
42
+
|`"Are any construction activities near critical?"`|`PHASE_FLOAT`| Critical (float=0) and near-critical (float≤30) activities filtered by phase |
43
+
|`"Which design tasks are at risk?"`|`PHASE_FLOAT`| Phase-specific float breakdown with critical/near-critical classification |
44
+
|`"Which permits have no float for this project?"`|`PHASE_FLOAT`| Permitting phase activities at zero float |
45
+
46
+
### Float & Resource Analysis
47
+
48
+
| Prompt | Intent | What it returns |
49
+
|---|---|---|
50
+
|`"Which tasks could slip without impacting the finish date?"`|`HIGH_FLOAT`| Top non-critical activities ranked by float descending |
51
+
|`"Which tasks can I delay if I need to reallocate resources?"`|`HIGH_FLOAT`| Same — float = scheduling flexibility for resource reallocation |
|`"What tasks are assigned to the Civil Engineer?"`|`RESOURCE_TASKS`| Activities by resource name with float and criticality |
54
+
55
+
### Baseline & Budget
56
+
57
+
| Prompt | Intent | What it returns |
58
+
|---|---|---|
59
+
|`"Which activities have slipped from baseline?"`|`SLIPPAGE`| Behind/ahead counts, days of slippage, variance summary |
60
+
|`"What tasks are behind their original plan?"`|`SLIPPAGE`| Same — natural language variation handled |
61
+
|`"What is the total project budget?"`|`BUDGET_TOTAL`| Total budget split by Labor / Material / Equipment with % breakdown |
62
+
|`"Which activities have the highest budget?"`|`BUDGET_TOP_TASKS`| Top N activities ranked by budget with phase context |
63
+
|`"Show me the top 10 most expensive activities"`|`BUDGET_TOP_TASKS`| Ranked budget list with insights |
64
+
65
+
### Date Window Queries
66
+
67
+
| Prompt | Intent | What it returns |
68
+
|---|---|---|
69
+
|`"What activities are starting or finishing in the next 6 months?"`|`DATE_WINDOW`| Activities starting, finishing, and spanning the window with float |
70
+
|`"Show me near-critical activities starting next month"`|`DATE_WINDOW`| Date-filtered + float-filtered combined query |
71
+
|`"What tasks are starting in April 2026?"`|`DATE_WINDOW`| Month-specific activity lookup with critical path context |
28
72
29
73
---
30
74
@@ -40,24 +84,23 @@ Browser (Azure Static Web App)
40
84
▼
41
85
Azure Functions (Python)
42
86
├── Intent classifier → routes query to correct handler
└── Azure OpenAI → natural language explanation layer
49
97
│
50
98
▼
51
99
Azure Blob Storage
52
100
└── P6 CSV data → TASK.csv · TASKPRED.csv · PROJECT.csv
53
101
```
54
102
55
-
**Data flow:**
56
-
1. User selects project and types a schedule question
57
-
2. Azure Function classifies intent and routes to the correct graph query
58
-
3. NetworkX computes the answer directly from the P6 DAG
59
-
4. Azure OpenAI wraps the computed result in a clear natural language explanation
60
-
5. Response streams back to the chat interface
103
+
**Key design principle:** The LLM only explains, never computes. All schedule logic is computed deterministically by the graph engine. Azure OpenAI is invoked only to translate computed results into plain English — this eliminates hallucination risk on schedule data entirely.
├── data/ ← Your P6 CSV files go here (gitignored)
91
134
├── scripts/ ← Utility scripts
92
135
├── .github/workflows/ ← CI/CD pipeline
@@ -231,11 +274,11 @@ az storage blob upload-batch \
231
274
In your GitHub repo → Settings → Secrets → Actions, add:
232
275
233
276
```
234
-
AZURE_STATIC_WEB_APPS_API_TOKEN ← from Step 3
277
+
AZURE_STATIC_WEB_APPS_API_TOKEN
235
278
AZURE_OPENAI_ENDPOINT
236
279
AZURE_OPENAI_KEY
237
280
AZURE_OPENAI_DEPLOYMENT
238
-
AZURE_STORAGE_CONNECTION_STRING ← from Step 1
281
+
AZURE_STORAGE_CONNECTION_STRING
239
282
BLOB_CONTAINER_NAME ← p6-data
240
283
```
241
284
@@ -245,7 +288,7 @@ BLOB_CONTAINER_NAME ← p6-data
245
288
git push origin main
246
289
```
247
290
248
-
GitHub Actions will build and deploy automatically. Your app will be live at the Azure Static Web Apps URL within a few minutes.
291
+
GitHub Actions will build and deploy automatically.
249
292
250
293
See [DEPLOYMENT.md](DEPLOYMENT.md) for advanced configuration options.
251
294
@@ -263,28 +306,19 @@ The core of this system is a **directed acyclic graph (DAG)** built from P6 pred
263
306
264
307
**Cycle handling:** If a cycle is detected in the schedule data (common with poorly exported P6 files), the engine falls back to P6's native `driving_path_flag` column when present — graceful degradation rather than a hard failure.
265
308
266
-
**Key design principle:** The LLM only explains, never computes. All schedule logic — critical path, float, predecessors — is computed deterministically by the graph engine. Azure OpenAI is invoked only to translate computed results into plain English. This eliminates hallucination risk on schedule data entirely.
267
-
268
-
---
269
-
270
-
## Why This Matters
271
-
272
-
Schedule analysis on large infrastructure projects is typically done manually by experienced planners using P6 directly. This tool makes that analysis:
273
-
274
-
-**Instant** — answers in seconds vs. hours of manual filtering
275
-
-**Accessible** — any project stakeholder can query the schedule without P6 access
276
-
-**Auditable** — graph-computed answers with full traceability
277
-
278
309
---
279
310
280
311
## Roadmap
281
312
282
313
-[x] Critical path computation
283
-
-[x] Float risk ranking
284
-
-[x] Predecessor/successor traversal
314
+
-[x] Float risk ranking (high + low float)
285
315
-[x] Phase-specific float analysis
316
+
-[x] Baseline slippage detection
317
+
-[x] Budget analysis by activity and resource
318
+
-[x] Date window queries (start/finish within range)
0 commit comments