Editor modeling cockpit
Check change panel: proposal vs baseline vs live cases, Impact / Cases / History / Tests / Ingestion / Structure / Ship tabs, Capture test, and Ship verdict with Fix links.
Status: Phases A–F shipped (2026-05-22)
See also: simulation-cockpit.md
Historical phase roadmaps live in-repo under docs/plans/shipped/ (not published on the docs-site).
North star
One guided question: Is it safe to ship this process change?
Open Check change in the editor toolbar to show the Modeling Cockpit.
Three visible inputs
| Input | Source | User control |
|---|---|---|
| Proposal | Current editor buffer | What you edited |
| Baseline | Saved file or main branch | Baseline picker in cockpit header |
| Operational data | Linked process cases + history | Inline summary chip; full detail in detail tabs |
Guided flow
Header (ready/blocked + controls) → Impact summary → Detail tabs → Ship verdictDefault landing: Impact. Ship is the terminal step.
Modeling Cockpit tabs
| Tab | Question |
|---|---|
| Impact | What breaks if I ship? (default landing) |
| Cases | Which open cases are guard-blocked? |
| History | Do historical paths still work? |
| Tests | Do regression tests pass? |
| Ingestion | Do connected sources cover evidence? |
| Structure | Is the graph and schema valid? |
| Ship | Safe to save? |
The cockpit header shows ready/blocked status, an operational summary (hover for proposal/baseline detail), baseline picker, and re-run controls on one row. Blocker chips appear only when checks fail. Empty states include CTAs; Capture test on forecast rows adds YAML regression tests with toast feedback.
Toggle Live lens in the cockpit header to overlay open cases, findings, and SLA breaches on the canvas.
What is live?
Process models in the editor follow three layers — there is no separate “activate” button beyond linking a process and saving the file.
| Layer | What it is | Affects live cases? |
|---|---|---|
| Editor buffer | What you see while typing | No — preview only (Modeling Cockpit Check change uses this as the proposal) |
| Saved file | Written to the workspace repo clone (manual Save or ~2s autosave) | Yes, when a process twin is linked to this path |
| Git commit / push | Version history and CI on main | No extra runtime step — commit is for audit and team workflow, not a second activation |
Process twin
A process twin is a platform process record whose currentConfigPath points at this workflow file (for example .kiket/workflows/vendor-onboarding.yaml). The API reads that path from the linked repo when:
- Resolving case transitions and guards
- Running the compliance scanner against operational cases
- Building simulation Cases / History tabs in the Modeling Cockpit
If no twin is linked, you can still edit and save YAML in git — but open cases will not use the model until onboarding or workspace setup creates a monitored process for this path.
The editor shows a config lifecycle strip above the canvas: pending save (amber), live config (green), or saved but unlinked (neutral).
Process context bar
When the Modeling Cockpit is open on a workflow file, the editor shows a context bar with workspace, repo/branch, process name, open case/finding counts, and links to cases and findings.
Workflow editor chrome (shipped 2026-05)
The workflow canvas uses a mode bar and right inspector instead of a bottom Process drawer:
| Surface | Purpose |
|---|---|
| Mode bar | Segmented Graph | YAML | Diff; undo/redo; Layout/Fit on graph only |
| Right inspector | Selection (node/edge fields) | Evidence & checks (evidence, checks, remediation, regression tests) |
| Page header | Save, Check change, Git (workspace actions) |
Coverage warnings on the canvas banner link to Evidence & checks. Cockpit Edit actions on Tests and Ingestion open the same inspector tab.
Visual process config (Phase B)
In the workflow canvas toolbar, click Process to open structured panels for:
- Evidence requirements
- Compliance checks
- Remediation mappings
- Regression scenarios
Legacy v1 workflow files show an Upgrade to v2.0 banner that runs migrateWorkflowConfigYaml and replaces the editor buffer.
Live operational lens (Phase C)
simulation-data returns extended processContext:
- Repo name, branch, workflow path
liveLens— per-state open cases, open findings, SLA breach counts
The cockpit merges forecast impact with live lens metrics on canvas nodes.
Branch compare & CI (Phase D)
- Impact tab / baseline picker: compare current YAML against saved file or
main(viaGET /repos/:id/file?path=&ref=main) - Local CLI:
pnpm kiket:simulate path/to/workflow.yaml [--baseline base.yaml] - CI: flagship definition packs run through
kiket:simulateafter package build
Polish & scale (Phase E)
- Auto-layout: Dagre layout (
Layoutbutton orL); fit view (F); auto-layout on open when nodes stack - Template gallery: New workflow → blank scaffold or flagship definition pack
- Keyboard help: Press
?on/editorfor global + editor shortcut sections - Accessibility: Toolbar
role="toolbar"and feature badge ARIA labels
Template file API: GET /templates/catalog/:key/file?path=.kiket/workflows/...
Deep links
Share or bookmark a specific cockpit view with URL query params on the editor:
| Param | Value | Meaning |
|---|---|---|
simulate | 1 | Open the Modeling Cockpit bottom panel |
tab | see tab map | Active detail tab (impact, cases, …) |
Example: /editor?file=.kiket/workflows/vendor-onboarding.yaml&simulate=1&tab=cases
Tab changes update the URL in place so refresh and share round-trip.
Shipped UX (Phase F)
- Compact cockpit header — ready/blocked chip, operational summary, baseline picker, re-run, auto-check, and tabs on one row; blocker chips only when present
- Impact default — aggregated status rows drill into detail tabs
- Capture test — from Cases rows; toast + highlight; duplicate detection
- Add test / Edit — opens Evidence & checks → regression tests
- Ingestion — source health, coverage gaps, Edit evidence requirements → Evidence & checks
- Re-run check, auto-check toggle, baseline picker (saved vs
main) - Ship tab — Fix links to detail tabs; Save when ready
- Live lens legend on canvas overlay
- URL state —
?simulate=1&tab=<tab>deep links; inline package process cockpit retired
Walkthrough (30 seconds)
Open the cockpit
Open a workflow in the editor and click Check change.
Read readiness
Scan the cockpit header: ready/blocked chip, operational summary (hover for proposal/baseline detail), baseline picker, and re-run controls.
Scan impact
Start on Impact — scan status rows; click a row to jump to the failing detail tab.
Review cases
On Cases, see guard-blocked open cases; use Capture test to seed a regression test from a failing row.
Confirm tests
On Tests, confirm YAML scenarios pass; Edit opens structured scenario fields in Evidence & checks.
Ship when ready
On Ship, review blocking checks; use Fix to jump back, then Save when ready.
Ship verdict
The Ship tab aggregates YAML schema, graph validity, reachability warnings, replay failures, scenario failures, and new guard blockers vs the saved definition. Each failed check includes a Fix link to the relevant detail tab.
Acceptance criteria
Within 30 seconds of opening the cockpit, a user can answer:
- What is being checked?
- Against what baseline and how many live cases?
- What failed?
- What is the next action?
API extensions
GET /workflows/:id/simulation-data — extended processContext:
{
"processContext": {
"linked": true,
"processId": "...",
"workspaceName": "Production Operations",
"repoId": "...",
"repoName": "acme/compliance",
"repoBranch": "main",
"workflowPath": ".kiket/workflows/production-change.yaml",
"openCaseCount": 4,
"openFindingCount": 2,
"liveLens": {
"openCasesByState": { "review": 2 },
"openFindingsByState": { "review": 1 },
"slaBreachesByState": {}
}
}
}GET /repos/:id/file?path=...&ref=main — read file at branch for compare.
Test plan
| Layer | Coverage |
|---|---|
| Editor unit | store.test.ts — v2 round-trip, UPDATE_PROCESS_CONFIG, APPLY_LAYOUT |
| Web unit | modeling-cockpit.test.ts, process-simulation.test.ts, workflow-template-gallery.test.ts |
| API | simulation-forecast.test.ts, templates-catalog.test.ts |
| E2E | simulation-cockpit.spec.ts — Validate + Commit tabs |
| CI | pnpm kiket:simulate on privacy-request + contract-review packs |
Simulation cockpit
Modeling Cockpit: Impact-first checks on guard blockers, history replay, and YAML regression tests before shipping process changes.
Findings inbox and remediation
Master–detail Findings Inbox, URL-synced triage filters, inline remediation stepper, and Remediation Workbench accountability loop.