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 ​