Skip to content

feat(cloud): emit skillPackAcks in heartbeat (V2 capability-visibility)#1328

Merged
itskai-dev merged 1 commit into
mainfrom
feat/skillpack-ack-heartbeat-v2
May 4, 2026
Merged

feat(cloud): emit skillPackAcks in heartbeat (V2 capability-visibility)#1328
itskai-dev merged 1 commit into
mainfrom
feat/skillpack-ack-heartbeat-v2

Conversation

@itskai-dev

Copy link
Copy Markdown
Collaborator

Summary

  • Pairs with reflectt-cloud PR #3206 (kai lock msg-1777866649814).
  • syncCapabilityContext() now reads skillPacks: [{provider, version}] from cloud /capabilities/context response and caches {provider, version, fetchedAt} per pack.
  • sendHeartbeat() forwards the cached acks under skillPackAcks.acks. Cloud flips injectionStatus from pending to active when provider+version match the registry and the ack is < 5 min old.

What changed

  • src/cloud.ts: added skillPackAcks Map + getSkillPackAcksForHeartbeat() helper, populated in syncCapabilityContext(), conditionally emitted from sendHeartbeat() body.

Out of scope

  • No new endpoints, no schema changes, no UI changes (per audit doc kai signed off).
  • First heartbeat after boot races with first /capabilities/context fetch — within 1-2 ticks (~10-30s) acks land. 5-min cloud freshness window covers the gap.

Test plan

  • npx tsc --noEmit — clean
  • Once merged + canonical host rolled: cloud /api/teams/:teamId/capabilities shows skillPack.injectionStatus: 'active' for browser pack on team that has a host on this image

…lity flip

Pairs with reflectt-cloud PR #3206 (kai lock msg-1777866649814).

On each /capabilities/context fetch, record {provider, version, fetchedAt}
per skill pack the cloud surfaces. sendHeartbeat() forwards the cached
acks under skillPackAcks.acks; cloud uses them to flip
skillPack.injectionStatus from 'pending' to 'active' when provider+version
match the registry and the ack is < 5 min old.

Process-local cache (no persistence). Empty acks → field omitted from
heartbeat body, so older cloud builds without parser are unaffected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@itskai-dev
itskai-dev merged commit 82bbb78 into main May 4, 2026
11 checks passed
@itskai-dev
itskai-dev deleted the feat/skillpack-ack-heartbeat-v2 branch May 4, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant