omnigraph-engine 0.2.2

Runtime engine for the Omnigraph graph database.
Documentation
// Context graph: decisions, the people behind them,
// the evidence trail, and market signals that inform them.

// ── Nodes ────────────────────────────────────────────

node Actor {
    slug: String @key
    name: String
    email: String? @unique
}

node Decision {
    slug: String @key
    title: String @index
    body: String?
    status: enum(proposed, accepted, rejected, superseded)
    urgency: enum(low, normal, high, critical)
    decided_at: Date?
}

node Trace {
    slug: String @key
    title: String @index
    body: String?
    kind: enum(note, discussion, experiment, review, meeting, document)
    recorded_at: Date
    source: String?
}

node Signal {
    slug: String @key
    title: String @index
    body: String?
    category: enum(competitor, market, regulatory, technology, customer)
    strength: enum(strong, moderate, weak)
    observed_at: Date
    source: String?
}

node Artifact {
    slug: String @key
    title: String @index
    kind: enum(doc, presentation, proposal, spec, report, memo)
    url: String?
    created_at: Date
}

// ── Ownership / participation ────────────────────────

edge OwnedBy: Decision -> Actor @card(1..1)

edge ParticipatedIn: Actor -> Decision

edge RecordedBy: Trace -> Actor @card(1..1)

edge AuthoredBy: Artifact -> Actor @card(1..1)

// ── Evidence trail ───────────────────────────────────

edge Supports: Trace -> Decision

edge Attached: Artifact -> Decision

edge CitedIn: Artifact -> Trace

// ── Signal linkage ───────────────────────────────────

edge Triggered: Signal -> Decision

edge Correlates: Signal -> Signal {
    @unique(src, dst)
}

// ── Decision lineage ─────────────────────────────────

edge Supersedes: Decision -> Decision {
    @unique(src, dst)
}