Skip to content

ingest_rune_manifest

Import a rune.schema.json file from the Rune Protocol — each ? (intent) annotation becomes a Wake causal context.

Overview

ingest_rune_manifest bridges the Rune Protocol and Wake Intelligence. The ? sigil in Rune carries intent that must not be stripped — the reasoning behind a schema binding. Ingesting a Rune manifest saves each ? annotation as a Wake causal context, creating a permanent, queryable record of why schema decisions were made.

Added: v3.5.0

Layer: Layer 1 (Causality Engine) + Core

Purpose: Seed Wake causal memory from Rune ? intent annotations


Parameters

ParameterTypeRequiredDescription
manifestobjectYesParsed contents of a rune.schema.json file
projectstringYesProject to associate ingested contexts with

Returns

A summary of ingested and skipped bindings:

Ingested 12 Rune intent annotations into project "api-service".
Skipped 3 bindings with no ? annotation.

Ingested:
  - userEmail: "Email is required for billing reconciliation — must never be null"
  - createdAt: "ISO 8601 required by downstream analytics pipeline"
  - status: "Enum constrained to active/paused/cancelled — legacy 'deleted' removed Q3"
  ...

What the ? Sigil Carries

In Rune Protocol, the four sigils each bind a different layer of meaning:

SigilMeaning
@Source — where this value comes from
~Shape — the type or structure
!Effect — what this value triggers
?Intent — WHY this binding exists

The ? annotation is the one most likely to be lost when schemas evolve. ingest_rune_manifest preserves it in Wake so the reasoning survives schema refactors, team changes, and time.


Example

Given a rune.schema.json:

json
{
  "bindings": {
    "userEmail": {
      "@": "user.profile.email",
      "~": "string",
      "!": "triggerBillingSync",
      "?": "Email is required for billing reconciliation — must never be null even if UI hides it"
    },
    "createdAt": {
      "@": "system.timestamp",
      "~": "iso8601",
      "?": "ISO 8601 required by downstream analytics pipeline — do not change format"
    },
    "internalNote": {
      "@": "form.note",
      "~": "string"
    }
  }
}
typescript
ingest_rune_manifest({
  manifest: runeSchemaJson,
  project: "billing-service"
})
Ingested 2 Rune intent annotations into project "billing-service".
Skipped 1 binding with no ? annotation (internalNote).

Ingested:
  - userEmail: "Email is required for billing reconciliation..."
  - createdAt: "ISO 8601 required by downstream analytics pipeline..."

Use Cases

Preserve Schema Intent Across Refactors

When a schema changes, the ? annotation in Wake survives even if the Rune file is modified. Future developers can ask "why was this field constrained?" and Wake answers.

Governance Audit

Use auditor personality mode with search_context to surface all AI-compositor vs. human-authored intent annotations:

typescript
search_context({
  query: "billing",
  project: "billing-service",
  personality_mode: "auditor"
})

After ingesting a manifest, use build_causal_chain to connect schema intent to the implementation contexts that followed.


Rune Protocol

Rune Protocol is a four-sigil reactive binding system for declaring source, shape, effect, and intent in schemas. Learn more at the Rune Protocol GitHub.


See Also