Publish Epiphany CultNet surface catalog
This commit is contained in:
parent
71e3775d63
commit
96e5c96cb8
70 changed files with 3535 additions and 12 deletions
|
|
@ -13,6 +13,7 @@ use epiphany_core::create_runtime_job;
|
|||
use epiphany_core::create_runtime_session;
|
||||
use epiphany_core::initialize_runtime_spine;
|
||||
use epiphany_core::runtime_spine_status;
|
||||
use epiphany_core::write_runtime_schema_catalog_json;
|
||||
use epiphany_core::write_runtime_hello_frame;
|
||||
use std::env;
|
||||
use std::path::PathBuf;
|
||||
|
|
@ -165,6 +166,15 @@ fn main() -> Result<()> {
|
|||
println!("path: {}", output.display());
|
||||
println!("bytes: {bytes}");
|
||||
}
|
||||
Command::SchemaCatalog {
|
||||
output,
|
||||
include_schema_json,
|
||||
} => {
|
||||
let bytes = write_runtime_schema_catalog_json(&output, include_schema_json)?;
|
||||
println!("cultnet schema catalog written");
|
||||
println!("path: {}", output.display());
|
||||
println!("bytes: {bytes}");
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
@ -214,6 +224,10 @@ enum Command {
|
|||
HelloFrame {
|
||||
output: PathBuf,
|
||||
},
|
||||
SchemaCatalog {
|
||||
output: PathBuf,
|
||||
include_schema_json: bool,
|
||||
},
|
||||
}
|
||||
|
||||
impl Args {
|
||||
|
|
@ -444,6 +458,25 @@ fn parse_command(mut args: Vec<String>) -> Result<Command> {
|
|||
})?;
|
||||
Ok(Command::HelloFrame { output })
|
||||
}
|
||||
"schema-catalog" => {
|
||||
let mut output = PathBuf::from(".epiphany-dogfood/runtime-spine/schema-catalog.json");
|
||||
let mut include_schema_json = false;
|
||||
parse_options(args, |name, value| match name {
|
||||
"--output" => {
|
||||
output = PathBuf::from(value);
|
||||
Ok(())
|
||||
}
|
||||
"--include-schema-json" => {
|
||||
include_schema_json = parse_bool_flag(&value, "--include-schema-json")?;
|
||||
Ok(())
|
||||
}
|
||||
_ => Err(anyhow!("unknown schema-catalog argument: {name}")),
|
||||
})?;
|
||||
Ok(Command::SchemaCatalog {
|
||||
output,
|
||||
include_schema_json,
|
||||
})
|
||||
}
|
||||
_ => Err(anyhow!(usage())),
|
||||
}
|
||||
}
|
||||
|
|
@ -471,10 +504,18 @@ fn take_path(args: &mut impl Iterator<Item = String>, name: &str) -> Result<Path
|
|||
.ok_or_else(|| anyhow!("{name} requires a value"))
|
||||
}
|
||||
|
||||
fn parse_bool_flag(value: &str, name: &str) -> Result<bool> {
|
||||
match value {
|
||||
"true" | "1" | "yes" => Ok(true),
|
||||
"false" | "0" | "no" => Ok(false),
|
||||
_ => Err(anyhow!("{name} must be true/false")),
|
||||
}
|
||||
}
|
||||
|
||||
fn now() -> String {
|
||||
chrono::Utc::now().to_rfc3339_opts(SecondsFormat::Secs, true)
|
||||
}
|
||||
|
||||
fn usage() -> &'static str {
|
||||
"usage: epiphany-runtime-spine [--store path] <init|status|open-session|open-job|complete-job|record-event|hello-frame>"
|
||||
"usage: epiphany-runtime-spine [--store path] <init|status|open-session|open-job|complete-job|record-event|hello-frame|schema-catalog>"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,8 +110,10 @@ pub use runtime_spine::ensure_runtime_session;
|
|||
pub use runtime_spine::initialize_runtime_spine;
|
||||
pub use runtime_spine::runtime_hello_frame;
|
||||
pub use runtime_spine::runtime_job_snapshot;
|
||||
pub use runtime_spine::runtime_schema_catalog_response;
|
||||
pub use runtime_spine::runtime_spine_cache;
|
||||
pub use runtime_spine::runtime_spine_status;
|
||||
pub use runtime_spine::write_runtime_schema_catalog_json;
|
||||
pub use runtime_spine::write_runtime_hello_frame;
|
||||
pub use state_ledger::EpiphanyBranchRecord;
|
||||
pub use state_ledger::EpiphanyLedgerEvidenceRecord;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,11 @@
|
|||
use anyhow::Context;
|
||||
use anyhow::Result;
|
||||
use anyhow::anyhow;
|
||||
use crate::agent_memory::AGENT_MEMORY_TYPE;
|
||||
use crate::heartbeat_state::HEARTBEAT_STATE_SCHEMA_VERSION;
|
||||
use crate::heartbeat_state::HEARTBEAT_STATE_TYPE;
|
||||
use crate::state_ledger::STATE_LEDGER_SCHEMA_VERSION;
|
||||
use crate::state_ledger::STATE_LEDGER_STORE_TYPE;
|
||||
use cultcache_rs::CultCache;
|
||||
use cultcache_rs::DatabaseEntry;
|
||||
use cultcache_rs::SingleFileMessagePackBackingStore;
|
||||
|
|
@ -8,7 +13,11 @@ use cultnet_rs::CultNetDocumentMutationContract;
|
|||
use cultnet_rs::CultNetDocumentOperation;
|
||||
use cultnet_rs::CultNetMessage;
|
||||
use cultnet_rs::CultNetMutationAuthority;
|
||||
use cultnet_rs::CultNetSchemaKind;
|
||||
use cultnet_rs::CultNetSchemaRegistration;
|
||||
use cultnet_rs::CultNetSchemaRegistry;
|
||||
use cultnet_rs::CultNetWireContract;
|
||||
use cultnet_rs::builtin_schema_registry;
|
||||
use cultnet_rs::encode_cultnet_message_to_vec;
|
||||
use cultnet_rs::encode_frame;
|
||||
use serde::Deserialize;
|
||||
|
|
@ -16,6 +25,7 @@ use serde::Serialize;
|
|||
use std::collections::BTreeMap;
|
||||
use std::fs;
|
||||
use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
|
||||
pub const RUNTIME_IDENTITY_TYPE: &str = "epiphany.runtime.identity";
|
||||
pub const RUNTIME_SESSION_TYPE: &str = "epiphany.runtime.session";
|
||||
|
|
@ -23,6 +33,9 @@ pub const RUNTIME_JOB_TYPE: &str = "epiphany.runtime.job";
|
|||
pub const RUNTIME_JOB_RESULT_TYPE: &str = "epiphany.runtime.job_result";
|
||||
pub const RUNTIME_EVENT_TYPE: &str = "epiphany.runtime.event";
|
||||
pub const SURFACE_SCENE_TYPE: &str = "epiphany.surface.scene";
|
||||
pub const SURFACE_FRESHNESS_TYPE: &str = "epiphany.surface.freshness";
|
||||
pub const SURFACE_CONTEXT_TYPE: &str = "epiphany.surface.context";
|
||||
pub const SURFACE_GRAPH_QUERY_TYPE: &str = "epiphany.surface.graph_query";
|
||||
pub const SURFACE_PRESSURE_TYPE: &str = "epiphany.surface.pressure";
|
||||
pub const SURFACE_REORIENT_TYPE: &str = "epiphany.surface.reorient";
|
||||
pub const SURFACE_CRRC_TYPE: &str = "epiphany.surface.crrc";
|
||||
|
|
@ -41,6 +54,9 @@ pub const SURFACE_UNITY_BRIDGE_TYPE: &str = "epiphany.surface.unity_bridge";
|
|||
pub const RUNTIME_IDENTITY_KEY: &str = "self";
|
||||
pub const RUNTIME_SPINE_SCHEMA_VERSION: &str = "epiphany.runtime_spine.v0";
|
||||
pub const SCENE_SURFACE_SCHEMA_VERSION: &str = "epiphany.scene_surface.v0";
|
||||
pub const FRESHNESS_SURFACE_SCHEMA_VERSION: &str = "epiphany.freshness_surface.v0";
|
||||
pub const CONTEXT_SURFACE_SCHEMA_VERSION: &str = "epiphany.context_surface.v0";
|
||||
pub const GRAPH_QUERY_SURFACE_SCHEMA_VERSION: &str = "epiphany.graph_query_surface.v0";
|
||||
pub const PRESSURE_SURFACE_SCHEMA_VERSION: &str = "epiphany.pressure_surface.v0";
|
||||
pub const REORIENT_SURFACE_SCHEMA_VERSION: &str = "epiphany.reorient_surface.v0";
|
||||
pub const CRRC_SURFACE_SCHEMA_VERSION: &str = "epiphany.crrc_surface.v0";
|
||||
|
|
@ -58,6 +74,30 @@ pub const REPO_BIRTH_RUNNER_SURFACE_SCHEMA_VERSION: &str =
|
|||
"epiphany.repo_birth_runner_surface.v0";
|
||||
pub const RIDER_BRIDGE_SURFACE_SCHEMA_VERSION: &str = "epiphany.rider_bridge_surface.v0";
|
||||
pub const UNITY_BRIDGE_SURFACE_SCHEMA_VERSION: &str = "epiphany.unity_bridge_surface.v0";
|
||||
pub const AGENT_MEMORY_PAYLOAD_SCHEMA_VERSION: &str = "epiphany.agent_memory.v0";
|
||||
pub const CULTNET_SCHEMA_INDEX_RELATIVE: &str = "schemas/cultnet/index.json";
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct EpiphanyCultNetSchemaIndex {
|
||||
schema_version: String,
|
||||
schemas: Vec<EpiphanyCultNetSchemaIndexEntry>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
struct EpiphanyCultNetSchemaIndexEntry {
|
||||
schema_id: String,
|
||||
kind: CultNetSchemaKind,
|
||||
wire_contracts: Vec<CultNetWireContract>,
|
||||
#[serde(default)]
|
||||
schema_version: Option<String>,
|
||||
#[serde(default)]
|
||||
document_type: Option<String>,
|
||||
#[serde(default)]
|
||||
title: Option<String>,
|
||||
path: String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, DatabaseEntry)]
|
||||
#[cultcache(type = "epiphany.runtime.identity", schema = "EpiphanyRuntimeIdentity")]
|
||||
|
|
@ -680,6 +720,85 @@ pub fn write_runtime_hello_frame(
|
|||
Ok(frame.len())
|
||||
}
|
||||
|
||||
pub fn epiphany_schema_registry() -> Result<CultNetSchemaRegistry> {
|
||||
let mut registry = builtin_schema_registry()?;
|
||||
let schema_root = epiphany_schema_root();
|
||||
let index_path = schema_root.join("index.json");
|
||||
let raw_index = fs::read_to_string(&index_path)
|
||||
.with_context(|| format!("failed to read {}", index_path.display()))?;
|
||||
let index: EpiphanyCultNetSchemaIndex = serde_json::from_str(&raw_index)
|
||||
.with_context(|| format!("failed to parse {}", index_path.display()))?;
|
||||
if index.schema_version.trim().is_empty() {
|
||||
return Err(anyhow!(
|
||||
"CultNet schema index at {} is missing schemaVersion",
|
||||
index_path.display()
|
||||
));
|
||||
}
|
||||
|
||||
for entry in index.schemas {
|
||||
let schema_path = schema_root.join(&entry.path);
|
||||
let schema_json = fs::read_to_string(&schema_path)
|
||||
.with_context(|| format!("failed to read {}", schema_path.display()))?;
|
||||
registry.register(CultNetSchemaRegistration {
|
||||
schema_id: entry.schema_id,
|
||||
kind: entry.kind,
|
||||
wire_contracts: entry.wire_contracts,
|
||||
schema_version: entry.schema_version,
|
||||
document_type: entry.document_type,
|
||||
title: entry.title,
|
||||
schema_json: Some(schema_json),
|
||||
})?;
|
||||
}
|
||||
|
||||
Ok(registry)
|
||||
}
|
||||
|
||||
pub fn runtime_schema_catalog_response(
|
||||
message_id: impl Into<String>,
|
||||
include_schema_json: bool,
|
||||
schema_ids: Option<Vec<String>>,
|
||||
kinds: Option<Vec<CultNetSchemaKind>>,
|
||||
) -> Result<CultNetMessage> {
|
||||
let registry = epiphany_schema_registry()?;
|
||||
registry.create_catalog_response(&CultNetMessage::SchemaCatalogRequest {
|
||||
message_id: message_id.into(),
|
||||
include_schema_json: Some(include_schema_json),
|
||||
schema_ids,
|
||||
kinds,
|
||||
})
|
||||
}
|
||||
|
||||
pub fn write_runtime_schema_catalog_json(
|
||||
output_path: impl AsRef<Path>,
|
||||
include_schema_json: bool,
|
||||
) -> Result<usize> {
|
||||
let output_path = output_path.as_ref();
|
||||
if let Some(parent) = output_path.parent() {
|
||||
fs::create_dir_all(parent)
|
||||
.with_context(|| format!("failed to create {}", parent.display()))?;
|
||||
}
|
||||
let response = runtime_schema_catalog_response(
|
||||
"runtime-spine-schema-catalog".to_string(),
|
||||
include_schema_json,
|
||||
None,
|
||||
None,
|
||||
)?;
|
||||
let body = serde_json::to_vec_pretty(&response)?;
|
||||
fs::write(output_path, &body)
|
||||
.with_context(|| format!("failed to write {}", output_path.display()))?;
|
||||
Ok(body.len())
|
||||
}
|
||||
|
||||
fn epiphany_schema_root() -> PathBuf {
|
||||
Path::new(env!("CARGO_MANIFEST_DIR"))
|
||||
.parent()
|
||||
.expect("epiphany-core has no parent repo root")
|
||||
.join(CULTNET_SCHEMA_INDEX_RELATIVE)
|
||||
.parent()
|
||||
.expect("cultnet schema index has no parent directory")
|
||||
.to_path_buf()
|
||||
}
|
||||
|
||||
fn require_identity(cache: &CultCache) -> Result<EpiphanyRuntimeIdentity> {
|
||||
cache
|
||||
.get::<EpiphanyRuntimeIdentity>(RUNTIME_IDENTITY_KEY)?
|
||||
|
|
@ -824,8 +943,8 @@ fn epiphany_mutation_contracts() -> Vec<CultNetDocumentMutationContract> {
|
|||
vec!["Runtime events are append-only projections for inspection."],
|
||||
),
|
||||
mutation_contract(
|
||||
"epiphany.agent.memory",
|
||||
"ghostlight.agent_state.v0",
|
||||
AGENT_MEMORY_TYPE,
|
||||
AGENT_MEMORY_PAYLOAD_SCHEMA_VERSION,
|
||||
vec![
|
||||
CultNetDocumentOperation::Snapshot,
|
||||
CultNetDocumentOperation::IntentSubmit,
|
||||
|
|
@ -839,8 +958,8 @@ fn epiphany_mutation_contracts() -> Vec<CultNetDocumentMutationContract> {
|
|||
],
|
||||
),
|
||||
mutation_contract(
|
||||
"epiphany.heartbeat.state",
|
||||
"epiphany.agent_heartbeat.v0",
|
||||
HEARTBEAT_STATE_TYPE,
|
||||
HEARTBEAT_STATE_SCHEMA_VERSION,
|
||||
vec![
|
||||
CultNetDocumentOperation::Snapshot,
|
||||
CultNetDocumentOperation::IntentSubmit,
|
||||
|
|
@ -857,8 +976,8 @@ fn epiphany_mutation_contracts() -> Vec<CultNetDocumentMutationContract> {
|
|||
],
|
||||
),
|
||||
mutation_contract(
|
||||
"epiphany.state_ledger",
|
||||
"epiphany.state_ledger.v0",
|
||||
STATE_LEDGER_STORE_TYPE,
|
||||
STATE_LEDGER_SCHEMA_VERSION,
|
||||
vec![CultNetDocumentOperation::Snapshot],
|
||||
CultNetMutationAuthority::ReadOnly,
|
||||
vec![],
|
||||
|
|
@ -875,6 +994,30 @@ fn epiphany_mutation_contracts() -> Vec<CultNetDocumentMutationContract> {
|
|||
"Aquarium should read this before offering live coordination actions.",
|
||||
],
|
||||
),
|
||||
read_only_surface_contract(
|
||||
SURFACE_FRESHNESS_TYPE,
|
||||
FRESHNESS_SURFACE_SCHEMA_VERSION,
|
||||
vec![
|
||||
"Freshness reflection mirrored from thread/epiphany/freshness.",
|
||||
"Use this to visualize retrieval and graph staleness without inventing a hidden refresh daemon.",
|
||||
],
|
||||
),
|
||||
read_only_surface_contract(
|
||||
SURFACE_CONTEXT_TYPE,
|
||||
CONTEXT_SURFACE_SCHEMA_VERSION,
|
||||
vec![
|
||||
"Targeted graph, frontier, checkpoint, observation, and evidence context mirrored from thread/epiphany/context.",
|
||||
"Aquarium should inspect bounded state shards here instead of scraping state blobs by superstition.",
|
||||
],
|
||||
),
|
||||
read_only_surface_contract(
|
||||
SURFACE_GRAPH_QUERY_TYPE,
|
||||
GRAPH_QUERY_SURFACE_SCHEMA_VERSION,
|
||||
vec![
|
||||
"Bounded graph traversal mirrored from thread/epiphany/graphQuery.",
|
||||
"Use this for architecture/dataflow inspection and frontier neighborhoods without mutating state.",
|
||||
],
|
||||
),
|
||||
read_only_surface_contract(
|
||||
SURFACE_PRESSURE_TYPE,
|
||||
PRESSURE_SURFACE_SCHEMA_VERSION,
|
||||
|
|
@ -1235,7 +1378,7 @@ mod tests {
|
|||
let contracts = supported_mutation_contracts.unwrap();
|
||||
let heartbeat_contract = contracts
|
||||
.iter()
|
||||
.find(|contract| contract.document_type == "epiphany.heartbeat.state")
|
||||
.find(|contract| contract.document_type == HEARTBEAT_STATE_TYPE)
|
||||
.expect("heartbeat state should advertise mutation contract");
|
||||
assert_eq!(
|
||||
heartbeat_contract.authority,
|
||||
|
|
@ -1290,4 +1433,31 @@ mod tests {
|
|||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn runtime_spine_schema_catalog_includes_surface_and_control_receipts() -> Result<()> {
|
||||
let registry = epiphany_schema_registry()?;
|
||||
let schemas = registry.list(&cultnet_rs::CultNetSchemaCatalogOptions {
|
||||
include_schema_json: false,
|
||||
schema_ids: None,
|
||||
kinds: None,
|
||||
});
|
||||
assert!(schemas.iter().any(|schema| {
|
||||
schema.document_type.as_deref() == Some(SURFACE_SCENE_TYPE)
|
||||
&& schema.schema_version.as_deref() == Some(SCENE_SURFACE_SCHEMA_VERSION)
|
||||
}));
|
||||
assert!(schemas.iter().any(|schema| {
|
||||
schema.document_type.as_deref() == Some(SURFACE_COORDINATOR_TYPE)
|
||||
&& schema.schema_version.as_deref() == Some(COORDINATOR_SURFACE_SCHEMA_VERSION)
|
||||
}));
|
||||
assert!(schemas.iter().any(|schema| {
|
||||
schema.document_type.as_deref() == Some("epiphany.role_launch_intent.v0")
|
||||
&& schema.schema_version.as_deref() == Some("epiphany.role_launch_intent.v0")
|
||||
}));
|
||||
assert!(schemas.iter().any(|schema| {
|
||||
schema.document_type.as_deref() == Some("epiphany.swarm_control_receipt.v0")
|
||||
&& schema.schema_version.as_deref() == Some("epiphany.swarm_control_receipt.v0")
|
||||
}));
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ fn epiphany_agent_memory_can_move_over_cultnet_documents() -> Result<()> {
|
|||
|
||||
let mut registry = CultNetDocumentRegistry::new();
|
||||
registry.register(
|
||||
CultNetDocumentBinding::for_entry::<EpiphanyAgentMemoryEntry>(Some(
|
||||
"ghostlight.agent_state.v0".to_string(),
|
||||
)),
|
||||
CultNetDocumentBinding::for_entry::<EpiphanyAgentMemoryEntry>(
|
||||
"ghostlight.agent_state.v0",
|
||||
),
|
||||
);
|
||||
let snapshot = registry.create_snapshot_response(
|
||||
&source_cache,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ remembers doctrine; the branch remembers the blade.
|
|||
- Native `epiphany-runtime-spine` is the first Codex-independent runtime vertebra. It owns typed CultCache documents for runtime identity, sessions, jobs, job results, and events; opens/completes native jobs; snapshots jobs/results by runtime job id; projects job-result counts; and can emit a framed CultNet hello message advertising the native document and mutation contract surface. Codex app-server launch/read-back/acceptance is now a typed heartbeat/runtime-spine bridge with no Epiphany job-result dependency on the Codex SQLite runtime.
|
||||
- CultNet APIs are advertised as compatible schemas plus mutation contracts. Hello frames now expose readable document types, allowed operations, mutation authority, typed intent document types, and typed receipt document types; Aquarium should use those contracts to submit state changes and watch receipts rather than growing a little bespoke verb zoo.
|
||||
- The native runtime-spine hello now publishes the interactive surface catalog, not just the deep runtime bones. In addition to runtime/session/job/memory/heartbeat/ledger documents, Aquarium-discoverable contracts now advertise scene, pressure, reorient, CRRC, jobs, roles, role-result, reorient-result, planning, coordinator, Face, Void memory, repo initialization/birth runner, Rider bridge, and Unity bridge surfaces, with explicit read-only versus coordinator-owned intent/receipt posture. The point is to let Aquarium discover operator affordances from CultNet instead of hard-coding a secret menu of verbs.
|
||||
- Epiphany now publishes those CultNet receipts locally under `schemas/cultnet/`, and `epiphany-runtime-spine schema-catalog --include-schema-json true` emits a merged builtin-plus-local schema catalog Aquarium can consume directly. The local catalog covers runtime-spine documents, durable agent/heartbeat/ledger state, operator-safe `epiphany.surface.*` projections, control intents, and receipt/artifact payloads. The vendored `cultnet-rs` wire contract was aligned with the C# canon at the same time: raw document replication now keys on `schemaId` and `recordKey`, snapshot filters use `schemaIds` / `recordKeys`, and hello supports typed mutation-contract advertisement instead of the old half-remembered payload-schema-version folklore.
|
||||
- Epiphany now owns the canonical schema paperwork locally under `schemas/`. The key receipts are `schemas/ghostlight.agent-state.schema.json`, `schemas/canonical-agent-state-schema.md`, `schemas/agent-state-variable-glossary.md`, `schemas/repo-personality-birth-projection.md`, and `schemas/heartbeat-state-schema.md`. If a standing trait name like `routing_discipline` changes, or if dossier/heartbeat/birth-projection semantics move, update those docs in the same pass instead of relying on old Ghostlight notes or live store archaeology.
|
||||
- The schema doctrine now makes the dossier split explicit: most resident Epiphany organs are `lane_core` dossiers with a lean role lattice and growth via rumination/distillation, while Face is an `embodied_actor` dossier that should trend toward dense Ghostlight-family personality, relationship pressure, and fallible character-loop response. `epiphany-agent-memory-store status` and `epiphany-character-loop` now surface that classification on the wire.
|
||||
- Face packets now carry deterministic Ghostlight-style `projectionSeed`, `appraisalSeed`, and `reactionSeed` surfaces rebuilt from local dossier traits, relationship memories, perceived overlays, and visible stimulus so the public mouth can use actual projection/appraisal machinery instead of decorative prompt text. Also record this now before some future fool hard-codes singularity: multiple Face actors are part of the plan, even though the current MVP still routes through one `face` role.
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ developer's damp recollection.
|
|||
heartbeat seeds.
|
||||
- [heartbeat-state-schema.md](./heartbeat-state-schema.md):
|
||||
typed initiative and routine-state contract for the swarm heartbeat organ.
|
||||
- [cultnet/README.md](./cultnet/README.md):
|
||||
published CultNet-facing state, surface, intent, and receipt schemas that
|
||||
Aquarium and other runtimes can discover through Epiphany's schema-catalog
|
||||
response.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
|
|
|
|||
44
schemas/cultnet/README.md
Normal file
44
schemas/cultnet/README.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# CultNet Schemas
|
||||
|
||||
This folder is Epiphany's published CultNet contract surface for Aquarium and
|
||||
other swarm-side observers. It contains the runtime state, operator-facing
|
||||
surface projections, control intents, and receipt/artifact payloads that the
|
||||
runtime-spine advertises over `cultnet.schema.v0`.
|
||||
|
||||
## What Lives Here
|
||||
|
||||
- `index.json`: local registration manifest loaded by
|
||||
`epiphany-runtime-spine` when answering schema-catalog requests.
|
||||
- `*.schema.json`: top-level JSON Schema receipts for payload/document shapes.
|
||||
|
||||
The payload receipts are deliberately practical rather than religiously
|
||||
exhaustive. They publish the stable top-level structure Aquarium needs for
|
||||
inspection, visualization, and control without pretending every nested app
|
||||
server object deserves to be duplicated into a second baroque schema maze.
|
||||
|
||||
## Main Families
|
||||
|
||||
- `epiphany.runtime.*`: native runtime-spine identity, session, job, job
|
||||
result, and event documents.
|
||||
- `epiphany.agent_*` and `epiphany.state-ledger`: durable typed state the swarm
|
||||
actually lives on.
|
||||
- `epiphany.surface.*`: operator-safe projections for scene, freshness,
|
||||
context, graph query, coordinator, roles, jobs, Face, Rider, Unity, repo
|
||||
initialization, and related live surfaces.
|
||||
- `*.intent.v0`: control documents Aquarium or another trusted coordinator can
|
||||
submit through CultNet.
|
||||
- receipt/artifact schemas such as `epiphany.swarm-control-receipt`,
|
||||
`epiphany.face-bubble`, `epiphany.character-turn-packet`, and
|
||||
`epiphany.repo-birth-runner`.
|
||||
|
||||
## Publication Path
|
||||
|
||||
Generate a schema-catalog response with inline schema bodies:
|
||||
|
||||
```powershell
|
||||
cargo run --manifest-path .\epiphany-core\Cargo.toml --bin epiphany-runtime-spine -- schema-catalog --output .epiphany-dogfood\runtime-spine\schema-catalog.json --include-schema-json true
|
||||
```
|
||||
|
||||
The runtime-spine merges the builtin CultNet schema registry with this local
|
||||
index before answering the request, so consumers can discover both canonical
|
||||
wire contracts and Epiphany-local payload contracts from one place.
|
||||
86
schemas/cultnet/epiphany.agent-heartbeat.schema.json
Normal file
86
schemas/cultnet/epiphany.agent-heartbeat.schema.json
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.agent-heartbeat.schema.json",
|
||||
"title": "Epiphany Heartbeat State",
|
||||
"description": "Typed heartbeat store entry for initiative, rumination, and routine physiology.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetHeartbeatRate": {
|
||||
"type": "number"
|
||||
},
|
||||
"sceneClock": {
|
||||
"type": "number"
|
||||
},
|
||||
"selectionPolicy": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"pacingPolicy": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"participants": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"history": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"sleepCycle": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"memoryResonance": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"incubation": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"thoughtLanes": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"bridge": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"candidateInterventions": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"appraisals": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"reactions": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"extra": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"targetHeartbeatRate",
|
||||
"sceneClock",
|
||||
"selectionPolicy",
|
||||
"pacingPolicy",
|
||||
"participants",
|
||||
"history"
|
||||
]
|
||||
}
|
||||
55
schemas/cultnet/epiphany.agent.memory.schema.json
Normal file
55
schemas/cultnet/epiphany.agent.memory.schema.json
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.agent.memory.schema.json",
|
||||
"title": "Epiphany Agent Memory",
|
||||
"description": "Ghostlight-shaped role dossier entry used by Epiphany lanes and Face.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"world": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"agent": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"relationships": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"events": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"scenes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"roleId",
|
||||
"world",
|
||||
"agent"
|
||||
]
|
||||
}
|
||||
29
schemas/cultnet/epiphany.agent_memory_intent.v0.schema.json
Normal file
29
schemas/cultnet/epiphany.agent_memory_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.agent_memory_intent.v0.schema.json",
|
||||
"title": "epiphany agent_memory_intent v0",
|
||||
"description": "Coordinator-reviewed role self-memory mutation petition.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string"
|
||||
},
|
||||
"patch": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"roleId",
|
||||
"reason",
|
||||
"patch"
|
||||
]
|
||||
}
|
||||
78
schemas/cultnet/epiphany.character-turn-packet.schema.json
Normal file
78
schemas/cultnet/epiphany.character-turn-packet.schema.json
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.character-turn-packet.schema.json",
|
||||
"title": "Epiphany Character Turn Packet",
|
||||
"description": "Epiphany-native character-loop projection packet.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"protocol": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"stimulus": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"projectedLocalContext": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"projectionSeed": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"appraisalSeed": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"reactionSeed": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"allowedOutputs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"cognitionLanes": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"guardrails": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"resultShape": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"protocol",
|
||||
"source",
|
||||
"createdAt",
|
||||
"stimulus",
|
||||
"projectedLocalContext",
|
||||
"projectionSeed",
|
||||
"appraisalSeed",
|
||||
"reactionSeed",
|
||||
"allowedOutputs",
|
||||
"cognitionLanes",
|
||||
"guardrails",
|
||||
"resultShape"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.character_turn_intent.v0.schema.json",
|
||||
"title": "epiphany character_turn_intent v0",
|
||||
"description": "Character-loop turn intent for Face or other embodied actors.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"stimulus": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"mood": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"roleId",
|
||||
"stimulus"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.circadian_rhythm_intent.v0.schema.json",
|
||||
"title": "epiphany circadian_rhythm_intent v0",
|
||||
"description": "Circadian rhythm intent for letting the swarm sleep or wake.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"sleeping": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"targetHeartbeatRate": {
|
||||
"type": "number"
|
||||
},
|
||||
"allowDream": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"sleeping"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.discord_persona_post_intent.v0.schema.json",
|
||||
"title": "epiphany discord_persona_post_intent v0",
|
||||
"description": "Face persona post intent for the #aquarium Discord mouth.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"channelId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"personaName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"personaAvatarUrl": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"replyToMessageId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"content"
|
||||
]
|
||||
}
|
||||
57
schemas/cultnet/epiphany.face-bubble.schema.json
Normal file
57
schemas/cultnet/epiphany.face-bubble.schema.json
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.face-bubble.schema.json",
|
||||
"title": "Epiphany Face Bubble",
|
||||
"description": "Aquarium-visible Face bubble artifact.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"target": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"agentId": {
|
||||
"type": "string"
|
||||
},
|
||||
"displayName": {
|
||||
"type": "string"
|
||||
},
|
||||
"mood": {
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"bubble": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"createdAt",
|
||||
"status",
|
||||
"source",
|
||||
"target",
|
||||
"roleId",
|
||||
"agentId",
|
||||
"displayName",
|
||||
"mood",
|
||||
"content",
|
||||
"bubble"
|
||||
]
|
||||
}
|
||||
54
schemas/cultnet/epiphany.face-chat.schema.json
Normal file
54
schemas/cultnet/epiphany.face-chat.schema.json
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.face-chat.schema.json",
|
||||
"title": "Epiphany Face Chat Draft",
|
||||
"description": "Face chat draft/post artifact.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string"
|
||||
},
|
||||
"allowedChannelName": {
|
||||
"type": "string"
|
||||
},
|
||||
"allowedChannelId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"personaName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"personaAvatarUrl": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"content": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"createdAt",
|
||||
"status",
|
||||
"reason",
|
||||
"allowedChannelName",
|
||||
"content"
|
||||
]
|
||||
}
|
||||
29
schemas/cultnet/epiphany.face_bubble_intent.v0.schema.json
Normal file
29
schemas/cultnet/epiphany.face_bubble_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.face_bubble_intent.v0.schema.json",
|
||||
"title": "epiphany face_bubble_intent v0",
|
||||
"description": "Face bubble intent for Aquarium-visible chat puffs.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"content": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"mood": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"content"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.heartbeat_pump_intent.v0.schema.json",
|
||||
"title": "epiphany heartbeat_pump_intent v0",
|
||||
"description": "Heartbeat pump intent for waking lanes and pacing the swarm.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"scheduleId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"sourceSceneRef": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"coordinatorAction": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"targetRole": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"externalUrgency": {
|
||||
"type": "number"
|
||||
},
|
||||
"maxTicks": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId"
|
||||
]
|
||||
}
|
||||
25
schemas/cultnet/epiphany.job_interrupt_intent.v0.schema.json
Normal file
25
schemas/cultnet/epiphany.job_interrupt_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.job_interrupt_intent.v0.schema.json",
|
||||
"title": "epiphany job_interrupt_intent v0",
|
||||
"description": "Bounded job interrupt intent mirroring thread/epiphany/jobInterrupt.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"bindingId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"reason": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId"
|
||||
]
|
||||
}
|
||||
26
schemas/cultnet/epiphany.job_launch_intent.v0.schema.json
Normal file
26
schemas/cultnet/epiphany.job_launch_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.job_launch_intent.v0.schema.json",
|
||||
"title": "epiphany job_launch_intent v0",
|
||||
"description": "Bounded job launch intent mirroring thread/epiphany/jobLaunch.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"maxRuntimeSeconds": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"kind"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.objective_adoption_intent.v0.schema.json",
|
||||
"title": "epiphany objective_adoption_intent v0",
|
||||
"description": "Explicit objective-draft adoption intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"draftId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"draftId"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.planning_update_intent.v0.schema.json",
|
||||
"title": "epiphany planning_update_intent v0",
|
||||
"description": "Planning update intent over captures, backlog, roadmap, and drafts.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"patch": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"patch"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.reorient_accept_intent.v0.schema.json",
|
||||
"title": "epiphany reorient_accept_intent v0",
|
||||
"description": "Review-gated reorientation finding acceptance intent mirroring thread/epiphany/reorientAccept.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"bindingId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"updateScratch": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"updateInvestigationCheckpoint": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.reorient_launch_intent.v0.schema.json",
|
||||
"title": "epiphany reorient_launch_intent v0",
|
||||
"description": "Bounded reorient-worker launch intent mirroring thread/epiphany/reorientLaunch.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"maxRuntimeSeconds": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId"
|
||||
]
|
||||
}
|
||||
69
schemas/cultnet/epiphany.repo-birth-runner.schema.json
Normal file
69
schemas/cultnet/epiphany.repo-birth-runner.schema.json
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-birth-runner.schema.json",
|
||||
"title": "Epiphany Repo Birth Runner Summary",
|
||||
"description": "Startup-only birth runner summary artifact.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"repo": {
|
||||
"type": "string"
|
||||
},
|
||||
"baseline": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": "string"
|
||||
},
|
||||
"initStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"agentStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"heartbeatStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"startup": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"executions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"requiresReview": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"nextSafeMove": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"createdAt",
|
||||
"mode",
|
||||
"repo",
|
||||
"baseline",
|
||||
"artifactDir",
|
||||
"initStore",
|
||||
"agentStore",
|
||||
"heartbeatStore",
|
||||
"startup",
|
||||
"executions",
|
||||
"requiresReview",
|
||||
"nextSafeMove"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-initialization-record.schema.json",
|
||||
"title": "Epiphany Repo Initialization Record",
|
||||
"description": "Accepted startup-only birth rite record.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"recordId": {
|
||||
"type": "string"
|
||||
},
|
||||
"repoId": {
|
||||
"type": "string"
|
||||
},
|
||||
"repoPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"sourcePacketSchemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"sourcePacketPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"acceptedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"acceptedBy": {
|
||||
"type": "string"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"recordId",
|
||||
"repoId",
|
||||
"repoPath",
|
||||
"kind",
|
||||
"sourcePacketSchemaVersion",
|
||||
"sourcePacketPath",
|
||||
"acceptedAt",
|
||||
"acceptedBy",
|
||||
"summary"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-personality-artifacts.schema.json",
|
||||
"title": "Epiphany Repo Personality Artifacts",
|
||||
"description": "Repo scout/project/startup artifact family emitted by epiphany-repo-personality.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"root": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"repo": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"repoId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"store": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"profile": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"terrain": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"trajectory": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"generatedPackets": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"requiredActions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"nextSafeMove": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"mode"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_birth_run_intent.v0.schema.json",
|
||||
"title": "epiphany repo_birth_run_intent v0",
|
||||
"description": "Startup-only repo birth runner plan/run intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"repo": {
|
||||
"type": "string"
|
||||
},
|
||||
"baseline": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"initStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"agentStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"heartbeatStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"model": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"timeoutSeconds": {
|
||||
"type": "integer"
|
||||
},
|
||||
"autoAccept": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"repo"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_initialization_accept_intent.v0.schema.json",
|
||||
"title": "epiphany repo_initialization_accept_intent v0",
|
||||
"description": "Startup-only repo initialization acceptance intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"kind": {
|
||||
"type": "string"
|
||||
},
|
||||
"packetPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"resultPath": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"acceptedBy": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"agentStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"applySelfPatches": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"applyTraitSeeds": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"heartbeatStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"applyHeartbeatSeeds": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"kind",
|
||||
"packetPath"
|
||||
]
|
||||
}
|
||||
34
schemas/cultnet/epiphany.repo_startup_intent.v0.schema.json
Normal file
34
schemas/cultnet/epiphany.repo_startup_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_startup_intent.v0.schema.json",
|
||||
"title": "epiphany repo_startup_intent v0",
|
||||
"description": "Startup-only repo initialization intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"repo": {
|
||||
"type": "string"
|
||||
},
|
||||
"baseline": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"initStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"repo"
|
||||
]
|
||||
}
|
||||
52
schemas/cultnet/epiphany.rider_context_intent.v0.schema.json
Normal file
52
schemas/cultnet/epiphany.rider_context_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_context_intent.v0.schema.json",
|
||||
"title": "epiphany rider_context_intent v0",
|
||||
"description": "Rider bridge context capture intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectRoot": {
|
||||
"type": "string"
|
||||
},
|
||||
"file": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"line": {
|
||||
"type": "integer"
|
||||
},
|
||||
"column": {
|
||||
"type": "integer"
|
||||
},
|
||||
"selectionStart": {
|
||||
"type": "integer"
|
||||
},
|
||||
"selectionEnd": {
|
||||
"type": "integer"
|
||||
},
|
||||
"symbolName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"symbolKind": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"symbolNamespace": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectRoot"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_open_ref_intent.v0.schema.json",
|
||||
"title": "epiphany rider_open_ref_intent v0",
|
||||
"description": "Rider bridge open-ref intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectRoot": {
|
||||
"type": "string"
|
||||
},
|
||||
"file": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"line": {
|
||||
"type": "integer"
|
||||
},
|
||||
"column": {
|
||||
"type": "integer"
|
||||
},
|
||||
"symbolName": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"symbolKind": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"symbolNamespace": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"launch": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectRoot"
|
||||
]
|
||||
}
|
||||
16
schemas/cultnet/epiphany.rider_status_intent.v0.schema.json
Normal file
16
schemas/cultnet/epiphany.rider_status_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_status_intent.v0.schema.json",
|
||||
"title": "epiphany rider_status_intent v0",
|
||||
"description": "Rider bridge status intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectRoot": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectRoot"
|
||||
]
|
||||
}
|
||||
29
schemas/cultnet/epiphany.role_accept_intent.v0.schema.json
Normal file
29
schemas/cultnet/epiphany.role_accept_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.role_accept_intent.v0.schema.json",
|
||||
"title": "epiphany role_accept_intent v0",
|
||||
"description": "Review-gated role acceptance intent mirroring thread/epiphany/roleAccept.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"bindingId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"roleId"
|
||||
]
|
||||
}
|
||||
26
schemas/cultnet/epiphany.role_launch_intent.v0.schema.json
Normal file
26
schemas/cultnet/epiphany.role_launch_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.role_launch_intent.v0.schema.json",
|
||||
"title": "epiphany role_launch_intent v0",
|
||||
"description": "Fixed-lane role launch intent mirroring thread/epiphany/roleLaunch.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"expectedRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"maxRuntimeSeconds": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"roleId"
|
||||
]
|
||||
}
|
||||
52
schemas/cultnet/epiphany.runtime.event.schema.json
Normal file
52
schemas/cultnet/epiphany.runtime.event.schema.json
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.event.schema.json",
|
||||
"title": "Epiphany Runtime Event",
|
||||
"description": "Append-only native runtime event projection.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"eventId": {
|
||||
"type": "string"
|
||||
},
|
||||
"occurredAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"eventType": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"sessionId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"jobId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"eventId",
|
||||
"occurredAt",
|
||||
"eventType",
|
||||
"source",
|
||||
"summary"
|
||||
]
|
||||
}
|
||||
48
schemas/cultnet/epiphany.runtime.identity.schema.json
Normal file
48
schemas/cultnet/epiphany.runtime.identity.schema.json
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.identity.schema.json",
|
||||
"title": "Epiphany Runtime Identity",
|
||||
"description": "Identity record for the native Epiphany runtime spine.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string",
|
||||
"description": "Runtime identity payload version."
|
||||
},
|
||||
"runtimeId": {
|
||||
"type": "string"
|
||||
},
|
||||
"displayName": {
|
||||
"type": "string"
|
||||
},
|
||||
"runtimeKind": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"supportedDocumentTypes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"runtimeId",
|
||||
"displayName",
|
||||
"runtimeKind",
|
||||
"createdAt",
|
||||
"updatedAt",
|
||||
"supportedDocumentTypes"
|
||||
]
|
||||
}
|
||||
63
schemas/cultnet/epiphany.runtime.job-result.schema.json
Normal file
63
schemas/cultnet/epiphany.runtime.job-result.schema.json
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.job-result.schema.json",
|
||||
"title": "Epiphany Runtime Job Result",
|
||||
"description": "Reviewable runtime-spine job result.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"resultId": {
|
||||
"type": "string"
|
||||
},
|
||||
"jobId": {
|
||||
"type": "string"
|
||||
},
|
||||
"sessionId": {
|
||||
"type": "string"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
},
|
||||
"verdict": {
|
||||
"type": "string"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"completedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"nextSafeMove": {
|
||||
"type": "string"
|
||||
},
|
||||
"evidenceRefs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"artifactRefs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"resultId",
|
||||
"jobId",
|
||||
"sessionId",
|
||||
"role",
|
||||
"verdict",
|
||||
"summary",
|
||||
"completedAt"
|
||||
]
|
||||
}
|
||||
53
schemas/cultnet/epiphany.runtime.job.schema.json
Normal file
53
schemas/cultnet/epiphany.runtime.job.schema.json
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.job.schema.json",
|
||||
"title": "Epiphany Runtime Job",
|
||||
"description": "Native runtime-spine job state.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"jobId": {
|
||||
"type": "string"
|
||||
},
|
||||
"sessionId": {
|
||||
"type": "string"
|
||||
},
|
||||
"role": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifactRefs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"jobId",
|
||||
"sessionId",
|
||||
"role",
|
||||
"status",
|
||||
"createdAt",
|
||||
"updatedAt"
|
||||
]
|
||||
}
|
||||
43
schemas/cultnet/epiphany.runtime.session.schema.json
Normal file
43
schemas/cultnet/epiphany.runtime.session.schema.json
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.session.schema.json",
|
||||
"title": "Epiphany Runtime Session",
|
||||
"description": "Native runtime-spine session state.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"sessionId": {
|
||||
"type": "string"
|
||||
},
|
||||
"objective": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"coordinatorNote": {
|
||||
"type": "string"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"sessionId",
|
||||
"objective",
|
||||
"status",
|
||||
"createdAt",
|
||||
"updatedAt"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.session_intent.v0.schema.json",
|
||||
"title": "epiphany runtime session_intent v0",
|
||||
"description": "Coordinator-owned runtime session creation/update intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"objective": {
|
||||
"type": "string"
|
||||
},
|
||||
"coordinatorNote": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"objective"
|
||||
]
|
||||
}
|
||||
36
schemas/cultnet/epiphany.state-ledger.schema.json
Normal file
36
schemas/cultnet/epiphany.state-ledger.schema.json
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.state-ledger.schema.json",
|
||||
"title": "Epiphany State Ledger",
|
||||
"description": "Durable branch/evidence ledger entry.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"branches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"evidence": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"extra": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"branches",
|
||||
"evidence"
|
||||
]
|
||||
}
|
||||
37
schemas/cultnet/epiphany.surface.context.schema.json
Normal file
37
schemas/cultnet/epiphany.surface.context.schema.json
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.context.schema.json",
|
||||
"title": "Epiphany context",
|
||||
"description": "Bounded graph/evidence context shard mirrored from thread/epiphany/context.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"context": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"missing": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"context",
|
||||
"missing"
|
||||
]
|
||||
}
|
||||
72
schemas/cultnet/epiphany.surface.coordinator.schema.json
Normal file
72
schemas/cultnet/epiphany.surface.coordinator.schema.json
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.coordinator.schema.json",
|
||||
"title": "Epiphany coordinator",
|
||||
"description": "Fixed-lane coordinator recommendation surface mirrored from thread/epiphany/coordinator.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetRole": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"recommendedSceneAction": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"requiresReview": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"canAutoRun": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"reason": {
|
||||
"type": "string"
|
||||
},
|
||||
"sourceSignals": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"roles": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"action",
|
||||
"requiresReview",
|
||||
"canAutoRun",
|
||||
"reason",
|
||||
"sourceSignals",
|
||||
"roles",
|
||||
"note"
|
||||
]
|
||||
}
|
||||
58
schemas/cultnet/epiphany.surface.crrc.schema.json
Normal file
58
schemas/cultnet/epiphany.surface.crrc.schema.json
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.crrc.schema.json",
|
||||
"title": "Epiphany crrc",
|
||||
"description": "Read-only CRRC recommendation surface mirrored from thread/epiphany/crrc.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"pressure": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"decision": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"recommendation": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"reorientBindingId": {
|
||||
"type": "string"
|
||||
},
|
||||
"reorientResultStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"job": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"finding": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"pressure",
|
||||
"decision",
|
||||
"recommendation",
|
||||
"reorientBindingId",
|
||||
"reorientResultStatus"
|
||||
]
|
||||
}
|
||||
50
schemas/cultnet/epiphany.surface.face.schema.json
Normal file
50
schemas/cultnet/epiphany.surface.face.schema.json
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.face.schema.json",
|
||||
"title": "Epiphany face",
|
||||
"description": "Operator-safe Face bubble/draft/post surface mirrored from epiphany-face-discord and epiphany-character-loop artifacts.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"ok": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"latestArtifacts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"bubbles": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"drafts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"posts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ok"
|
||||
]
|
||||
}
|
||||
38
schemas/cultnet/epiphany.surface.freshness.schema.json
Normal file
38
schemas/cultnet/epiphany.surface.freshness.schema.json
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.freshness.schema.json",
|
||||
"title": "Epiphany freshness",
|
||||
"description": "Read-only freshness reflection mirrored from thread/epiphany/freshness.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"retrieval": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"graph": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"watcher": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"retrieval",
|
||||
"graph",
|
||||
"watcher"
|
||||
]
|
||||
}
|
||||
50
schemas/cultnet/epiphany.surface.graph-query.schema.json
Normal file
50
schemas/cultnet/epiphany.surface.graph-query.schema.json
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.graph-query.schema.json",
|
||||
"title": "Epiphany graph-query",
|
||||
"description": "Bounded graph traversal response mirrored from thread/epiphany/graphQuery.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"graph": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"frontier": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"checkpoint": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"matched": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"missing": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"graph",
|
||||
"matched",
|
||||
"missing"
|
||||
]
|
||||
}
|
||||
31
schemas/cultnet/epiphany.surface.jobs.schema.json
Normal file
31
schemas/cultnet/epiphany.surface.jobs.schema.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.jobs.schema.json",
|
||||
"title": "Epiphany jobs",
|
||||
"description": "Job/progress reflection mirrored from thread/epiphany/jobs.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"jobs": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"jobs"
|
||||
]
|
||||
}
|
||||
37
schemas/cultnet/epiphany.surface.planning.schema.json
Normal file
37
schemas/cultnet/epiphany.surface.planning.schema.json
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.planning.schema.json",
|
||||
"title": "Epiphany planning",
|
||||
"description": "Planning projection mirrored from thread/epiphany/planning.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"planning": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"summary": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"planning",
|
||||
"summary"
|
||||
]
|
||||
}
|
||||
25
schemas/cultnet/epiphany.surface.pressure.schema.json
Normal file
25
schemas/cultnet/epiphany.surface.pressure.schema.json
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.pressure.schema.json",
|
||||
"title": "Epiphany pressure",
|
||||
"description": "Read-only context pressure reflection mirrored from thread/epiphany/pressure.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"pressure": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"pressure"
|
||||
]
|
||||
}
|
||||
47
schemas/cultnet/epiphany.surface.reorient-result.schema.json
Normal file
47
schemas/cultnet/epiphany.surface.reorient-result.schema.json
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.reorient-result.schema.json",
|
||||
"title": "Epiphany reorient-result",
|
||||
"description": "Completed reorientation finding surface mirrored from thread/epiphany/reorientResult.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"bindingId": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"job": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"finding": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"bindingId",
|
||||
"status",
|
||||
"note"
|
||||
]
|
||||
}
|
||||
32
schemas/cultnet/epiphany.surface.reorient.schema.json
Normal file
32
schemas/cultnet/epiphany.surface.reorient.schema.json
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.reorient.schema.json",
|
||||
"title": "Epiphany reorient",
|
||||
"description": "Read-only reorientation verdict mirrored from thread/epiphany/reorient.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"decision": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"decision"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.repo-birth-runner.schema.json",
|
||||
"title": "Epiphany repo-birth-runner",
|
||||
"description": "Startup-only birth runner summary mirrored from epiphany-repo-birth-runner.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"repo": {
|
||||
"type": "string"
|
||||
},
|
||||
"baseline": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": "string"
|
||||
},
|
||||
"initStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"agentStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"heartbeatStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"startup": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"executions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"requiresReview": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"nextSafeMove": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"createdAt",
|
||||
"mode",
|
||||
"repo",
|
||||
"baseline",
|
||||
"artifactDir",
|
||||
"initStore",
|
||||
"agentStore",
|
||||
"heartbeatStore",
|
||||
"startup",
|
||||
"executions",
|
||||
"requiresReview",
|
||||
"nextSafeMove"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.repo-initialization.schema.json",
|
||||
"title": "Epiphany repo-initialization",
|
||||
"description": "Startup-only repo initialization summary mirrored from epiphany-repo-personality startup.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"mode": {
|
||||
"type": "string"
|
||||
},
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"repoId": {
|
||||
"type": "string"
|
||||
},
|
||||
"repo": {
|
||||
"type": "string"
|
||||
},
|
||||
"baseline": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifactDir": {
|
||||
"type": "string"
|
||||
},
|
||||
"initStore": {
|
||||
"type": "string"
|
||||
},
|
||||
"acceptedKinds": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"missingKinds": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"projectionStore": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"generatedPackets": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"requiredActions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"requiresReview": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"nextSafeMove": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"mode",
|
||||
"action",
|
||||
"repoId",
|
||||
"repo",
|
||||
"baseline",
|
||||
"artifactDir",
|
||||
"initStore",
|
||||
"acceptedKinds",
|
||||
"missingKinds",
|
||||
"generatedPackets",
|
||||
"requiredActions",
|
||||
"requiresReview",
|
||||
"nextSafeMove"
|
||||
]
|
||||
}
|
||||
41
schemas/cultnet/epiphany.surface.rider-bridge.schema.json
Normal file
41
schemas/cultnet/epiphany.surface.rider-bridge.schema.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.rider-bridge.schema.json",
|
||||
"title": "Epiphany rider-bridge",
|
||||
"description": "Operator-safe Rider status/context/open-ref surface mirrored from epiphany-rider-bridge.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"projectRoot": {
|
||||
"type": "string"
|
||||
},
|
||||
"rider": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"solution": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"vcs": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"artifacts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status"
|
||||
]
|
||||
}
|
||||
51
schemas/cultnet/epiphany.surface.role-result.schema.json
Normal file
51
schemas/cultnet/epiphany.surface.role-result.schema.json
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.role-result.schema.json",
|
||||
"title": "Epiphany role-result",
|
||||
"description": "Reviewable role finding read-back mirrored from thread/epiphany/roleResult.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"roleId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"bindingId": {
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"job": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"finding": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"roleId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"bindingId",
|
||||
"status",
|
||||
"note"
|
||||
]
|
||||
}
|
||||
39
schemas/cultnet/epiphany.surface.roles.schema.json
Normal file
39
schemas/cultnet/epiphany.surface.roles.schema.json
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.roles.schema.json",
|
||||
"title": "Epiphany roles",
|
||||
"description": "Role ownership reflection mirrored from thread/epiphany/roles.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"roles": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"stateStatus",
|
||||
"roles",
|
||||
"note"
|
||||
]
|
||||
}
|
||||
31
schemas/cultnet/epiphany.surface.scene.schema.json
Normal file
31
schemas/cultnet/epiphany.surface.scene.schema.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.scene.schema.json",
|
||||
"title": "Epiphany scene",
|
||||
"description": "Operator-safe scene reflection mirrored from thread/epiphany/scene.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"threadId": {
|
||||
"type": "string"
|
||||
},
|
||||
"source": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"stateRevision": {
|
||||
"type": "integer"
|
||||
},
|
||||
"scene": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"threadId",
|
||||
"source",
|
||||
"scene"
|
||||
]
|
||||
}
|
||||
47
schemas/cultnet/epiphany.surface.unity-bridge.schema.json
Normal file
47
schemas/cultnet/epiphany.surface.unity-bridge.schema.json
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.unity-bridge.schema.json",
|
||||
"title": "Epiphany unity-bridge",
|
||||
"description": "Pinned Unity editor/runtime bridge surface mirrored from epiphany-unity-bridge.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"projectPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"projectVersion": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"bridge": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"installations": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"runStatus": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifacts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"status"
|
||||
]
|
||||
}
|
||||
41
schemas/cultnet/epiphany.surface.void-memory.schema.json
Normal file
41
schemas/cultnet/epiphany.surface.void-memory.schema.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.void-memory.schema.json",
|
||||
"title": "Epiphany void-memory",
|
||||
"description": "Inspection surface for Void-derived memory organs.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"ok": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"postgres": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"qdrant": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"archive": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
},
|
||||
"collections": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"ok"
|
||||
]
|
||||
}
|
||||
67
schemas/cultnet/epiphany.swarm-control-receipt.schema.json
Normal file
67
schemas/cultnet/epiphany.swarm-control-receipt.schema.json
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.swarm-control-receipt.schema.json",
|
||||
"title": "Epiphany Swarm Control Receipt",
|
||||
"description": "Generic receipt emitted after a coordinator-owned Epiphany control action.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"schemaVersion": {
|
||||
"type": "string"
|
||||
},
|
||||
"ok": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"action": {
|
||||
"type": "string"
|
||||
},
|
||||
"authority": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetDocumentType": {
|
||||
"type": "string"
|
||||
},
|
||||
"targetBindingId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"targetRole": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"targetThreadId": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"type": "string"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string"
|
||||
},
|
||||
"artifactPaths": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"note": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"schemaVersion",
|
||||
"ok",
|
||||
"action",
|
||||
"authority",
|
||||
"targetDocumentType",
|
||||
"status",
|
||||
"summary"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_check_compilation_intent.v0.schema.json",
|
||||
"title": "epiphany unity_check_compilation_intent v0",
|
||||
"description": "Unity bridge compilation-check intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"dryRun": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectPath"
|
||||
]
|
||||
}
|
||||
16
schemas/cultnet/epiphany.unity_inspect_intent.v0.schema.json
Normal file
16
schemas/cultnet/epiphany.unity_inspect_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_inspect_intent.v0.schema.json",
|
||||
"title": "epiphany unity_inspect_intent v0",
|
||||
"description": "Unity bridge inspect intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectPath": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectPath"
|
||||
]
|
||||
}
|
||||
59
schemas/cultnet/epiphany.unity_probe_intent.v0.schema.json
Normal file
59
schemas/cultnet/epiphany.unity_probe_intent.v0.schema.json
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_probe_intent.v0.schema.json",
|
||||
"title": "epiphany unity_probe_intent v0",
|
||||
"description": "Unity bridge named probe intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"operation": {
|
||||
"type": "string"
|
||||
},
|
||||
"scene": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"asset": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"guid": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"maxObjects": {
|
||||
"type": "integer"
|
||||
},
|
||||
"maxProperties": {
|
||||
"type": "integer"
|
||||
},
|
||||
"maxDependencies": {
|
||||
"type": "integer"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string"
|
||||
},
|
||||
"filter": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"dryRun": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectPath",
|
||||
"operation"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_run_tests_intent.v0.schema.json",
|
||||
"title": "epiphany unity_run_tests_intent v0",
|
||||
"description": "Unity bridge run-tests intent.",
|
||||
"type": "object",
|
||||
"additionalProperties": true,
|
||||
"properties": {
|
||||
"projectPath": {
|
||||
"type": "string"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string"
|
||||
},
|
||||
"filter": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
},
|
||||
"dryRun": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"projectPath"
|
||||
]
|
||||
}
|
||||
654
schemas/cultnet/index.json
Normal file
654
schemas/cultnet/index.json
Normal file
|
|
@ -0,0 +1,654 @@
|
|||
{
|
||||
"schemaVersion": "epiphany.cultnet_catalog.v0",
|
||||
"schemas": [
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.identity.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime_spine.v0",
|
||||
"documentType": "epiphany.runtime.identity",
|
||||
"title": "Epiphany Runtime Identity",
|
||||
"path": "epiphany.runtime.identity.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.session.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime_spine.v0",
|
||||
"documentType": "epiphany.runtime.session",
|
||||
"title": "Epiphany Runtime Session",
|
||||
"path": "epiphany.runtime.session.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.job.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime_spine.v0",
|
||||
"documentType": "epiphany.runtime.job",
|
||||
"title": "Epiphany Runtime Job",
|
||||
"path": "epiphany.runtime.job.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.job-result.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime_spine.v0",
|
||||
"documentType": "epiphany.runtime.job_result",
|
||||
"title": "Epiphany Runtime Job Result",
|
||||
"path": "epiphany.runtime.job-result.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.event.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime_spine.v0",
|
||||
"documentType": "epiphany.runtime.event",
|
||||
"title": "Epiphany Runtime Event",
|
||||
"path": "epiphany.runtime.event.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.agent.memory.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.agent_memory.v0",
|
||||
"documentType": "epiphany.agent_memory",
|
||||
"title": "Epiphany Agent Memory",
|
||||
"path": "epiphany.agent.memory.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.agent-heartbeat.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.agent_heartbeat.v0",
|
||||
"documentType": "epiphany.agent_heartbeat",
|
||||
"title": "Epiphany Heartbeat State",
|
||||
"path": "epiphany.agent-heartbeat.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.state-ledger.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.state_ledger.v0",
|
||||
"documentType": "epiphany.state_ledger",
|
||||
"title": "Epiphany State Ledger",
|
||||
"path": "epiphany.state-ledger.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.scene.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.scene_surface.v0",
|
||||
"documentType": "epiphany.surface.scene",
|
||||
"title": "Epiphany scene",
|
||||
"path": "epiphany.surface.scene.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.freshness.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.freshness_surface.v0",
|
||||
"documentType": "epiphany.surface.freshness",
|
||||
"title": "Epiphany freshness",
|
||||
"path": "epiphany.surface.freshness.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.context.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.context_surface.v0",
|
||||
"documentType": "epiphany.surface.context",
|
||||
"title": "Epiphany context",
|
||||
"path": "epiphany.surface.context.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.graph-query.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.graph_query_surface.v0",
|
||||
"documentType": "epiphany.surface.graph_query",
|
||||
"title": "Epiphany graph-query",
|
||||
"path": "epiphany.surface.graph-query.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.pressure.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.pressure_surface.v0",
|
||||
"documentType": "epiphany.surface.pressure",
|
||||
"title": "Epiphany pressure",
|
||||
"path": "epiphany.surface.pressure.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.reorient.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.reorient_surface.v0",
|
||||
"documentType": "epiphany.surface.reorient",
|
||||
"title": "Epiphany reorient",
|
||||
"path": "epiphany.surface.reorient.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.crrc.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.crrc_surface.v0",
|
||||
"documentType": "epiphany.surface.crrc",
|
||||
"title": "Epiphany crrc",
|
||||
"path": "epiphany.surface.crrc.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.jobs.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.jobs_surface.v0",
|
||||
"documentType": "epiphany.surface.jobs",
|
||||
"title": "Epiphany jobs",
|
||||
"path": "epiphany.surface.jobs.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.roles.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.roles_surface.v0",
|
||||
"documentType": "epiphany.surface.roles",
|
||||
"title": "Epiphany roles",
|
||||
"path": "epiphany.surface.roles.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.role-result.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.role_result_surface.v0",
|
||||
"documentType": "epiphany.surface.role_result",
|
||||
"title": "Epiphany role-result",
|
||||
"path": "epiphany.surface.role-result.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.reorient-result.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.reorient_result_surface.v0",
|
||||
"documentType": "epiphany.surface.reorient_result",
|
||||
"title": "Epiphany reorient-result",
|
||||
"path": "epiphany.surface.reorient-result.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.planning.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.planning_surface.v0",
|
||||
"documentType": "epiphany.surface.planning",
|
||||
"title": "Epiphany planning",
|
||||
"path": "epiphany.surface.planning.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.coordinator.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.coordinator_surface.v0",
|
||||
"documentType": "epiphany.surface.coordinator",
|
||||
"title": "Epiphany coordinator",
|
||||
"path": "epiphany.surface.coordinator.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.face.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.face_surface.v0",
|
||||
"documentType": "epiphany.surface.face",
|
||||
"title": "Epiphany face",
|
||||
"path": "epiphany.surface.face.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.void-memory.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.void_memory_surface.v0",
|
||||
"documentType": "epiphany.surface.void_memory",
|
||||
"title": "Epiphany void-memory",
|
||||
"path": "epiphany.surface.void-memory.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.repo-initialization.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_initialization_surface.v0",
|
||||
"documentType": "epiphany.surface.repo_initialization",
|
||||
"title": "Epiphany repo-initialization",
|
||||
"path": "epiphany.surface.repo-initialization.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.repo-birth-runner.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_birth_runner_surface.v0",
|
||||
"documentType": "epiphany.surface.repo_birth_runner",
|
||||
"title": "Epiphany repo-birth-runner",
|
||||
"path": "epiphany.surface.repo-birth-runner.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.rider-bridge.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.rider_bridge_surface.v0",
|
||||
"documentType": "epiphany.surface.rider_bridge",
|
||||
"title": "Epiphany rider-bridge",
|
||||
"path": "epiphany.surface.rider-bridge.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.surface.unity-bridge.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.unity_bridge_surface.v0",
|
||||
"documentType": "epiphany.surface.unity_bridge",
|
||||
"title": "Epiphany unity-bridge",
|
||||
"path": "epiphany.surface.unity-bridge.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.runtime.session_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.runtime.session_intent.v0",
|
||||
"documentType": "epiphany.runtime.session_intent.v0",
|
||||
"title": "epiphany runtime session_intent v0",
|
||||
"path": "epiphany.runtime.session_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.heartbeat_pump_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.heartbeat_pump_intent.v0",
|
||||
"documentType": "epiphany.heartbeat_pump_intent.v0",
|
||||
"title": "epiphany heartbeat_pump_intent v0",
|
||||
"path": "epiphany.heartbeat_pump_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.circadian_rhythm_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.circadian_rhythm_intent.v0",
|
||||
"documentType": "epiphany.circadian_rhythm_intent.v0",
|
||||
"title": "epiphany circadian_rhythm_intent v0",
|
||||
"path": "epiphany.circadian_rhythm_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.agent_memory_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.agent_memory_intent.v0",
|
||||
"documentType": "epiphany.agent_memory_intent.v0",
|
||||
"title": "epiphany agent_memory_intent v0",
|
||||
"path": "epiphany.agent_memory_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.job_launch_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.job_launch_intent.v0",
|
||||
"documentType": "epiphany.job_launch_intent.v0",
|
||||
"title": "epiphany job_launch_intent v0",
|
||||
"path": "epiphany.job_launch_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.job_interrupt_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.job_interrupt_intent.v0",
|
||||
"documentType": "epiphany.job_interrupt_intent.v0",
|
||||
"title": "epiphany job_interrupt_intent v0",
|
||||
"path": "epiphany.job_interrupt_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.role_launch_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.role_launch_intent.v0",
|
||||
"documentType": "epiphany.role_launch_intent.v0",
|
||||
"title": "epiphany role_launch_intent v0",
|
||||
"path": "epiphany.role_launch_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.role_accept_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.role_accept_intent.v0",
|
||||
"documentType": "epiphany.role_accept_intent.v0",
|
||||
"title": "epiphany role_accept_intent v0",
|
||||
"path": "epiphany.role_accept_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.reorient_launch_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.reorient_launch_intent.v0",
|
||||
"documentType": "epiphany.reorient_launch_intent.v0",
|
||||
"title": "epiphany reorient_launch_intent v0",
|
||||
"path": "epiphany.reorient_launch_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.reorient_accept_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.reorient_accept_intent.v0",
|
||||
"documentType": "epiphany.reorient_accept_intent.v0",
|
||||
"title": "epiphany reorient_accept_intent v0",
|
||||
"path": "epiphany.reorient_accept_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.planning_update_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.planning_update_intent.v0",
|
||||
"documentType": "epiphany.planning_update_intent.v0",
|
||||
"title": "epiphany planning_update_intent v0",
|
||||
"path": "epiphany.planning_update_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.objective_adoption_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.objective_adoption_intent.v0",
|
||||
"documentType": "epiphany.objective_adoption_intent.v0",
|
||||
"title": "epiphany objective_adoption_intent v0",
|
||||
"path": "epiphany.objective_adoption_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.face_bubble_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.face_bubble_intent.v0",
|
||||
"documentType": "epiphany.face_bubble_intent.v0",
|
||||
"title": "epiphany face_bubble_intent v0",
|
||||
"path": "epiphany.face_bubble_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.character_turn_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.character_turn_intent.v0",
|
||||
"documentType": "epiphany.character_turn_intent.v0",
|
||||
"title": "epiphany character_turn_intent v0",
|
||||
"path": "epiphany.character_turn_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.discord_persona_post_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.discord_persona_post_intent.v0",
|
||||
"documentType": "epiphany.discord_persona_post_intent.v0",
|
||||
"title": "epiphany discord_persona_post_intent v0",
|
||||
"path": "epiphany.discord_persona_post_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_startup_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_startup_intent.v0",
|
||||
"documentType": "epiphany.repo_startup_intent.v0",
|
||||
"title": "epiphany repo_startup_intent v0",
|
||||
"path": "epiphany.repo_startup_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_initialization_accept_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_initialization_accept_intent.v0",
|
||||
"documentType": "epiphany.repo_initialization_accept_intent.v0",
|
||||
"title": "epiphany repo_initialization_accept_intent v0",
|
||||
"path": "epiphany.repo_initialization_accept_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo_birth_run_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_birth_run_intent.v0",
|
||||
"documentType": "epiphany.repo_birth_run_intent.v0",
|
||||
"title": "epiphany repo_birth_run_intent v0",
|
||||
"path": "epiphany.repo_birth_run_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_status_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.rider_status_intent.v0",
|
||||
"documentType": "epiphany.rider_status_intent.v0",
|
||||
"title": "epiphany rider_status_intent v0",
|
||||
"path": "epiphany.rider_status_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_context_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.rider_context_intent.v0",
|
||||
"documentType": "epiphany.rider_context_intent.v0",
|
||||
"title": "epiphany rider_context_intent v0",
|
||||
"path": "epiphany.rider_context_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.rider_open_ref_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.rider_open_ref_intent.v0",
|
||||
"documentType": "epiphany.rider_open_ref_intent.v0",
|
||||
"title": "epiphany rider_open_ref_intent v0",
|
||||
"path": "epiphany.rider_open_ref_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_inspect_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.unity_inspect_intent.v0",
|
||||
"documentType": "epiphany.unity_inspect_intent.v0",
|
||||
"title": "epiphany unity_inspect_intent v0",
|
||||
"path": "epiphany.unity_inspect_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_probe_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.unity_probe_intent.v0",
|
||||
"documentType": "epiphany.unity_probe_intent.v0",
|
||||
"title": "epiphany unity_probe_intent v0",
|
||||
"path": "epiphany.unity_probe_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_check_compilation_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.unity_check_compilation_intent.v0",
|
||||
"documentType": "epiphany.unity_check_compilation_intent.v0",
|
||||
"title": "epiphany unity_check_compilation_intent v0",
|
||||
"path": "epiphany.unity_check_compilation_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.unity_run_tests_intent.v0.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.unity_run_tests_intent.v0",
|
||||
"documentType": "epiphany.unity_run_tests_intent.v0",
|
||||
"title": "epiphany unity_run_tests_intent v0",
|
||||
"path": "epiphany.unity_run_tests_intent.v0.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.swarm-control-receipt.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.swarm_control_receipt.v0",
|
||||
"documentType": "epiphany.swarm_control_receipt.v0",
|
||||
"title": "Epiphany Swarm Control Receipt",
|
||||
"path": "epiphany.swarm-control-receipt.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.face-bubble.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.face_bubble.v0",
|
||||
"documentType": "epiphany.face_bubble.v0",
|
||||
"title": "Epiphany Face Bubble",
|
||||
"path": "epiphany.face-bubble.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.face-chat.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.face_chat.v0",
|
||||
"documentType": "epiphany.face_chat.v0",
|
||||
"title": "Epiphany Face Chat Draft",
|
||||
"path": "epiphany.face-chat.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.character-turn-packet.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.character_turn_packet.v0",
|
||||
"documentType": "epiphany.character_turn_packet.v0",
|
||||
"title": "Epiphany Character Turn Packet",
|
||||
"path": "epiphany.character-turn-packet.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-personality-artifacts.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_personality_artifacts.v0",
|
||||
"documentType": "epiphany.repo_personality_artifacts.v0",
|
||||
"title": "Epiphany Repo Personality Artifacts",
|
||||
"path": "epiphany.repo-personality-artifacts.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-initialization-record.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_initialization_record.v0",
|
||||
"documentType": "epiphany.repo_initialization_record",
|
||||
"title": "Epiphany Repo Initialization Record",
|
||||
"path": "epiphany.repo-initialization-record.schema.json"
|
||||
},
|
||||
{
|
||||
"schemaId": "https://gamecult.dev/epiphany/cultnet/epiphany.repo-birth-runner.schema.json",
|
||||
"kind": "document_payload",
|
||||
"wireContracts": [
|
||||
"cultnet.schema.v0"
|
||||
],
|
||||
"schemaVersion": "epiphany.repo_birth_runner.v0",
|
||||
"documentType": "epiphany.repo_birth_runner.v0",
|
||||
"title": "Epiphany Repo Birth Runner Summary",
|
||||
"path": "epiphany.repo-birth-runner.schema.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
|
@ -118,6 +118,7 @@ accepted_design:
|
|||
- Native `epiphany-runtime-spine` is the first Codex-independent runtime vertebra: it initializes and inspects typed CultCache `epiphany.runtime.identity`, `epiphany.runtime.session`, `epiphany.runtime.job`, `epiphany.runtime.job_result`, and `epiphany.runtime.event` documents, opens/completes native jobs with result records, snapshots jobs by id, and can emit a framed CultNet hello message advertising the native document and mutation contract surface. App-server launch now opens typed runtime jobs; `roleResult` / `reorientResult` read heartbeat-backed typed job results only; and `roleAccept` / `reorientAccept` accept completed heartbeat findings from the typed runtime-spine path without opening the Codex SQLite state runtime.
|
||||
- CultNet public API shape is schema-first and mutation-contract-first: hello frames advertise readable document types, allowed operations, mutation authority, typed intent document types, and typed receipt document types. Aquarium and swarm clients should submit intents and watch receipts instead of inventing JSON-RPC verbs or blindly replacing authoritative state.
|
||||
- Runtime-spine hello now advertises the interactive surface catalog as CultNet contracts, not just the deep runtime documents. Scene, pressure, reorient, CRRC, jobs, roles, role-result, reorient-result, planning, coordinator, Face, Void memory, repo initialization/birth runner, Rider bridge, and Unity bridge all publish explicit read/write posture so Aquarium can discover affordances from the wire contract instead of carrying a private button-to-command gospel.
|
||||
- Epiphany publishes its Aquarium-facing CultNet receipts locally under `schemas/cultnet/`, and `epiphany-runtime-spine schema-catalog --include-schema-json true` emits a merged builtin-plus-local schema catalog for consumers. The local receipts cover runtime-spine documents, durable agent/heartbeat/ledger state, `epiphany.surface.*` operator projections, control intents, and receipt/artifact payloads. Vendored `cultnet-rs` is aligned to the canonical C# CultNet raw record shapes: replication uses `schemaId` plus `recordKey`, snapshot filters use `schemaIds` / `recordKeys`, and hello advertises typed mutation contracts.
|
||||
- Epiphany now owns the canonical schema paperwork in `schemas/`: a local mirror of `ghostlight.agent-state.schema.json`, plus human-facing receipts for canonical agent-state shape, standing role-trait glossary, heartbeat store shape, and repo-personality birth projection. Trait names like `routing_discipline` are now documented at the source instead of existing only in live dossiers, startup templates, or stale Ghostlight notes.
|
||||
- The dossier doctrine now distinguishes `lane_core` from `embodied_actor`. Most Epiphany sub-agents want a lean role lattice plus memory/goals/values/private-note growth, because effectiveness matters more than theatrical density. Face and Ghostlight-style characters want dense Ghostlight-family personality, relationship pressure, perceived overlays, and appraisal-shaped fallibility. The classification is now queryable through native agent-memory status and character-loop packets instead of hiding only in docs.
|
||||
- Face packets now expose deterministic Ghostlight-style projection, appraisal, and reaction seeds built from local canonical traits, relationship memories, perceived overlays, and visible stimulus. This makes embodied response machinery available to the public mouth without granting omniscience or silent state mutation. Multiple Face actors remain part of the long-plan; the current singular `face` role is an MVP simplification, not the intended endpoint.
|
||||
|
|
|
|||
2
vendor/cultnet-rs
vendored
2
vendor/cultnet-rs
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 42c7f9a736291db0571e2b1f4c47cdb4fb7b22b3
|
||||
Subproject commit e64572dfb14bf9ff579df29d77d45182f51d7573
|
||||
Reference in a new issue