lightspeed/platform/convention_profile

Convention-over-configuration core profile contracts for M45.

Types

Core convention profile contract.

pub type CoreProfile {
  CoreProfile(
    name: String,
    runtime: RuntimeConvention,
    data: DataConvention,
    template: TemplateConvention,
    escape_hatches: List(EscapeHatch),
    hidden_runtime_behavior: Bool,
  )
}

Constructors

Data defaults for the convention profile.

pub type DataConvention {
  DataConvention(
    scope_module: String,
    repository_module: String,
    migration_strategy: String,
    tenant_scope_required: Bool,
  )
}

Constructors

  • DataConvention(
      scope_module: String,
      repository_module: String,
      migration_strategy: String,
      tenant_scope_required: Bool,
    )

Explicit escape hatch for non-default deployments.

pub type EscapeHatch {
  EscapeHatch(
    seam: EscapeSeam,
    module: String,
    hook: String,
    rationale: String,
  )
}

Constructors

  • EscapeHatch(
      seam: EscapeSeam,
      module: String,
      hook: String,
      rationale: String,
    )

Explicit escape-hatch seam.

pub type EscapeSeam {
  RuntimeSeam
  DataSeam
  TemplateSeam
}

Constructors

  • RuntimeSeam
  • DataSeam
  • TemplateSeam

Runtime defaults for the convention profile.

pub type RuntimeConvention {
  RuntimeConvention(
    endpoint_module: String,
    router_module: String,
    transport_profile: String,
    session_store_module: String,
    boot_strategy: String,
  )
}

Constructors

  • RuntimeConvention(
      endpoint_module: String,
      router_module: String,
      transport_profile: String,
      session_store_module: String,
      boot_strategy: String,
    )

Template defaults for the convention profile.

pub type TemplateConvention {
  TemplateConvention(
    ergonomics_module: String,
    compiler_module: String,
    slot_default_strategy: String,
    diagnostics_profile: String,
  )
}

Constructors

  • TemplateConvention(
      ergonomics_module: String,
      compiler_module: String,
      slot_default_strategy: String,
      diagnostics_profile: String,
    )

Values

pub fn configuration_surface(
  profile: CoreProfile,
) -> List(String)

Flattened configuration surface for runtime/data/template workflows.

pub fn configuration_surface_signature(
  profile: CoreProfile,
) -> String

Stable configuration-surface signature.

pub fn configuration_surface_size(profile: CoreProfile) -> Int

Configuration surface size accessor.

pub fn data_partition_hatch() -> EscapeHatch

Predefined data seam escape hatch.

pub fn default_profile() -> CoreProfile

Narrow M45 default profile for common runtime/data/template workflows.

pub fn escape_hatch(
  seam: EscapeSeam,
  module: String,
  hook: String,
  rationale: String,
) -> EscapeHatch

Build one explicit escape hatch.

pub fn escape_hatches(profile: CoreProfile) -> List(EscapeHatch)

Escape-hatch accessor.

pub fn fixture_snapshots() -> List(#(String, String))

Deterministic fixture signatures for CI drift gates.

pub fn has_stable_override_seams(profile: CoreProfile) -> Bool

Stable override seam contract verification.

pub fn hidden_runtime_behavior(profile: CoreProfile) -> Bool

Hidden-runtime-behavior accessor.

pub fn name(profile: CoreProfile) -> String

Profile name accessor.

pub fn override_seam_signature(profile: CoreProfile) -> String

Stable override-seam signature.

pub fn quick_start_ready(profile: CoreProfile) -> Bool

Quick-start readiness for narrow default profile usage.

pub fn reference_profiles() -> List(CoreProfile)

Reference fixture profiles for deterministic M45 certification.

pub fn signature(profile: CoreProfile) -> String

Stable profile signature.

pub fn snapshot_signature() -> String

Deterministic M45 fixture snapshot signature.

pub const snapshot_version: Int
pub fn template_diagnostics_hatch() -> EscapeHatch

Predefined template seam escape hatch.

pub fn valid(profile: CoreProfile) -> Bool

Validate profile contract.

pub fn websocket_fallback_hatch() -> EscapeHatch

Predefined runtime seam escape hatch.

pub fn with_escape_hatch(
  profile: CoreProfile,
  hatch: EscapeHatch,
) -> CoreProfile

Append one escape hatch when missing.

Search Document