Commit graph

2311 commits

Author SHA1 Message Date
777genius
cb35992cff fix(team): repair runtime snapshot caching and rss sampling regressions
Pre-existing regressions из 'cache transcript and telemetry scans':

- pidsMissingUsageStats теперь всегда фильтрует runtimeUsagePids по
  отсутствию stats, а не только когда runtimeProcessRowsForSnapshot
  null. Пустой/неполный results-row больше не блокирует pidusage
  fallback.
- Кэш runtimeProcessTableCache очищается при invalidateRuntime-
  SnapshotCaches и не репопулируется in-flight'ом, который начат до
  invalidate (через generation token + caller-aware cache context).
- runtimeProcessUsageStatsCacheByPid очищается в invalidate, а в
  shared OpenCode host refresh branch'е сбрасывается negative-cache
  для конкретного pid'а перед таргетным sample'ом.

Зеленит 25 теста в TeamProvisioningService > getTeamAgentRuntimeSnapshot,
включая 'uses batched pidusage rss values', 'captures CPU and memory
history', 'does not cache live runtime metadata when invalidated while
the probe is in flight', 'shows RSS for OpenCode secondary lane host
pids'.
2026-05-29 00:51:03 +03:00
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
005742e9ad perf(team): throttle runtime watcher refreshes 2026-05-28 23:09:20 +03:00
777genius
c357793c2f fix(security): harden command and path handling 2026-05-28 22:34:47 +03:00
777genius
8edff2f0c3 perf(team): isolate task duration ticking 2026-05-28 22:30:07 +03:00
777genius
5e3e77bf65 perf(team): reduce render hot path lookups 2026-05-28 22:03:40 +03:00
777genius
97eb98466a perf(team): batch task presence updates 2026-05-28 21:56:36 +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
371bf948c2 fix(i18n): cover missing ui translations 2026-05-28 18:36:34 +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
777genius
c49d6c373e merge: dev into main
# Conflicts:
#	.github/workflows/reviewrouter-codex.yml
#	.github/workflows/reviewrouter-interaction.yml
2026-05-28 02:07:36 +03:00
777genius
1126b1ee38 fix(ci): restore dev validation 2026-05-28 01:47:43 +03:00
infiniti
fa36d7f3c0
fix(opencode): extend summary status timeout 2026-05-28 00:39:53 +03:00
777genius
6fbba5feb9 fix(runtime): default provider panel to providers 2026-05-28 00:27:54 +03:00
777genius
a4fb99d0e8 chore(release): use runtime v0.0.50 2026-05-28 00:23:59 +03:00
Илия
9b8dce33f0
Merge pull request #184 from 777genius/fix/main-tmp-audit
fix(ci): resolve tmp audit failure
2026-05-27 23:55:58 +03:00
infiniti
0cbba46083
fix(team): speed up provider runtime preflight 2026-05-27 23:54:10 +03:00
Илия
a76d0cb2ed
fix: count OpenCode inventory fallback as connected Merge pull request #183 from 777genius/fix/opencode-inventory-summary-count
fix: count OpenCode inventory fallback as connected
2026-05-27 23:46:55 +03:00
777genius
73f76d5a7d fix(ci): resolve tmp audit failure 2026-05-27 23:45:55 +03:00
iliya
209b9c72ad fix: count OpenCode inventory fallback as connected 2026-05-27 23:43:25 +03:00
iliya
0a1bb3a490 chore: update reviewrouter action ref 2026-05-27 23:13:36 +03:00
infiniti
c9e7e49a78
fix: show OpenCode inventory fallback as available 2026-05-27 23:00:32 +03:00
infiniti
e06c24a041
fix: add OpenCode status inventory fallback 2026-05-27 22:41:43 +03:00
777genius
22c7cf77d0 chore(release): retarget draft to v2.2.1 2026-05-27 22:09:42 +03:00
777genius
3e45600e0e Merge branch 'dev' of https://github.com/777genius/agent-teams-ai into dev 2026-05-27 22:03:50 +03:00
Илия
bb18979d60
Merge pull request #179 from 777genius/fix/windows-provider-status-fallback
fix: add Windows provider status fallback
2026-05-27 22:02:54 +03:00
777genius
0339e9d183 chore(runtime): polish provider settings 2026-05-27 21:54:34 +03:00
iliya
21404894c2 fix: add Windows provider status fallback 2026-05-27 21:54:24 +03:00
777genius
d477d272c5 fix(textarea): stabilize inline interaction overlays 2026-05-27 21:54:18 +03:00
777genius
431e3f9a46 fix(terminal): avoid duplicate strict mode spawns 2026-05-27 21:54:03 +03:00
777genius
46a525aea1 fix(cli-status): refresh auth after terminal close 2026-05-27 21:53:47 +03:00
777genius
877a81439b fix(member-log-stream): simplify member logs view 2026-05-27 21:53:27 +03:00
777genius
42a3fd6834 docs(github): refresh issue templates and release badge 2026-05-27 21:53:12 +03:00
777genius
5e12122db7 chore(release): use runtime v0.0.49 2026-05-27 20:14:25 +03:00
777genius
77e08af03f fix(team): propagate managed runtime settings env 2026-05-27 18:56:24 +03:00
777genius
5403a2cea9 ci(release): tolerate sentry upload bundles 2026-05-27 18:37:46 +03:00
777genius
0696e7aabe chore(release): use runtime v0.0.48 2026-05-27 18:27:44 +03:00
777genius
7cc1a59bbc fix(team): preserve mixed provider runtime settings 2026-05-27 18:22:10 +03:00
777genius
e363394c72 fix(ci): resolve tmp audit failure 2026-05-27 15:28:41 +03:00
777genius
5046d80fdf test(opencode): update live semantic model results 2026-05-27 12:16:58 +03:00
infiniti
ebcc0e717f
fix(team): reconcile provisioned-but-not-alive bootstrap state 2026-05-27 12:16:41 +03:00