feat(host-agent): wire skill sync + inventory report into app lifecycle

Adds host_agent/skill_sync.py (HostAgentSkillSync) which constructs the
synced + local skill stores, the Cloud API sync client, and the runner,
then drives them on the host-agent lifecycle: incremental per-host pull
into the synced catalog, fork-on-revocation, and a best-effort local-
skill inventory report to the Cloud (design D7). Wired into
create_application + run_async start/stop. Host-agent suite green
(219 passed).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 08:02:31 +08:00
co-authored by Claude Opus 4.6
parent a8ba2312fc
commit 0d944ec97d
5 changed files with 214 additions and 3 deletions
@@ -47,6 +47,7 @@ class HostAgentConfig:
task_artifact_dir: Path = Path("host_agent_data/history")
task_retention_max_count: int = 50
task_retention_max_age_days: int = 7
skill_sync_interval_seconds: float = 300.0
def load_host_agent_config(
@@ -156,6 +157,9 @@ def load_host_agent_config(
task_retention_max_age_days=_positive_int(
values, "HOST_AGENT_TASK_RETENTION_MAX_AGE_DAYS", 7
),
skill_sync_interval_seconds=_positive_float(
values, "HOST_AGENT_SKILL_SYNC_INTERVAL_SECONDS", 300.0
),
)
if config.max_retry_backoff_seconds < config.retry_backoff_seconds:
raise HostAgentConfigurationError(