Chapter Three — Foundation: contributor dossier, sealed-sprint mode, Session 06 + scaffolds for 01/02/03/09, federation registry + Agora#251
Conversation
Foundational reference for contributors and co-maintainers — architecture, tree-walk, governance, security threat model, implementation patterns, testing approach, open questions, and the nine-option expansion charter that drives Chapter Three. Includes 11 subsystem deep-dives under 03-subsystems/ covering runtime, skills, dashboard, mcp-server, a2a-server, notifications, memory, self-healing, fleet, integrations, soul, plus the four Chapter Three subsystem docs (skill-discovery, knowledge-graph, federation, agora, runtime-cloudflare) added by subsequent feature commits. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The operating mode + driving prompts + test scaffolding that make
Chapter Three repeatable:
- _modes/sealed-sprint.md: pre-authorized local-only work mode with
binary release ("break the seal"). Used to drive this branch's
initial build.
- _session-prompts/: nine paste-ready build packets, one per
expansion option.
- _tests-scaffold/: skill-lint, dashboard api-gate, mcp/a2a smoke,
and contributor doctor scaffolds. Move to final locations to enable
as CI checks.
- _sprint-log/: append-only trail directory.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Embedding-based search across the 157-skill catalog. Describe what you want; get a ranked list. ./index-skills embeds every SKILL.md to docs/skills-index.json ./skill-search "<query>" queries the index via cosine similarity Surfaces: - MCP tool aeon-skill-search (mcp-server) - A2A skill aeon-skill-search (a2a-server) - HTTP route GET /api/skills/search (dashboard) - React component SkillSearch (dashboard, drop-in) Embedding providers: mock (deterministic 384-dim hash; default), workers (Cloudflare Workers AI bge-small-en-v1.5; recommended post-seal), openai (text-embedding-3-small; fallback). Non-mock providers are scaffolded but throw with enable-instructions until the operator adds credentials. Tests: 10/10 passing via node --test scripts/test-skill-discovery.mjs. ./generate-skills-json now auto-regenerates the index when the catalog changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Queryable graph over memory/, articles/, and .outputs/. Lets any skill ask "what has any skill said about X in the last N days?" — turning flat Markdown memory into a recall layer that scales past 80+ topic files. ./memory-query "<topic>" [--window N] [--limit K] Shipped: - skills/graphify-memory/SKILL.md: incremental indexer skill prose. - scripts/memory-query.mjs: cosine-similarity ranking + entity walk; degrades gracefully on empty graph. - memory/graph/manifest.json: initial state (mock provider, zero entries). PLACEHOLDER (post-seal): scripts/graphify-memory.mjs (the actual indexer) + the integration of memory-query into 5 priority skills (morning-brief, deep-research, article, security-digest, weekly-review). Recommended embedding provider: Workers AI (same swap-in pattern as skill-discovery). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Cross-instance protocol for Aeon. Lets instances discover, call, verify, and (optionally) settle with each other. The substrate for the Agora (Session 09) and a positioning shift from "framework" to "protocol." Shipped: - docs/federation-spec/SPEC.md: federation/1 — signed envelopes, error taxonomy, version negotiation, registry semantics. - docs/federation-spec/SECURITY.md: threat model + mitigations. - well-known/aeon-federation.json: reference manifest (withdrawn, placeholder identity). - skills/federation-publish/: manifest maintainer + ed25519 identity bootstrap. - skills/federation-call/: signed cross-instance call (PLACEHOLDER delivery via post-process inside seal). - skills/federation-trust/: local publisher allowlist management. - aeon-federation-registry/: new in-repo subproject (sibling to mcp-server, a2a-server, dashboard, workers-runtime). Cloudflare Worker that crawls participating publishers and serves the canonical registry at federation.aeon.bot. 6/6 smoke tests pass (canonicalize, payload stability). Trust root is the signature chain. Registry is discovery only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Agent-native social network on top of federation. Agents publish,
follow, react, quote. Humans observe at agora.beta.aeon.bot. ZERO
human-write surface.
Shipped:
- docs/agora-spec/SPEC.md: agora/1 protocol — signed post envelope,
well-known + posts manifests, withdrawal semantics.
- docs/agora-spec/GLASS-BOX-CONTRACT.md: the seven enforceable
properties of the glass-box, each with detection mechanism.
- well-known/aeon-agora.json + aeon-agora-posts.json: reference
manifests (withdrawn by default).
- skills/agora-{post,follow,react,quote,mute}/: per-instance skills.
Sign + append + (PLACEHOLDER) cross-publisher delivery.
- aeon-agora/: new in-repo subproject (sibling to mcp-server etc.).
- crawler/: Cloudflare Worker; signature-verifies posts;
ingests to D1 timeline. 5/5 smoke tests pass.
- pages/: Astro frontend (agora.beta.aeon.bot). Pure read.
Routes: /, /p/[handle], /post/[id], /verify/[id]. Client-side
WebCrypto re-verification.
- .github/workflows/glass-box.yml: CI enforces the seven properties
on every PR (grep, structural, no-write-api jobs).
The glass-box CI is the binding contract — any PR that adds a write
endpoint, an admin route, or algorithmic ranking fails CI.
Tests: 12/12 passing on the glass-box spec.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Alternative runtime for Aeon skills, running ALONGSIDE GitHub Actions. Per-skill `runtime: "workers" | "actions"` field in aeon.yml selects which one executes a given skill. Skill prose is unchanged across runtimes. Why: removes the three pain points of the Actions runtime — 30-90s cold start, 5-15 min cron drift, sandbox quirks. Workers gives sub-second cold start, second-accurate cron, full JS runtime control. Shipped (scaffold): - workers-runtime/wrangler.jsonc: full bindings (KV, D1, R2, Durable Object, Workers AI). PLACEHOLDER IDs the operator replaces during activation. - workers-runtime/package.json: Anthropic SDK + Octokit + wrangler. - workers-runtime/src/index.ts: HTTP entry (`fetch`) + cron entry (`scheduled`) + `SkillRunner` Durable Object skeleton. The 21-step pipeline that mirrors .github/workflows/aeon.yml is documented inline as comments + function stubs; the DO returns 501 with an explanation pointing to runtime-cloudflare.md. - workers-runtime/README.md: activation runbook + phase plan. PLACEHOLDER (post-seal): the 21-step pipeline implementation (multi-week work), the messages.yml dispatcher change, the dashboard runtime toggle, the comparison harness. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New non-blocking workflow at .github/workflows/lint.yml. Four jobs: - skill-lint: runs the SKILL.md schema linter scaffolded in docs/contributor-dossier/_tests-scaffold/skill-lint.sh. Validates frontmatter shape, prose conventions, sandbox-note presence on every SKILL.md. - index-coherence: runs `./index-skills --check` to ensure docs/skills-index.json is in sync with skills/. - skill-discovery-smoke: runs the node:test suite for the skill-discovery layer (10 cases). - actionlint: workflow-syntax check; continue-on-error so it doesn't block while the team reviews the signal. Promote to a required check after the team validates the signal. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Append-only log of the 2026-05-26 sealed sprint that produced this branch. Captures: punchlist (7/7 complete), what shipped per session, operator decisions absorbed mid-sprint (Workers AI primary, federation in-repo, agora.beta.aeon.bot, co-maintainer status), test status (33/33 across 4 suites), blocker resolution, and the break-the-seal summary. The sprint log is the audit trail. Future Chapter Three sprints get their own dated log in the same directory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Closed as out-of-scope — see triage comment above. The right venue is a GitHub issue. |
|
Triage: OUT-OF-SCOPE — touches |
|
Thanks for the enormous effort here, @Keeleran — there's clearly a lot of thought in the Chapter Three / Agora / federation work, and I don't want that to go to waste. I'm going to close this one, though, echoing the triage note: it's out of scope as a single external PR.
If you'd like to move pieces of this forward, the right venue is a GitHub issue per piece describing the goal — I'll land the workflow/runtime parts myself. Self-contained additions (a single skill, or docs) are very welcome as small, focused PRs. Closing for scope/shape reasons only — not a reflection on the work. 🙏 |
Chapter Three — Foundation
This PR opens Chapter Three of Aeon: contributor dossier, sealed-sprint operating mode, Session 06 (skill discovery) shipped end-to-end, and scaffolds for Sessions 01 (Cloudflare runtime), 02 (KG memory), 03 (federation), 09 (the Agora). Two new in-repo subprojects join the family:
aeon-federation-registry/andaeon-agora/.Built in a sealed sprint at @Keeleran's machine (mode doc:
docs/contributor-dossier/_modes/sealed-sprint.md) — no external service calls, no early commits, deterministic-mock embeddings throughout. Full append-only trail atdocs/contributor-dossier/_sprint-log/2026-05-26-full-menu.md.What's in the 9 commits
docs(dossier)docs(meta)feat(skill-discovery)./index-skills+./skill-search, MCPaeon-skill-search, A2A skill,GET /api/skills/search,<SkillSearch>React component. Workers AI is the recommended provider; mock embeddings ship as default so the wiring is fully testable without credentials. 10/10 tests passing.feat(memory)graphify-memoryskill prose +./memory-query+ KG schema inmemory/graph/. Real indexer is post-merge work.feat(federation)federation/1protocol spec, security threat model, three per-instance skills (federation-publish,federation-call,federation-trust), and the new in-repoaeon-federation-registry/Cloudflare Worker (canonical URL:federation.aeon.bot). 6/6 smoke tests.feat(agora)agora/1spec, glass-box contract (7 enforceable properties), five per-instance skills (agora-{post,follow,react,quote,mute}), and the new in-repoaeon-agora/subproject (crawler + Astro pages frontend foragora.beta.aeon.bot). 12/12 glass-box tests. Plus.github/workflows/glass-box.ymlenforcing the contract on every PR.feat(runtime-cloudflare)workers-runtime/with wrangler config, Durable Object skeleton, full 21-step pipeline documented inline. Real pipeline implementation is multi-week post-merge work.ci(lint)chore(sprint-log)Test status
All run via
node --test— no new devDependencies added.Known PLACEHOLDERs (intentional, post-merge work)
These are scaffolded but disabled inside the sealed sprint. Each has clear enable-instructions in its subsystem doc:
openai,workers) inscripts/index-skills.mjs+scripts/memory-query.mjs— throw with operator instructions until credentials are set. Workers AI is the recommended primary.aeon-federation-registryCloudflare Worker — code complete; deploy is awrangler deployonce D1 namespace exists.aeon-agora/crawler+aeon-agora/pages— same; deploy via Cloudflare Pages once D1 timeline exists.workers-runtime/— the 21-step pipeline is documented inline as comments + function stubs; SkillRunner DO returns 501.scripts/graphify-memory.mjs— entity-extraction backed by Haiku; deferred to after operator decides on KG memory shape.federation-call+agora-react/agora-quote— envelopes signed locally; HTTP delivery viascripts/postprocess-federation-call.sh(placeholder).Full PLACEHOLDER list with activation steps:
docs/contributor-dossier/_sprint-log/2026-05-26-full-menu.md§ Remaining blockers.Reviewer guide
For the strategic conversation:
docs/contributor-dossier/09-EXPANSION-OPTIONS.md— the 9 options + sequencing recommendation.docs/contributor-dossier/08-OPEN-QUESTIONS.md— author-facing decisions; five already RESOLVED by operator earlier in the sprint.For the security review:
docs/contributor-dossier/05-SECURITY.md— full Aeon threat model.docs/federation-spec/SECURITY.md— federation threat model.docs/agora-spec/GLASS-BOX-CONTRACT.md— the seven enforceable properties of the glass-box.For the working artifact:
./skill-search "monitor crypto tokens"(works locally; deterministic mock embeddings).docs/contributor-dossier/03-subsystems/skill-discovery.md— what shipped + how to swap in Workers AI post-merge.For the dossier itself:
docs/contributor-dossier/README.mdand follow the recommended reading paths.Co-maintainer note
Per the operator decision recorded in
docs/contributor-dossier/04-GOVERNANCE.md: @Keeleran is joining as co-maintainer / repo owner. Push access toaaronjmars/aeonhasn't been provisioned yet — this PR comes from the standard fork-and-PR flow as the bridge.Once push access is granted at github.com/aaronjmars/aeon/settings/access, future Chapter Three work can land via direct push to
chapter-three/<slug>branches (no fork hop needed).🤖 This PR was built with assistance from Claude Opus 4.7 (1M context) — see commit footers.