Lyon
ec4ab46411
fix(v02): collapse duplicate assistant trace snapshots ( #863 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 22:10:23 +08:00
Lyon
03f604d3fe
fix(v02): persist terminal trace before refresh ( #861 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 22:05:59 +08:00
Lyon
c4ff24f60a
fix(v02): dedupe replayed trace tool rows ( #860 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 21:49:57 +08:00
Lyon
7652b39235
fix(v02): persist Web refresh state ( #859 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 21:45:40 +08:00
Lyon
412f95f1a5
fix(v02): unify web trace markdown rendering ( #858 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 21:33:01 +08:00
Lyon
84e649c294
fix(v02): load compact conversation traces ( #856 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 21:12:07 +08:00
Lyon
1e085691e6
fix: repair persisted conversation snapshots ( #855 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 20:59:10 +08:00
Lyon
2129cebfef
fix(v02): improve trace and sidebar web ui ( #854 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 20:56:43 +08:00
Lyon
758c26a448
fix: surface playwright fallback remediation ( #852 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 20:55:21 +08:00
Lyon
eca9dbaa9c
fix: persist expired code agent trace summaries ( #851 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 20:40:36 +08:00
Lyon
6b417cc620
fix: add repo-owned playwright probe guard ( #850 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 20:35:58 +08:00
Codex Agent
b896db85d4
docs: specify v02 PR auto CD workflow
2026-06-04 20:09:12 +08:00
Lyon
ef527d3ecd
feat(v02): add final response session verifier ( #847 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 19:02:13 +08:00
Lyon
d23cc410be
fix(v02): bound cloud web layout smoke ( #846 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 18:50:35 +08:00
Lyon
dc74c7c99a
Merge pull request #845 from pikasTech/fix/issue844-trace-json-contract
...
fix(v02): expose trace render json summary
2026-06-04 18:29:33 +08:00
Codex Agent
b4e8c0a8b4
fix(v02): expose trace render json summary
2026-06-04 18:28:41 +08:00
Lyon
6a79bc8f15
fix(v02): repair persisted final response fallback ( #840 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 18:18:00 +08:00
Lyon
3f26ec0b16
fix(v02): add workspace scroll follow and markdown renderer ( #839 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 17:50:47 +08:00
Lyon
2fc3972ddd
fix(v02): compact workbench status panels ( #838 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 17:47:56 +08:00
Lyon
be557c09bc
fix(v02): repair final response status ( #837 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 17:45:25 +08:00
Lyon
62a99084d7
Merge pull request #835 from pikasTech/fix/issue826-webui-trace
...
fix(v02): unify web trace final response
2026-06-04 17:30:38 +08:00
Codex Agent
7a58695318
fix(v02): unify web trace final response
2026-06-04 17:29:28 +08:00
Lyon
20199b8215
Merge pull request #832 from pikasTech/fix/v02-device-pod-rg-windows-quote
...
fix(v02): preserve device-pod rg patterns on Windows
2026-06-04 17:00:15 +08:00
Lyon
6c6a64b414
fix(v02): honor HTTP session cookie security ( #831 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 16:59:15 +08:00
Codex Agent
a9f81677e7
fix(v02): preserve device-pod rg patterns on Windows
2026-06-04 16:58:00 +08:00
Lyon
7b2f4fa45f
fix: wait for device-pod build verify output ( #830 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 16:23:35 +08:00
Lyon
8e8f6513a5
Merge pull request #828 from pikasTech/fix/issue820-ls-output-visibility
...
fix(v02): widen device-pod job output visibility
2026-06-04 16:18:52 +08:00
Codex Agent
baa7289ca0
fix(v02): widen device-pod job output visibility
2026-06-04 16:16:56 +08:00
Lyon
9928954ea6
feat: add device-pod build verify ( #827 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-04 16:11:00 +08:00
Lyon
c1960f1cbc
Merge pull request #825 from pikasTech/fix/issue820-rg-name-search
...
fix(v02): support device-pod filename rg
2026-06-04 15:58:16 +08:00
Codex Agent
37f1b6af22
fix: support device-pod filename rg
2026-06-04 15:56:08 +08:00
Lyon
ff7f07434d
Merge pull request #824 from pikasTech/fix/issue-814-cloud-web-authorization-proxy
...
fix(v02): forward API key auth through cloud web
2026-06-04 15:54:57 +08:00
Codex Agent
c0879ef764
fix(v02): forward API key auth through cloud web
2026-06-04 15:54:00 +08:00
Lyon
53f76e8724
Merge pull request #823 from pikasTech/fix/issue-814-cloud-web-api-key-proxy
...
fix(v02): proxy API key writes through cloud web
2026-06-04 15:45:35 +08:00
Codex Agent
a312cc7f99
fix(v02): proxy API key writes through cloud web
2026-06-04 15:44:07 +08:00
Lyon
1427ded71f
Merge pull request #822 from pikasTech/fix/issue-816-ui-density
...
fix: compact v0.2 code agent workbench layout
2026-06-04 15:33:59 +08:00
Codex Agent
e46350993c
fix: compact code agent workbench layout
2026-06-04 15:26:13 +08:00
Lyon
f1ade3d56d
Merge pull request #819 from pikasTech/fix/issue-814-v02-endpoint-contract
...
fix(v02): remove stale endpoint contract freeze
2026-06-04 15:20:33 +08:00
Codex Agent
7fc6603c30
fix(v02): remove stale endpoint contract freeze
2026-06-04 15:19:38 +08:00
Lyon
74af0c796b
Merge pull request #793 from pikasTech/fix/issue-788-keycloak-auth-migration
...
feat(v0.2): user API key + 24h session + Keycloak OIDC (rounds 1-9 of #788 )
2026-06-04 15:03:26 +08:00
Codex Agent
e64ee92fb1
fix(v0.2): align Keycloak auth to HTTPS session API key
2026-06-04 15:01:30 +08:00
Codex Agent
683d7b7459
docs(v02): record Keycloak deployment baseline
2026-06-04 15:01:30 +08:00
Codex Agent
e70dab1f88
fix(v02): wire Keycloak OIDC runtime
2026-06-04 15:01:30 +08:00
Codex Agent
36b264f212
fix(keycloak): use supported admin bootstrap env
2026-06-04 15:01:30 +08:00
Codex
4d48db9e7c
feat(hwlab-cli): client auth oidc-login returns Keycloak authorize URL
2026-06-04 15:01:30 +08:00
Codex
6b93ebd0ef
fix(k8s): keycloak admin bootstrap Job - simpler mount and script
2026-06-04 15:01:30 +08:00
Codex
0370135a35
feat(k8s+tests): keycloak bootstrap Job + AgentRun actor trace tests
...
- new deploy/k8s/keycloak/keycloak-bootstrap-job.yaml: one-shot Job that waits for Keycloak, authenticates as admin, creates hwlab realm + hwlab-cloud-web OIDC client via REST API
- secret hwlab-cloud-web-client holds the OIDC client_secret used by cloud-api
- kustomization.yaml picks up the new Job and Secret
- access-control.test.ts: cloud api AgentRun trace records real actor.userId from OIDC-upserted user (issue 788 spec)
- access-control.test.ts: cloud api /v1/users/me returns actor with authMethod=api-key for HWLAB_API_KEY Bearer token
- 31 pass / 4 pre-existing fail
2026-06-04 15:01:30 +08:00
Codex
84cca71bef
feat(cloud-api): v0.2 OIDC login/callback (state, nonce, user upsert)
2026-06-04 15:01:30 +08:00
Codex
1ba5103d33
fix(k8s): add --bootstrap-admin-username/password CLI args to keycloak
2026-06-04 15:01:30 +08:00
Codex
ca5ff418dd
feat(k8s): keycloak namespace manifests + apply on G14
...
- new deploy/k8s/keycloak/ kustomization with namespace, keycloak-postgres StatefulSet, keycloak Deployment
- keycloak Deployment uses quay.io/keycloak/keycloak:25.0 with --hostname-strict=false, postgres backend
- PVC data-keycloak-postgres-0 (5Gi local-path) bound to the StatefulSet
- secrets keycloak-postgres / keycloak-admin provisioned in keycloak namespace
- OIDC discovery endpoint confirmed reachable via port-forward; master realm issuer http://.../realms/master
- next round will provision the hwlab realm + OIDC client
2026-06-04 15:01:30 +08:00