Skip to content

v0.3.0 — the studio hardening campaign

Choose a tag to compare

@mikeparcewski mikeparcewski released this 27 Jul 17:24
0b1e3ae

First release since v0.2.1. Nine rounds of adversarial end-to-end testing against live CLI agents, every finding fixed and merged:

  • Full-roster ACP via ecosystem adapters — official @agentclientprotocol/claude-agent-acp + codex-acp, community pi-acp, native copilot --acp / opencode acp; wicked owns only the agy bridge. Persistent sessions, token-level streaming, structured usage.
  • Deliberative council — lens-based seats, 75% bar with runoff ballots, full deliberation on the event stream.
  • Evidence export — one call returns the run's units, transcripts, decision trail, and assumptions; built by a governed crew run and used to export the evidence of its own construction.
  • Failure-recovery ladder — known environment refusals self-heal; unknown failures go to an agent triage judge under a deny-dominates flag filter; escalations arrive pre-diagnosed; autonomous runs keep fail-fast.
  • External-transform assumptions — structured known/needs-research capture with an Assumptions panel and needs-review badges.
  • Operator inject for ACP runs — queued delivery with receipts.
  • Durable state home~/.wicked-crew/{core.db,bus.db} replaces the OS temp dir.
  • Worker workspace scoping — fixes a real containment failure where a CLI's own trust config let it write outside the run worktree.
  • Stall + triage surfacing in studio, Burn panel usage/cost fix, collab built-in workflow, Playwright e2e harness.

Requires wicked-core-ts 0.2.0. See docs/articles/studio-a-control-plane-for-coding-agents.md for the full capability tour.

