Skip to documentation
ReferenceImplementation

Implementation

Packages and role outputs

Keep scenario content, publication identity, and product records distinct.

Format definition

Define a portable package and enforce role-specific information release in generated outputs.

Portable format · Suite implementation support

Parameters

package.manifest

{ documentPath: string, assetIds: Asset ID[], digest: string }

Required

Archive manifest points to scenario.json and its asset manifest. Digest is SHA-256 of the exact UTF-8 scenario.json bytes, not a claim of clinical correctness or semantic content identity.

outputs.views[]

{ id: ID, audience: learner | facilitator, kind: brief | guide | event-map | checklist, includeIds: ID[] }

Optional; default []

Explicit content selection filtered by audience. Learner views exclude facilitator-only content even when named in includeIds.

Behavior and validation

  • A portable archive contains scenario.json, manifest.json, and assets/. Reject duplicate entry names and path traversal before extraction. Package mechanics remain distinct from content revision identity.
  • Digest verification covers exactly the packaged UTF-8 bytes of scenario.json and is a package-integrity check. It must not be reused as semantic content identity.
  • Static learner briefs include only initial learner-visible content. Run-time views additionally require satisfied disclosure and result availability. Hidden content must not be sent to the learner browser or embedded in its downloadable source.
  • Actual learner identity, scores, cue delivery records, session dates, and event history stay outside scenario content. Outputs identify scenarioId and revision so the delivered view can be traced.

Shared format conventions · All format elements · Download specification

The Suite package envelope

Builder exports this application package after publication. Its importer checks the format version, revision metadata, scenario shape, SHA-256 content digest, and scenario graph. Import copies the scenario content, including its author, into a new local draft. The exported revision identity is validated but is not stored as a local publication.

PathType / valueMeaning
format"usim-suite-scenario"Identifies this application envelope.
formatVersion1Supported Suite package version.
scopestringExplains the application-specific content scope.
revision.idstringIdentity recorded by the exporting workspace.
revision.numberpositive integerPublished revision number.
revision.createdAtdate stringRecorded revision creation time.
revision.digest64 lowercase hexadecimal charactersSHA-256 digest of the scenario serialization.
scenarioScenario objectThe content documented by the Suite profile schema.

The downloadable example is the inner scenario object. It has no published revision or digest and is not an import package. Library references and function scripts are outside this package profile.

Four products, one foundation

ProductScenario relationshipIncluded capability
BuilderAuthors, validates, publishes, and rendersOutput tools
MarketplaceDiscovers, distributes, and reusesShared content and modules
CenterCoordinates scenario requirementsLocal delivery preparation
CampusRuns a fixed revision for learningClassroom