Commit Graph

76 Commits

Author SHA1 Message Date
root 7d0299f89a fix: 非阻塞回退 Workbench API 调优配置 2026-07-19 20:12:01 +02:00
root 12ad602a63 feat(tasktree): add GitHub disaster recovery backups 2026-07-18 15:15:57 +02:00
root e496aea6f6 fix: keep native Workbench SSE alive
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-18 06:24:56 +02:00
root ae24fcb899 fix: connect native Workbench to Kafka SSE
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-18 05:53:23 +02:00
root 3d9c69adaa fix: connect L1 Workbench to AgentRun v0.2 2026-07-18 04:41:49 +02:00
root 2354fc8dd2 feat: 将 Workbench 后端改造为 Temporal native 架构 2026-07-17 08:02:32 +02:00
root 2563036317 feat: 分离 HarnessRL Temporal 后端 2026-07-17 03:01:15 +02:00
root 23de918e94 feat: add Temporal-backed TaskTree service
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-16 20:59:51 +02:00
UniDesk Codex db4df3db78 test: touch gateway code identity for env reuse 2026-07-06 11:27:09 +08:00
UniDesk Codex 9dba7bf2d6 test: touch gateway code identity for env reuse 2026-07-06 10:38:45 +08:00
lyon 06284f5287 feat: add project workbench launch 2026-06-25 17:59:19 +08:00
lyon de8ebb51c3 feat: add project management microservice 2026-06-25 16:34:59 +08:00
lyon ef32a1e87e fix(workbench): seal terminal turn timing and diagnostics 2026-06-22 05:19:34 +08:00
lyon cf9ac0b08e feat: split workbench runtime read service 2026-06-21 19:42:26 +08:00
Lyon f9bf6231b5 fix: run edge proxy on node runtime (#1830) 2026-06-21 19:06:03 +08:00
lyon 9d3e214237 fix(v03): proxy cloud api through bad upstream ports 2026-06-17 09:24:49 +08:00
Lyon 0cd238c795 fix: extend edge trace idle timeout (#1346) 2026-06-16 22:50:25 +08:00
Lyon 0edcf9e588 feat: add v03 user billing service (#1128) 2026-06-13 14:26:37 +08:00
Codex Agent 13b7621019 fix: support hwpod websocket through edge proxy 2026-06-05 20:04:28 +08:00
Codex Agent 483060a3ee feat: add hwpod node native websocket dispatch 2026-06-05 19:26:13 +08:00
Codex Agent 3e7131f6ab refactor: converge hwpod node-ops channel 2026-06-05 17:23:56 +08:00
Codex Agent fd1b8c0e5a fix(v02): remove legacy code agent control plane 2026-06-05 01:35:35 +08:00
Codex Agent a9f81677e7 fix(v02): preserve device-pod rg patterns on Windows 2026-06-04 16:58:00 +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
Codex Agent 37f1b6af22 fix: support device-pod filename rg 2026-06-04 15:56:08 +08:00
Codex eb5bada0d1 fix(v0.2): device-pod output.text evidence read-only selectors for #773
Tracks pikasTech/HWLAB#773. PR #765 fixed selector confusion but did
not touch cloud-api evidence propagation. This change closes the
real root cause and adds the read-only evidence selectors that #760
follow-up called for.

cloud-api (internal/cloud/access-control.ts):
- DEVICE_JOB_INTENTS adds workspace.evidence and debug.evidence.
- DEVICE_JOB_READ_ONLY_SUB_ACTIONS = { status, output, wait, cancel,
  evidence } and DEVICE_JOB_ACTIONABLE_INTENTS = { workspace.build,
  debug.download } make the mutating-intent / sub-action matrix
  explicit.
- _deviceJobRequiresReason(intent, args, reason) returns false when
  the caller already provided reason OR when the actionable mutating
  intent is paired with a read-only sub-action. debug.reset and other
  non-actionable mutating intents still always require reason.
- executorOutputPayload now also surfaces output.summary,
  nestedOutput.summary, evidence.text, evidence.logTail and
  evidence.summary as body.output.text, so a dispatcher that
  includes the host logTail / buildSummary in its result becomes
  visible to the Code Agent without a separate bootsharp dance.

device-pod executor (cmd/hwlab-device-pod/main.ts):
- gatewayDispatchText also walks result.evidence.{text,logTail,
  summary}, dispatch.message (only when dispatchStatus=completed),
  dispatch.summary, result.summary and dispatch.buildSummary before
  falling back to JSON.stringify.
- deviceHostArgs maps workspace.evidence / debug.evidence to the
  host device-host-cli evidence subcommands.

device-host-cli (skills/device-pod-cli/assets/device-host-cli.mjs):
- new readJobEvidence(kindPrefix, requestedId, { tail, full,
  target }) reads the most recent (or specified) keil-build /
  keil-download job log file and returns it as keil-build.evidence /
  keil-download.evidence. tail defaults to 200, --full for entire
  log. Missing job returns ok=false but does not throw.
- workspace build evidence and debug-probe download evidence now
  wired in main() and help text.

device-pod-cli (tools/src/device-pod-cli-lib.ts):
- selectorCheatSheet adds the evidence row and clarifies that
  build/download status/output/wait/cancel/evidence are read-only
  and do NOT need --reason. build/download start still require
  --reason. usage examples now include the two evidence selectors.
- failed-fast selectors are unchanged; existing 26 tests still pass.

SKILL.md (skills/device-pod-cli/SKILL.md):
- Selector Cheat Sheet adds workspace.evidence and
  debug.evidence rows.
- #773 follow-up note: --reason is now required only for
  mutating sub-actions, not for the read-only ones.

cloud-api tests (internal/cloud/access-control.test.ts):
- workspace.evidence and debug.evidence must be in DEVICE_JOB_INTENTS.
- _deviceJobRequiresReason signature and the read-only / actionable
  branch table.
- executorOutputPayload must look at evidence and summary fields
  in addition to text. 3 new tests; pre-existing 4 workbench
  failures are unrelated to this change and reproduce on the
  unchanged v0.2 base.

Verification (host-side, G14 /root/hwlab-v02, source=0cf9a8c6):
- bun test tools/device-pod-cli.test.ts → 26/26 pass.
- bun test internal/cloud/access-control.test.ts → 23 pass,
  4 pre-existing workbench failures (unchanged on v0.2 base).
- bun test cmd/hwlab-device-pod/main.test.ts → 7/7 pass.
- node --check skills/device-pod-cli/assets/device-host-cli.mjs
  → syntax OK.

Hot probe: live v0.2 cloud-api at 74.48.78.17:19667 confirmed
job_devicepod_804c5db4... (workspace.build) returned
text="", bytes=0, output={} before this change. After the
executor text-extraction update and the new evidence selector,
a follow-up workspace.build start + build evidence will surface
the host logTail / buildSummary in body.output.text without
requiring bootsharp + host file fallback.

Tracked-by: pikasTech/HWLAB#773
2026-06-03 21:57:39 +08:00
Codex 10af8aaf76 fix: restore devicepod cli auth and output evidence 2026-06-02 14:53:41 +08:00
Codex 923fcf6e92 fix: align v02 gateway evidence environment 2026-06-01 08:26:21 +08:00
Codex 028308e4bd feat: 接入 D601 F103 v2 device-pod 2026-05-31 18:39:30 +08:00
Codex 5bf4bf0f47 feat: sync g14 harness and device-pod cli 2026-05-31 05:07:16 +08:00
Codex d1ffc007e4 feat: add v02 device-pod env reuse boot path 2026-05-29 22:49:08 +08:00
Codex 6289978cd4 fix: list multiple device pod executors 2026-05-29 19:26:58 +08:00
Codex 8f0bda969b fix: align device pod status contract 2026-05-29 19:13:06 +08:00
Codex 5ebadee19f fix: require internal token for device pod executor 2026-05-29 16:28:34 +08:00
Codex 6c78f34158 fix: make device pod host cli launch windows safe 2026-05-29 15:58:55 +08:00
Codex d7ff08f3f2 refactor: run hwlab gateway through bun ts 2026-05-29 15:01:56 +08:00
Codex bffbb00275 fix: bound device pod job output 2026-05-29 12:12:31 +08:00
Codex f740fc9dbc feat: migrate device pod cli to rest authority 2026-05-29 11:30:17 +08:00
Codex 4cdc80e672 feat: wire device pod gateway dispatch 2026-05-29 10:44:59 +08:00
Codex 062f4b2112 feat: route device pod jobs through executor 2026-05-29 10:03:57 +08:00
Codex b99c663614 feat: enforce v02 runtime authority 2026-05-29 08:10:19 +08:00
Codex ba9daf7e03 fix: resolve bun command from ci path 2026-05-29 03:34:56 +08:00
Codex 03c09f5c94 refactor: migrate v0.2 runtime services to TypeScript 2026-05-29 02:09:35 +08:00
Codex a0869c5afa refactor: migrate v02 cloud api to TypeScript 2026-05-29 00:33:22 +08:00
Codex 96b60b5643 fix: bind device pod service port 2026-05-28 03:37:42 +08:00
Codex 297206b695 feat: add fake device pod sidebar service 2026-05-28 01:39:03 +08:00
Codex a56ea7e33e fix: extend code agent timeout recovery 2026-05-27 07:46:24 +08:00
Codex f1067bb51f fix: restore codex-api via pod-local forwarder 2026-05-26 17:05:43 +08:00
Codex 986d8f5c07 fix: route deepseek codex via moonbridge 2026-05-26 10:27:25 +08:00