root
8ad5976a07
feat: 拉通 Workbench 纯 Kafka 实时链路
2026-07-10 10:22:28 +02:00
root
efe4b62a0b
fix: make Kafka projection the sole Workbench authority
2026-07-10 06:51:09 +02:00
root
ce83ffdf49
feat: make Kafka projector the Workbench realtime authority
2026-07-10 05:23:21 +02:00
root
f416950556
fix: require durable AgentRun dispatch admission
...
Move fresh and retry runner dispatch into AgentRun command admission, remove process-local job creation and secret persistence, and split oversized modules by responsibility.
Co-Authored-By: Codex <noreply@openai.com >
2026-07-10 02:12:02 +02:00
UniDesk Codex
19ea9d0962
fix: enforce workbench terminal seal invariant
2026-07-01 19:41:49 +08:00
UniDesk Codex
f0b6c692bd
fix: expose mdtodo workbench trace diagnostics
2026-06-30 20:41:32 +08:00
Lyon
8a7e17cc43
fix: inherit postgres sslmode from project db url ( #2191 )
2026-06-26 14:47:07 +08:00
Lyon
869ac9b73a
fix: assign promoted seq to workbench inputs ( #2178 )
2026-06-26 05:56:58 +08:00
Lyon
b0f36a3789
feat: persist workbench session inputs ( #2175 )
2026-06-26 05:10:24 +08:00
lyon
686e415473
fix: decouple postgres write readiness from durable reads
2026-06-25 10:45:51 +08:00
Lyon
deef52bdc6
fix(workbench): emit session message outbox snapshots ( #2065 )
2026-06-24 21:14:52 +08:00
Lyon
e98b3e2f17
fix: add workbench aggregate event stream ( #2064 )
2026-06-24 20:04:21 +08:00
Lyon
64bee6e784
fix(runtime): bound cloud db query timeout ( #1979 )
2026-06-23 19:00:00 +08:00
Lyon
0d0fdd0b51
fix(workbench): bound durable read fan-out ( #1954 )
2026-06-23 06:48:49 +08:00
Lyon
e23e9522d1
fix: keep workbench alive on postgres timeout ( #1831 )
2026-06-21 19:20:34 +08:00
lyon
b776a9631a
fix(auth): reset postgres pool after transient timeout
2026-06-21 11:43:31 +08:00
Lyon
8b529c39a0
fix(workbench): retry transient runtime store reads ( #1797 )
2026-06-21 09:16:23 +08:00
lyon
7ac200cd7e
fix: expose retryable projection gaps
2026-06-21 04:14:58 +08:00
lyon
adba4a4354
fix: contain postgres unhandled connection timeouts
2026-06-21 04:00:50 +08:00
lyon
cf13bf80a9
fix: contain postgres projection timeouts
2026-06-21 03:45:23 +08:00
lyon
183cf653f4
fix: resequence existing workbench trace migration
2026-06-20 20:43:37 +08:00
lyon
482218f2cc
fix: resequence workbench trace migration
2026-06-20 20:34:15 +08:00
lyon
69d5264360
fix: make workbench trace migration idempotent
2026-06-20 20:24:48 +08:00
lyon
bad5a478bd
fix: recover Workbench terminal outbox projection
2026-06-20 20:12:01 +08:00
lyon
800f674d5c
fix: recover AgentRun terminal projection
2026-06-20 20:05:13 +08:00
Lyon
b254c1875e
feat: PJ2026-0104010803 P1 durable projection outbox + DB constraints + error visibility ( #1754 )
...
DB migration (0001_cloud_core_skeleton.sql):
- Add (trace_id, source_event_id) unique index on workbench_trace_events
- Add (trace_id, projected_seq) unique index on workbench_trace_events
- Add workbench_projection_outbox table with BIGSERIAL outbox_seq
Schema (schema.ts):
- Bump CLOUD_RUNTIME_DURABLE_ADAPTER_SCHEMA_VERSION to v5
- Add workbench_projection_outbox to CLOUD_RUNTIME_DURABLE_TABLE_COLUMNS
Runtime store (runtime-store.ts):
- Add persistWorkbenchProjectionOutbox method
- Add readWorkbenchProjectionOutbox method for SSE cursor replay
- Write outbox rows in writeWorkbenchFacts for trace events and terminal turns
- Outbox write errors are logged, not silently swallowed
Trace store (code-agent-trace-store.ts):
- persistTraceEvent no longer uses .catch(() => {}) to swallow errors
- Projection write errors are logged with traceId/sourceEventId for diagnostics
- Sync errors also logged instead of empty catch block
SPEC headers updated to draft-2026-06-20-p1-zero-split-durable-realtime
Closes #1747
Refs #1742
2026-06-20 19:29:44 +08:00
lyon
11e2f08e70
fix: order workbench sessions by updated desc
2026-06-20 15:36:41 +08:00
lyon
6468263672
fix: thin workbench session list projection
2026-06-20 13:24:49 +08:00
Lyon
acd9831149
Fix workbench trace projection authority ( #1696 )
2026-06-20 12:47:18 +08:00
lyon
c8ff65f11f
fix: reuse proven runtime readiness for workbench reads
2026-06-20 12:17:54 +08:00
lyon
793f0f39a4
fix: use projected trace cursor as workbench authority
2026-06-20 10:55:11 +08:00
Lyon
f637f32631
fix: parallelize workbench read-model fact reads ( #1680 )
2026-06-20 10:29:00 +08:00
Lyon
57ba729fca
fix: reduce workbench read-model fact scans ( #1676 )
2026-06-20 10:02:38 +08:00
lyon
4e64058614
feat: read workbench get from durable facts
2026-06-20 09:15:59 +08:00
lyon
6dd02cabc7
feat: add durable workbench facts store
2026-06-20 08:45:51 +08:00
lyon
c318e8eadf
fix: 支持 runtime store 连接池 YAML 配置
2026-06-20 08:01:59 +08:00
lyon
3f83852f60
fix: persist workbench projection cursor
2026-06-19 21:20:11 +08:00
lyon
063633f8e2
fix: stagger workbench background db scans
2026-06-19 16:54:43 +08:00
lyon
4d62b1be57
fix: reduce durable workbench trace read pressure
2026-06-19 12:30:43 +08:00
lyon
4500fb6486
feat(workbench): 持久化 Code Agent trace 投影
2026-06-17 11:58:07 +08:00
Lyon
9279c5f819
fix: use libpq ssl semantics for runtime postgres ( #1143 )
2026-06-13 21:40:45 +08:00
Codex Agent
3e7131f6ab
refactor: converge hwpod node-ops channel
2026-06-05 17:23:56 +08:00
Codex Agent
d6769bf1d3
fix: remove v02 authorization residue
2026-06-05 14:00:13 +08:00
Lyon
fc411b00f8
fix: remove legacy device pod grants authority ( #906 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-05 12:02:51 +08:00
Lyon
48e3d24ad6
fix: converge v02 authorization on OpenFGA ( #899 )
...
Co-authored-by: Codex Agent <codex@hwlab.local >
2026-06-05 11:11:15 +08:00
Codex
b7285b30b1
feat(workbench): share account workspace across web and cli
2026-06-01 21:31:26 +08:00
Codex
671303d2b9
feat: add v02 access device pod authority
2026-05-29 02:15:55 +08:00
Codex
a0869c5afa
refactor: migrate v02 cloud api to TypeScript
2026-05-29 00:33:22 +08:00
Code Queue Review
a729f19f78
fix: honor runtime db ssl mode in postgres adapter
2026-05-23 04:23:43 +00:00
Code Queue Review
0d2ebf1779
fix: classify pg hba no-encryption as ssl
2026-05-23 03:13:09 +00:00