Releases: sourcehawk/triagent
Release list
v0.3.3
Changelog
- 7c7c082: chore(frontend): update package-lock.json to sync transitive deps (#77) (@sourcehawk)
- 77264cd: fix(mcp): never marshal nil citations slice as JSON null (#74) (@sourcehawk)
- 54b2965: fix(release): use npm ci so package-lock.json is never modified in CI (#76) (@sourcehawk)
- 2791e06: fix(server): use --relative in wiki diff so subdir vaults report unsynced entries correctly (#75) (@sourcehawk)
- 17d5984: refactor(frontend): organize components into feature folders and split oversized files (#73) (@sourcehawk)
v0.3.2
Overview
Routine maintenance: a batch of operator-reported reliability and live-UI fixes for triage, found while exercising real investigations. The headline is the proposal flow — sub-agent-drafted wiki and playbook proposals now actually surface in the session UI, and the dispatch that drafts them can no longer report a failed draft as a success. If you run triage day-to-day, this upgrade removes a set of "nothing showed up until I refreshed" and "it said it worked but nothing landed" papercuts. No new features, no breaking changes — safe to take directly from v0.3.1.
Fixes
- Proposals now surface in the session UI. Sub-agent-drafted wiki/playbook proposals used to draft silently and never appear, so an operator had no inline card to act on and the wiki sidebar stayed stale until a manual refresh. They now render their inline card (transcript hoist) and refresh the sidebar via a global
wiki_proposal_createdevent, and a brand-new playbook proposal opens from the sidebar instead of 404-ing ongetPlaybook. (#72) - A failed proposal draft can no longer read as a success. The proposal flows are free-form, context-blind sub-agents and the walker only suggests the terminal call (ADR-0004), so a sub-agent could finish without ever submitting and the master would report success anyway. The dispatch now verifies at its boundary that a terminal tool actually fired — resume-forcing if not and surfacing a structured
submitted/declined/noneoutcome — plus an explicitdecline_proposalterminal and a prompt that teaches the draft→validate→submit procedure. A validation-failure draft (proposal_id:"") also stops rendering an empty card. (#72) - Surfaces that only updated on refresh now update live. Codefix PR state, auto-mode state, and new wiki proposals were dropped SSE kinds, and repo lists went stale after add/remove. These now stream live across the sidebar and
/repos. (#72) - Kubeconfig deployments are no longer steered into a Teleport login loop. The Teleport MCP and the agent's k8s-auth guidance are now gated on
auth.kind, so a kubeconfig deployment isn't lured into atsh loginloop; the profile proxy/connector is threaded into the subprocess. (#72) - Cleanups. The investigation row no longer nests interactive controls inside a
<button>(invalid HTML / React hydration error), and theWatchFormtest flushes its mount fetch insideact. (#72)
Changelog
- fix(triage): live UI surfacing fixes and proposal-dispatch hardening (#72)
Full diff: v0.3.1...v0.3.2
v0.3.1
Overview
Documentation-only maintenance release. It corrects several stale or inaccurate claims across the docs site and README, and tightens the site for consistency. No code, behavior, or APIs changed — upgrading is only worthwhile if you rely on the published docs being accurate.
Fixes
- The docs no longer misdescribe the default cluster auth provider. The site claimed Teleport was the default; the launcher actually defaults to the kubeconfig auth provider, with Teleport opt-in via profile. The end-to-end walk and ownership table now match reality. (#71)
- The new-investigation form is documented as it actually behaves. Removed the phantom "cluster ID (required)" field and the "namespace derived per your profile" claim — the cluster is a dropdown, every form input is optional, and the agent narrows the namespace at runtime. (#71)
- Removed the "Enable auto mode (coming soon)" placeholder in favor of the real enable paths (start screen, watch-driven, or restart). (#71)
- Corrected the overview "Four surfaces" miscount and the single-cluster namespace-binding claim; added the read-only GCP/AWS cloud-context integration. (#71)
- Fixed broken README links to the docs site. The
…/triagent/docs/<section>/links 404'd; the site serves…/triagent/<section>/. (#71)
v0.3.0
Overview
This release adds cloud-context investigation to triagent. Until now the operator agent could only see the Kubernetes layer of an incident; with this release it can also inspect the GCP or AWS layer beneath a cluster — reachability, IAM, managed-cluster config, logs, and audit trail — all read-only and with the human still in the loop. The rest of the release is documentation work that reframes the project around cloud incident triage. No breaking changes; upgrading is safe for existing deployments.
What's new
- Read-only cloud-context MCP for GCP and AWS. Before, an operator triaging a Kubernetes incident had to leave triagent and switch to a cloud console or shell to answer "is this a cluster problem or a problem in the cloud beneath it?" — and there was no guardrail keeping that exploration read-only. The new
triagent-cloud-<alias>MCP lets the agent investigate the GCP/AWS layer in-session through two typed orientation tools (list_inventory,session_status) and a gated, no-shell CLI (run_cli,list_allowed_commands). Read-only is guaranteed by construction — no shell, a positive command allowlist with a hardcoded deny floor, argv/scope validation — and backstopped by a deployment-pinned IAM identity the agent can neither select nor escalate. Cloud auth readiness is visible before a session starts, and a stale cloud credential degrades that source visibly rather than blocking Kubernetes triage. (#53)
What's changed
- README and docs reframed around cloud incident triage. The project's public framing now leads with cloud incident triage in plain language, and stale references to the old
dump-metatool were corrected to the in-process tool catalog. No code behavior changed. (#62, #55, #70)
Changelog
- fix readme (#70)
- feat(cloud): read-only cloud-context MCP for GCP and AWS (#53)
- docs(readme): reframe for cloud incident triage in plain language (#62)
- docs: correct stale dump-meta references to the in-process tool catalog (#55)
Full diff: v0.2.0...v0.3.0
v0.2.0
Overview
This release brings live metrics into the triage loop. The headline is a bounded Prometheus MCP that the agent can query in-context, wired to auto-follow whichever cluster the investigation is pointed at — no manual port-forwarding, no flat metric dumps. Everything else is foundation: a golden-path end-to-end test suite that drives the real binaries, the feature-development workflow lifted into a reusable plugin, and a faster split CI. Routine upgrade for operators who want metrics in their investigations; safe to take with no migration.
What's new
- Prometheus metrics, in the investigation. Before, an operator triaging from triagent had to leave the loop and pull metrics by hand. The new Prometheus MCP exposes five scope-enforced, bounded tools (
prom_list_metrics,prom_describe_metric,prom_query,prom_recent_value,prom_query_range) plus aprom://inforesource, so the agent can discover and query metrics with capped output instead of dumping the whole catalog. A companionprom_lookupplaybook codifies the info → discover → query flow. (#5) - Metrics follow the active cluster automatically. When the agent calls
triagent-k8s.switch_context, the launcher now provisions a per-investigation Prometheus port-forward and hot-swaps the MCP's endpoint underneath it — the metric tools just start working against the right cluster. Forwards are torn down when the investigation is archived, so nothing leaks. The MCP stays orchestrator-agnostic via a generic endpoint resolver, and still runs standalone with--prom-url=.... (#5)
What's changed
- The feature-development workflow now ships as the
feature-dev-workflowplugin. The planning → issues → plan → develop → fan-out → review → PR skills used to live in this repo under.claude/skills/. They now load from the externalfeature-dev-workflowplugin (enabled in.claude/settings.json), so the workflow can evolve and be reused independently of triagent. Contributors edit those skills in the plugin repo and bump the enabled version here; no change to how you build or run the binaries. (#41)
Fixes
- Sibling investigations no longer clobber each other's walker state. The strategies store snapshotted every session to a single
strategy.json, silently overwriting concurrent top-level walks. State is now per-session (strategy-<id>.json) with a one-shot migration off the legacy file. (#10) slack_get_channel_idnow tells you what scope it needs. Amissing_scoperesponse used to surface as an opaque raw API error; it now names the required scopes and the channel-id escape hatch. (#10)user_watches.yamlis correctly scoped under the active profile, so signal-watches don't bleed across profiles. (commit f1c431f)/api/playbook-typesreturns[]instead ofnullon an empty profile, so the frontend stops choking on a null list. (commit 8f143a5)
Changelog
- ci: split CI into parallel test and lint workflows (#42)
- test(e2e): golden-path end-to-end suite driving the real triagent binary (#28)
- chore: source the feature-dev workflow skills from the feature-dev-workflow plugin (#41)
- fix(skills): gate plan/state teardown on the integration PR's CI being green (#40)
- fix(skills): push state commits before sub-PR squash-merge in fanning-out (#29)
- fix(skills): issues reference the epic, never the spec; file one at a time (#12)
- fix(skills): planning owns feature-branch birth; developing reuses it (#11)
- feat(skills): feature-development workflow + fix(mcp) walker/slack bugs (#10)
- chore: remove leftover claude plans (#8)
- refactor(git): tighten git MCP issue/PR body shapes; agent owns Fixes #N (#7)
- docs: improve docs (#6)
- feat(prom): bounded Prometheus MCP + launcher hot-swap integration (#5)
- chore: misc build, watches-scoping, playbook-types, gitignore, and AGENTS.md/CLAUDE.md groundwork
Full diff: v0.1.0...v0.2.0
v0.1.0
Changelog
- 5fdcad6: fix(docs/site): use GitHub Octicon in top-bar instead of '↗' glyph (Ægir Máni Hauksson 54936225+sourcehawk@users.noreply.github.com)
- 1ebb736: initial public release (Ægir Máni Hauksson 54936225+sourcehawk@users.noreply.github.com)
v0.0.0-rc1
Changelog
- 5fdcad6: fix(docs/site): use GitHub Octicon in top-bar instead of '↗' glyph (Ægir Máni Hauksson 54936225+sourcehawk@users.noreply.github.com)
- 1ebb736: initial public release (Ægir Máni Hauksson 54936225+sourcehawk@users.noreply.github.com)