Labyrinth OS: the full phase map
and how to make it actually drive execution
Labyrinth receives a won deal and runs it to completion: a 10-stage contract lifecycle, a delivery journey of milestones → requests → tasks, role-based approval chains, red-tag risk flags, pace scoring, and roll-up to executive scorecards. This document maps every phase as it exists in the live code, diagnoses what's complete vs. what's missing, shows how the leading real-world systems solve the same problems, and lays out a ranked, phased improvement plan.
01Executive summary
Labyrinth is structurally complete but execution-incomplete. The skeleton is impressive and largely done; the nervous system that would make it drive execution — rather than merely record it — is the work that remains.
What's already built (the skeleton)
- A deterministic 10-stage contract state machine with guarded transitions, audit trail, and fabric emit.
- A semantic operating-journey layer (10 stages) and operating mode (Diagnose / Build / Optimize) derived from it.
- A milestone approval chain (Coordinator → Advisor → Accountability → Executive), enforced in order.
- Red-tag severity-based blocking (Warning / Critical / Blocker) with cascade logic.
- Four strategy templates (Foundation / Stabilization / Growth / Expansion) with a live timeline overlay.
What's missing (the nervous system)
- Pace/momentum is a loose label, not a real scoring engine — no SPI, no trend, no freshness, no prediction.
- Escalation & SLA fields exist but nothing automates them — no cron, no auto-bump, no silence detection.
- Strategy templates are read-only visualizations — you can't pick one at contract creation and have milestones instantiate.
- Conversion loops are stubbed: strategy intakes, meeting actions, playbooks, board↔request, KPI verification.
- The approval chain is rigid — all four roles on every milestone, the classic bottleneck.
02The four laws of delivery software
Across PSA, onboarding, CLM, stage-gate, OKR, EOS, 4DX and customer-health tooling, the systems that actually move execution converge on the same four laws. Every recommendation in this plan is derived from them.
03The full A→Z phase map
A single unit of work flows from a won CRM deal all the way to payout. Here is the complete journey as modeled in the code, layer by layer.
The spine: from won deal to paid
CRM Closed-Won (or Nexus proposal-acceptance) hands off into Labyrinth, which auto-creates a contract at SIGNED/ONBOARDING. From there the ContractStage machine runs:
ON_HOLD (pause) · CANCELLED (terminal, any stage)
Source: prisma/schema.prisma:322 · transitions in src/lib/contract-state-engine.ts:21. COMPLETED → PAID is gated by a mandatory 7-day investigation window (payout hold).
The three aligned layers
The same contract is described by three synchronized enums — a technical stage, a business-readable journey stage, and a strategic stance:
| Contract stage (technical) | Operating journey stage (business) | Operating mode (stance) |
|---|---|---|
| QUESTIONNAIRE | QUESTIONNAIRE → EVALUATION_STRATEGY | DIAGNOSE |
| PROPOSAL / SOW / BID | PROPOSAL | DIAGNOSE |
| SIGNED | ONBOARDING | DIAGNOSE |
| ACTIVE / REVISED | EXECUTION | BUILD |
| CONFIRMING | DELIVERY | BUILD |
| COMPLETED | REPORTING → ENHANCEMENT | OPTIMIZE |
| PAID | SCALING → EXIT | OPTIMIZE |
Derivation: src/lib/contract-journey.ts:70 (journey) and :98 (mode).
The delivery engine (inside ACTIVE)
Once in delivery, work decomposes into a four-level tree, with red tags and pace overlaid and roll-up to strategy + exec scorecard:
04Every lifecycle dimension
Labyrinth models the journey along 17 distinct enums. This is the full inventory — useful as a reference and to see how richly the structure is already specified.
| Dimension | Values | Role |
|---|---|---|
| ContractStage | Questionnaire→Proposal→SOW→Bid→Signed→Active→Revised→Confirming→Completed→Paid (+ On-Hold, Cancelled) | Master lifecycle |
| OperatingJourneyStage | Questionnaire, Onboarding, Evaluation-Strategy, Proposal, Execution, Delivery, Reporting, Enhancement, Scaling, Exit | Business semantics |
| OperatingMode | Diagnose, Build, Optimize | Strategic stance |
| MilestoneStatus | Not-Started, In-Progress, Optimized, Executed (+ Needs-Attention, On-Hold) | Approval-gated progress |
| RequestState | Open, In-Progress, Blocked, Completed, Cancelled | Leaf work status |
| RedTagSeverity | Warning (request), Critical (milestone), Blocker (contract) | Risk blast radius |
| RedTagState | Open, Acknowledged, Resolved, Dismissed | Risk lifecycle |
| Priority / EscalationLevel | Low–Urgent / None, Reminder, Warning, Escalated | Urgency & ramp |
| RequestTag | Task, Document, Meeting, Decision, Deliverable, Approval, Billing, Client | Semantic category |
| TaskStatus / DeliverableStatus | Pending–Cancelled / Draft, Submitted, Approved, Revision-Requested | Execution & QA |
| CampaignPhase / Status | Foundation, Growth, Optimization, Maturity / Active–Archived | Account maturity |
| StrategyIntakeStatus | New, In-Review, Held, Approved, Denied, Converted, Routed | Signal processing |
| WorkflowInstanceStatus / BoardCardStatus | Pending–Cancelled / Pending→Approved→Completed | Deployed work |
| Governance set | Roles (10), AccessLevel, GovernanceCase/Severity, DataClassification | Access & compliance |
05Diagnosis: skeleton vs. nervous system
Ten capabilities are solidly built. Twelve are modeled in the schema but not surfaced or not automated — these are the improvement surface.
| Capability | State | The gap |
|---|---|---|
| Contract state machine | Done | Stages are named but mostly have no exit-evidence; transitions are manual. |
| Milestone approval chain | Done | Rigid — all 4 roles on every milestone (bottleneck); the chain isn't measured. |
| Red-tag blocking | Done | Fires only on manual flagging; no SLA, no auto-escalation, no stall detection. |
| Pace / momentum signal | Partial | A loose label (behind/at-risk/on-pace/ahead). No SPI, no trend, no prediction, no freshness. |
| Strategy templates | Partial | Read-only viz. Can't select a strategy at contract-create to instantiate milestones. |
| Escalation & SLA | Stub | Fields tracked; no cron bumps levels or notifies the next role. |
| Strategy-intake conversion | Stub | CONVERTED state exists; no code turns an intake into a contract/milestone/request. |
| KPI capture & verification | Stub | Definitions exist; no capture UI, no verify gate, no trend. |
| Playbook / meeting / board loops | Stub | Playbooks not runnable; meeting actions don't convert; board cards aren't linked to requests. |
| Client portal reflect-back | Partial | Portal exists; no forecasted end date, no synchronized projection, no TTV clock. |
06How the world solves it — delivery, onboarding, CLM, gates, health
Benchmarked against Kantata, Scoro, Productive (PSA); Rocketlane, GUIDEcx (onboarding); Ironclad, Juro, DocuSign (CLM); Cooper's Stage-Gate; and EVM / Planhat / Gainsight health models.
PSA / delivery
- One persistent object carries the deal sold→delivered→invoiced — no scope recreation at handoff.
- Burn-up vs. baseline is the canonical health visual; projected to the committed date.
- Scenario / what-if forecasting turns a tracker into a decision tool.
Client onboarding
- Forecasted end date the customer sees — the top trust + early-warning artifact.
- Dual synchronized views from one model (internal + white-label portal).
- Time-to-Value milestone + clock as the delivery north-star; stall = the churn signal.
Contract lifecycle (CLM)
- Conditional approval routing: value/risk decides who approves; small deals fast-track.
- Threshold escalation: senior roles enter only on exception, not as rubber-stamps.
- Stage exit-criteria + auto-advance; the approval chain itself is measured (cycle time, rounds).
Stage-gate + health scoring
- 4-decision gates: Go / Kill / Hold / Recycle, each with required pass-evidence.
- SPI = actual % ÷ planned % → RAG at 0.95 / 0.85; compression index for "can we still hit the date?"
- Composite, phase-weighted 0–100 health, recomputed on every event, one critical = Red.
07How the world solves it — strategy execution & accountability
Benchmarked against Quantive, WorkBoard, Cascade (OKR); EOS/Traction, Scaling Up, 4DX (frameworks); RACI/DACI/RAPID (ownership); Balanced Scorecard strategy maps + roadmap UX.
Connect strategy to work
- Pillar → Objective → Key Result → Initiative → Owner, with a visible top-to-bottom line of sight.
- "From X to Y by [when]" goal format, enforced — bans vague milestones.
- Strategy map as home view; each milestone a node carrying owner + RAG + pace + red-tag badge.
- Swimlane timeline with switchable lanes (role ⇄ pillar ⇄ contract) on one data source.
Make accountability active
- Single accountable owner enforced at the data layer (block 0 or >1); capacity (GWC) flag.
- Confidence (1–10) separate from progress %; a falling confidence trend fires a flag even at green.
- Binary on/off-track reporting; "off" auto-routes to the red-tag / issues list.
- Fixed weekly cadence (L10 / WIG) auto-fed by scorecard, red tags, and confidence.
08Seven improvement themes (ranked)
Each theme maps a Labyrinth gap to a proven pattern. Ranked by impact-per-effort; the master table follows.
| # | Initiative | What it does | Impact | Effort |
|---|---|---|---|---|
| 1 | Health-scoring engine (Theme A) | Compute SPI (actual ÷ planned), a composite phase-weighted 0–100 health → RAG, recomputed on every event, one critical = Red. Replace the loose pace label. | Very high | M |
| 2 | Momentum = trend, dual-channel (Theme A) | Score the rate of change (week-over-week) plus an owner confidence 1–10; flag decline while still green. Trajectory prediction → forecasted landing. | Very high | M |
| 3 | Active accountability (Theme B) | Enforce single accountable owner; cron-driven SLA/escalation auto-bump; auto-detect dropped accountability (stale check-in / vacant seat / stalled-no-update) → red tag. | Very high | M |
| 4 | Strategy → milestone binding (Theme C) | Select a strategy at contract-create; auto-instantiate the milestone timeline with roles/contracts/teams per milestone. Wire strategy-intake CONVERTED. | Very high | L |
| 5 | Stage gates with teeth (Theme D) | Give each of the 10 stages explicit pass-evidence + Go/Kill/Hold/Recycle; auto-advance when met. Red tags gain power to Hold/Recycle. | High | M |
| 6 | Conditional approval routing (Theme E) | Route approvals by value/risk — small fast-tracks to Coordinator; high-value/red-tagged escalates to Executive. Measure each gate's cycle time. | High | M |
| 7 | Client reflect-back portal (Theme F) | Portal as a filtered projection of one model; show a forecasted end date + TTV clock; stall detection drives the shared red tag. | High | L |
| 8 | Strategy-map home + swimlane timeline (Theme C) | One-page strategy map as the command home; swimlane roadmap with switchable lanes (role ⇄ pillar ⇄ contract). Serves every role from one data source. | High | M |
| 9 | Close the conversion loops (Theme G) | Make playbooks runnable, meeting actions convertible, board cards linked to requests, KPI capture+verify wired. Removes manual re-entry. | Med | L |
| 10 | Weekly cadence object (Theme B) | An L10/WIG-style review pre-populated from scorecard + red tags + confidence, with a binary report → solve split. Turns the dashboard into accountability. | Med | S |
Theme detail
A · The health & momentum core (the highest-leverage build)
Stand up src/lib/momentum-engine.ts as a real engine. SPI = actual milestone completion % ÷ planned % at the elapsed point, mapped to RAG at ≥0.95 green / 0.85–0.95 amber / <0.85 red. Layer a composite 0–100 health blending pace, blocked-request count, approval-cycle time and (later) client sentiment, with weights that shift by stage (early = setup/engagement; late = acceptance/quality), and a hard rule: any open Critical/Blocker red tag = Red. Add a compression index (remaining work vs. remaining capacity; >25% = date at risk). Crucially, score momentum as the trend, not the level, and pair it with an owner-set confidence (1–10) revised at each check-in. Recompute on every event; stamp freshness.
B · Active accountability (Labyrinth's signature)
Enforce exactly one Accountable owner per milestone at the data layer. Build the escalation cron the schema already anticipates (nextEscalationAt, escalationLevel): on expiry, auto-bump and notify the next role up to an Executive ceiling. Most important — detect silence: red-tag any milestone whose accountable owner hasn't checked in within the cadence window, whose seat is vacant, or that stalled with no update. Replace narrative status with binary on/off-track; "off" auto-creates the red tag.
C · Strategy → execution binding (the Command Center vision)
This is the literal ask behind the command-center port: chosen strategy → milestone timeline A→Z → roles/contracts/teams inserted per milestone. Add a strategy selector at contract creation that instantiates milestones from the chosen template (Foundation/Stabilization/Growth/Expansion), each pre-seeded with its owner role and gate. Persist the strategy choice on the contract so every view can show line-of-sight. Then make the command home a strategy map and add a swimlane timeline whose lanes toggle between role, pillar, and contract.
D–G · Proportional governance, client reflect-back, and closing loops
Give stages exit-evidence and the Go/Kill/Hold/Recycle vocabulary; route approvals by risk/value instead of always-four; turn the portal into a synchronized projection with a forecasted date and TTV clock (this is the CEO's "shared workspace that reflects back"); and wire the dangling CONVERTED/stub states so meetings, playbooks, boards and KPIs feed the same engine instead of dead-ending.
09Phased roadmap
- Add a freshness timestamp + recompute hook to the existing pace label so it's event-driven, not stale.
- Enforce single accountable owner (block save on 0 or >1) — cheap, high-signal, unblocks Theme B.
- Add "From X to Y by [when]" validation to milestone creation — makes everything downstream scoreable.
- Ship the health-scoring engine (SPI + composite + compression + critical-override) — Theme A #1.
- Ship dual-channel momentum (trend + confidence + trajectory forecast) — Theme A #2.
- Ship accountability automation (escalation cron + silence detection + binary status) — Theme B #3.
- Strategy selector at contract-create → auto-instantiate milestone timeline with roles/contracts per milestone — Theme C #4.
- Strategy-map home + swimlane timeline with switchable lanes — Theme C #8.
- Wire strategy-intake conversion (
CONVERTED→ real work).
- Stage gates (pass-evidence + Go/Kill/Hold/Recycle + auto-advance) — Theme D #5.
- Conditional approval routing + per-gate cycle-time instrumentation — Theme E #6.
- Client portal as synchronized projection with forecasted date + TTV — Theme F #7.
- Runnable playbooks, convertible meeting actions, board↔request linking, KPI capture+verify — Theme G #9.
- Weekly cadence object auto-fed by the engine — Theme B #10.
- Scenario / what-if forecasting on the delivery object — the "operating system" finish.
10Labyrinth's two genuine edges
The incumbents (Quantive, WorkBoard, EOS tooling, Rocketlane) each do part of this. Two combinations are under-served everywhere — and they're exactly where Labyrinth's existing red-tag + role model give it an unfair advantage:
11What I'd do first
If you greenlight one thing: Phase 1 — the health & momentum engine plus accountability automation.
It's the highest impact-per-effort, it's the foundation every other theme needs (the strategy map, the portal, the cadence object all render the same scores), and it converts Labyrinth from a system that records the journey into one that drives it — directly serving the CEO mandate to operate delivery from inside Labyrinth with live, reflecting-back data. Phase 0 (single-owner enforcement, freshness hook, X→Y milestone format) is a few days and de-risks the rest.
12Sources
Internal (live codebase)
prisma/schema.prisma · src/lib/contract-state-engine.ts · contract-journey.ts · milestone-state-engine.ts · red-tag-engine.ts · strategy-engine.ts · strategy-templates.ts · workflow-engine.ts · communication-engine.ts · src/app/command/*
PSA / onboarding / CLM / stage-gate / health
Kantata PSA · Scoro (burn charts) · Productive (scenario builder) · Rocketlane (portal, Nitro, TTV) · GUIDEcx (4 phases, RAG coach) · Ironclad (lifecycle stages, approval metrics) · Juro / DocuSign CLM (conditional logic) · Cooper Stage-Gate (Asana, Planisware, Teamwork) · EVM CPI/SPI · SmartPM Project Health Index · Deltek RAG · Planhat / Gainsight health models
Strategy execution & accountability
Quantive / WorkBoard (confidence, predictions) · Cascade / Perdoo (cascade, BSC) · EOS/Traction (V/TO, Accountability Chart, L10) · 4DX (WIG, lead/lag, cadence) · RACI / DACI / RAPID · Balanced Scorecard strategy maps · roadmap UX (timeline vs swimlane vs now/next/later)