Support Bundle Subsystem¶
The Support Bundle Subsystem defines the platform-level contracts for creating sanitized diagnostic bundles across SmrtHub.
This document is contract-focused. End-to-end “who triggers what and what gets collected” narratives belong in the Support Bundle Capability (Flow) doc.
Overview & responsibilities¶
- Standardize safe-by-default diagnostic handoff across all SmrtHub components.
- Define required bundle structure (manifest, hashes, review reports) and redaction expectations.
- Ensure bundles discover inputs via canonical Operational Data Policy locations.
Contract(s) and invariants¶
All components that generate or contribute artifacts to Support Bundles must follow these contracts:
- Sanitized by default
- Bundles must not include secrets.
-
Redaction/scrubbing is required by default.
-
Canonical discovery
- Inputs must be discovered from canonical paths and naming conventions (Operational Data Policy).
-
Do not scrape arbitrary locations outside policy-defined roots.
-
Deterministic structure
- Bundles must include a machine-readable manifest with SHA-256 hashes.
-
Bundles must include human-readable review output.
-
Bounded scope
- Collection must support bounded time windows and component filtering.
-
Exporters must cap size and handle partial failure gracefully.
-
Observability
- Bundle generation must emit structured logs describing what was included/skipped and why.
Integration points¶
- Primary implementation component:
SmrtApps/src/Smrt.SupportBundle/README.md - Logging: uses the unified logging stack; see
README.Files/Reference-Guides/SmrtHub.Logging.README.md - Policies: Operational Data Policy + Privacy/Security Policy govern locations and redaction expectations.
- Trigger surfaces: HubWindow tray/taskbar, Supervisor/CLI tools, and approved automation hooks.
Configuration, paths, and operational data¶
- Canonical path rules live in
README.Files/System/Policies/SmrtHub-Operational-Data-Policy-v1.0.README.md. - The Support Bundle exporter should not introduce new directory layouts beyond policy.
Observability & diagnostics¶
- Bundle generation must emit structured logs describing what was included/skipped and why.
- Not documented yet: standardized event names for bundle planning, sanitization, and packaging phases.
Security/privacy notes¶
- Treat bundles as sensitive diagnostic artifacts.
- Keep redaction enabled by default.
- Do not log raw captured content; log summaries and redaction counts.
Testing & validation expectations¶
- Validate redaction behavior.
- Validate manifest hashing.
- Validate bundle completeness for a representative set of components.