Release notes 0.1.160
27 October 2026: The overall dashboard — the structure of the customer's "Mission Overview" mock-up on the platform's own counts — and two Problems page fixes from the 27 October live runs: a…
Release notes · Updated 2026-10-28 · Describes release 0.1.164
0.1.160 — 27 October 2026
The overall dashboard — the structure of the customer's "Mission Overview" mock-up on the platform's own counts — and two Problems page fixes from the 27 October live runs: a blocked route's operations stay inside the Automation cell, and a recurrence that a recorded outside change explains no longer counts against automating a fix. One new route, GET /api/aiops/{tid}/dashboard/summary (incidents.view; the spend figures need report.view, as Usage & billing does; MCP operation dashboard_summary); the incident list and summary accept ?status=unresolved and the summary carries resolved_by_day; the Problems page reads the list's existing ?status= filter; a recorded fix gains the state recurred_after_outside_change and its recurrence marks the field outside_change_id; one partial index, built in the background after start. No new setting, permission, audit action or chart value. See the upgrade row.
- The overall dashboard. Dashboard (
/portal/dashboard) is the first item in the sidebar and the home once the workspace has an enabled read connection;/portal/sends you there, a workspace without a read connection is still sent to the Quick start once per browser session and then sees the Dashboard with a Connect your first data source card on top. The page inherits the structure of the customer's mock-up and fills it with figures the platform records; every number is read in one request (cached for a minute per workspace; the page says when it was read), a number that is a link opens the list whose total it is, with the same filter, counted by the same server query, and a figure the rows cannot support says so instead of being estimated. From the top:- The hub: six pillar rings around the Human gate. Incident = unresolved incidents, opening Operate → Incidents filtered to Unresolved (any but resolved); Compliance = open compliance findings in every domain, opening the findings list under Security posture; Change = change requests waiting for approval, opening Operate → Changes filtered to pending approval; SecOps = unresolved SecOps incidents, opening the page's SecOps section (no list holds SecOps rows alone); FinOps = the AI agents' spend over the last 30 days, shown to people with
report.viewand opening Insights → Usage & billing (others see a dash); Improve = open problems, opening Operate → Problems filtered to open. The centre counts every write a person must release before it runs — incidents paused for approval, in every pillar, plus change requests pending approval — and the panel beside it links each half (the paused incidents open Needs you filtered to incident approvals, since the Incidents list leaves compliance findings out) and Review queue opens Needs you. The hub carries no decision buttons: a decision is made next to the evidence, on the incident or the change. A pillar the platform has switched off shows a dashed ring reading off and has no section. - Service KPIs: MTTR (open to the moment the condition was verified gone, else to the resolve click — the Service delivery report's definition; service incidents only), MTTA (open to the first analysis an agent started on its own), Alert noise reduced (the share of received alerts suppressed as cascading or storm victims — not the report's grouping ratio) and Auto-handled events (changes that completed without a click), each over the last 30 days against the 30 before, with a 14-day sparkline; a tile with nothing to measure says so.
- Pillar health (status, open rows, pending approvals, the agent's last run per pillar) beside the Human gate queue: the Needs you rows, most urgent first — title, the agent's reason, the risk tier, who must release it (one approver, or two distinct people for a high-risk change, with the quorum so far) and how long it has waited; each row opens its record.
- One section per enabled pillar. Incident & Problem: unresolved incidents, MTTA, MTTR, auto-triage coverage, chips by status and severity that open the list with that filter, opened and resolved per day, the pipeline strip (Classify → Correlate → Triage → Recommend fix → Human approval → Validate → Rollback) counting the workspace's stages where a list carries them, and the five newest unresolved incidents. Compliance: the scanners' overall score from the saved report (opening Audit & coverage → Scores), critical findings, the auto-remediation share, active exceptions (accepted risks in force; not a link, no list has exactly that total), findings by domain, patch and backup figures from the report and the patch schedules; Standards lists the scanners' own standards only — the platform's SOC 2 / ISO 27001 mapping stays hidden, as decided on 24 October. Change management: waiting for approval (with the oldest wait), change-related incidents, auto-released pre-approved, scheduled releases (and the next one), requests by status, changes per day. SecOps: open detections, critical CVEs, denied-access reports. FinOps · Optimise: the platform holds no cloud cost data — cloud spend stays in the cloud's own cost tools — so the section shows the AI agents' own cost only: today, the last 30 days (test runs excluded) and per incident occurrence, shown to people with
report.viewand opening Usage & billing; hidden for others and while the workspace has spent nothing. Continuous improvement: runbooks in the library (and how many are certified), knowledge items, open problems, automation candidates (and how many are blocked). - Guardrails — always on: the mock-up's six principles, each stated as the platform's own rule (every write pauses at the gate; every tier is released by an approver and a high-risk change by two people; a fix runs on its own only through a certified runbook at its certified revision; every analysis names its evidence; a change carries its last-known-good state and rollback; every decision is a row in the per-workspace hash chain). None is a setting.
- (proposed) — decisions the mock-up did not make, taken while building the page and open to the customer's reading of the mock-up: the hub's centre counts incident approvals plus pending change requests (risk requests, certifications, one-time windows and merge suggestions stay in Needs you, with a hint of how many more wait there); MTTR ends when the condition was verified gone, so the Dashboard and the Service delivery report never disagree; problems sit under Continuous improvement rather than Incident & Problem; a switched-off pillar keeps its dashed ring so the hub keeps its shape; the pipeline strip counts the workspace rather than replaying one incident; the summary is cached for 60 seconds; Raise a concern keeps its place in the header. Left out, and why: the activity stream and agent-fleet accuracy bars, the framework scores (CIS, ISO 27001, MAS TRM, Well-Architected), change success rate and AI risk scores, MTTD, cloud spend and savings, automation coverage, error-budget burn and engineer hours saved — none is a figure the platform records; the sci-fi faces, glows and count-up animations — the design system's tokens and motion rules apply; the per-pillar sidebar entries — the sidebar is grouped by task since 25 September, and the open counts per pillar are in the hub and in Pillar health. The workspace help's Dashboard chapter names, per section, what it inherits from the mock-up and what differs.
- The former dashboard (Signals in / Noise collapsed / Agents active, the status tiles, the Unresolved incidents table, the pillar cards and Recent activity) is replaced; Ctrl+K home and overview open the new page.
- The hub: six pillar rings around the Human gate. Incident = unresolved incidents, opening Operate → Incidents filtered to Unresolved (any but resolved); Compliance = open compliance findings in every domain, opening the findings list under Security posture; Change = change requests waiting for approval, opening Operate → Changes filtered to pending approval; SecOps = unresolved SecOps incidents, opening the page's SecOps section (no list holds SecOps rows alone); FinOps = the AI agents' spend over the last 30 days, shown to people with
- A blocked route's operations stay inside the Problems cell. A typed plan's route key is its operations joined with
+into one token no line could break: on the Problems page the blocked reason of a three-operation Lambda runtime plan ran out of the Automation cell into First seen. The cell now lists one operation per line, keeps each whole and wraps the reason at words; the Problem column keeps its width and a long correlation key breaks inside it, so the table never widens; a route whose name holds a+stays one route. At a laptop width the table fits its container again; on a phone it scrolls inside its own region as before, with the date columns clear. - A recurrence an outside change explains no longer counts against a fix. Two command-line runtime downgrades reopened a Lambda finding after two platform fixes, and the problem read did not hold ×2 in 30 d — blocked from automation while the 0.1.158 rule had already kept the runbook's certification for the same reason. The did-not-hold mark now reads the change ledger the way that rule does: a cloud write the platform's own audit harvest recorded on the fix's resources (AWS CloudTrail, Azure Activity Log), between the fix's verified clear (else its run) and the recurrence, by a principal that is not the platform's, is stamped on the mark as
outside_change_id(the ledger is read once and passed on to the demotion rule). Such a mark stands — the condition did come back — but never counts towards the ×N block, the candidate revocation, the not-good state, the last-known-good lookup or the agent's prompt (which reads the same alert came back after an outside change (CHG-…) on the fixed resource: the recorded fix is not blamed); the record reads recurred after an outside change on the Artifacts card and on the incident page, each recurrence naming the change; the Problems list and the problem detail show recurred after an outside change ×N beside the automation facts (shown, never a block); the automatic step lane and the known-issue fast path read the same mark (the fast path says an outside change undid it); and the audit rowlkg_record.did_not_holdnames the change and reads not counted against automating it. A recurrence that also marks a fix nothing explains stays a miss. Marks recorded before this release carry no such field and keep counting: existing problem rows are not rewritten. The ledger read runs on every did-not-hold mark, inside alert intake, so the partial indexix_changerecord_tenant_cloud_write_executed(one workspace's harvested cloud writes by time) is registered at start and built in the background while the app serves; until it is valid that read is slower, not wrong. - Quality: a text-overflow sweep over every portal page. A new Playwright spec opens every portal route the mock workspace serves (22 routes added to the matrix: the finding page, the lab twins, three chapters, the monitors settings) at 1280 and 390 pixels, light and dark, and fails when a table cell or a box that holds text is wider than itself — the way the Problems reason ran into the next column. Its first run found and this release fixes: every stat tile (seven across a laptop left each label a 50-pixel box, so Compliant (automated), Non-compliant, Coverage and a value such as 21.6% ran out of their cards on Audit & coverage → Frameworks and Posture's Backup card — the text now moves under the icon when the card is narrow), Needs you rows on a phone (an address, a one-time window's timestamps or a tool name ran out of the row — the reason keeps its width and wraps), the Estate x-ray category labels (aws:ec2:volume past its column — the label sits above its cards on a phone) and the lab's plan list. The sweep runs with every release.
- Documentation. The new chapter Dashboard; Read an incident gains Recurred after an outside change; the Operate, Getting started and incidents chapters follow the new home and the Unresolved filter. In the platform book, the post-upgrade checks for 0.1.109 to 0.1.143 move to their own page (the upgrade page reached its size ceiling); the upgrade page points there for an install older than 0.1.144.