Skip to content
intigraphPublic

About

🪢 The knot-keeper — bootstrap ontology, knowledge ingress, and knowledge packs for the quipu stack

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

426 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

camayoc: Loose strands pass through a checked gate. Original pixel art in the Thread Workshop style.

Camayoc logo — loose gray strands enter from the left, the keeper's yupana counting board hangs from the main cord at center, and ordered, colored, knotted quipu pendants emerge on the right

camayoc

Camayoc gives AI coding agents a governed memory: a starter vocabulary for work, decisions and outcomes, loaded into a quipu knowledge graph that refuses any record that does not say how it was learned (observed, declared or inferred). It is for teams whose agents keep re-deciding things a past session already settled. It comes as a Claude Code plugin (a skill, a session-start status hook and a bootstrap command), and as plain scripts any agent that speaks HTTP can use.

The quipucamayoc was the Inca official who kept the quipus and certified what was read back out of them.

Check an event before admitting it: native commands and their complete output.

This 20-second recording calls the existing adapter source API with two public synthetic CloudEvents. A deployment maps to DeploymentEvent; an unknown type is quarantined with exit 2. The documentation helper prints selected mapped fields without posting an episode or contacting Quipu. Reproduce the recording.

Why you would want it

  • Keep decisions between sessions: give agents shared knowledge they can read back.
  • Check how a fact was learned: admit records with explicit provenance.
  • Normalize event input: map supported events and quarantine unknown types.

The Camayoc book explains memory, vocabulary and ingress.

Install

curl -fsSL https://raw.githubusercontent.com/intigraph/camayoc/main/install.sh | sh

Python 3.9+, curl, and a Linux or macOS shell. Downloads and verifies the latest source package into ~/.local/share/camayoc/TAG. No native executable, server or agent enrollment is installed.

The agent-memory CLI (camayoc, alias cy) installs separately with uv tool install git+https://github.com/intigraph/camayoc; see the reference.

Set STACK_INSTALL_ROOT on the receiving shell for another prefix. Pinned releases, alternatives, configuration and removal are in the installation and usage reference.

First success in three commands

From an empty directory, bootstrap a governed memory and watch it prove its gate:

git clone -q --depth 1 https://github.com/intigraph/camayoc
QUIPU_SERVER=http://127.0.0.1:3030 bash camayoc/scripts/bootstrap.sh > bootstrap.log 2>&1
grep -E '^(ontology|shapes|gate: PROVEN — an untagged|camayoc:)' bootstrap.log
ontology: loaded (core.ttl)
shapes: loaded (camayoc-core)
gate: PROVEN — an untagged Decision refused, as it must be.
camayoc: governed memory ready. Query first; record at the moment; tag honestly.

With no quipu on your machine, bootstrap downloaded one (sha256-checked), started it, loaded the vocabulary and shapes, and then tried to write a Decision with no provenance tag. The store refused it. That refusal is the guarantee everything else rests on. Stop the server with kill "$(cat .quipu/server.pid)"; the full log is in bootstrap.log.

On your own data

Choose a vocabulary and profile before admitting records. The installation reference covers agent memory; the ingress design covers event normalization. The terminal fixture maps a supported deployment event and refuses an unknown type without posting either to a server.

Wire it into your agent

Start with the Camayoc skill and agent setup reference. Configure the graph endpoint and credentials through your deployment. Query existing knowledge before adding facts; record provenance when writing. Installing source files does not enroll an agent or activate a producer.

Before you start

The source installer needs Python 3.9+, curl and a Linux or macOS shell. The bootstrap example starts a local Quipu server and writes vocabulary and shapes; run it in a disposable directory and stop its server afterward. Agent-memory CLI installation is separate from the source package. Review write rules and event coverage before connecting live producers.

What's next

Related tools and repository knowledge

Load this repository’s graph: public repository-pendant assets have not yet been verified. When a release supplies the archive, checksum and provenance, follow the verified import workflow: extract the share directory and use quipu import SHARE_DIR --db repository.db. Import stages knowledge; ROOT stays unchanged.

