Walkthrough · Scenario C · headline

Predict project slip with explainable drivers.

Run the headline ML skill from the Quadrazene seed — ps-predict-slip-weeks— on project 662429 (Bechtel). Five scenes: open the skill, watch the reaction stream, read the prediction card, file the Action Item, and inspect the audit trail.

Walkthrough · 1 of 5
Step 1 — From the Reactor's Skills rail, click ps-predict-slip-weeks. The skill carries one parameter: {{project}}. We'll use the seed's hero project, 662429 (Bechtel).
quadrazene.app/reactor
quadrazene v0.2.1
Quadrazene
ReactorComposeRecipesInboxGovernanceRecords
⌘K
Skills · quadrazene-ps
Insights
ps-overdue-milestones · n=50
Insights
ps-tonnage-at-risk · n=20
Insights
ps-customer-pattern-history
Advisory
ps-flag-at-risk · rule-based
Advisory
ps-predict-slip-weeks · {{project=662429}}
Advisory
ps-flag-at-risk-ml · {{project}}
ps-predict-slip-weeks · skill card
Predict slip-weeks for project
Routes to system quadrazene-ps · pipeline ps-inference-pipeline· view spec ps-prediction-card.
Live walkthrough — click a button or use the rail to navigate.

The PS skills catalogue

Ten skills that ship with the Quadrazene PS demo.

Six Insights skills for read-path analytics; four Advisory skills for recommendations — including the two ML-backed inference skills that drive Scenarios C and A. Each card mirrors what shows up in the Reactor's left rail; click-to-edit chips become live inputs on the real surface.

Quadrazene · Reactor · Skills rail (filtered to system: quadrazene-ps)
rendered from prisma/seed.ts
InsightsInsights · analytical (NL → SQL → narrative)6 skills
ps-schedule-changes-by-customerInsightsWarm-up · table read

Customer-level schedule-change frequency, average lead-time of change, dominant reasons.

Prompt template
Top customers by schedule-change frequency over the last days. For each customer return change count, average weeks-to-required-date at change time, most-common change_reason, and number of distinct projects affected.
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
ps-tonnage-at-riskInsightsScenario D · exec briefing

Customers ranked by tonnage at risk on open projects, with division spread.

Prompt template
Top customers by tonnage at risk. Sum ps_sequences.tons grouped by customer for projects with status IN 'CREATED','ACTIVE','ON_HOLD'.
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
ps-weeks-to-required-dateInsights

Distribution of how late in the cycle schedule changes happen — early-stage vs late-stage rescheduling.

Prompt template
Top customers concentrated in late-stage rescheduling — schedule changes in the last days that landed within 2 weeks of the original delivery date.
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
ps-open-projects-by-customerInsights

Open projects grouped by customer — count, tonnage, division spread, oldest project.

Prompt template
Group open projects (status IN 'CREATED','ACTIVE','ON_HOLD') by customer. Return customer name, project count, total tons across sequences, oldest project_number with its created_date, and the division spread.
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
ps-customer-pattern-historyInsights

Customer-level history of schedule changes — what fields shifted, when, why, who, and how late in the cycle.

Prompt template
For customer , list every schedule change in the last months — field changed, old → new value, who changed it, change reason, and weeks-to-required-date at the moment of change.
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
ps-overdue-milestonesInsightsScenario B · daily triage

Overdue milestones with project + customer + days-late, critical-path-first.

Prompt template
Overdue milestones — those with status='OVERDUE' OR (planned_finish_date < today AND actual_finish_date IS NULL). Critical-path milestones first. Limit .
insights-nl-query-to-insightanalyticalsystem · quadrazene-ps
AdvisoryAdvisory · recommendation (rule-based + ML inference)4 skills
ps-flag-at-riskAdvisory

Recommends at-risk projects: customers with high recent change-frequency AND substantial open tonnage. Rule-based; pairs with the ML variant for cross-checks.

Prompt template
Recommend at-risk projects from open projects. Score each customer on change-count × open tonnage. Return top with a one-line risk rationale per row.
insights-nl-query-to-insightrecommendationsystem · quadrazene-ps
ps-trend-alertAdvisory

