Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 32 additions & 32 deletions .well-known/stack.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"contract": "web4/1",
"generated": "2026-09-28",
"hub": "https://github.com/FlashyLabs/web4",
"generated": "2026-10-27",
"hub": "https://github.com/AgenteLabs/web4",
"wellKnown": "/.well-known/stack.json",
"principle": "Own the open protocols through which agents discover, identify, authorize, trust, transact with and audit one another — not the agents.",
"layers": [
Expand All @@ -11,15 +11,15 @@
"repos": [
{
"name": "flashyid-spec",
"url": "https://github.com/FlashyLabs/flashyid-spec",
"url": "https://github.com/AgenteLabs/flashyid-spec",
"kind": "spec",
"contract": "delegation/1",
"status": "draft",
"visibility": "public"
},
{
"name": "flashyid",
"url": "https://github.com/FlashyLabs/flashyid",
"url": "https://github.com/AgenteLabs/flashyid",
"kind": "impl",
"status": "exists",
"visibility": "private"
Expand All @@ -32,15 +32,15 @@
"repos": [
{
"name": "agentgraph",
"url": "https://github.com/FlashyLabs/agentgraph",
"url": "https://github.com/AgenteLabs/agentgraph",
"kind": "spec",
"contract": "graph/1",
"status": "draft",
"visibility": "public"
},
{
"name": "therealm",
"url": "https://github.com/FlashyLabs/therealm",
"url": "https://github.com/AgenteLabs/therealm",
"kind": "impl",
"contract": "realm/1",
"status": "exists",
Expand All @@ -54,7 +54,7 @@
"repos": [
{
"name": "intent-spec",
"url": "https://github.com/FlashyLabs/intent-spec",
"url": "https://github.com/AgenteLabs/intent-spec",
"kind": "spec",
"contract": "intent/1",
"status": "draft",
Expand All @@ -63,7 +63,7 @@
},
{
"name": "intentmesh",
"url": "https://github.com/FlashyLabs/intentmesh",
"url": "https://github.com/AgenteLabs/intentmesh",
"kind": "impl",
"status": "exists",
"visibility": "private"
Expand All @@ -76,15 +76,15 @@
"repos": [
{
"name": "magician",
"url": "https://github.com/FlashyLabs/magician",
"url": "https://github.com/AgenteLabs/magician",
"kind": "impl",
"contract": "trust/1",
"status": "exists",
"visibility": "private"
},
{
"name": "Rites-Network",
"url": "https://github.com/FlashyLabs/Rites-Network",
"url": "https://github.com/AgenteLabs/Rites-Network",
"kind": "impl",
"contract": "ritual/1",
"status": "exists",
Expand All @@ -106,7 +106,7 @@
"repos": [
{
"name": "agent-wellknown",
"url": "https://github.com/FlashyLabs/agent-wellknown",
"url": "https://github.com/AgenteLabs/agent-wellknown",
"kind": "spec",
"contract": "agent/1",
"status": "draft",
Expand All @@ -115,15 +115,15 @@
},
{
"name": "agent-dns",
"url": "https://github.com/FlashyLabs/agent-dns",
"url": "https://github.com/AgenteLabs/agent-dns",
"kind": "spec",
"contract": "agent-dns/1",
"status": "draft",
"visibility": "public"
},
{
"name": "bastion",
"url": "https://github.com/FlashyLabs/bastion",
"url": "https://github.com/AgenteLabs/bastion",
"kind": "product",
"status": "private-intended",
"visibility": "public",
Expand All @@ -137,7 +137,7 @@
"repos": [
{
"name": "aao",
"url": "https://github.com/FlashyLabs/aao",
"url": "https://github.com/AgenteLabs/aao",
"kind": "spec+impl",
"contract": "aao/0.1",
"status": "exists",
Expand All @@ -152,28 +152,28 @@
"repos": [
{
"name": "flashyos",
"url": "https://github.com/FlashyLabs/flashyos",
"url": "https://github.com/AgenteLabs/flashyos",
"kind": "impl",
"status": "exists",
"visibility": "private"
},
{
"name": "flashyos-spec",
"url": "https://github.com/FlashyLabs/flashyos-spec",
"url": "https://github.com/AgenteLabs/flashyos-spec",
"kind": "spec",
"status": "exists",
"visibility": "public"
},
{
"name": "flashyos-tools",
"url": "https://github.com/FlashyLabs/flashyos-tools",
"url": "https://github.com/AgenteLabs/flashyos-tools",
"kind": "tooling",
"status": "exists",
"visibility": "public"
},
{
"name": "agentfile",
"url": "https://github.com/FlashyLabs/agentfile",
"url": "https://github.com/AgenteLabs/agentfile",
"kind": "tooling",
"status": "exists",
"visibility": "public"
Expand All @@ -186,36 +186,36 @@
"repos": [
{
"name": "agentpay",
"url": "https://github.com/FlashyLabs/agentpay",
"url": "https://github.com/AgenteLabs/agentpay",
"kind": "spec",
"contract": "pay-policy/1",
"status": "draft",
"visibility": "public"
},
{
"name": "flashyos-wdk",
"url": "https://github.com/FlashyLabs/flashyos-wdk",
"url": "https://github.com/AgenteLabs/flashyos-wdk",
"kind": "impl",
"status": "exists",
"visibility": "public"
},
{
"name": "flashy-rails",
"url": "https://github.com/FlashyLabs/flashy-rails",
"url": "https://github.com/AgenteLabs/flashy-rails",
"kind": "impl",
"status": "exists",
"visibility": "private"
},
{
"name": "flashy-ledger",
"url": "https://github.com/FlashyLabs/flashy-ledger",
"url": "https://github.com/AgenteLabs/flashy-ledger",
"kind": "impl",
"status": "exists",
"visibility": "public"
},
{
"name": "flashy-contracts",
"url": "https://github.com/FlashyLabs/flashy-contracts",
"url": "https://github.com/AgenteLabs/flashy-contracts",
"kind": "impl",
"status": "exists",
"visibility": "private"
Expand All @@ -236,15 +236,15 @@
},
{
"name": "chronicle",
"url": "https://github.com/FlashyLabs/chronicle",
"url": "https://github.com/AgenteLabs/chronicle",
"kind": "impl",
"contract": "chronicle/1",
"status": "exists",
"visibility": "private"
},
{
"name": "flashy-network",
"url": "https://github.com/FlashyLabs/flashy-network",
"url": "https://github.com/AgenteLabs/flashy-network",
"kind": "impl",
"status": "exists",
"visibility": "private",
Expand All @@ -256,21 +256,21 @@
"tooling": [
{
"name": "conformance-kit",
"url": "https://github.com/FlashyLabs/conformance-kit",
"url": "https://github.com/AgenteLabs/conformance-kit",
"kind": "tooling",
"status": "exists",
"visibility": "public"
},
{
"name": "mesh-lint",
"url": "https://github.com/FlashyLabs/mesh-lint",
"url": "https://github.com/AgenteLabs/mesh-lint",
"kind": "tooling",
"status": "exists",
"visibility": "public"
},
{
"name": "flashy-infra",
"url": "https://github.com/FlashyLabs/flashy-infra",
"url": "https://github.com/AgenteLabs/flashy-infra",
"kind": "tooling",
"status": "exists",
"visibility": "private"
Expand All @@ -279,28 +279,28 @@
"teaching": [
{
"name": "flashy-docs",
"url": "https://github.com/FlashyLabs/flashy-docs",
"url": "https://github.com/AgenteLabs/flashy-docs",
"kind": "docs",
"status": "exists",
"visibility": "public"
},
{
"name": "flashy-examples",
"url": "https://github.com/FlashyLabs/flashy-examples",
"url": "https://github.com/AgenteLabs/flashy-examples",
"kind": "docs",
"status": "exists",
"visibility": "public"
},
{
"name": "web4",
"url": "https://github.com/FlashyLabs/web4",
"url": "https://github.com/AgenteLabs/web4",
"kind": "hub",
"status": "draft",
"visibility": "public"
},
{
"name": "stack.json",
"url": "https://github.com/FlashyLabs/stack.json",
"url": "https://github.com/AgenteLabs/stack.json",
"kind": "index",
"status": "draft",
"visibility": "public"
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<img src="brand/assets/bolt-gold.svg" width="48" alt="">

`graph/1` is the vendor-neutral format for the universal graph of the agentic internet — people, organisations, agents, capabilities, tools and assets, and the evidenced relationships between them — for anyone who publishes what exists in their corner of the network and for any machine that needs to answer "find an agent that can do X, with backing somebody other than itself asserts." It is the **"What exists?"** layer: it says who and what is there and how they relate, and deliberately nothing about how good, how much, or how trusted. It extends the estate's `realm/1` registry ([FlashyLabs/therealm](https://github.com/FlashyLabs/therealm)) rather than reinventing it: a realm manifest is a source of nodes.
`graph/1` is the vendor-neutral format for the universal graph of the agentic internet — people, organisations, agents, capabilities, tools and assets, and the evidenced relationships between them — for anyone who publishes what exists in their corner of the network and for any machine that needs to answer "find an agent that can do X, with backing somebody other than itself asserts." It is the **"What exists?"** layer: it says who and what is there and how they relate, and deliberately nothing about how good, how much, or how trusted. It extends the estate's `realm/1` registry ([AgenteLabs/therealm](https://github.com/AgenteLabs/therealm)) rather than reinventing it: a realm manifest is a source of nodes.

## Quick start

Expand Down Expand Up @@ -42,18 +42,18 @@ Derive nodes from a realm manifest: `node vendor-graph.mjs from-realm test/fixtu

## Links

- [FlashyLabs/therealm](https://github.com/FlashyLabs/therealm) — `realm/1`, the registry this format extends; its `SPEC.md` defines the house shape `fromRealm` reads and the identity/1 taxonomy the `x-realm` block carries forward.
- [AgenteLabs/therealm](https://github.com/AgenteLabs/therealm) — `realm/1`, the registry this format extends; its `SPEC.md` defines the house shape `fromRealm` reads and the identity/1 taxonomy the `x-realm` block carries forward.
- Sibling standards, by name: `intent/1` (what somebody wants), `ritual/1` (witnessed recurring observance), `aao/0.1` (the org charter a capability verb comes from), `delegation/1` (attenuated authority — a `delegates-to` edge's basis will typically be one), `agent/1` (an agent's own record). `graph/1` names the things they act on and refers to them; it defines none of them.

## Where it sits in the stack

`graph/1` is layer 2 of [Web 4](https://github.com/FlashyLabs/web4), the estate's stack of open protocols for the agentic internet — the **"What exists?"** layer, above identity and below discovery. This repository carries the same **institutional front door** every protocol in the stack serves: `site/` is generated by one dependency-free, config-driven script (`scripts/build-site.mjs`), vendored byte-identical from the [web4](https://github.com/FlashyLabs/web4) hub and driven by this repository's own `site.config.json` (contract `site-config/1`, `schema/site-config-1.json`). It renders the nine-layer table from the served `.well-known/stack.json` copy and serves the mesh surfaces — the `flashyos/1` handshake, the AAO charter, and this org's `directory/1` node — all derived from `flashyos.roles.json` so they cannot disagree.
`graph/1` is layer 2 of [Web 4](https://github.com/AgenteLabs/web4), the estate's stack of open protocols for the agentic internet — the **"What exists?"** layer, above identity and below discovery. This repository carries the same **institutional front door** every protocol in the stack serves: `site/` is generated by one dependency-free, config-driven script (`scripts/build-site.mjs`), vendored byte-identical from the [web4](https://github.com/AgenteLabs/web4) hub and driven by this repository's own `site.config.json` (contract `site-config/1`, `schema/site-config-1.json`). It renders the nine-layer table from the served `.well-known/stack.json` copy and serves the mesh surfaces — the `flashyos/1` handshake, the AAO charter, and this org's `directory/1` node — all derived from `flashyos.roles.json` so they cannot disagree.

```bash
node scripts/build-site.mjs # regenerate site/ from site.config.json + the vendored inputs
```

"Committed is not served": the authoritative check runs against the live domain after deploy (`npx @flashyos/conformance <domain> --level 2`). `vercel.json` sets the output directory to `site` with no framework; the canonical base is `https://flashylabs.github.io/agentgraph/` until the property has its own domain.
"Committed is not served": the authoritative check runs against the live domain after deploy (`npx @flashyos/conformance <domain> --level 2`). `vercel.json` sets the output directory to `site` with no framework; the canonical base is `https://agentelabs.github.io/agentgraph/` until the property has its own domain.

Status: draft; the institutional front door was generated 2026-09-29. Nothing is published to a registry, nothing is adopted, and no live property serves `/.well-known/graph.json` yet — the format is proposed here so that when one does, the checker already exists.

Expand Down
2 changes: 1 addition & 1 deletion SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Each edge kind joins only the node kinds in its row. An edge outside its row has

## Relationship to realm/1

`realm/1` ([FlashyLabs/therealm](https://github.com/FlashyLabs/therealm), served at `https://therealm.live/.well-known/realm.json`) is the estate's registry: one manifest that lists every organisation as a **house** — `slug`, lore-name `house`, the real `org` id, `domain`, `status`, and for a live house its `surfaces.handshake` — and carries the identity/1 taxonomy (five houses, ten archetypes, from RitualOS). It answers *which organisations are in the world and where is each one's machine door*. `graph/1` answers the next question — *what does each one operate, offer, own, and who vouches for whom* — and it does not restate the first.
`realm/1` ([AgenteLabs/therealm](https://github.com/AgenteLabs/therealm), served at `https://therealm.live/.well-known/realm.json`) is the estate's registry: one manifest that lists every organisation as a **house** — `slug`, lore-name `house`, the real `org` id, `domain`, `status`, and for a live house its `surfaces.handshake` — and carries the identity/1 taxonomy (five houses, ten archetypes, from RitualOS). It answers *which organisations are in the world and where is each one's machine door*. `graph/1` answers the next question — *what does each one operate, offer, own, and who vouches for whom* — and it does not restate the first.

**A realm/1 manifest is a source of nodes.** `fromRealm(manifest)` derives a partial `graph/1` document:

Expand Down
2 changes: 1 addition & 1 deletion flashyos.roles.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"repositories": [
{
"name": "agentgraph",
"url": "github.com/FlashyLabs/agentgraph",
"url": "github.com/AgenteLabs/agentgraph",
"default": true,
"holds": [
"spec",
Expand Down
2 changes: 1 addition & 1 deletion scripts/build-site.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ export function build(out = OUT) {
const ring = JSON.parse(readFileSync(join(ROOT, 'estate-ring.json'), 'utf8')).properties;
const tokensCss = readFileSync(join(ROOT, 'brand', 'tokens.css'), 'utf8');

const base = cfg.domain ? `https://${cfg.domain}/` : `https://flashylabs.github.io/${cfg.property}/`;
const base = cfg.domain ? `https://${cfg.domain}/` : `https://agentelabs.github.io/${cfg.property}/`;
const canonicalFor = (slug) => base + (slug ? `${slug}/` : '');

// ── the shared chrome ──
Expand Down
6 changes: 3 additions & 3 deletions site.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
}
],
"links": {
"hub": "https://github.com/FlashyLabs/web4",
"spec": "https://github.com/FlashyLabs/agentgraph",
"repo": "https://github.com/FlashyLabs/agentgraph"
"hub": "https://github.com/AgenteLabs/web4",
"spec": "https://github.com/AgenteLabs/agentgraph",
"repo": "https://github.com/AgenteLabs/agentgraph"
}
}
2 changes: 1 addition & 1 deletion site/.well-known/flashyos-charter.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"repositories": [
{
"name": "agentgraph",
"url": "github.com/FlashyLabs/agentgraph",
"url": "github.com/AgenteLabs/agentgraph",
"default": true,
"holds": [
"spec",
Expand Down
Loading
Loading