Commit graph

698 commits

Author SHA1 Message Date
777genius
9e3efa18ce perf(team): batch task activity interval resume across alive members
Collapses the per-member resume scan in getMemberSpawnStatuses into a single
readdir + file lock + pass over the team's tasks. Avoids N x IO when multiple
members become alive at launch. Semantics of the applied-set guard are
preserved 1:1; the single-member API stays as a wrapper around the batch.
2026-05-29 00:44:31 +03:00
777genius
d9479b5c61 perf(team): skip redundant task interval resumes for stable alive members
readPersistedStatuses каждый раз делал полный sync-scan всех task
JSON под file lock и звал resumeActiveIntervalsForMember для каждого
member с runtimeAlive=true — на больших командах блокировал main
до 8s. Теперь маркируем member как 'resume applied' пока он остаётся
alive, сбрасываем маркер при переходе в not-alive (через
syncMemberTaskActivityForRuntimeTransition и в readPersistedStatuses
loop). Resume остаётся идемпотентным и материализует интервалы из
истории один раз за цикл alive.
2026-05-29 00:14:40 +03:00
777genius
068399543e feat(team): clean stale persisted runtime metadata for dead direct processes
Когда снимок liveness возвращает stale_metadata для direct-process
teammate с persisted runtimePid, который реально мёртв — собираем
кандидатов на очистку и сбрасываем их runtimePid/bootstrap-поля
из config.json через двойной чек под guard для запущенных run/launch
state. Это убирает мёртвые pid из последующих snapshot'ов и не
трогает OpenCode/lane-aware/runtime-session-имеющиеся записи.

Дополнительно добавлены targeted-pid liveness check (используется
расширение TeamRuntimeLivenessResolver.targetedProcess) и
shouldUsePersistedLaunchRuntimePidForMetadata, чтобы не подсасывать
устаревший pid в metricsPid для членов с lane-aware конфигурацией.
2026-05-29 00:06:48 +03:00
777genius
7e6c0da21e fix(team): allow same-run bootstrap clock skew for native proofs
resolveBootstrapRuntimeEvidenceBoundaryMs учитывает оба источника
времени старта (firstSpawnAcceptedAt и bootstrapExpectedAfter) и
принимает более раннее, если у member и runtime совпадает
bootstrapProofToken + runId. Это лечит случай, когда proof подписан
до того, как app зафиксировал firstSpawnAcceptedAt, но после
bootstrap boundary самого ранкона. Та же логика применена в
isBootstrapMemberEvidenceCurrentForMember для confirmation evidence.
2026-05-29 00:03:17 +03:00
777genius
1f6c9fe34b feat(team): add targeted runtime pid liveness check
resolveTeamMemberRuntimeLiveness принимает опциональный targetedProcess
с pid + command — если строка процесса проходит team/agent verification,
liveness отмечается как 'runtime_process' даже когда полная process table
не нашла его (например при гонке snapshot vs spawn). Дополнительно для
direct-process backend разрешён fallback по --agent-name, когда команда
запущена без --agent-id.
2026-05-28 23:55:51 +03:00
777genius
90fe3c9107 fix(opencode): detect managed node_modules symlink permission failures
Распознаём отдельную диагностику для EPERM на создании managed
node_modules symlink под Windows и подсказываем пользователю
запустить приложение от имени Administrator. UI-подсказка и
provisioning hint показываются только для этого случая, обычный
Windows access-denied flow не затрагивается.
2026-05-28 23:55:28 +03:00
777genius
961770b7a7 fix(team): support OpenCode lead runtime sessions 2026-05-28 23:41:34 +03:00
777genius
9af0a0df2b perf(team): cache runtime command parsing 2026-05-28 23:13:26 +03:00
777genius
c357793c2f fix(security): harden command and path handling 2026-05-28 22:34:47 +03:00
777genius
ff0543caf9 perf(team): cache transcript and telemetry scans 2026-05-28 21:30:32 +03:00
777genius
5bc9f6db7b fix(changes): hide suppressed opencode ledger imports 2026-05-28 21:24:35 +03:00
777genius
d35f03b396 fix(runtime): pass stored Codex key to status probes
Refs #189
2026-05-28 18:36:06 +03:00
777genius
6b8ab10414 fix(opencode): stabilize runtime message delivery 2026-05-28 16:39:04 +03:00
infiniti
fa36d7f3c0
fix(opencode): extend summary status timeout 2026-05-28 00:39:53 +03:00
infiniti
0cbba46083
fix(team): speed up provider runtime preflight 2026-05-27 23:54:10 +03:00
infiniti
e06c24a041
fix: add OpenCode status inventory fallback 2026-05-27 22:41:43 +03:00
iliya
21404894c2 fix: add Windows provider status fallback 2026-05-27 21:54:24 +03:00
777genius
77e08af03f fix(team): propagate managed runtime settings env 2026-05-27 18:56:24 +03:00
777genius
7cc1a59bbc fix(team): preserve mixed provider runtime settings 2026-05-27 18:22:10 +03:00
infiniti
ebcc0e717f
fix(team): reconcile provisioned-but-not-alive bootstrap state 2026-05-27 12:16:41 +03:00
Илия
3849c01955
fix(provenance): classify synthetic user turns
* fix(provenance): classify synthetic user turns

