From 555715ced99b4802b8b47bbb7cd88657d7c2bfa5 Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Sun, 23 Aug 2026 05:22:04 +0200 Subject: [PATCH] CB-623: point every path at fleet/fleetd after the org transfer The repo moved lms/claude-bridge -> fleet/claude-bridge -> fleet/fleetd. Gitea redirects hold, so most of this is not urgent, but one line was a real break: the implementer skill posts a worker's PR to a hardcoded repo path, so every worker PR would have gone to the old address. .claude/skills/implementer/SKILL.md the worker PR endpoint (functional) .gitmodules wiki submodule URL CLAUDE.md + wiki/7-Use-Cases.md the canonical block, kept byte-identical README.md clone command and wiki link deploy/bridged.service Documentation= plugin/.claude-plugin/plugin.json homepage + repository docs/*.md issue and wiki links The wiki is not a separate repo. /repos/lms/claude-bridge.wiki returns 404 and lms owned no .wiki entity, so the wiki moved with the repo; both the old and the new wiki SSH URLs resolve to the same sha. Ticket step 4 assumed a second transfer that does not exist. --- .claude/skills/implementer/SKILL.md | 2 +- .gitmodules | 2 +- CLAUDE.md | 4 ++-- README.md | 4 ++-- deploy/bridged.service | 2 +- docs/CB-306-Spawn-Readiness-Gate.md | 2 +- docs/CB-591-Gateway-Migration.md | 4 ++-- docs/Worker-Git-Workflow.md | 6 +++--- plugin/.claude-plugin/plugin.json | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.claude/skills/implementer/SKILL.md b/.claude/skills/implementer/SKILL.md index 48248fa..6a1a867 100644 --- a/.claude/skills/implementer/SKILL.md +++ b/.claude/skills/implementer/SKILL.md @@ -85,7 +85,7 @@ host (`GITEA_HOST`) into your env for exactly this — the token can create a PR merge**. ```bash -API="${GITEA_HOST%/}/api/v1/repos/lms/claude-bridge/pulls" +API="${GITEA_HOST%/}/api/v1/repos/fleet/fleetd/pulls" BRANCH="$(git branch --show-current)" curl -sS -X POST "$API" \ -H "Authorization: token ${GITEA_TOKEN}" \ diff --git a/.gitmodules b/.gitmodules index 936b387..8a07b0d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "wiki"] path = wiki - url = ssh://git@git.ltms.dev:2224/lms/claude-bridge.wiki.git + url = ssh://git@git.ltms.dev:2224/fleet/fleetd.wiki.git diff --git a/CLAUDE.md b/CLAUDE.md index 59a6e0d..02f4b67 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ > **Canonical block.** Everything down to §Layering is the portable bridge charter, copied verbatim > into every project that mounts the bridge MCP. Keep it byte-identical with the template in the -> wiki ([Use Cases](https://git.ltms.dev/lms/claude-bridge/wiki/7-Use-Cases) → *The portable +> wiki ([Use Cases](https://git.ltms.dev/fleet/fleetd/wiki/7-Use-Cases) → *The portable > CLAUDE.md block*); improvements go to the template first, then out to each project. Anything > specific to *this* repo lives under §Project addendum below, never inline above it. @@ -287,7 +287,7 @@ is a Roadmap line. A change that touches none of the three earns no entry, and t outcome rather than an omission. Then **propagate**: the block in this file and the template in the wiki -([Use Cases](https://git.ltms.dev/lms/claude-bridge/wiki/7-Use-Cases) → *The portable `CLAUDE.md` +([Use Cases](https://git.ltms.dev/fleet/fleetd/wiki/7-Use-Cases) → *The portable `CLAUDE.md` block*) must stay byte-identical, and other projects carrying the block need the same edit. Verify rather than trust: diff --git a/README.md b/README.md index fb26c16..e7baf11 100644 --- a/README.md +++ b/README.md @@ -76,11 +76,11 @@ flowchart LR ## Docs -Full design, setup, and operations live in the **[wiki](https://git.ltms.dev/lms/claude-bridge/wiki)**, +Full design, setup, and operations live in the **[wiki](https://git.ltms.dev/fleet/fleetd/wiki)**, vendored here as a submodule under [`wiki/`](./wiki): ```bash -git clone --recurse-submodules ssh://git@git.ltms.dev:2224/lms/claude-bridge.git +git clone --recurse-submodules ssh://git@git.ltms.dev:2224/fleet/fleetd.git # or, after a plain clone: git submodule update --init ``` diff --git a/deploy/bridged.service b/deploy/bridged.service index 29945ee..7c1d52d 100644 --- a/deploy/bridged.service +++ b/deploy/bridged.service @@ -14,7 +14,7 @@ [Unit] Description=bridged — claude-bridge message server -Documentation=https://git.ltms.dev/lms/claude-bridge/wiki +Documentation=https://git.ltms.dev/fleet/fleetd/wiki # Ordering only: herdr is a user process and its socket may appear after us. This is advisory — # bridged retries the herdr socket rather than exiting, which is what actually makes a late # socket survivable. Do NOT add Requires=: a herdr restart must not take bridged down with it. diff --git a/docs/CB-306-Spawn-Readiness-Gate.md b/docs/CB-306-Spawn-Readiness-Gate.md index d33ab9b..9a97bf0 100644 --- a/docs/CB-306-Spawn-Readiness-Gate.md +++ b/docs/CB-306-Spawn-Readiness-Gate.md @@ -1,7 +1,7 @@ # CB-306 — Spawn-Readiness Gate (launcher-owned terminal readiness) **Status:** design note / delegation spec (branch `worker/cb-306-readiness`) -**Issue:** gitea `lms/claude-bridge` #4 +**Issue:** gitea `fleet/fleetd` #4 **Owner of the behaviour:** `ClaudeCodeLauncher` (the `PeerLauncher` adapter) — NOT core. ## 1. Problem diff --git a/docs/CB-591-Gateway-Migration.md b/docs/CB-591-Gateway-Migration.md index b65e3b5..f690ed9 100644 --- a/docs/CB-591-Gateway-Migration.md +++ b/docs/CB-591-Gateway-Migration.md @@ -186,7 +186,7 @@ Switching buys four things we do not have: - **Free opencode capacity, off the shared credential.** The largest single win. See §3b — it retires a real single point of failure, not just a cost line. - **Per-consumer usage figures.** The cockpit counts requests per consumer. That is the first real - measurement of what the fleet consumes, and it feeds [CB-589](https://git.ltms.dev/lms/claude-bridge/issues/74) Gap 2 directly. + measurement of what the fleet consumes, and it feeds [CB-589](https://git.ltms.dev/fleet/fleetd/issues/74) Gap 2 directly. - **Our own revocable token.** One consumer to revoke if a worker ever leaks it, instead of a shared `legacy` token used by four systems. - **It works off-LAN.** `gx00.gw` resolves on the LAN only. @@ -460,7 +460,7 @@ code.** That is the whole reason this section exists. ## 8. Related -- [CB-589 / #74](https://git.ltms.dev/lms/claude-bridge/issues/74) — cost-first placement and a +- [CB-589 / #74](https://git.ltms.dev/fleet/fleetd/issues/74) — cost-first placement and a gateway that reports live capacity. The per-consumer figures this migration unlocks are the first input that ticket actually needs. - `docs/CB-500-Multi-Tier-Coordination.md` §11 — the distributed-sandbox topology this gateway is diff --git a/docs/Worker-Git-Workflow.md b/docs/Worker-Git-Workflow.md index a9e1e4e..4c45939 100644 --- a/docs/Worker-Git-Workflow.md +++ b/docs/Worker-Git-Workflow.md @@ -115,7 +115,7 @@ earlier `STATE.md` idea — a PR is reviewable, mergeable, and self-describing.* ## Infra facts (verified this session) -- **Remote:** `ssh://git@git.ltms.dev:2224/lms/claude-bridge.git` (gitea). Push is over **SSH** — +- **Remote:** `ssh://git@git.ltms.dev:2224/fleet/fleetd.git` (gitea). Push is over **SSH** — a worker running as the same user with the same keys can `git push` **with no extra credential**. - **gitea is NOT in the project `.mcp.json`** (only `jetbrains`, `intellij-index`, `bridged`). The primary's gitea MCP comes from a global/user config, so **workers do not inherit it**. A worker @@ -128,7 +128,7 @@ earlier `STATE.md` idea — a PR is reviewable, mergeable, and self-describing.* | Option | Mechanism | Trade-off | |---|---|---| -| **A. gitea REST + token** | Worker `curl`s `POST /api/v1/repos/lms/claude-bridge/pulls` with a scoped token injected by the daemon into the worker env | Minimal, no new server; token lives in the off-subscription worker's env (scope it tightly) | +| **A. gitea REST + token** | Worker `curl`s `POST /api/v1/repos/fleet/fleetd/pulls` with a scoped token injected by the daemon into the worker env | Minimal, no new server; token lives in the off-subscription worker's env (scope it tightly) | | **B. mount gitea MCP into workers** | Add the gitea MCP to the worker's `--mcp-config` alongside `bridge` | Clean tool call, but the gitea MCP's own auth/token must be provisioned per worker; more moving parts | | **C. install `tea` CLI** | Worker runs `tea pr create` with a token | Another dependency to install + configure; same token question as A | @@ -140,7 +140,7 @@ and the token is a single scoped secret the daemon injects like it already injec - Off-subscription workers already *could* push (SSH, same user). The **incremental grant is PR-create**, i.e. a gitea API token. -- Scope the token **minimally**: the `lms/claude-bridge` repo, `write:repository` (create branch + +- Scope the token **minimally**: the `fleet/fleetd` repo, `write:repository` (create branch + PR), **not** merge/admin/org. A leaked token can open PRs, not merge them — the primary/human is still the merge gate. - Inject via the daemon (env var, e.g. `GITEA_TOKEN`), never written to the worker's config dir — diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 3e5d1fa..6d38086 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -5,8 +5,8 @@ "author": { "name": "LTMS" }, - "homepage": "https://git.ltms.dev/lms/claude-bridge", - "repository": "https://git.ltms.dev/lms/claude-bridge", + "homepage": "https://git.ltms.dev/fleet/fleetd", + "repository": "https://git.ltms.dev/fleet/fleetd", "license": "MIT", "keywords": [ "mcp",