Predictive alert: customers whose schedule-change rate is worsening versus their own baseline.

Prompt template
Identify customers whose schedule-change rate over the last months exceeds their prior--month baseline rate by more than %.
insights-nl-query-to-insightrecommendationsystem · quadrazene-ps
ps-predict-slip-weeksAdvisoryMLScenario C · headline ★

ML prediction of expected slip in weeks for a project, with p50/p90 quantiles and per-feature drivers from the GBM regressor.

Prompt template
Predict slip for project . Show p50 and p90 weeks-of-slip, the at-risk probability, and the top three drivers from the model contributions.
ps-inference-pipelinerecommendationsystem · quadrazene-ps
ps-flag-at-risk-mlAdvisoryMLScenario A · late-stage alert

ML classifier — P(slip) per project with per-feature contributions from the logistic classifier. Pairs with the rule-based ps-flag-at-risk.

Prompt template
Run the at-risk classifier for project . Show P(slip), the predicted slip-weeks for context, and the strongest positive drivers from the contribution breakdown.
ps-inference-pipelinerecommendationsystem · quadrazene-ps
10 PS skills seeded·2 ML pipelines (slip-weeks GBM, at-risk logistic)·1 retrain Chain (ps-models-retrain)·1 ViewSpec (ps-prediction-card)

Every Skill is engine-tagged, bound to a Reaction, and pinned to the quadrazene-ps System by default. Variables inside {{...}} become chips in the rail — typed input for numbers, defaults for everything else.

Integration architecture

The same skills, called from Fiori, Teams, or the Reactor.

Quadrazene exposes an authenticated HTTP/SSE API that runs the same Skills, Reactions, and Chains the Reactor uses. A Fiori tile can post a skill, watch the response stream, and then read the new SAP document straight from SAP — closing the loop in the user's own UI. A Teams adaptive card does the same thing over Bot Framework. The runtime, the audit ledger, and the policy engine are shared.

One API for every surface
client → API → your systems
CLIENTSONE APIYOUR SYSTEMSSAP Fioritile · launchpadTeams · Slackbots · cards · chatReactornative workspaceHeadlessemail · cron · webhookOne Quadrazene APIThe same Skills, Reactions & Chains the Reactor runs — governed, audited, and HITL-gated.OAuth 2 · JWT · tenant-scoped · streamingSAP · ERP · CRMOData · REST write-backYour databasesqueried in placeYour LLMsbring your own provider↕ request · streamed response
Any authenticated client·One governed API·Your systems & models
Browser

Fiori round-trip

A Fiori tile (or full-screen iframe) renders the Reactor view or posts a Skill to /api/skills. The reaction writes a Q3 QM notification to SAP via OData. Fiori reads the new document from SAP exactly the way it would for any other backend write.

Chat

Teams card-driven

A Teams bot renders an adaptive card. Submit triggers POST /api/skills/{name}/run with the user's identity. The bot streams the response inline. HITL approvals come back as card actions, captured to the audit ledger.

Headless

Server-to-server

Email intake, cron schedules, and external webhooks all hit the same API with a JWT scoped to a service account. Chains queue, run, and notify — no human UI in the loop.

Endpoints a Fiori tile or Teams bot would call
# Run a Skill (streamed via SSE; same payload shape regardless of caller)
POST /api/skills/ps-predict-slip-weeks/run
Authorization: Bearer <jwt-or-oauth-token>
Idempotency-Key: <client-supplied-uuid>
Content-Type: application/json

{
  "tenantId": "tachyon",
  "params":   { "project": "662429" },
  "callback": { "kind": "teams", "conversationId": "..." }   // optional
}

# List the inbox for the calling user
GET  /api/inbox?status=pending&engine=advisory

# Approve / reject a HITL gate (Fiori dialog or Teams card action)
POST /api/hitl/{id}/decide      { "decision": "approve", "note": "..." }

# Read the audit trail for a single run (Fiori detail page or compliance UI)
GET  /api/audit/runs/{runId}

Run this against your project history.

Request a demo