From 56ffa8e5968e32c995085b9e9d4e03c034a7ed1e Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Fri, 29 May 2026 09:03:59 +0200 Subject: [PATCH] docs: cut over Colibri remotes to Forgejo (Sam & Claude) Validation: docs-only; git diff --check. --- .agent-handoff.md | 25 +++++++++++++++++++++++-- AGENTS.md | 20 +++++++++++++------- docs/HERDR-HUB-RUNBOOK.md | 10 +++++----- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/.agent-handoff.md b/.agent-handoff.md index 9b5dc17..caaebd9 100644 --- a/.agent-handoff.md +++ b/.agent-handoff.md @@ -95,7 +95,7 @@ Standardized protocol for transferring context between agents in the Colibri mul - **Next Steps**: - Claude: review and merge handoff updates - Wire debby into platform-matrix with colibri-smoke-agent - - CI/CD wiring for proof-gate-tracker (Codeberg Actions) + - CI/CD wiring for proof-gate-tracker (self-hosted Forgejo Actions/webhooks) - **Context Files**: - `.agent-handoff.md` (this file) - `docs/MULTIAGENT-WORKFLOW-IMPROVEMENTS.md` @@ -237,4 +237,25 @@ Standardized protocol for transferring context between agents in the Colibri mul - **Context Files**: - `AGENTS.md` (cleanup rule) - `docs/ISO-INTEGRATION-PLAN.md` - - `docs/ISO-ACCEPTANCE-RUNBOOK.md` \ No newline at end of file + - `docs/ISO-ACCEPTANCE-RUNBOOK.md` + +### 2026-05-29T09:10:00Z - Forgejo cutover: self-hosted source forge is primary +- **Agent From**: claude (debby/Linux) +- **Agent To**: hermes / sam / codex +- **Focus Area**: Stop tracking Codeberg as the active Colibri remote; use self-hosted Forgejo. +- **Decision**: `code.smilepowered.org` is now the primary source forge for Colibri and the Clawdie repos. Codeberg is stale/archival unless Sam explicitly requests a sync. +- **Evidence**: + - SSH auth works with key `claude-code-clawdie` on Forgejo SSH port `2222`. + - Colibri remote now points to `git@code.smilepowered.org:clawdie/colibri.git`. + - `git fetch origin --prune` succeeds and local `main` tracks `origin/main` at `da31b5c`. +- **Known Limitations**: + - Branch protection, per-agent users/keys, and Forgejo webhook-driven FreeBSD validation are still pending. + - Other clones should update remotes or reclone from Forgejo; do not assume Codeberg has current state. +- **Next Steps**: + 1. Hermes finishes syncing `clawdie-ai` and cleaned `clawdie-iso` to Forgejo. + 2. Create per-host/per-agent credentials (`hermes-debby`, `claude-domedog`, `codex-osa`) and retire bootstrap/admin credentials from daily use. + 3. Add branch protection for `main` and wire Forgejo push webhooks to OSA FreeBSD validation. +- **Context Files**: + - `AGENTS.md` + - `.ssh/config` host entry for `code.smilepowered.org` + - `docs/HERDR-HUB-RUNBOOK.md` diff --git a/AGENTS.md b/AGENTS.md index 03387cb..a57015a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -82,7 +82,7 @@ It is intentionally separate from: Linux agents (Claude on domedog / Hermes on debby) MUST: - Run `cargo build`, `cargo test`, `cargo clippy` from their Colibri checkout -- Push to Codeberg for FreeBSD 15 validation +- Push to self-hosted Forgejo for FreeBSD 15 validation - Create handoff docs for FreeBSD-specific tasks Linux agents MUST NOT: @@ -108,9 +108,9 @@ Colibri is part of the Clawdie project alongside: | Repo | Purpose | Remote | | ------------- | ---------------------------------------- | ------------------------------------------ | -| `Clawdie-AI` | Agent runtime, control plane, channels | `git@codeberg.org:Clawdie/Clawdie-AI.git` | -| `clawdie-iso` | ISO builder, firstboot wizard, installer | `git@codeberg.org:Clawdie/Clawdie-ISO.git` | -| `Colibri` | Cross-platform Rust control plane core | `git@codeberg.org:Clawdie/Colibri.git` | +| `Clawdie-AI` | Agent runtime, control plane, channels | `git@code.smilepowered.org:clawdie/clawdie-ai.git` | +| `clawdie-iso` | ISO builder, firstboot wizard, installer | `git@code.smilepowered.org:clawdie/clawdie-iso.git` | +| `Colibri` | Cross-platform Rust control plane core | `git@code.smilepowered.org:clawdie/colibri.git` | See `Clawdie-AI/AGENTS.md` for the full handoff protocol and attribution conventions. @@ -158,8 +158,14 @@ still needed to reclaim the target directory. the build cache speeds up iteration. Clean before handoff, end-of-day, or if you won't rebuild within the hour. -## Codeberg +## Forgejo -- Remote: `git@codeberg.org:Clawdie/Colibri.git` -- SSH key: `claude-code-clawdie` (configured on debby) +Self-hosted Forgejo is the primary source forge for Colibri and the Clawdie +repos. Codeberg is no longer the active push target because quota/history issues +blocked cleanup pushes. + +- Remote: `git@code.smilepowered.org:clawdie/colibri.git` +- SSH port: `2222` via `~/.ssh/config` host entry for `code.smilepowered.org` +- SSH key on this host: `claude-code-clawdie` - Push small, reviewable commits with test/build status in commit messages +- Do not push new work to Codeberg unless Sam explicitly asks for archival sync diff --git a/docs/HERDR-HUB-RUNBOOK.md b/docs/HERDR-HUB-RUNBOOK.md index 7ad3c9a..04c8075 100644 --- a/docs/HERDR-HUB-RUNBOOK.md +++ b/docs/HERDR-HUB-RUNBOOK.md @@ -114,11 +114,11 @@ event-derived supervision. No scheduling/ownership in the display layer. | Host | Tailscale IP | Role | SSH identity used | |------|--------------|------|-------------------| -| domedog | `100.103.255.41` | Herdr hub / Colibri | `~/.ssh/id_infra` (outbound to Codeberg + debby) | +| domedog | `100.103.255.41` | Herdr hub / Colibri | `~/.ssh/id_infra` (outbound to Forgejo + debby) | | debby | `100.66.193.10` | remote client | `~/.ssh/id_123kupola` (→ domedog as `clawdija`) | | osa | `100.72.229.63` | FreeBSD, glasspane | — | -- domedog's Codeberg/Tailscale key is `id_infra` (Codeberg key name "DomeDog"); - it authenticates fine — no ssh-agent needed (config points at the file). -- If a Codeberg push/fetch times out at "banner exchange", that's a transient - IPv6 route blip — retry, or force IPv4: `GIT_SSH_COMMAND="ssh -4" git fetch`. +- domedog's Forgejo/Tailscale key is `id_infra`; it authenticates fine — no + ssh-agent needed (config points at the file). +- Self-hosted Forgejo is `code.smilepowered.org`; SSH git access uses port + `2222` via host SSH config. Codeberg is no longer the active push target.