What's Changed

  • chore(release): sync package.json to v0.2.1 by @github-actions[bot] in #22
  • site: serve at wc.wickedagile.com (custom domain root) by @mikeparcewski in #23
  • messaging: reshape to the wicked control-loop narrative by @mikeparcewski in #24
  • docs: ASCII signature, narrative/event-grammar fixes, auto-deploy Pages by @mikeparcewski in #25
  • chore(site): re-pin wicked-web to main for the reshaped shared chrome by @mikeparcewski in #26
  • chore(deps): re-pin wicked-web (dropdown + featured crew chrome) by @mikeparcewski in #27
  • chore(deps): re-pin wicked-web (dropdown + featured crew chrome) by @mikeparcewski in #28
  • redesign(hero): the governed assembly line by @mikeparcewski in #29
  • Mobile: stack BYO stage, gate console, rail, and council on phones by @mikeparcewski in #30
  • chore(deps): re-pin wicked-web (dropdown + featured crew chrome) by @mikeparcewski in #31
  • fix(mobile): real per-section mobile treatments for crew by @mikeparcewski in #34
  • chore(deps): re-pin wicked-web (dropdown + featured crew chrome) by @mikeparcewski in #35
  • fix(site): collapse crew control room across the full narrow range (mobile dead-zone) by @mikeparcewski in #36
  • fix(site): compress crew mobile sections to fit a phone (BYO/gate/durable density) by @mikeparcewski in #37
  • feat(site): phone-native crew sections (static gate/studio, compact BYO) — stop cramming desktop interactives by @mikeparcewski in #38
  • fix(site): durable rail auto-plays on phones + council phone ballot shape by @mikeparcewski in #39
  • feat(cli): thread --workflow flag through CLI → API → CoreAdapter by @mikeparcewski in #45
  • fix(studio): 5 cockpit rendering bugs (phase title, transcript, ring, burn, assumptions) by @mikeparcewski in #46
  • feat: governance read API seam — types, adapter, REST endpoints (crew#40) by @mikeparcewski in #47
  • feat(crew#41): coverage view — turn coverage gate into an annotation worklist by @mikeparcewski in #48
  • feat(crew#43): governance audit tab — surface per-run conformance claims in insight rail by @mikeparcewski in #49
  • feat(crew#44): domain-model browser + workflow viewer by @mikeparcewski in #50
  • feat(crew#42): governance management UI — PolicyManager + RuleManager by @mikeparcewski in #51
  • fix(crew#62): debounce refresh() to prevent libuv thread-pool starvation by @mikeparcewski in #52
  • studio: workflow selector, elapsed timer, auto-transcript, honest empty states by @mikeparcewski in #54
  • studio: ChatGPT-style 3-column chat layout by @mikeparcewski in #55
  • feat(studio/crew): repo onboarding — remote git URL + pipeline progress by @mikeparcewski in #56
  • feat(studio): consumer AI chat UI redesign — wicked palette, bigger inputs, status tooltips by @mikeparcewski in #57
  • feat(events): studio foundation wave — types, model, ledger badges by @mikeparcewski in #60
  • studio: design wave — dark theme, graph explorer, nav layer, HITL steering by @mikeparcewski in #62
  • feat(studio): P1 observability event types + RunModel fields (EVT-002/005/006/014/015) by @mikeparcewski in #67
  • feat(studio): P2 observability event types + RunModel fields (EVT-003/004/007) by @mikeparcewski in #71
  • feat(studio): P2 governance-deep event types + RunModel fields by @mikeparcewski in #72
  • feat(studio): P2 decisions-full event types + RunModel fields (EVT-001/012/013) by @mikeparcewski in #75
  • fix(studio): address bot review findings on P2 decisions-full events by @mikeparcewski in #76
  • fix(studio): decouple unitReworkAmended guards for backward compat by @mikeparcewski in #78
  • feat(studio): center panel manager dashboard (crew#73) by @mikeparcewski in #77
  • fix(crew): set WICKED_CORE_EXE for gate-hook correctness in napi-rs addon mode by @mikeparcewski in #80
  • feat(studio): full wicked dark-theme takeover by @mikeparcewski in #58
  • fix(studio): keyboard accessibility — SettingsMenu, Modal, RunLink, useRoute by @mikeparcewski in #82
  • fix(crew#63): only rm cloneDir on failed clone if we created it by @mikeparcewski in #81
  • feat(crew#74): wire chat workflow — filter ChatsPage + stamp workflow_id by @mikeparcewski in #84
  • feat(studio): multi-agent identity — CLI avatars, attribution, governance lock icon by @mikeparcewski in #86
  • feat(studio): council deliberation state — pending agent units show deliberating indicator by @mikeparcewski in #87
  • feat(studio): GFM markdown rendering in transcripts by @mikeparcewski in #85
  • feat(studio): action cards + mode selector in chat panel by @mikeparcewski in #83
  • feat(crew): add POST /runs/:id/inject for operator message injection by @mikeparcewski in #89
  • feat(studio): inject targeting UI — send messages to agents mid-run by @mikeparcewski in #90
  • feat(studio): click agent avatar → live terminal drawer (crew#74) by @mikeparcewski in #91
  • build(deps): Bump astro from 7.0.7 to 7.1.3 in /site by @dependabot[bot] in #88
  • fix(studio): hide system workflows from work-mode launch selector by @mikeparcewski in #92
  • feat(studio): three-panel home view — Runs / Campaigns / Chats by @mikeparcewski in #93
  • feat(crew): mirror four missing system workflow defs in adapter by @mikeparcewski in #94
  • fix(studio): separate work/chat runs in sidebar + WorkPage; expose Coverage + Domain in settings by @mikeparcewski in #95
  • fix(studio): correct stale LaunchForm docblock and 30-60s warning by @mikeparcewski in #96
  • DoD: evidence-phase verification (v0.1 → v0.2) by @mikeparcewski in #97
  • test(sc003): 100-run gate determinism test closes non-negotiable DoD gap by @mikeparcewski in #98
  • docs(dod): close settings-panel worker registry criterion by @mikeparcewski in #99
  • docs(dod): close acceptance-pipeline DoD criterion with PASS evidence by @mikeparcewski in #100
  • test(sc005): governance deny blocks run at crew HTTP surface + close SC-005 in DoD by @mikeparcewski in #101
  • docs(dod): check off commands/archetype/ criterion in scope-reduction section by @mikeparcewski in #102
  • docs(dod): check off Section 5 scope-reduction items (all 4 satisfied) by @mikeparcewski in #103
  • docs(dod): mark status as verified — all 34 DoD items now complete by @mikeparcewski in #104
  • docs(dod): close SC-004 — crew-level council dispatch to ≥ 2 workers verified by @mikeparcewski in #105
  • feat(studio): sidebar branding, hover-expand, dashboard range filter, repo layout, files panel by @mikeparcewski in #116
  • feat(studio): git history + contributors in RepoDetailPage by @mikeparcewski in #117
  • feat(studio): error boundary, degraded routing UX, loading skeletons by @mikeparcewski in #118
  • feat(studio): shared time-range filter + metrics rows (crew#107) by @mikeparcewski in #121
  • feat(studio): global notification bell (crew#113) by @mikeparcewski in #120
  • feat(studio): run mode steering, file-op diff pane, right-panel inject (crew#114) by @mikeparcewski in #122
  • fix(crew): chat workflow 400 — register overlay + patch session workflow_id by @mikeparcewski in #123
  • fix(studio): add Escape key handler to Coverage and Repo Graph modals by @mikeparcewski in #124
  • fix(studio): derive Tracked repo count from real graph data by @mikeparcewski in #125
  • fix(studio): parse JSON error bodies in apiFetch and guard Ctrl+K handler by @mikeparcewski in #127
  • fix(studio): guard gate typeof check in Upload JSON handler by @mikeparcewski in #128
  • feat(acp): add claude-agent-acp ACP bridge binary by @mikeparcewski in #129
  • feat(studio): live token streaming + council deliberation UI by @mikeparcewski in #135
  • feat(acp): agent-acp-bridges — codex, pi, agy, opencode stdio ACP bridges by @mikeparcewski in #136
  • feat(deploy): self-contained ACP bridge installation — no global installs, no symlinks by @mikeparcewski in #137
  • feat(acp): adopt official/ecosystem ACP adapters — own only the agy bridge by @mikeparcewski in #138
  • feat(studio): show operator-message lifecycle in the run thread by @mikeparcewski in #139
  • feat(e2e): promote the Playwright studio-verification harness into the repo by @mikeparcewski in #140
  • feat(api+studio): run evidence export — built by the wicked-crew agent team by @mikeparcewski in #141
  • feat(studio): external-transform assumptions UI + evidence; ToS notices; studio article by @mikeparcewski in #142
  • feat(crew): durable state home, agy workspace scoping, collab builtin, stall surfacing by @mikeparcewski in #143
  • docs: studio article rewrite (editorial review round) by @mikeparcewski in #144
  • chore: release v0.3.0 by @mikeparcewski in #145

New Contributors

  • @github-actions[bot] made their first contribution in #22

Full Changelog: v0.2.1...v0.3.0