Releases
v0.1.0
Compare
Sorry, something went wrong.
No results found
0.1.0 (2026-10-25)
Features
accept and return sessionId on the admin cron-runs API (#2406 ) (facd005 )
accept app/ bot logins in author-allowlist validation (#3165 ) (0236fbd )
add 'Use existing GitHub App' detail-page connect action (UAP-5.4) (#3053 ) (8d57b81 )
add a signed-commits toggle to the agent admin settings (#6 ) (de862b7 )
add admin dev auto-login route (LPP-2.1) (#200 ) (383a868 )
add admin proxy routes for task-store token CRUD (#771 ) (158e2d8 )
add Agent Type Zod schema, parser, and generated JSON Schema artifact (#2191 ) (57ecf39 )
add agent-policy DB fields + backfill script, remove dead allowed_events (#3738 ) (e184548 )
add Agent.typeName column, migration, and API plumbing (#2192 ) (6e120ee )
add AgentCronRunModelBreakdown table and per-model cron stats (#917 ) (1b50b46 )
add AgentMemberService + extend AgentService with missing query/update methods (#2131 ) (122189a )
add AgentPhaseMethodology table and CRUD routes (PMC-1.1) (#3725 ) (357cd5c )
add AgentWorkQueueSnapshot model + push/read API endpoints (#1803 ) (e3687f9 )
add All-agents option to per-agent queue-activity dropdown (#3230 ) (3c41533 )
add authenticated session detail view to admin UI (#1471 ) (c6de2e9 )
add authorAllowlist column + service-layer threading (#2211 ) (b08c165 )
add bearer token auth to admin CRUD middleware (ADMD-3.1) (#205 ) (5aa5a43 )
add Blocked tab and hitl badges to admin PRs page (#2080 ) (ab2094f )
add browser launch helper and CI sandbox verification step (#2343 ) (3e83a64 )
add buildSessionNotificationPayload in push-content.ts (#3322 ) (7a942d8 )
add check-name breakdown to Recent Verification Activity rollup (#3714 ) (228e655 )
add Claude Code and gh CLI to agent/Dockerfile (LPP-1.1) (#204 ) (ed8e955 )
add computeDependencyLayout pure layered-DAG layout function (#1843 ) (583929e )
add Created column to Tasks list (ATC-1.5) (#1918 ) (9db7827 )
add cron-run token stats aggregation to admin service (#881 ) (78da34c )
add cross-agent cron-run listing + startedAt index (#3224 ) (93c6010 )
add default-agent route and navbar Queue & Activity tab (#3203 ) (1e97a05 )
add dev-task adherence report from admin run data (#4203 ) (464a30c )
add disabled prompt-audit-maintenance cron and manifest test (#4241 ) (ed52617 )
add expand all / collapse all control to agent detail groups (#3786 ) (7d8ae51 )
add explicit chaining instruction to error-patrol-maintenance cron prompt (#2804 ) (cbeb76d )
add flagged chat-credential mint and revoke routes (#17 ) (bce8d52 )
add GET/POST /admin/settings/notifications page (#3314 ) (b30f017 )
add GitHub App installation discovery and selection (#3897 ) (f217b65 )
add GithubAppProvisioningClient (manifest builder + code-exchange client) (#2761 ) (e7d72ec )
add hitl filter to admin task list view (#1789 ) (9f75e11 )
add in-page agent-selector to Queue & Activity (#3207 ) (ad108f4 )
add last-heartbeat tracking to cron run history (#3583 ) (0013c08 )
add listForAgent() cross-cron query to AgentCronRunService (#1592 ) (ae894b8 )
add listTokensForAgent and deleteThreadsForAgent to ChatServiceProvisioningClient (#1338 ) (cd54134 )
add metrics Dockerfile and build-push workflow (#210 ) (1fe2ee2 )
add Monitor to coding agent's default tool set (#3519 ) (1ae76fe )
add new local agent create flow (#794 ) (5ed7b42 )
add nullable sessionId column to AgentCronRun (#2397 ) (2edcf2b )
add Okta OIDC auth client (#2724 ) (e652e10 )
add org and repo multiselect filters to admin PRs page (#2427 ) (8748d11 )
add org and repo multiselect filters to admin Task Store page (#2420 ) (813ab07 )
add org filter to GET /sessions (#3490 ) (f9b75dd )
add parentCronId self-relation to AgentCronJob + phaseId to AgentCronRun (#1842 ) (ea12bb8 )
add parseFlags CLI helper to lib/ (#3432 ) (b0cb596 )
add patch-allowlist admin UI card + add/delete routes (#3129 ) (52e33d1 )
add patchAuthorAllowlist DB column + admin API field (#3117 ) (1f4ae10 )
add phase column to AgentCronRun + admin API support (#1306 ) (6017f4a )
add platform.read and platform.ops admin key scopes (#16 ) (d263b41 )
add pool observability to admin (#4403 ) (75e0655 )
add pool observability to task-store (#4401 ) (3c39a0d )
add POST /admin/sessions/:slug/{follow,unfollow} routes (#3330 ) (188f38b )
add POST /agents admin-API route (#3661 ) (e4aeddb )
add PR column to task list table (#779 ) (d83fdbd ), closes #N
add PR list/detail render functions and nav link (#748 ) (2198745 )
add PR origin fields, stamp, filter, and census endpoints (#3474 ) (61e1ff9 )
add prCreatedAt column to PullRequest and wire it into the claim endpoint (#1293 ) (7670a6a )
add pre-expiry Slack warning check for trial agents (#3668 ) (fcdef0f )
add public-App option and GH_APP_SLUG to GitHub App connect (#3910 ) (c2ffb88 )
add PVC name template support to K8s provisioner (#559 ) (a6b98e3 )
add reinstall-after-sync flow (SMR-1.1) (#552 ) (16226b5 )
add repos add and remove routes for agents (#18 ) (a46e01a )
add repos field to agent detail page (#701 ) (d1f4b67 )
add repos field to Agent model with org/repo validation (#676 ) (1a03506 )
add repos to agent config response schema + handler (#1299 ) (2ebe12b )
add required agent-type picker to the new-agent UI (#2203 ) (fc41f06 )
add responsive hamburger menu to shared toolbar (#931 ) (b4a0407 )
add restrictSlackToMembers toggle to Agent (#2763 ) (d25c5ba )
add secret checklist builder for agent deletion cleanup (#1321 ) (0679d54 )
add self-serve chat-token daily stats route scoped to the caller's own agent (#4270 ) (de38322 )
add self-serve cron-run outcomes route scoped to the caller's own agent (#4273 ) (87103a1 )
add self-serve cron-run token stats route scoped to the caller's own agent (#4271 ) (79583b7 )
add self-serve dev-task-adherence route scoped to the caller's own agent (#4269 ) (5b02524 )
add server-side itemId/phaseId filters to cron-runs API (#2553 ) (4a47a13 )
add session-alert-sweeper.ts and wire into main.ts (#3337 ) (d54b210 )
add SessionFollow/UserNotificationPrefs/SessionAlertState models + service (#3309 ) (49a9c90 )
add Sessions list page + toolbar link + member-scoped detail route (#3335 ) (c4b183b )
add shared claim-TTL constants to @shipwright/lib (#1756 ) (52ed3f5 )
add shared CSS component classes for redesigned admin pages (#3172 ) (283e358 )
add shared pg pool observability helpers (#4400 ) (14726d4 )
add shared pricing module to @shipwright/lib (PCE-1.1) (#897 ) (faf9a4e )
add shared request-context module to lib (#1326 ) (b0b2bf6 )
add shared Sentry module to @shipwright/lib (#1151 ) (6646eb2 )
add SHIPWRIGHT_ADMIN_TZ timezone formatting to admin UI (#734 ) (f874162 )
add Sign in with Okta button to login page (#2742 ) (6120bdf )
add Slack app deletion client method (#1316 ) (ff2d699 )
add slide-over drawer to task board cards (#3192 ) (c65926f )
add sort query param to GET /prs (ADS-1.3) (#1608 ) (afe22d8 )
add source column to admin session detail view (#2003 ) (87fee0f )
add source filter to admin task list UI (#1992 ) (3d1ee7b )
add stat strip to agent detail page (#3785 ) (42641bb )
add task age display to board cards (#3215 ) (4850e40 )
add task_id/pr_number Sentry tag to loop-orchestrator dispatch() (#2552 ) (a30ed86 )
add task-PR join and board column-bucketing to Tasks handler (#3173 ) (9bf1b34 )
add the flagged agent ask route with allowlist, depth cap and audit (#31 ) (9fffb62 )
add the git wrapper that routes push through signed-push (#25 ) (7b2e3e7 )
add the pre-publication audit for the extracted repo (AGR-2.1) (#4465 ) (c8fa85c )
add the signed-push helper for GitHub App agents (#5 ) (3c44937 )
add Thread and Message Prisma models with migration (#907 ) (de36542 )
add token columns to AgentCronRun and PATCH complete endpoint (#750 ) (9a427cd )
add trial-expiry lockdown for crons and Slack messages (#3670 ) (8907e38 )
add trialExpiresAt and trialExpiryWarnedAt fields to Agent + admin API (#3656 ) (8689890 )
add updatedAt index + server-side updatedSince/repo filtering to task-store (#1675 ) (c01027f )
add users:read.email Slack scope (#2770 ) (fe8c69b )
add weekly-cron collapsing to Queue & Activity (#3182 ) (4d04faf )
add Work Queue admin page (AWQ-2.1) (#1808 ) (90ae3b5 )
add Work Queue nav link next to Manage/Cron Logs (#1811 ) (2889f6b )
admin session archive/unarchive/rename controls (SESH-5.2) (#3347 ) (90e2dfc )
admin tasks page (TSS-3.1) (#585 ) (fb3d03b )
admin UI author allowlist create-form field + detail-page add/delete rows (#2217 ) (d324331 )
admin UI panel for phase methodology config (PMC-1.2) (#3739 ) (4ca2dda )
admin-ui: show run stats on cron job rows (#718 ) (bf5ff92 )
admin: account trial expiry, warning, suspend and reactivate lifecycle (SSP-8.2) (#4086 ) (4bfd533 )
admin: account-aware caller scope resolver (SSP-2.1) (#4030 ) (7464d88 )
admin: accountId + race-safe quota enforcement in createAgent (SSP-4.1) (#4031 ) (e2d8e03 )
admin: add /cron-runs/outcomes endpoint (PAU-1.7) (#3995 ) (ca66135 )
admin: add Account, AccountMember, AccountInvite models and services (#3996 ) (265d7ce )
admin: add admin Accounts pages and Account column on agents list (SSP-5.2) (#4062 ) (7d90e3d )
admin: add admin API key parsing to auth middleware (VOP-1.1) (#255 ) (be95094 )
admin: add admin-only /accounts API (SSP-5.1) (#4039 ) (eb21feb )
admin: add AgentCronRun schema migration (#704 ) (3aae2ea )
admin: add Anthropic Admin API identity client with federated sign-in (04895a3 )
admin: add Anthropic identity name allocator (67d438e )
admin: add bySkill and baselines to cron-run stats (PAU-1.6) (#3993 ) (2370ab8 )
admin: add conversation window, send/poll flow, and markdown rendering (CHT-4.2) (#1007 ) (02cf9a4 )
admin: add cron log viewer to admin UI (#817 ) (c4fbf15 )
admin: add federated identity token to provisioned agent pods (#4284 ) (9bfca3e )
admin: add GitHub installations card (MGI-4.3) (#3928 ) (6a729cb )
admin: add HttpChatClient + Chat tab shell + agent selector UI (CHT-4.1) (#993 ) (477860d )
admin: add inline create-new-agent toggle to provisioning wizard (#988 ) (b815824 )
admin: add installation snapshot storage and route (MGI-4.1) (#3907 ) (4294524 )
admin: add KubernetesAgentProvisioner + NoopAgentProvisioner (HD-1.3) (#350 ) (512577c )
admin: add KubernetesClient interface + HttpKubernetesClient + recorded double (HD-1.1) (#340 ) (f3ffea9 )
admin: add mobile column hiding to task list (AMB-1.2) (#934 ) (09b3625 )
admin: add openapi deps and Zod entity schemas (OAS-1.1) (#540 ) (3ee8277 )
admin: add owner and Anthropic identity columns to Agent (ca1f72c )
admin: add patchDeployment to KubernetesClient (SHI-1.2) (#635 ) (61929ea )
admin: add POST /admin/api/agents create endpoint (VOP-1.2) (#264 ) (b094d54 )
admin: add prompt-audit telemetry columns and skillUsage upserts (#3985 ) (7154182 )
admin: add public read-only task board route (PPL-2.1) (#842 ) (f5f4e91 )
admin: add pure agent Kubernetes manifest builders (HD-1.2) (#349 ) (4a87467 )
admin: add PVC name template support to K8s provisioner (#561 ) (db55625 )
admin: add reviewAuthorAllowlist column; dual-return; migrate data (#3077 ) (5eb78fc )
admin: add reviewCycles to PR list and detail views (#773 ) (561ffd5 ), closes #775 #777
admin: add secret flag to AgentEnv (#938 ) (0ab50e1 )
admin: add self-serve account page, Account nav entry, zero-quota notice (SSP-3.2) (#4049 ) (593cc70 )
admin: add self-serve feature flag, default-quota and contact env config (#3997 ) (c9fe41b )
admin: add ServiceAccount support to Kubernetes client and provisioner RBAC (f6fce99 )
admin: add Sync Manifest button to agent detail page (#504 ) (a0ea3d1 )
admin: add task detail page (#657 ) (791247e )
admin: add web delete agent danger-zone + POST route (ALP-B.2) (#456 ) (516f7d0 )
admin: agent member sharing (#385 ) (1e33831 )
admin: agent-access holders manage settings, members and delete when self-serve on (SSP-4.3) (#4044 ) (f8af74a )
admin: derive anthropic federation flag from identity mode (52ea5df )
admin: detect and reconcile claude policy drift (68dba2e )
admin: Dockerfile, GKE deployment manifest, and README (ADM-3.1) (#173 ) (191ce33 )
admin: full cron edit (schedule/prompt/channel/preCheck) on the agent page (#304 ) (b9339a4 )
admin: gate web chat message-send on account status (SSP-8.4) (#4075 ) (efca725 )
admin: image-update detection and patching in reconcile (SHI-1.3) (#637 ) (96f94d1 )
admin: join via invite or auto-create account on Google sign-in (SSP-3.1) (#4042 ) (a54b1f2 )
admin: K8s reconcile — deploymentExists, listDeployments, POST /agents/reconcile (#471 ) (f732a2a )
admin: keep installation id on callback, add Add another org (MGI-5.2) (#3935 ) (1a107fe )
admin: let /admin/agents/new provision an in-cluster agent without Slack (#2712 ) (acc82a0 )
admin: let account users create and delete their own agents (SSP-4.2) (#4053 ) (d4714ba )
admin: merge work queue and cron logs into Queue & Activity route (#3166 ) (06c8c29 )
admin: migrate agents-api routes to OpenAPIHono (OAS-2.2) (#542 ) (5de9f6f )
admin: migrate PR-detail page off stored PR.taskId (#3068 ) (d8e84b1 )
admin: migrate runtime API to OpenAPIHono (OAS-2.1) (#543 ) (e50858b )
admin: mint + inject per-agent chat service token on provision (CHT-3.2) (#986 ) (b17aa49 )
admin: mobile-friendly horizontal scroll for tasks table (#745 ) (f09a910 )
admin: mount claude policy configmap into agent pods (9a64d72 )
admin: move existing agents to per-agent identity during reconcile (4d46a7c )
admin: notify operators when a self-serve account is created (SSP-3.3) (#4050 ) (d736943 )
admin: Playwright e2e tests — login page and agents page (ADM-3.2) (#176 ) (7d7a30a )
admin: provision per-agent Anthropic identity in perAgent mode (c191298 )
admin: PVC lifecycle — KubernetesClient + manifest builder + provisioner (ALP-B.1) (#473 ) (c5f772d )
admin: record agent owner on create (7f84773 )
admin: record lockdown-disabled crons and add restore method (SSP-8.1) (#4055 ) (0147821 )
admin: relabel author allowlist UI to review, migrate routes (#3094 ) (8a9bf99 )
admin: remove per-agent Anthropic identity on agent delete (6585825 )
admin: replace AgentChatTokenUsageDaily with per-model breakdown table (#921 ) (2b12bd8 )
admin: run policy-only reconcile on admin startup (9b94b1e )
admin: scoped Tasks, PRs and Sessions views for account users (SSP-6.8) (#4080 ) (182dbbd )
admin: seed default ANTHROPIC_MODEL env on new agents (#3971 ) (9326e85 )
admin: show empty state instead of hiding verification activity card (#4082 ) (c009b8f )
admin: show linked PullRequest on task detail page (PRI-3.1) (#724 ) (bebae77 )
admin: show only configured providers on login page (#3944 ) (9188a9e )
admin: show owner and Anthropic identity on agent page and API (cae9b1e )
admin: swap schema to Postgres provider, rename DATABASE_URL_AGENT → DATABASE_URL (ADM-1.2) (#172 ) (482e854 )
admin: tasks show-all default and Reset button (#764 ) (9c2bafc )
admin: tokens page agent pre-select and env block (#797 ) (69980b4 )
admin: upgrade admin service to Prisma 7 (#3385 ) (cc7e854 )
admin: wire AgentProvisioner into POST /agents + add DELETE /agents/:id (HD-1.4) (#352 ) (d10f932 )
admin: wire full manifest through provisioner for proper PVC mounts (#586 ) (bf7f076 )
admin: wire selfHosted through agent API layer (#658 ) (e61549b )
admin: wire SHIPWRIGHT_ADMIN_PUBLIC_REPO into task board bootstrap (PPL-2.2) (#856 ) (6b5878c )
admin: wire task-store token into KubernetesAgentProvisioner (TSS-5.1) (#644 ) (90cef24 )
agent detail page connect-later actions for Slack/GitHub (#3025 ) (019ec04 )
agent: add per-run command variant switch to the loop orchestrator (#4199 ) (b032023 )
agent: add run-telemetry accumulator and wire into claude stream (#3982 ) (8243579 )
agent: always write per-owner github token files (#4472 ) (f58f12b )
agent: bundle Piper TTS binary + default voice in agent image (#2148 ) (433b2e3 )
agent: gate Slack on account status (SSP-8.3) (#4057 ) (287715e )
agent: pin claude-code via Dockerfile ARG, assert version at build, disable auto-updater (#3866 ) (da4e09e )
agent: reshape run-agent.ts into minimal health server (UNI-1.3) (#281 ) (1809094 )
agent: strip admin routes from run-agent.ts — thin agent (ADM-3.1b) (#174 ) (bd84e19 )
API schemas + CRUD/config route handlers for authorAllowlist (#2213 ) (d86e0be )
auto-clone newly-configured repos on config sync (#3849 ) (bd69160 )
auto-provision task-store token/URL in the Slack wizard (#1105 ) (b25c9a9 )
bake chromium-headless-shell into agent/Dockerfile (#2291 ) (75755fe )
block Anthropic credentials for federated agents (#4286 ) (5b5ef3b )
bump default model and pricing aliases to Sonnet 5.5 (PAU-2.2) (#4238 ) (b2d88d1 )
bump pinned claude-code CLI to 2.1.236 (#3091 ) (5a940aa )
cancel an in-flight reply via the heartbeat tick (CFB-2.4) (#2936 ) (85b6dcc )
capture Claude session id from earliest system/init stream-json line (#2390 ) (6658367 )
chart: add agent voice STT/TTS as configurable chart option (#446 ) (9975bcd )
chart: generate the inter-service token mesh so a fresh install needs no Secrets (#2484 ) (f27d74f ), closes #2485
chat: file upload browser→admin→chat service→agent workspace (CHT-5.1) (#1022 ) (c89ccde )
chat: render upload/plan markers in chat message bubbles (#1030 ) (a1d44c0 )
chat: scaffold @shipwright/chat service (CHT-1.1) (#929 ) (6654d8f )
consolidate cron-run token accounting onto AgentCronRunModelBreakdown (#1252 ) (8cd93a5 )
cron log model + cost columns (#1011 ) (12e8e7b ), closes #932
cut cron reconcile over to manifest-driven per-type crons (#2197 ) (0109275 )
delete agent PVC on deprovision (#1323 ) (06f6ad0 )
deleteAgentFully() — idempotent orchestration, Agent row deleted last (#1350 ) (1db95ad )
deps: migrate to zod 4 and @hono/zod-openapi 1.x (ZOD-1.1) (#3932 ) (eb9a5a0 )
derive generic progress phases from the Claude stream (#2906 ) (74cfaa4 )
detect cross-org repo name collisions in clone sync (#3901 ) (e705f0c )
drop AgentCronRun.model and costUsd legacy columns (#932 ) (d74150c )
drop Claimed/Done from default board query, raise active-column cap to 200 (#3221 ) (b33878b )
drop the addedAt column from task-store schema (#1719 ) (159b1d3 )
enrich admin service OpenAPI route descriptions (#3395 ) (2f4d9e8 )
exclude parented cron rows from generic scheduler dispatch (LPC-1.3) (#1851 ) (f097e5b ), closes #1849
export task-store-types from @shipwright/lib (#2266 ) (aa65b25 )
expose restrictSlackToMembers and member emails on the runtime config lookup (SMR-1.2) (#2782 ) (6da79d4 )
extend GET /agents/:id/config with 6 agent-policy fields (#3811 ) (34d5173 )
extend SlackProvisioningClient to return OAuth credentials (BP-1.1) (#276 ) (7d1c1b4 )
extract atomic createAgent() service function (APA-1.1) (#3653 ) (8744d45 )
extract sendToUsers/notifySession in push-service.ts (#3310 ) (aa7689f )
extract shared login logic and add Okta routes (#2727 ) (27987e2 )
extract Slack + GitHub provisioning into services + connect-slack/connect-github routes (UAP-1.1, UAP-1.2) (#3012 ) (1182878 )
fix Session Detail back link to honor its actual entry point (ABL-1.1) (#1887 ) (258add2 )
gate eligibility index on loopEnabled (#3293 ) (4ba7ab0 )
gate Slack/GitHub sections behind runtime=in-cluster on the New Agent form (#3054 ) (d164ac3 )
generate OpenAPI spec and types for admin service (OAS-3.1) (#546 ) (c3d3d3f )
group agent detail page cards into accordion sections (#3766 ) (e497359 ), closes #env-vars
group dev-task adherence by commandVariant and count task-bearing runs (#4246 ) (275e18c )
group session dependencies by ready/in_progress/blocked/closed state (#1647 ) (318c5a1 )
guard Sentry init against NODE_ENV=test (#1313 ) (94e011c )
honour owner hint in gh owner resolver (#4469 ) (0032586 )
inject owner hint into claude spawn and clone paths (#4482 ) (972d891 )
installable PWA shell — manifest, icons, offline service worker (#2935 ) (d28a7b1 )
introduce TaskKind enum, replace autonomousPlanSession internally (#3459 ) (f8a365a )
label tenant pods and apply a CPU limit in the agent manifest (#4040 ) (bdf26d1 )
layered workspace files with runtime-owned RUNTIME.md and specialty-owned SPECIALTY.md (#4338 ) (8cf8100 )
lean local-agent detail page (#796 ) (d89a026 )
let admins assign or reassign an agent to an account (#4077 ) (aeb6932 )
lib: add 5.x model rates and CONTEXT_WINDOW to pricing (#3980 ) (61854c8 )
link legacy phase crons as shipwright-loop children in reconcileSystemCrons (#1849 ) (750de15 )
live progress, elapsed timer and stall state in chat UI (CFB-2.3) (#2925 ) (e120eba )
make admin readiness probe DB-aware, decoupled from liveness (#1561 ) (140caa0 )
make agent container resources configurable via env var overrides (#3300 ) (2dc7568 )
make bulk() atomic with single task.write event and document behavior change (#3378 ) (09ba562 )
make PWA install start_url reflect the current page (#3220 ) (2ae2d1c )
make task list rows clickable (TS-web-list-row-click) (#673 ) (b167604 ), closes #39
metrics: add METRICS_BASE_PATH for sub-path deployment (#282 ) (5fb182a )
metrics: repoint costEfficiency() to run-level aggregate + add byCronModel (PCE-1.5) (#947 ) (9b7a33b )
metrics: surface commits-per-PR in /metrics/merged-prs (CPP-1.3) (#3688 ) (4f729a4 )
mic input + audio playback in the admin chat UI (VM-3.1) (#3634 ) (3860dee ), closes #file-input
migrate admin console PR/task linking off stored taskId (PTL-2.1) (#2980 ) (4815dcf )
migrate Slack app manifest to agent_view (#2996 ) (eb4d5c8 )
migrate work queue table onto shared data-table CSS (#1917 ) (9952704 )
mobile chat view with collapsible thread drawer and sticky composer (#2929 ) (cde3928 )
nest phase toggles under shipwright-loop in admin cron UI (#1901 ) (0e1b388 )
OAuth callback + xapp-token + cron seeding (BP-2.2) (#280 ) (f70fc35 ), closes #278
optional outbound reply-notification webhook from chat service (CFB-4.3) (#2981 ) (6783a02 )
per-chat token/cost tracking and display (#1027 ) (3d378c1 )
point admin Tasks nav link at ready-state filter (#1136 ) (76f5233 )
port the gh wrapper into the platform scripts/bin (#8 ) (911dbda )
preserve list filters/pagination in task detail back link (#1352 ) (12a0073 )
provision start form with agent selector and GitHub/Claude fields (BP-2.1) (#279 ) (136a845 )
PRs view — State/ReviewState dropdowns + Repo datalist + fix tab reviewState drop (#793 ) (4d93963 )
redesign tasks page as unified board with org+repo filters and table-view toggle (#3185 ) (a0b7837 )
reject colliding repos in admin (#3923 ) (fa909fe )
reject PATCH on system cron rows via the JSON API (#1957 ) (7c846e3 )
remove analytics.ts, route error and session-fallback signals to Sentry (#1686 ) (769bacb )
remove authorAllowlist column and fallback (DBR-2.4) (#3124 ) (d57fd7c ), closes #3094 #3115 #3129
remove deprecated /admin/provision callback alias routes (UAP-3.3) (#3036 ) (36984f5 )
remove legacy autonomousPlanSession field (TKD-1.3) (#3484 ) (b0bde11 )
remove PostHog analytics vars from site public docs (#874 ) (fb5bfe2 )
remove PullRequest.taskId column, ?taskId= param, and dead backfill (#3108 ) (295f2cc )
remove requiresHumanApproval merge-gate from deploy.md (#2554 ) (8e4613c )
remove review-patch cron and ship-loop skill; enable review+patch by default (#1685 ) (34c65c2 )
remove SHIPWRIGHT_INTERNAL_API_KEY (UNI-1.2) (#278 ) (8fc10c6 )
remove task store tokens web UI from shipwright admin (#3153 ) (e0e392d )
rename OAuth routes to /admin/auth/* and add build-admin CI workflow (ADMD-1.2) (#201 ) (0567cb4 )
rename Tokens UI labels to Task Store Tokens (#882 ) (e78a7c1 )
render blockers and markdown on task detail view (#707 ) (b240b8c )
render error field on failed cron runs in admin UI (#1556 ) (e67b2b6 )
render sessionId in the admin cron-logs table (#2407 ) (a223c4d )
render work item id/type column in admin cron-runs UI (#1778 ) (ae1dd4c )
replace password login with Google OAuth (ADM-2.1) (#171 ) (779cdcd )
repoint admin task-detail Added field from addedAt to createdAt (#1593 ) (0be9183 )
request sort=desc on admin task and PR list views (ADS-1.2) (#1702 ) (69e93e7 )
require owner hint in gh wrapper and git credential helper (#4485 ) (cf524a9 )
responsive/mobile chat layout (#1034 ) (2b5e0e0 )
restyle PRs page to match Tasks board visual language (AXR-2.1) (#3186 ) (93ab8b7 )
retire /admin/provision entry-point pages (UAP-3.1) (#3047 ) (8667665 )
retire POST /agents JSON API (ABF-3.2) (#3506 ) (e3b9217 )
retry GitHub App auth setup on syncConfig tick (ABF-2.1) (#3472 ) (8619623 )
scaffold mcp-server bun workspace (#1165 ) (3ca0275 )
scaffold task-store package with Prisma schema and integration test (#581 ) (90a6491 )
scope entropy/security patrol crons to configured repos (#3853 ) (a8ee98b )
scrub vitals-os from admin service fixtures (SEV-1.2) (#636 ) (e616fc9 )
scrub vitals-os references from agent service (#639 ) (ae9788e )
seed default AgentTool rows at agent creation (#2104 ) (e0d8150 )
seed manifest tools + plugins on POST /admin/agents (#3475 ) (2b54628 )
seed new agents from the type manifest at create time (#2200 ) (5452e98 )
serve the platform OpenAPI document at /doc behind a flag (#19 ) (e99045a )
session detail Needs-you panel + header state badge (SESH-5.1) (#3344 ) (a42541a )
sessions list UI Pacific time, agent names, merged columns, filter autocomplete (#3504 ) (fafd994 )
she-5.1: port setup.ts with dynamic plugin registry integration (#102 ) (63356a7 )
she-5.2: port entrypoint, scripts, and Dockerfile (#117 ) (134be8c )
show blocker badges on task list view (#697 ) (124c246 )
show cron run error/skip detail in a Detail column (#2315 ) (05ff487 )
show per-phase cron cost breakdown in metrics dashboard and admin UI (#1310 ) (2da190e )
single "+ New agent" CTA on the agents list page (UAP-2.2) (#3037 ) (51e1dd1 )
skip re-minting SHIPWRIGHT_AGENT_API_KEY when already set (#984 ) (530cc15 )
stack: wire chat service + UI chat into task stack, remove dev-only /chat transport (#1051 ) (b5ac4cc )
stamp plugin version into the agent image at build time (PVS-1.2) (#1035 ) (889d11c )
stream-parse claude -p output, accumulate per-model usage (#2004 ) (eb3cefe )
subscribe to and handle Slack's agent_session_stopped event (#3074 ) (92f7933 )
surface agent-policy fields in admin UI panel (#3748 ) (e027208 )
surface environmental-cause breakdown on verification activity card (#3810 ) (e584af5 )
surface kind in admin UI (#3473 ) (04cb4fb )
surface missing required env keys on agent detail view (#2204 ) (93d8e87 ), closes #2203
surface skip count on task and PR detail views (#2114 ) (374637e )
surface verification-check outcomes in admin UI (LVB-5.3) (#3642 ) (f01ea28 )
SW push handler honors payload.tag, bumps cache version (#3332 ) (cebcb20 )
swap AgentCronRun.phase string for phaseId FK across writer and reader (LPC-3.1) (#1907 ) (fdbbd77 )
tag Sentry initialScope with agent_id so events are filterable per-agent fleet-wide (#1680 ) (9bb1e72 )
task-store client — revoke tokens for an agent (#1332 ) (1d80c0f )
task-store schema + filter for autonomousPlanSession (#3358 ) (7362ffd )
task-store: add accountId (default 'default') and new unique keys (#4020 ) (00fca6d )
task-store: add GET /tasks/distinct endpoint (#694 ) (069be9b )
task-store: agent token scoping (#651 ) (4539de1 )
task-store: extend state filter to ready/in_progress/blocked (#695 ) (f697bdf )
task-store: generate TS client types from OpenAPI spec (#1227 ) (c3894fb )
task-store: return accountId from scope resolver and plumb through auth (#4063 ) (2459842 )
task-store: split hitl/blocked signals + data migration (HSR-1.1) (#2382 ) (9862549 )
task-store: state filter, pagination, and status dropdown fix (#670 ) (b36b50f )
task-store: wire Sentry error reporting into task-store (#1155 ) (f6c6241 )
thread list pane, search, and rename/delete for admin chat (#1009 ) (ed790be )
thread work item id/type through cron-run records (WLS-2.2) (#1763 ) (8cd2a32 ), closes #1310
type-aware workspace templates with coding fallback (Feature 5) (#4335 ) (8367f41 )
UNI-1.1: merge /admin/api/agents/* routes into unified /agents/* surface (#263 ) (702db79 )
unified agent-creation page with inline Slack/GitHub connect (UAP-2.1) (#3024 ) (ebfe6dc )
unify claim TTL to one 35-minute constant for Task + PR (#1369 ) (ac2d175 ), closes #1321
web push notifications for agent replies (CFB-4.2) (#2964 ) (3a4ee7e )
wire autonomous plan-session dispatch phase into loop-orchestrator (#3361 ) (d795dc2 )
wire deleteAgentFully() into DELETE /agents/:id (#1362 ) (5bf9110 )
wire GET /tasks and /tasks/distinct routes for repeated repo/org params (#2403 ) (daacf2b )
wire GitHub App manifest-flow routes and provision-form UI (GAP-2.1) (#2772 ) (af098ab )
wire notifySession() to buildSessionNotificationPayload() (#3577 ) (61348bd )
wire Sentry into admin service (#1215 ) (be79b6c )
wire session detail page follow/unfollow button (SESH-5.3) (#3346 ) (baead5c )
wire sessions list Follow button to SessionFollowService (#3533 ) (6be32d1 )
wire shared Caller into admin auth + onError logging (#1331 ) (dde7a8e )
wire the shipwright-site-docs-freshness cron (#3435 ) (521d2af )
wrap agent detail sub-tables and add Created columns (ATC-1.2) (#1919 ) (c5d2b1f )
wrap tokens page table for consistent mobile scroll (#1923 ) (26406db )
Bug Fixes
add NOT NULL constraint to Agent.authorAllowlist, matching Agent.repos (#2247 ) (14159fa ), closes #2223
add required url field to GitHub App manifest (#3180 ) (2046e78 )
add status getter alias to ApiError for Sentry defaultShouldHandleError (#3239 ) (5d41adf )
admin blocked-task badge/detail render crash + BlockedByEntry parity test (#2565 ) (d73f731 )
admin: accept Chromium/Safari mic-recording MIME types for voice notes (#3975 ) (ba81505 )
admin: accept xoxe.xoxp rotating tokens in Slack token validation (#527 ) (1b5f2ab )
admin: add enabled toggle to PATCH /crons/:cronId (#289 ) (3b7a1b2 )
admin: alert allowlisted admins on followed sessions and add a Send test notification button (#3373 ) (8da5daa )
admin: consolidate Slack manifest into buildAgentManifest, fix sync-manifest (#529 ) (7670ed1 )
admin: correct Metrics toolbar link default from /sw/dashboard to /dashboard (#388 ) (1e174b5 )
admin: explicit 5s timeoutSeconds on agent liveness/readiness probes (#1567 ) (8a4d1c3 )
admin: handle bare-array response from ready/blocked task endpoints (#730 ) (1d8d60a )
admin: honor session isAdmin and scope non-admin cookies in the JSON API (#3989 ) (150ffe0 )
admin: key claude policy mount drift on mountPath (648c954 )
admin: let agent members use the chat UI for their own agents (#3962 ) (f30f36e )
admin: make /admin/agents/new the primary agent-create CTA (#2767 ) (24c1e06 )
admin: make task and PR references clickable across admin UI (#1823 ) (0488f5a ), closes repo#number
admin: navbar highlight reflects current path (#258 ) (085d236 )
admin: parse plugin records as canonical claude install spec (#381 ) (f564c75 )
admin: pass redirectUri in sync-manifest handler (#554 ) (4bc239c )
admin: redirect GET / → /admin/login (#444 ) (51aca63 ), closes #443
admin: relabel the toolbar 'Provision' nav link to 'Slack' (#2769 ) (3f59881 )
admin: show real user email in navbar instead of "admin" (#259 ) (e0fc041 )
admin: show system crons for self-hosted agents (#870 ) (eb545b9 )
admin: simplify PR list tabs — Open/Merged only (#753 ) (eb799b9 )
admin: stagger SYSTEM_CRONS pipeline schedules to prevent simultaneous firing (#1006 ) (ad57e6f )
admin: widen agent probe timeoutSeconds 5s -> 15s as a bridge to SIO-1.2 (#1594 ) (335dbb7 ), closes #1567
admin: widen chat token daily counters to BIGINT (#4155 ) (2d4c271 )
admin: wrap PrismaPromise in async fn for rejects assertion (a8a055a )
agent: add native build toolchain (build-essential, libssl-dev, pkg-config, jq) (#300 ) (44814ce ), closes #566 714/#715 #1403 #1354
agent: copy lib/ source into the agent Docker image, not just its package.json (#901 ) (ddaacd3 )
agent: explicit adminApiUrl + remove duplicate HttpShipwrightConfigClient (AVP-1.2 review) (#237 ) (a43570b )
agent: install claude/node system-wide, not via mise (matches vitals-os) (#299 ) (7fa1afd )
agent: install shipwright plugin from local disk, not remote GitHub slug (#291 ) (b899c86 )
agent: patch @slack/socket-mode's undici ping for Bun compat (#3017 ) (9de4025 ), closes #3006 oven-sh/bun#37110
agent: pin Go/npm/bun caches to the PVC and raise ephemeral storage to 4Gi (#2695 ) (7aae8aa )
agent: raise startup watchdog to 180s + gate probes with a startupProbe (#727 ) (b69c261 )
agent: remove duplicate health server in entrypoint-main (EADDRINUSE) (#298 ) (cdc6ca4 )
agent: seed mise PVC from image on first boot + configurable startup timeout (#274 ) (f298d1a ), closes #265
agent: spawn index.ts instead of run-agent.ts in entrypoint (#286 ) (0f298b3 )
align the changelog preset with the locked changelog writer (#14 ) (ee55b51 )
allow enabled-only PATCH on system crons via JSON API (#3581 ) (732ec99 )
auto-fix mechanical v2 lint warnings (#3433 ) (697c57d )
centralize NODE_ENV=test guard via bunfig.toml preload, retire piecemeal prefixing (#2308 ) (61a00f2 )
chart: emit a 64-char-hex SHIPWRIGHT_ENCRYPTION_KEY so admin can encrypt agent envs (#2764 ) (9ba1721 )
chat: heartbeat long-running replies instead of a flat 90s UI timeout (#2899 ) (fa3cb95 )
chat: make the reply heartbeat interval-driven and owner-scoped (#2902 ) (26a8dc2 )
chat: stop serializing attachmentBytes into message JSON responses (#4172 ) (47aed5a )
check blockedBy before in_progress in classifyTaskState() (#2054 ) (9c3c314 )
correct BOOTSTRAP.md.template cron listing to reflect enabled-by-default state (#990 ) (1dfca82 )
correct cron/chat model-usage field mapping to match real Claude CLI output (#1140 ) (38a8680 )
correct stale cron cadence/discovery claims in BOOTSTRAP.md.template (#3466 ) (7af1e0f )
db: pin legacy pg sslmode aliases to verify-full (#3719 ) (88a1123 )
defensively copy lib/node_modules in admin, metrics, chat Dockerfiles (#1189 ) (8a94fd1 ), closes #1187
deps: bump vulnerable dependencies to patched versions (osv-cve security patrol) (#2536 ) (389b910 )
deps: update routine dependency updates (#3266 ) (211b693 )
docker: copy workspace node_modules and run images as non-root (#212 ) (e434233 )
docker: set NODE_ENV=production in all three service images (#290 ) (9916a95 )
don't fall back to coding crons for a non-coding agent type (#4296 ) (56a3b19 )
drop unused export keywords flagged by dead_exports entropy rule (#4227 ) (f0725bf )
fail-closed isAdmin default in getSessionUser (admin-ui.ts) (#3270 ) (65d6550 )
gate mise install RUN step on curl exit code and binary existence (#3721 ) (f289253 )
gate queue-activity links when the coding extension is absent (#4415 ) (3cc7a4f )
graceful SIGTERM shutdown for admin, task-store, and chat (#3287 ) (7ccc772 )
keep Slack OAuth authorize link in the same tab (#979 ) (006fec6 )
keep table-view state and filters on Tasks-page navigation (#3209 ) (98ae5d1 )
mask agent secret env vars and stop minting duplicate provisioning tokens (#1300 ) (cec2f26 )
metrics: public dashboard read-only toolbar + guard token render against missing section (#863 ) (b1d10c8 )
migrate cron logs table onto shared .data-table + wrapper CSS (ATC-1.3) (#1916 ) (b20e115 )
mobile responsive defects across admin console (CFB-3.1) (#2914 ) (6df82cf )
persist GitHub App client id/secret and reconcile crons after install (#3026 ) (752257f )
pin conventionalcommits preset to v8 for release notes (#30 ) (542cbaa )
preserve AgentCronJob id in reconcileSystemCrons to keep cron run history (#1131 ) (b09cc77 )
provisioner: remove ownerReferences from provisioned agent resources (#593 ) (f510627 )
raise drawer/scrim z-index above sticky toolbar (DNZ-1.1) (#3223 ) (c7c1b47 )
reconcile drift-corrects agent container env/resources + memory limit (#1282 ) (3fe6803 )
register ChatThreadWatch on the chat UI's actual send route (CFB-4.4) (#3050 ) (1538e87 )
remove dead exports flagged by entropy patrol (admin, metrics, scripts) (#3413 ) (422e3f5 )
remove dead exports flagged by entropy patrol (dead_exports) (#2932 ) (f8306de )
remove dead exports from lib/sentry.ts unused interfaces (#2027 ) (21b6aaa )
remove dead loadInClusterConfig export and unexport KubernetesCassette (#1468 ) (de4537f )
render edge-less tasks in session dependency graph (#4405 ) (58f5e24 )
renderer guard + prUrl fallback on task board PR cell (#943 ) (abf1b65 )
repair Slack Thinking Steps stream schema, delivery, status, and queued-message handling (#3057 ) (27df65d ), closes #3034 #7
resolve and persist agent.slackId after Slack OAuth completes (#3027 ) (040533c )
resolve Sessions page Agent filter names to agent IDs (#3511 ) (541964a )
route agent prisma calls through AgentService layer (entropy-architecture_layering-2026-W29) (#1474 ) (05c4c35 )
route agent repo clones and worktrees to the PVC via SHIPWRIGHT_REPO_DIR/SHIPWRIGHT_WORKTREE_DIR (#1266 ) (0dbac51 )
route agent-config plugin fetch through AgentPluginService (#2265 ) (8310b93 )
route push subscription/watch writes through PushService (#3277 ) (f1f1165 )
security: bump lockfile deps for 13 OSV/CVE findings (#2250 ) (6fa8edf )
seed renderedIds from upload response to prevent duplicate chat bubble (#3069 ) (533db9b )
show skipped badge on agent detail cron list (#1149 ) (8dba749 )
skip provision-state check for additional-org installs (#4463 ) (6c22850 )
stack: make the local dev stack work end-to-end (+ pane labels & stack:down) (#265 ) (f815a73 )
state+status conflict in admin tasks route handler (#775 ) (fce453a )
stop chat poll from resetting scroll when user scrolled up (#3957 ) (85b58c3 )
task-store: unify list response shape — ready/blocked now return { tasks, total } (#733 ) (5113f1d ), closes #730
upgrade npm with sudo in the publish job (#32 ) (d5e49a3 )
use recorded-fixture terminology for Anthropic client test doubles (cf905d9 )
use workspace:* for @shipwright/lib deps to resolve Renovate lookup warning (#2884 ) (ca0894e )
wrap dependency graph in scrollable container on mobile (#1924 ) (94d9d8b )
wrap PRs table and align sort/display columns (ATC-1.1) (#1912 ) (a01757f )
Reverts
You can’t perform that action at this time.