Skip to content
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
15022b9
FE-1224: Add detached, reconnectable optimization runs to the Petrina…
kube Jul 19, 2026
a23b8b0
FE-1224: Address review — bound the run engine and fix attach edge cases
kube Jul 19, 2026
8b1c6a9
FE-1225: Proxy detached Petrinaut optimization runs through NodeAPI
kube Jul 19, 2026
c79703e
FE-1225: Address review — share admission state and harden ownership
kube Jul 19, 2026
cf08515
FE-1222: Classify Petrinaut optimization transport errors in the UI
kube Jul 19, 2026
decea70
FE-1226: Auto-reconnect Petrinaut optimization streams by run id and …
kube Jul 19, 2026
d36b63d
FE-1226: Align detached-run flow with the NodeAPI contract
kube Jul 19, 2026
469d5b1
FE-1226: Address review — cancel orphaned runs and honest reconnect s…
kube Jul 19, 2026
d2b42dd
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 23, 2026
9f93e27
FE-1226: Remove the legacy single-connection optimization path
kube Jul 23, 2026
691d81a
FE-1225: Drop the legacy streaming optimize route from NodeAPI
kube Jul 23, 2026
c07fb78
FE-1224, SRE-810: Keep the events attachment out of the RED latency SLIs
kube Jul 23, 2026
2c4fae2
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 23, 2026
94d374a
FE-1224, FE-1225: Address review — end superseded attachments cleanly…
kube Jul 23, 2026
7fcbd4a
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 23, 2026
a32969e
FE-1222, FE-1226: Address review — classify demo stream errors and ha…
kube Jul 23, 2026
9ebf1d5
FE-1225: Factor the shared optimization route preamble
kube Jul 23, 2026
fa2058c
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 23, 2026
1848a8c
FE-1224, FE-1225: Move run ownership into the optimizer and thin Node…
kube Jul 24, 2026
dcb0fa1
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 24, 2026
1292a65
FE-1226: Alias the demo's openapi-fetch verb methods for oxlint's new…
kube Jul 24, 2026
838808c
FE-1226: Bump petrinaut packages as patch, not minor
kube Jul 24, 2026
78bc356
FE-1225: Keep cancel off the create rate bucket
kube Jul 24, 2026
3764187
Merge branch 'backend-consolidated' into frontend-cutover
kube Jul 24, 2026
8abd688
FE-1226: Report a created run as running before its first event
kube Jul 24, 2026
8808b14
FE-1226: Allow the quiet-run test's yield-less attachment generator
kube Jul 24, 2026
79c0b6f
FE-1226: Address review — classify attach-time drops and keep stored …
kube Jul 24, 2026
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
6 changes: 6 additions & 0 deletions .changeset/eight-streams-return.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@hashintel/petrinaut-core": minor
"@hashintel/petrinaut": minor
---

Make optimization runs detached and resumable — and make that the only contract. Optimization events carry a server-issued `seq`; the host optimization capability is now `createOptimizationRun`/`attachOptimizationRun`/`cancelOptimizationRun` (all required; attachments accept an `onAttached` callback so UIs can report an honest connection state), and the legacy single-connection `optimize` method is removed. The optimizations UI auto-reconnects dropped event streams by run id and cursor, re-attaching after page reloads where storage allows.
5 changes: 5 additions & 0 deletions .changeset/fe-1225-optimization-event-seq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@hashintel/petrinaut-core": patch
---

Add an optional `seq` sequence number to every optimization event so detached, reconnectable optimization runs can be resumed from a cursor.
6 changes: 6 additions & 0 deletions apps/hash-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ The HASH Backend API service is configured using the following environment varia
together to enable Petrinaut optimization. The authenticated capabilities
endpoint reports this configuration independently of service health, so a
temporary optimizer outage does not make the feature disappear from HASH.
- NodeAPI proxies detached, reconnectable optimization runs:
`POST /api/petrinaut-optimizer/optimize/runs` starts a run and returns its
id, `GET /api/petrinaut-optimizer/optimize/runs/:runId/events?cursor=N`
attaches to (and resumes) its NDJSON event stream without affecting the
run, and `DELETE /api/petrinaut-optimizer/optimize/runs/:runId` cancels
it. Runs are only visible to the account that created them.
- `FRONTEND_URL`: The URL the frontend is hosted on.
- Vault
- `HASH_VAULT_HOST`: The host address (including protocol) that the Vault server is running on, e.g. `http://127.0.0.1`
Expand Down
Loading
Loading