2.8 KiB
2.8 KiB
MODIFIED Requirements
Requirement: Host identity is authenticated and bound to one host id
The internal Host Agent API SHALL require a host-scoped bearer principal and
SHALL reject any request that attempts to act for a host_id different from
the authenticated principal's bound host.
Scenario: Host authenticates as itself
- WHEN a Host Agent presents valid credentials bound to its requested
host_id - THEN the internal API authorizes permitted heartbeat, claim, renewal, result, policy retrieval, and self-submission operations
Scenario: Host attempts to impersonate another host
- WHEN valid credentials bound to host A are used on a request for host B
- THEN the internal API rejects the request without reading or modifying host B's state
Requirement: Host Agent synchronizes heartbeat and complete device snapshots
The Host Agent SHALL periodically submit its complete local device snapshot and last applied policy revision to the control plane, and the control plane SHALL atomically refresh the host heartbeat, replace only that host's pooled-device records, and return the effective Host policy whenever its revision differs.
Scenario: Host reports devices
- WHEN a Host Agent submits a valid heartbeat containing its current devices
- THEN the control plane updates the host's last-seen time and exposes the submitted devices through the aggregated pool
Scenario: Host policy revision changed
- WHEN a Host heartbeat presents a revision older than the effective Cloud-host policy
- THEN the response includes the complete newer policy and revision for the Host to cache
Scenario: Host policy revision is current
- WHEN a Host heartbeat presents the current effective policy revision
- THEN the response confirms that revision without resending an unrelated policy representation
Scenario: Host reports no devices
- WHEN a previously populated host submits an empty device snapshot
- THEN only that host's prior device records are removed while devices owned by other hosts remain unchanged
ADDED Requirements
Requirement: Host can submit a self-targeted goal through the outbound protocol
The Host Agent SHALL be able to submit a goal-only task through its existing outbound authenticated protocol, and the control plane SHALL derive its target from the authenticated Host rather than accepting another Host identifier.
Scenario: Host submits a local goal
- WHEN an authenticated Host submits a valid goal through its internal self-submission operation
- THEN the control plane returns a queued task targeted to that Host
Scenario: Host submits an ineligible local Device
- WHEN a Host names a Device that is not owned by its authenticated Host
- THEN the control plane rejects the request without creating a task