Wip Integration Project
Epic: README.md Current Epics - Wip repo + issue integration
Status: Starting - April 2026
Persona doc: docs/ops-account-management.md
Source of truth: cat2net Google Sheet
Goal
Connect Wip (the AI assistant) to project repos, calendar, and communication channels so it can:
- Surface open issues and blockers during daily check-ins
- Pull repo activity summaries during weekly reviews
- Coordinate across multiple project identities
- Eventually auto-log check-ins from calendar/repo activity
Wip Identity Setup
Wip Persona
- Primary email: wip@horseoff.com ✅ (Google Workspace - created 2026-04-25)
- Future alias: wip@2cld.net (via Cloudflare email routing, not Google - avoid paid upgrade)
- Chrome profile name: ho-wip ✅ (horseoff wip user, sync on)
- GitHub: ho-wip ✅ (Google sign-in, collaborator on 2cld/wip)
- Gitea: TBD (create on gitea.cat9.me with wip@horseoff.com)
- Purpose: AI assistant identity - “persona brain” for managing and coordinating across all projects
Step-by-Step: Create Wip Google Account
⚠️ BLOCKER: 2cld.net domain alias investigation (2026-04-25)
2cld.net is NOT showing in Google Admin → Manage domains for horseoff.com, but email to admin@2cld.net DOES deliver to admin@horseoff.com. Suspicion: legacy free Google Apps account (pre-2012) had 2cld.net added as domain alias when it was allowed, now hidden from modern admin UI.
What we know:
- MX records for 2cld.net point to Google
- Email sent to admin@2cld.net arrives at admin@horseoff.com inbox
- Reply goes out as admin@horseoff.com (not admin@2cld.net)
- “Send mail as” option for admin@2cld.net NOT found in Gmail settings
- 2cld.net NOT visible in admin.google.com → Manage domains
- horseoff.com is likely a legacy free Google Apps account with restricted domain management
- Cloudflare only has 2cld.com, NOT 2cld.net
- Squarespace manages 2cld.net email - has “Manage Google Workspace” and “Manage MX Records” buttons
- Squarespace set up the MX records and Google Workspace connection for 2cld.net
- klopfenstein.org uses Cloudflare email routing (different pattern)
Investigation steps:
Decision:
- Use wip@horseoff.com as the primary identity for all services (GitHub, Gitea, Google)
- Optionally add wip@2cld.net later as receive-only alias via Cloudflare email routing (like klopfenstein.org pattern)
- Do NOT upgrade Google Workspace to paid - not worth it for a bot account
- Move 2cld.net DNS to Cloudflare when ready for the alias
Once the domain alias issue is resolved, proceed with these steps:
- Login to Google Admin
- Create the user
- Directory → Users → Add new user
- First name:
wip
- Last name:
2cld
- Primary email:
wip@horseoff.com
- Set a strong password, store in your password manager
- Add 2cld.net alias
- Click on the new wip@horseoff.com user
- User information → Alternate email addresses (aliases)
- Add:
wip@2cld.net
- (This works because 2cld.net is already a secondary domain on the horseoff.com Workspace)
- Verify email works
- Send a test email to wip@2cld.net
- Confirm it arrives at wip@horseoff.com inbox
- Setup Chrome profile
- chrome://settings/manageProfile
- Profile name:
2cld-wip
- Sign in with wip@horseoff.com
- Following the sorting pattern:
- FirstName:
2cld-wip
- LastName:
2cld
- DisplayName:
2cld-wip 2cld
- Verify Sync is on
- Update cat2net
- Add wip@horseoff.com row to EmailMaintenance sheet
- Add wip@2cld.net alias note
- Update ops-account-management.md persona table
Step-by-Step: Create Wip GitHub Account
- Create account
- Go to github.com/signup
- Use email: wip@horseoff.com
- Username suggestion:
wip-2cld or 2cld-wip
- Generate personal access token
- Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Token name:
kiro-mcp
- Repository access: select
2cld/wip (and any other repos Wip should read)
- Permissions: Contents (read), Issues (read/write), Pull requests (read)
- Copy token, store securely
- Add as collaborator to 2cld/wip
- Login as your main GitHub account (cat@horseoff.com / admin@2cld.net)
- Go to github.com/2cld/wip → Settings → Collaborators
- Invite the new wip account
- Accept invite from wip account
- Configure Kiro MCP
- Store token in
.local/.env (gitignored):
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxxxxxxxxxxxx
- Add to
.kiro/settings/mcp.json:
{
"mcpServers": {
"github": {
"command": "uvx",
"args": ["mcp-server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
}
- Restart Kiro / reconnect MCP
- Test
- Ask Wip to list recent commits on 2cld/wip
- Ask Wip to list open issues
- Verify commits show as wip-2cld in git log
Step-by-Step: Create Wip Gitea Account
- Create account
- Go to gitea.cat9.me
- Register with email: wip@horseoff.com
- Username:
wip
- Generate API token
- Settings → Applications → Generate New Token
- Token name:
kiro-mcp
- Copy token, store in
.local/.env
- Add to relevant orgs/repos
- Login as nsadmin or cat
- Add wip user to nsadmin org with read access
- Grant access to: ns-account, nsclai, nspwa, ns-site-template, docker-compose
- Configure Kiro MCP (when Gitea MCP server is available)
- May need custom API wrapper or generic REST MCP
- Document approach once tested
Step-by-Step: Setup Wip Google Calendar Access
-
Calendar is already available via the wip@horseoff.com Google account
- Share your calendars with Wip
- Open Google Calendar as your main persona
- Settings → calendar → Share with specific people
- Add wip@horseoff.com with “See all event details” permission
- Repeat for each calendar Wip should see
- Configure Google Calendar MCP (when available)
- Will need OAuth2 or service account credentials
- Store in
.local/.env
- Document approach once tested
Integration Phases
Phase 0: Identity Setup ← IN PROGRESS
Phase 1: GitHub (2cld/wip) ✅ COMPLETE
Phase 2: Gitea (cat9.me) ✅ FUNCTIONAL
Gitea Repo Inventory (as of 2026-04-25)
| Repo |
Last Updated |
Relevant To |
Status |
| ns-account |
Apr 22 |
HWPC QBOL Epic |
Active |
| ns-site-template |
Jan 23 |
Netstack federation Epic |
Active |
| docker-compose |
Feb 27 |
Netstack federation Epic |
Active |
| nsclai |
Jan 23 |
AI CLI research |
Active |
| nspwa |
Mar 12 |
PWA template |
Active |
| nspwa-test |
Mar 12 |
PWA testing |
Active |
| nsqbooks |
Feb 24 |
HWPC QBOL (QB reverse audit) |
Active |
| nsgctime |
Jan 3 |
Wip integration Phase 3 (gcal) |
Active |
| nscallbot |
Jan 26 |
HWPC candybot |
Lower priority |
| nsmedia |
Jan 15 |
Media cleanup Epic |
Lower priority |
| nstrade |
Feb 25 |
Trading |
Lower priority |
| 2cld |
Dec 14 |
2cld private data |
Reference |
| gitea-to-github |
Jan 1 |
Repo mirroring / shadow |
Relevant |
| trink/test |
Sep 05 |
Trink |
Stale - candidate for archive |
Phase 3: Google Calendar ✅ API WORKING
Phase 4: Multi-Identity Coordination
Links
Notes
- wip@horseoff.com is the mailbox, wip@2cld.net is the public-facing alias
- Start with GitHub since wip repo is already there
- Gitea may need custom API wrapper or generic REST MCP
- Google Calendar is hardest but most impactful for daily planning
- All credentials go in
.local/.env (gitignored)
- Wip identity accounts let you audit AI vs human activity in git log