Folio Assistant Core

The Knowledge Graph Data Store's contract

A data store plays a Role, and this is the Role's contract (owner, 2026-10-16: roles played by mechanical Actors "each [have] a contract (responsibilities) that it must perform … those are the skills it can perform"). It decides nothing about what should happen. What it must do is below, and each line is something a test can check.

It is a git repository, reached through the git CLI or a forge's API. It sits in the Knowledge Graph Data Store lane of initialize-harness and complete-initialization. The Actor reading from it follows bootstrap-kg-navigation; this skill is the other side of those reads.

Responsibilities

  1. Serve a file exactly as committed. A read of a path, at a ref, returns the bytes committed there. That covers the declaration <name>.json at the root, the files it lists, and the instructions at the predetermined path docs/bootstrap/initialization.md.
  2. Tell absent from present. A read of a path that is not committed says absent. It does not return an empty file or an error that could be taken for an unreadable one. bootstrap-kg-navigation's three answers (absent, present, present-but-unreadable) depend on this.
  3. Serve siblings the same way. A needs entry is read from a sibling checkout, ../<name>/<name>.json, under the same two rules.
  4. Keep what is written. Once a new instance's declaration is written and committed, later reads return it, and its history shows who wrote it and when.

Tests

Bootstrap runs nothing, so the test named in tested-by: lives with the toolset, at its address. It holds a git repository, read through the git CLI, to each numbered line above: bytes served at a ref as committed, absent told apart from an empty file, a sibling's declaration read from beside it, and a committed declaration read back by a later clone with its author and date.

Not its responsibility

Deciding whether a location is an instance, which harness to install, or what a declaration means. Those are judgements made in the Bootstrapping Agent's lane, using the files this store serves.