docs(slice-c): plan host intelligence as the slice after Slice B#417
Draft
remyluslosius wants to merge 1 commit into
Draft
docs(slice-c): plan host intelligence as the slice after Slice B#417remyluslosius wants to merge 1 commit into
remyluslosius wants to merge 1 commit into
Conversation
Slice C scope: collect package, service, user, network, hardware, and
metrics state from hosts via SSH so OpenWatch can answer asset-management
and vulnerability-correlation queries. Closes the visibility gap
identified during Slice B planning: today (after Slice A+B) we can answer
"what's the compliance score" and "which rules failed", not "which hosts
have package X installed".
Architectural decisions locked in this doc:
- OpenWatch-owned, NOT a Kensa extension (boundary doc § 5.2 keeps Kensa
pure-compliance)
- Separate scheduled probe, NOT piggybacking on Kensa scans (decoupled
cadence; failure-independent)
- Storage: write-on-change for state facts (host_facts), snapshot-based
for continuous metrics (host_metrics). Write-on-change is the wrong
model for time-series; this split was articulated during B.1c planning
- Reuses Slice B trunk unchanged: scheduler dispatches a new
intel_probe job type alongside scan jobs; same SKIP LOCKED, same
HMAC payload, same credential resolver, same SSH known_hosts policy
- No on-host agent (SSH + stock OS utilities only)
- Privacy-first collector design: explicit allowlist of files / commands
per collector; no shell history, no /proc/*/cmdline, no log forwarding
Sub-slices (waves):
C.1 probe trunk: runner + host_facts writer + host_metrics writer
C.2 core state collectors: packages, services, users, hardware
C.3 network + metrics sampler
C.4 read API and fleet rollup queries
14 specs planned across all four waves, ~150 ACs (comparable to Slice A's
spec footprint).
Sequencing: Slice C cannot start until Slice B (B.1 through B.4) ships.
Estimated effort: 6-8 weeks once B is complete.
Six open questions surface at the bottom of the doc for resolution before
C.1 trunk specs land.
This was referenced May 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Planning doc for Slice C — Host Intelligence, the slice after Slice B ships. Closes the visibility gap identified during Slice B B.1c planning: today we can answer "what's the compliance score" but not "which hosts have package X installed", which is required for asset management (ISO 27001 A.8, FedRAMP CM-8) and vulnerability correlation.
Companion to the boundary doc and
stage_2_slice_a.md. Project-committed (not gitignored).Locked design decisions
rpm,dpkg,systemctl,ss,ip,nft,getent,/proc,/sys)/proc/<pid>/cmdline, no log forwardingSub-slices
host_factswriter +host_metricswriter14 specs planned, ~150 ACs total. Comparable to Slice A's footprint.
Sequencing
Slice C cannot start until Slice B (B.1 through B.4) ships. Estimated 6-8 weeks once B is complete.
What's in the doc (~380 lines)
host_facts,host_fact_state,host_metrics,intel_probestablessystem_info/packageOpen questions surfaced at the bottom
(Plus one item not yet a question: how
intel_schedulepolicy structurally relates toschedulespolicy. Worth a § 4 followup once you've reviewed.)What this PR is NOT
openwatch_roadmap.mdto reference thisTest plan
docs/KENSA_OPENWATCH_BOUNDARY.md,stage_2_slice_a.md)