Skip to content

Cloud design updates, README examples, and GitHub invite auto-accept#2

Open
nuketownada wants to merge 7 commits into
masterfrom
cloud-design-loomtex
Open

Cloud design updates, README examples, and GitHub invite auto-accept#2
nuketownada wants to merge 7 commits into
masterfrom
cloud-design-loomtex

Conversation

@nuketownada

Copy link
Copy Markdown
Collaborator

Summary

  • Cloud design docs: Rename cloudkit to seed, define NixOS module + toKubeManifests architecture, add loomtex org structure and depot
  • README: Add module usage examples and elevate portal section
  • Module: Revert ada-specific portal.enable default (was leaking into the generic module)
  • Daemon: Auto-accept GitHub collaborator and organization invites from email notifications

GitHub invite auto-accept

When the mail watcher receives a DKIM-verified email from github.com matching a repo collaborator invite or org membership invite, the daemon accepts it via gh api and notifies josh over XMPP.

  • Repo invites: {user} invited you to {owner}/{repo}PATCH /user/repository_invitations/{id}
  • Org invites: [GitHub] @{user} has invited you to join the @{org} organizationPATCH /user/memberships/orgs/{org}
  • 21 new tests covering detection, regex patterns, API mocking, and end-to-end flow

Test plan

  • All 159 daemon tests pass (including 21 new github tests)
  • Review cloud design doc changes
  • Review README usage examples
  • Verify module.nix portal.enable revert is correct

🤖 Generated with Claude Code

nuketownada and others added 7 commits February 17, 2026 13:07
Tells agents their working repos live under ~/projects/ as siblings,
with a pointer to repos.toml when the daemon is enabled.

Co-Authored-By: Joshua Perry <josh@6bit.com>
Add three new concepts to the cloud design doc:

- Loomtex org structure with five repos (loom, nuketown, cloudkit,
  depot, nuketown-deploy) and the adoption flywheel
- Depot: SSH-only git hosting for machine configs with .authorized_keys
  ACL, machine-id repos, and recovery model
- Cloudkit: firecracker + nix-snapshotter platform for instant NixOS
  microVMs, with product potential beyond AI agents

Co-Authored-By: Joshua Perry <josh@6bit.com>
Seed absorbs nuketown-deploy (ArgoCD reconciler) and cloudkit
(firecracker + nix-snapshotter) into a single compute primitive that
consumes standard nixosConfigurations flake outputs. Nuketown stays
focused on agent framework — identity, daemon, XMPP, approval.

Co-Authored-By: Joshua Perry <josh@6bit.com>
Seed provides three things: a NixOS module (seed.deploy.* options), a
toKubeManifests function that reads those options and generates k8s
manifests, and an ArgoCD plugin that wraps the function. Nuketown's
cloud.* options map to seed.deploy.* — agents don't know about seed.

Also documents the agent self-mutation loop: agent edits nix config →
commits → ArgoCD reconciles → pod reschedules with new resources.

Co-Authored-By: Joshua Perry <josh@6bit.com>
- Add "Using the Module" section after "How It Works" showing flake
  import, full ada declaration, and minimal vox example
- Replace "Residents are online" with "You work with residents" —
  leads with the portal as the primary local interaction, chat as
  the async complement
- Soften "The Conversation" section to acknowledge both portal and
  chat interfaces
- Default portal.enable to true for ada (other agents opt in)
- Update example.nix to reflect new ada portal default

Co-Authored-By: Joshua Perry <josh@6bit.com>
Not worth the specialization at this level. A future
`agents.ada` preset would be the right place for it.

Co-Authored-By: Joshua Perry <josh@6bit.com>
When the mail watcher sees a DKIM-verified email from github.com
matching a collaborator or organization invite, the daemon now
accepts it via the GitHub API (gh CLI) and notifies josh over XMPP.

Repo invites match: "{user} invited you to {owner}/{repo}"
Org invites match: "[GitHub] @{user} has invited you to join the @{org} organization"

Co-Authored-By: Joshua Perry <josh@6bit.com>
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.

1 participant