Skip to main content

appcore_contracts/
lib.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: lib.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/07/21 23:21:21 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/07/24 13:18:47 by dnettoRaw
8//      ###########      S: 1.0.1-rc.8
9// =============================================================================
10
11//! Stable, implementation-independent contracts for AppCore hosts and applications.
12//!
13//! The three manifest families intentionally describe different owners:
14//! applications publish [`ApplicationManifestV1`], installations provide
15//! [`DeploymentManifestV1`], and a running host produces [`RuntimeManifestV1`].
16
17#![deny(missing_docs)]
18#![forbid(unsafe_code)]
19
20mod application;
21mod deployment;
22mod error;
23mod identifiers;
24mod policy;
25mod runtime;
26
27pub use application::{ApplicationManifestV1, APPLICATION_MANIFEST_VERSION};
28pub use deployment::{
29    DeploymentManifestBuilder, DeploymentManifestV1, DeploymentSupervisorConfig,
30    DeploymentWatchdogConfig, EnvironmentBinding, NetworkConfig, ProviderConfig, SecretRef,
31    TlsConfig, VolumeMount, DEPLOYMENT_MANIFEST_VERSION,
32};
33pub use error::{ContractError, ContractResult};
34pub use identifiers::{
35    ApplicationId, BuildId, CapabilityId, CoreId, FeatureId, InstallationId, JobId, ModuleId,
36    NodeId, ProviderId, ServiceId,
37};
38pub use policy::{
39    ApplicationDependency, CapabilityClass, CapabilityDeclaration, CapabilityMode,
40    CapabilityVisibility, CoreProfile, CoreRole, HealthRequirements, JobPolicy, LeadershipMode,
41    LeadershipRequirement, ModuleDeclaration, ResourceProfile, RuntimeMode, RuntimeRequirements,
42    SchedulerRequirements, SchedulingProfile, StorageDurability, StorageRequirements, UpdatePolicy,
43    WorkloadClass,
44};
45pub use runtime::{
46    RuntimeHealth, RuntimeHealthStatus, RuntimeManifestV1, RuntimeOperationalMode,
47    RUNTIME_MANIFEST_VERSION,
48};