Direct KIP: Formation card

September 6, 2026 · View on GitHub

English | 中文

For a model implementing Brain Formation. The host captures source bytes, source identities, authorized task scope and retry identity. Obtain exact Schema/element refs from the live Primer; do not invent a predicate or actor.

For a general, unscoped attributed claim, runtime-ingested :evidence can be cited without re-typing its payload. Missing confidence is allowed.

ASSERT (:subject, :predicate, :object) {by: :actor, mode: "stated", evidence: :evidence}

The ASSERT sugar has no context member. For a scoped claim use the explicit form; the Adapter selects this form automatically for a task-scoped Memory Interface input.

MUTATE {
  ENSURE PROPOSITION ?p (:subject, :predicate, :object)
  CREATE ASSERTION ?a {
    CLIENT KEY :assertion_key
    SET FIELDS {
      proposition: ?p, asserted_by: :actor, stance: "support", mode: "stated",
      context_refs: :contexts
    }
    SET STRUCTURAL { ("evidence", :evidence) {role: "support"} }
  }
}

Create Activity provenance and its real DependencyBasis where a transformation occurred. The host captures actual read pins and digests; it cannot guess which sources you used. Unknown actor/Schema material can remain Evidence-only and must remain reachable through recall with the unresolved interpretation disclosed.

A correction replaces an actor's mistaken assertion; a world change closes the previous valid interval and creates the new one. Do not supersede another actor's claim because you disagree. Keep each coherent revision in one MUTATE.

MUTATE {
  ASSERT ?closed (:subject, :predicate, :old_value) {
    by: :actor, mode: "stated", evidence: :evidence,
    valid: {from: :old_from, until: :changed_at}
  } SUPERSEDING :old_assertion
  ASSERT (:subject, :predicate, :new_value) {
    by: :actor, mode: "stated", evidence: :evidence, valid: {from: :changed_at}
  }
}

This example is unscoped. Scoped revisions retain explicit context_refs using the CREATE ASSERTION form. Unknown change time remains unknown; do not invent an instant.

Only observed, supplied process is recorded. Feedback has its actual origin: self-report is never a gradable outcome. Ordinary facts and feedback need no trial. Do not assign made-up confidence, salience or utility just to fill optional fields.

A timeout is not abort. Resolve the existing idempotency key before retry; never re-run extraction as new evidence just because the response was lost.

The Memory Interface processing receipt distinguishes recorded, processed and available. A committed Evidence element alone is not proof that formation finished. Use the full syntax for uncommon mutations, not as the default prompt for every routine write.