aipackage/specs/001-enterprise-experience/data-model.md

5.3 KiB
Raw Blame History

Data Model: Enterprise Appliance Experience Hardening

ApplianceReadiness

Customer-facing aggregate of appliance state.

Field Rules
schema_version Required contract version
state One of loading, empty, ready, degraded, failed, restricted, unavailable, stale
severity info, warning, critical
observed_at UTC timestamp for underlying observation
freshness_seconds Non-negative age at response time
summary Plain-language customer impact
affected_capabilities Customer-facing capability identifiers, not raw service names
next_actions Ordered safe actions with required role and action kind
checks Component/capability observations using the same state contract
entitlement Reference to current EntitlementState summary

State precedence: failed/critical impact outranks degraded; stale MUST be reported when freshness is outside the defined check window even if the previous observation was ready.

Operation

Durable record for installation and consequential or long-running actions.

Field Rules
id Stable opaque identifier
correlation_id Stable across API, audit, logs, and support evidence
kind setup, install, backup, restore, upgrade, restart, remove, reconcile, diagnostic_export, other
actor_id / actor_name Authenticated actor or explicit system/installer identity
scope Redacted description of affected appliance resources
state requested, validating, queued, running, awaiting_reboot, succeeded, failed, cancelled, recovery_required
progress_percent 0100 only when meaningful; otherwise omitted
progress_label Plain-language current phase
requested_at, started_at, updated_at, finished_at UTC timestamps
result_code Stable non-secret machine-readable result
customer_message Plain-language outcome and impact
recovery_actions Safe retry/resume/rollback/restore/restart/escalate actions
metadata Allowlisted, versioned, non-secret details only

Transitions are monotonic except explicit retry, which creates a new Operation linked to its parent. Terminal states are succeeded, failed, cancelled, and recovery_required. Concurrent conflicting operations MUST be rejected or queued with an explanation.

Removal operation metadata includes an allowlisted retained-data inventory, deleted-data categories, backup preservation status, and rollback limitations; it never includes protected content values.

EntitlementState

Field Rules
category workstation or server
commercial_label Workstation or Server S/M/L/Max
compatibility_tier workstation or starter/basic/pro/max; not primary customer text
license_state valid, missing, expired, invalid, mismatch, other stable states
licensed_capabilities Capability keys from signed entitlement evaluation
provisioned_capabilities Derived from install record and deployed roles
hardware_capabilities Derived from feasibility evidence
available_capabilities Current intersection adjusted for runtime health
observed_at UTC evaluation time

The model MUST distinguish why a capability is unavailable: commercial entitlement, provisioning, hardware, or current runtime condition.

AuditEvent

Field Rules
id Monotonic appliance-local identifier
occurred_at UTC timestamp
actor_id / actor_name Actor identity when known
action_category Stable category rather than secret-bearing free text
scope Redacted affected resource
result success, failure, denied, partial
correlation_id Links to Operation and support evidence
detail Allowlisted, redacted context

SupportEvidencePackage

Logical export; raw secret-bearing files are excluded by default.

Field Rules
package_id Opaque identifier
created_at / created_by UTC time and authorized actor
product_identity Product category, commercial label, version/build identity
entitlement_summary Status and capability summary without signed payload or key
readiness_snapshot ApplianceReadiness contract
operations Selected redacted Operation records
audit_events Selected redacted AuditEvent records
component_evidence Allowlisted health/version/status data
redaction_report Categories excluded or transformed
checksum Integrity checksum of the completed export

GuidanceItem

Field Rules
id Stable local identifier
journey setup, readiness, administration, recovery, support
trigger_state Optional state or result code
required_role Minimum role permitted to execute actions
title, summary, steps Plain-language local guidance
action_kind navigate, retry, resume, rollback, restore, restart, escalate
version Guidance revision aligned to packaged product

Relationships

  • ApplianceReadiness references one current EntitlementState and zero or more active Operations.
  • Operation produces AuditEvents and may be included in a SupportEvidencePackage.
  • SupportEvidencePackage contains snapshots, never live mutable references.
  • GuidanceItems are selected by journey, state, role, and result code.