Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions BACKLOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,14 @@
> links to `/scans/{latest_scan_id}`; Group (None/Status/OS) + a real Filters
> popover (Status/Compliance/OS) now work; per-user view default persists
> server-side (`users.preferences` JSONB, `/api/v1/users/me/preferences`).
> **Pending (P3 verification):** browser eyeball of the chart-icon ->
> `/scans` navigation was blocked on the Claude Chrome extension not
> connecting; data path is proven at the API/DB level. Re-test once the
> extension is up (owas-tst01 -> scan `019ee4d5-dc40-7342-8451-30cef7fa6c95`).
> Browser-verified live (the chart icon on `owas-tst01` navigates to its
> `/scans/{uuid}` report; the icon is correctly hidden on never-scanned
> hosts).
>
> **Scan detail host label — shipped (PR #613).** The `/scans/{id}` detail
> header showed a truncated host UUID; it now shows hostname (else IP, else
> short UUID), resolved server-side from the `hosts` table
> (`api-scans` v1.1.0). Browser-verified (`owas-tst01`).

---

Expand Down
35 changes: 35 additions & 0 deletions SESSION_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,41 @@ and their provenance lives here + in the commit history.

---

## 2026-06-20 — Opus 4.8 (1M context) — Scan detail host label (PR #613)

**Done** (PR #613 `f07e21fc` on `fix/scan-detail-host-label`, gate green,
merging):

Live UI nit from a screenshot review: the **Scan detail** page (`/scans/{id}`)
**Host** field rendered `scan.host_id.slice(0, 8)` — a truncated UUID
(`019eccd8`), not human-friendly. Now shows **hostname, else IP, else short
UUID** (last resort only).

- **Backend** (`api-scans` v1.1.0 C-07/AC-08): `GET /scans/{id}` resolves the
host's `hostname` + `ip_address` from the `hosts` table onto `ScanSummary`
(one extra lookup in `scanresult.Reader.GetScan`). The list endpoint omits
them (the `/scans` browse caller already has host context, and `ScansPage`
already resolves names from its hosts list). `toAPIScanSummary` pointer-wraps
both so list rows stay clean.
- **Frontend** (`frontend-scan-detail` v1.1.0 C-08/AC-08): the Host `Meta`
renders `scan.hostname || scan.ip_address || scan.host_id.slice(0, 8)`, still
a Link to `/hosts/$hostId`.
- **Verified live** in Chrome: the header now reads `owas-tst01` (was
`019eccd8`).

**Gotcha:** first cut used `COALESCE(ip_address, '')` and 500'd —
`hosts.ip_address` is Postgres `inet`, which can't `COALESCE` with a text
`''`. Fixed with `COALESCE(host(ip_address), '')` (matches how
`internal/host` formats it — plain address, no `/netmask`). Caught by the
failing→passing AC-08 integration test, not in prod.

**Tests:** backend AC-08 (named host -> hostname+IP; empty-hostname host ->
empty hostname + IP fallback); frontend AC-08 (source-inspection of the
fallback chain, old bare-UUID render gone). Full `api-scans` + `scanresult`
suites green; `specter check` 111 specs.

---

## 2026-06-20 — Opus 4.8 (1M context) — Host Management page fixes (PR #611)

**Done** (merged to `main` `f6f46cdc` via PR #611; 3 stacked commits + a build fix):
Expand Down
Loading