Changeset 0.35.0 (#209)
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit is contained in:
56
CHANGELOG.md
56
CHANGELOG.md
@@ -1,5 +1,61 @@
|
||||
# Changelog
|
||||
|
||||
## [0.35.0] — 2026-03-19
|
||||
|
||||
### Summary
|
||||
|
||||
Workflow Product: transforms the workflow engine from a linear
|
||||
stage-runner into a product-grade automation tool. Conditional routing,
|
||||
progressive forms, Starlark data pipeline, structured review with
|
||||
comments, and a monitoring dashboard with SLA tracking.
|
||||
|
||||
### New
|
||||
|
||||
- **Conditional routing engine** — `transition_rules.conditions[]`
|
||||
evaluated against accumulated `stage_data`. Supports eq/neq/gt/lt/
|
||||
gte/lte/in/contains/exists operators. First match wins; no match
|
||||
falls back to ordinal+1. Backward compatible.
|
||||
- **`workflow_route` tool** — persona-callable tool for AI-triggered
|
||||
routing to named stages. Supports forward and backward jumps (loop
|
||||
stages). Records routing decisions in `stage_data._route_history_latest`.
|
||||
- **Starlark `workflow.route()`** — extension-driven routing for
|
||||
confidence-based escalation patterns.
|
||||
- **`on_advance` hook** — Starlark entry point fires synchronously
|
||||
after stage transition. Can enrich/transform `stage_data` or reject
|
||||
the transition. Configured via `transition_rules.on_advance`.
|
||||
- **Progressive forms** — `form_template.fieldsets[]` for multi-step
|
||||
forms with next/back navigation and step indicators.
|
||||
- **Conditional fields** — `FormField.condition` (when/op/value)
|
||||
controls field visibility. Server-side validation skips hidden fields.
|
||||
- **Workflow branding** — `accent_color`, `logo_url`, `tagline` now
|
||||
applied to workflow visitor pages via CSS custom properties.
|
||||
- **Structured review** — side-by-side layout with data card + actions
|
||||
panel. Keyboard shortcuts: Ctrl+Enter approve, Ctrl+Shift+Enter reject.
|
||||
- **Review comments** — `POST /workflow-assignments/:id/comment` appends
|
||||
reviewer notes to the assignment's `review_comments` JSONB array.
|
||||
- **Monitoring dashboard** — admin endpoints for active instances,
|
||||
stage funnels, and stale detection. SLA computed from
|
||||
`stage_entered_at + sla_seconds` vs NOW().
|
||||
- **SLA tracking** — `sla_seconds` column on workflow_stages,
|
||||
`stage_entered_at` on channels. Dashboard shows remaining time
|
||||
with green/yellow/red indicators.
|
||||
|
||||
### Schema
|
||||
|
||||
- `workflow_stages.sla_seconds INTEGER` (018 modified in-place)
|
||||
- `channels.stage_entered_at TIMESTAMPTZ/TEXT` (005 modified in-place)
|
||||
- `workflow_assignments.review_comments JSONB/TEXT DEFAULT '[]'` (018)
|
||||
- Index `idx_channels_workflow_active` (005)
|
||||
- DB rebuild required (wipe data directory)
|
||||
|
||||
### New files
|
||||
|
||||
- `server/workflow/routing.go` — conditional routing engine
|
||||
- `server/handlers/workflow_hooks.go` — on_advance hook firing
|
||||
- `server/handlers/workflow_monitor.go` — monitoring dashboard
|
||||
- `src/js/workflow-monitor.js` — admin monitoring frontend
|
||||
- `packages/icd-test-runner/js/crud/workflow-product.js` — E2E tests
|
||||
|
||||
## [0.33.0] — 2026-03-19
|
||||
|
||||
### Summary
|
||||
|
||||
Reference in New Issue
Block a user