Delivery events

Bring deployment outcomes and change history into the same governed memory. These adapters use CDEvents on CloudEvents and Camayoc's single ingress.

Catalog data · Updating the table

Tool Standard How Status Docs
GitHub / Forgejo Actions CDEvents on CloudEvents Reusable deployment-event action or CLI; skipped and cancelled jobs emit no deployment. Supported adapter; activation is separate Guide
Ansible CDEvents on CloudEvents Callback writes one event per applied host; failed or unreachable recap counters mean failure. Supported adapter; activation is separate Guide
Terraform CDEvents on CloudEvents Wrap an actual apply -json; errors or a nonzero exit after an attempted change mean failure. Supported adapter; activation is separate Guide
Native CDEvents CDEvents on CloudEvents Pass supported CDEvents through the single governed ingress; unknown types are quarantined. Supported adapter; activation is separate Guide
GitHub change lifecycle CDEvents on CloudEvents Read change, CI and native review records into ChangeEvent history; scheduling is separate. Supported adapter; activation is separate Guide

The catalog describes source support, not installed producers or measured event coverage. The graph queries for deployment frequency, change failure rate, lead time and restore time need recorded events for the selected service, repository and time window. Missing change or deployment history is not a measured zero.

🧺 The stack

The Quipu stack is built around a governed, bitemporal knowledge store: shared facts, decisions and work history your agents can query. Quipu can check writes against your rules, records where each fact came from, and answers what was true when.

tool what it gives your agents
tambo 🧰 Agent Platform Toolkit - installs and configures the quipu stack
quipu stores shared facts with provenance and history; can check writes against your rules
camayoc prepares knowledge and vocabulary for Quipu, with checks before it is admitted
quechua shared vocabulary and shapes for interoperable knowledge
chaski reacts to graph changes and delivers governed notifications
bobbin indexes your codebase and injects context from that index and Quipu knowledge
yupana shows code impact and can read policies from Quipu to govern agent actions
desire-path turns agent mistakes into feature requests; works on its own without Quipu
seeds a work item tracker backed by the Quipu knowledge base
shantytown runs crews of AI agents on work items, triggered by hand, on a schedule or by events; can share work and memory through Quipu
rikuy live brief: status, graphs, watches and signed decisions over Quipu
shuttle runs signed agent workflows and keeps their records in Quipu

Contributing

Run just check and just test before submitting changes.

📜 License

License.

Repository pendant provider

Repository pendant builders require explicitly pinned model and tokenizer bytes and an embedding dimension. The input contract is in repository_share_embedding.py. This source plumbing does not enable publication or qualify a provider.

RDF review environment

Use the locked project environment when reviewing RDF, SHACL or stored queries. It declares RDFLib, pySHACL, pytest and the existing test-suite dependencies; it does not install packages into the system interpreter.

uv sync --frozen --python 3.11 --group review
just review-preflight
just review-test tests/test_dual_read_queries.py

The preflight prints the selected interpreter and installed dependency versions. It refuses missing imports before the review test recipe runs. Both steps use Python 3.11 and the same frozen dependency group. Use that interpreter for ad-hoc review scripts too:

uv run --frozen --python 3.11 --group review python -c \
  'import pyshacl, rdflib; print(pyshacl.__version__, rdflib.__version__)'
uv run --frozen --python 3.11 --group review python -c \
  'from rdflib import Graph, URIRef; from rdflib.namespace import RDF, SKOS'

For a script outside the repository, add --project /path/to/camayoc to uv run and pass the script's path after python. Do not bootstrap an unrelated global Python or interpret skipped query suites as review success. The existing just test and CI's missing-RDFLib refusal remain available and unchanged; this environment is for review, not for deployed adapters.

About

🪢 The knot-keeper — bootstrap ontology, knowledge ingress, and knowledge packs for the quipu stack

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages