Case Study

Building the First Digital Karma Constellation: SA, ABT, and the Federation Protocol

How a dormant federation_presence field in a karma.json file became a live, bidirectional, machine-readable network between two properties, and what that means for every site that joins next.

Krisada Eaton Updated September 22, 2026 608 views
Proof Point

Five things changed as a result of this build.

Measurement Frame

What was measured.

Three readings from the first constellation build. The sequence matters more than any single figure: the measurement existed before the thing it measured.

The gap that started it
1 scoring signal, 0 mechanism
federation_presence was already being scored

A dimension was measuring something that had never been built. Measurement arriving before mechanism is common in system design, and the gap is useful because it names exactly what is missing.

Smallest provable network
2 properties, 3 roles
bidirectional verification

Two nodes is the smallest number that can demonstrate a protocol rather than describe one. Below that there is nothing to verify against.

Portability test
6 AI endpoints
added to the second property

The protocol transferred cleanly to a site it was not designed on, which is the difference between a standard and a one-off implementation.

Summary

The short version.

For months, federation_presence existed as a scoring signal inside our karma.json files. The concept was real. The protocol was not. This case study documents the session that changed that: what got built on Supplement Apothecary and Age Better Today, what bidirectional verification looks like in practice, and why the most important outcome was a repeatable framework rather than the files themselves.

Plain English

Explain it to me like I'm ten.

We had a score that was supposed to measure how well our websites talk to each other, but they weren't actually talking yet. So we built the real thing: two of our sites now formally recognize each other and confirm the relationship from both sides. That same setup can now be copied to every new site we add.

Context

What was the system?

The AI Digital Karma Federation had a scoring model that measured federation presence. Inside karma.json, the signal existed as a defined dimension with a weighted score. Supplement Apothecary had federation fields. The concept existed. But there were no active peer relationships declared anywhere. No site was formally verifying another. No roles were assigned. The federation_presence score was measuring something that hadn't been built yet.

That's actually a common pattern in system design. The measurement arrives before the thing being measured. In this case the gap was useful. It pointed straight at what was missing.

The question was what 'federation' actually meant in practice. Links already existed between properties. That wasn't the point. The constellation model required something different: declared roles, named responsibilities, and bidirectional verification. Not 'Site A and Site B are related.' But 'Site A owns this layer of knowledge, Site B owns this layer, each has verified the other's claim, and both are machine-readable.'

Methodology

What changed?

The build started with Supplement Apothecary, which already had partial federation architecture in place. The first step was defining the constellation model, which meant assigning each site a specific knowledge responsibility instead of only linking them together.

Constellation roles defined:

With roles defined, federation.json files were built for both active properties. Each file declares:

  • The site's constellation role
  • Its named peer sites with their roles
  • Its responsibilities within the network
  • Its membership in the AI Digital Karma Federation
  • Verification status for each declared peer relationship

Bidirectional verification was the critical step. SA declaring ABT as a peer means nothing if ABT does not reciprocate the declaration. The protocol requires each site to explicitly name the relationship from its own endpoint. A scanner can then confirm both sides match.

Age Better Today was also upgraded from a primarily content-based property to a full first-class AI citizen. Prior to this session ABT had content but minimal AI foundation infrastructure. After the session ABT had:

  • manifest.json
  • federation.json
  • karma.json
  • catalog.json
  • health.json
  • diagnostics.json

The karma.json federation_presence score now has measurable criteria to evaluate rather than a conceptual placeholder:

  • Number of verified peer relationships
  • Constellation membership status
  • Declared role specificity
  • Future: registry validation against the portfolio scanner

The protocol was then verified to be portable. The same framework applied cleanly to ABT from SA with no structural modification required. The pattern held.

Findings

What did the evidence show?

Five things changed as a result of this build.

Federation became real. Before: sites had federation fields. After: sites recognize each other, declare roles, and verify that the relationships are reciprocal.

The first constellation formed. The constellation model forces specialization. SA owns supplements. ABT owns aging science. NHL will own reference data. Each site is responsible for one knowledge layer, not all knowledge layers. AI systems reading the federation endpoints can theoretically route queries by knowledge type rather than treating every site in the network as a general-purpose source.

Karma scoring became measurable. The federation_presence dimension inside karma.json used to score an aspirational concept. It now scores a live protocol, with verified peers, constellation membership, declared role, and future registry validation as measurable inputs.

Age Better Today became a first-class AI citizen. ABT had content. After this session it had a complete AI foundation layer: manifest, federation, karma, catalog, health, diagnostics. That is the difference between a site that publishes to humans and a site that actively advertises itself to AI systems.

Portability was proved. The framework transferred cleanly from SA to ABT without modification, and that will outlast any file on either site. It means NaturalHerbLibrary.com, AgeLifeForward.com, LongevityForward.com, and every future constellation member can join using the same protocol. One session per star, not a custom build each time.

What We Kept

What can be reused?

The constellation did not emerge from a planned feature build. It emerged from noticing that federation_presence already existed as a scoring signal, then realizing the thing it was supposed to measure had never been built.

Measurement before mechanism is a common order in system design, and the gap between the two is useful because it shows exactly what is missing.

Building the mechanism turned a scoring dimension into a live protocol. Because the protocol is portable, adding to the federation gets cheaper: each new node joins the constellation in one session, so the network grows without the cost growing at the same rate.

The scanner is the next milestone. Once a tool can verify federation relationships, detect schema drift, and calculate constellation health automatically, Digital Karma stops depending on someone checking by hand.

Evidence Library

Keep Browsing the Case Library

Move from this evidence file back into the full proof system.