* fix(provenance): keep assistant display rendering intact

* fix(provenance): preserve source tool result rows
2026-05-26 23:51:17 +03:00
777genius
ab6ab1fc4c test(team): cover provisioned runtime recovery 2026-05-26 23:44:40 +03:00
777genius
c79b7d4234 fix(team): suppress unverified relay state claims 2026-05-26 23:44:40 +03:00
777genius
f237318c29 fix(agent-teams): surface OpenCode runtime permissions 2026-05-26 19:46:24 +03:00
777genius
636beb5e42 fix(scripts): quote Windows shell invocations 2026-05-26 19:46:13 +03:00
777genius
58a0eb603d build(runtime): require Node 24 toolchain 2026-05-26 19:44:23 +03:00
777genius
4640e1eea4 fix(startup): ignore stale opencode probe results 2026-05-26 10:39:50 +03:00
777genius
a8ac52b6f3 perf(startup): dedupe opencode version probes 2026-05-26 10:32:46 +03:00
777genius
b5d7da1ea8 fix(attachments): support claude gif delivery 2026-05-25 23:43:29 +03:00
777genius
0d4e6f5047 perf(startup): avoid provider refresh version probe 2026-05-25 23:37:12 +03:00
777genius
33463d3479 perf(startup): skip deferred cli version probe 2026-05-25 23:25:21 +03:00
777genius
a6dd0061a8 perf(startup): defer heavy startup work 2026-05-25 23:14:59 +03:00
777genius
e64fff8af0 fix(watcher): baseline large existing jsonl files 2026-05-25 22:26:55 +03:00
777genius
63e16d1043 fix(workspace-trust): canonicalize git worktree trust roots 2026-05-25 21:30:56 +03:00
777genius
c033a0cb87 fix(team): persist incomplete launch state before cleanup 2026-05-25 14:53:05 +03:00
infiniti
2cee9cabaf
fix(opencode): harden local runtime bridge support 2026-05-25 14:31:57 +03:00
infiniti
2b3a184bef
fix(opencode): recover empty bridge output sends
* fix(opencode): handle empty readiness bridge output

* fix(opencode): retry read-only bridge no-output

* fix(opencode): recover empty bridge output sends

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-25 00:41:54 +03:00
777genius
1bc8ccc07a fix(ci): restore workspace validation 2026-05-25 00:14:43 +03:00
infiniti
50f876f863
fix(opencode): retry read-only bridge no-output
* fix(opencode): handle empty readiness bridge output

* fix(opencode): retry read-only bridge no-output

---------

Co-authored-by: iliya <iliyazelenkog@gmail.com>
2026-05-24 23:22:34 +03:00
777genius
776957b607 fix(team): keep runtime adapter lead activity idle 2026-05-24 20:43:11 +03:00
777genius
4a4c67fcb9 fix(team): reconcile bootstrap runtime snapshots 2026-05-24 17:02:36 +03:00
777genius
7aa87f2278 fix(team): heal stale confirmed bootstrap diagnostics
- Carry bootstrap run ids from bootstrap-state into member evidence and compare them with current run identity.

- Allow small confirmation clock skew for delayed Anthropic app acceptance without accepting stale rapid relaunch evidence.

- Clean confirmed bootstrap members that only have stale persisted runtime pid diagnostics.

- Cover process-table unavailable, post-stop stale pid and mixed launch reconcile cases.
2026-05-24 15:57:50 +03:00
777genius
f6b2bc4cec fix(team): reject failed opencode session handles 2026-05-24 12:21:58 +03:00
777genius
95652c8990 refactor(team): extract provisioning service policies 2026-05-24 11:37:37 +03:00
777genius
cbf5356fdc fix(runtime): prefer shell node for GUI launches 2026-05-24 01:00:03 +03:00
777genius
91b153459a feat: add resilient cross-platform file watching
Share watcher fallback behavior across project, todo, team, and task file monitoring. Add polling fallback coverage for watcher-limit and startup failure cases so Linux EMFILE conditions degrade instead of amplifying renderer crashes.
2026-05-24 00:22:48 +03:00
777genius
b9cbdde502 fix(team): include runtime logs in launch failure artifacts
Refs: 777genius/agent-teams-ai#140
2026-05-23 23:33:54 +03:00
777genius
2be35c74ec fix(startup): repair deferred runtime refresh paths 2026-05-23 17:08:13 +03:00
777genius
34a1b86b21 perf(startup): defer noncritical startup probes 2026-05-23 15:04:05 +03:00
777genius
a4861fa77d perf(startup): defer provider status checks 2026-05-23 14:23:57 +03:00