Skip to content

feat(mesh): interconnection mesh — blueprint, registry, poller, memory bus, adopter installer#38

Draft
frankxai wants to merge 4 commits into
mainfrom
claude/starlight-system-integration-gc2piq
Draft

feat(mesh): interconnection mesh — blueprint, registry, poller, memory bus, adopter installer#38
frankxai wants to merge 4 commits into
mainfrom
claude/starlight-system-integration-gc2piq

Conversation

@frankxai

@frankxai frankxai commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Why

A Codex/Rova session created frankxai/ana-ai-business-kit (2 PRs merged 2026-07-13) and an open PR on rova-resort. Neither was visible to the Starlight Intelligence System. This PR diagnoses why parallel harness builds go invisible and ships the working spine that fixes it.

Keystone finding

A live account query returned 185+ repos vs the 42 Starlight could see — ~22% coverage. It surfaced the invisible builds (ana-ai-business-kit, ana-new-repo, rova-resort) and fragmented substrate the SIS repo never referenced (starlight-memory, starlight-private-memory, ai-capability-registry, claude-code-config, frankx-starlight-command). Root cause: the estate grew to 185 repos with no unifying registry, and the memory/automation layer was documentation + local PowerShell, not a live event bus.

What changed (8 files, docs + working code)

Blueprint & registry (Layer 0)

  • docs/architecture/interconnection-mesh.md — 5 verified gaps, the GitHub-as-nervous-system model, a 6-layer wiring plan + create/install/wire checklist
  • context/repo-registry.json — canonical registry (repos[] matches agy-tools.ps1's registry.repos; full 40-char SHAs; schema_version:1), plus real org_totals + known_outside_field_of_view

Working spine (Layers 1–3)

  • scripts/org-poller.mjs — Node/cloud-runnable GitHub poller: diff account vs registry, emit repo.discovered/repo.updated atoms, refresh snapshot, print digest
  • memory/bus/ — committed append-only JSONL + schema README, seeded with real discoveries
  • scripts/mesh-atom.mjs — harness-neutral session-end writer: appends an atom and updates MEMORY.md (git-inferred repo/branch/commits); smoke-tested live

Adopter/community layer (Layer 4 entry)

  • scripts/install-mesh.mjs + MESH.md — one-command onboarding for community/other devs (.mesh.json marker + AGENTS.md snippet)

Verification

All scripts node --check clean; poller/writer syntax-verified; atom writer smoke-tested (auto-inferred git metadata, appended correctly). A daily cloud routine (07:00 UTC, push+email) now runs the poll and reports newly-discovered repos.

Review history

Resolved 1 Gemini + 4 Copilot review comments — including a verified split-brain catch (registry key aligned to existing agy-tools.ps1) and correcting webhook event names to GitHub's real model.

Open decisions (doc §6)

  1. Authorize add_repo for ana-ai-business-kit + rova-resort (out of scope until added).
  2. Memory store: committed JSONL now vs. AgentDB/Supabase.
  3. Full Layer-4 rollout (drop the write-contract into all ~185 repos) — a swarm/Workflow job, run on explicit go-ahead.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CRxgzjY4NcBTnzJMFVXzBx

Diagnose why parallel harness builds (e.g. Codex-created ana-ai-business-kit,
2 PRs merged 2026-07-13) are invisible to the Starlight memory/automation
substrate, and lay out the GitHub-anchored, event-driven, harness-neutral
wiring that fixes it.

- context/repo-registry.json: canonical live registry (41 on-disk repos +
  2 known repos outside the current field of view)
- docs/architecture/interconnection-mesh.md: 5 verified gaps, the GitHub-spine
  model, a 6-layer wiring plan, and a create/install/wire checklist

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRxgzjY4NcBTnzJMFVXzBx
Copilot AI review requested due to automatic review settings July 13, 2026 19:03
@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
site Ready Ready Preview, Comment Jul 13, 2026 7:27pm

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 52927545-32bd-4fb3-9c87-e74702e0bee7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/starlight-system-integration-gc2piq

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a live repository registry (context/repo-registry.json) and an architectural blueprint (docs/architecture/interconnection-mesh.md) outlining the transition to a GitHub-backed event mesh for cross-repo synchronization. The review feedback correctly points out that the proposed write contract should explicitly integrate updates to MEMORY.md files to satisfy Mandate 9 of the Repository Style Guide regarding global state sweeps.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines +70 to +72
### Layer 3 — Harness-neutral write contract
- [ ] Define the **session-end atom** schema: `{ts, repo, branch, harness, summary, commits[], next}`.
- [ ] Wire the writer per harness: Claude → `Stop` hook; Codex → `AGENTS.md` instruction; Cursor → `.cursor/rules`; Gemini → `.gemini/`. One JSONL line on every wrap. **This is the "everything interconnected and updated" primitive.**

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The proposed harness-neutral write contract and session-end atom schema do not account for the repository's core mandate regarding MEMORY.md files. According to the Repository Style Guide (Mandate 9), the system must 'Perform periodic sweeps of all repo MEMORY.md files to update the global state.'

To align with this mandate, the blueprint should clarify how MEMORY.md files in each repository are either updated by the session-end writer or swept/reconciled by the memory bus.

Suggested change
### Layer 3 — Harness-neutral write contract
- [ ] Define the **session-end atom** schema: `{ts, repo, branch, harness, summary, commits[], next}`.
- [ ] Wire the writer per harness: Claude → `Stop` hook; Codex → `AGENTS.md` instruction; Cursor → `.cursor/rules`; Gemini → `.gemini/`. One JSONL line on every wrap. **This is the "everything interconnected and updated" primitive.**
### Layer 3 — Harness-neutral write contract
- [ ] Define the session-end atom schema: {ts, repo, branch, harness, summary, commits[], next}.
- [ ] Wire the writer per harness: Claude -> Stop hook; Codex -> AGENTS.md instruction; Cursor -> .cursor/rules; Gemini -> .gemini/. One JSONL line on every wrap.
- [ ] Integrate MEMORY.md updates into the write contract to satisfy the Central Command sweep mandate.
References
  1. Mandate 9 of the Repository Style Guide requires performing periodic sweeps of all repo MEMORY.md files to update the global state. (link)

Address PR review: the session-end atom wrote only to the central bus, creating
a parallel truth alongside the MEMORY.md durable-state convention 7+ repos
already use. Now the atom updates the repo's own MEMORY.md AND appends to the
bus (bus indexes; MEMORY.md stays authoritative per repo), and Layer 5's
scheduled reconciliation runs the GEMINI.md 'periodic MEMORY.md sweep' mandate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRxgzjY4NcBTnzJMFVXzBx

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a durable “interconnection mesh” blueprint and a live-ish repo registry snapshot to make parallel harness work (Codex/Cursor/Gemini/etc.) discoverable by the Starlight Intelligence System and to outline how GitHub becomes the shared event spine.

Changes:

  • Introduces an architecture doc describing the current interconnection gaps and a layered wiring plan centered on GitHub events.
  • Adds context/repo-registry.json as a canonical registry snapshot of repos on the author’s disk plus known out-of-view repos.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
docs/architecture/interconnection-mesh.md New blueprint doc describing verified gaps + a GitHub-centered wiring plan and checklist.
context/repo-registry.json New canonical repo registry snapshot (on-disk + known out-of-view).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

┌──────────────────────────────┼───────────────────────────┐
▼ ▼ ▼
org webhook scheduled poller session-end atom
(repo.created, PR.merged, (gh api /users/frankxai/repos (each agent writes 1
- [ ] Backfill missing `context/repo-contexts/*.md` (one per active repo, or a single rolled-up index).

### Layer 1 — GitHub event spine *(the key unlock)*
- [ ] `scripts/org-poller.mjs` (Node, cloud-runnable) — `gh api /users/frankxai/repos`, diff vs `repo-registry.json`, emit memory-bus atoms for new repos + merges. **This is the thing that would have caught `ana-ai-business-kit`.**
Comment on lines +58 to +61
### Layer 0 — Truth reconciliation *(safe, do now)*
- [x] `context/repo-registry.json` — canonical live registry (41 on-disk repos + the 2 outside-field-of-view repos). Generated this session.
- [ ] Regenerate `context/unified-context.md` + `context/STATE.md` from the registry; kill the v1.0.0→v8.3.0 drift.
- [ ] Backfill missing `context/repo-contexts/*.md` (one per active repo, or a single rolled-up index).
Comment thread context/repo-registry.json Outdated
Comment on lines +1 to +5
{
"generated": "2026-07-13",
"generator": "claude/starlight-system-integration-gc2piq (live git scan)",
"note": "Snapshot of repos present on this session disk. NOT exhaustive of the frankxai org — repos created by other harnesses (e.g. ana-ai-business-kit, rova-resort) are absent by construction until the org poller (Layer 1) lands.",
"repos_on_disk": [
…nt names, registry compat

- registry: add schema_version:1, switch to full 40-char SHAs, rename top-level
  key to repos[] to match what scripts/agy-tools.ps1 already iterates
  (registry.repos) — prevents split-brain
- doc: correct webhook event names to GitHub's real model
  (repository[created], pull_request[closed+merged=true], push)
- doc: fix repo-registry.json path refs to canonical context/repo-registry.json
- doc: add Layer 0 migration step pointing existing tooling at the canonical file

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRxgzjY4NcBTnzJMFVXzBx
…adopter installer

Turns the blueprint into working, installable code. Live account query found
185+ repos vs 42 on disk (22% coverage) — including the trigger builds
(ana-ai-business-kit, rova-resort) and fragmented substrate (starlight-memory,
ai-capability-registry, claude-code-config) the SIS repo never referenced.

- scripts/org-poller.mjs: Node/cloud-runnable GitHub poller — diff account vs
  registry, emit repo.discovered/repo.updated atoms, refresh snapshot, print digest
- memory/bus/: committed append-only JSONL + schema README, seeded with the real
  discoveries from this session
- scripts/mesh-atom.mjs: harness-neutral session-end writer — appends an atom AND
  updates MEMORY.md (infers repo/branch/commits from git); smoke-tested live
- scripts/install-mesh.mjs + MESH.md: one-command adopter onboarding for community
  and other devs — .mesh.json marker + AGENTS.md snippet
- context/repo-registry.json: real org_totals + known_outside_field_of_view
  (the concrete interconnection gap)

All scripts node --check clean; poller/writer syntax-verified; writer smoke-tested.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CRxgzjY4NcBTnzJMFVXzBx
@frankxai frankxai changed the title docs(mesh): interconnection blueprint + live repo registry feat(mesh): interconnection mesh — blueprint, registry, poller, memory bus, adopter installer Jul 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants