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.
This commit is contained in:
@@ -85,7 +85,7 @@ host (`GITEA_HOST`) into your env for exactly this — the token can create a PR
|
|||||||
merge**.
|
merge**.
|
||||||
|
|
||||||
```bash
|
```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)"
|
BRANCH="$(git branch --show-current)"
|
||||||
curl -sS -X POST "$API" \
|
curl -sS -X POST "$API" \
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
[submodule "wiki"]
|
[submodule "wiki"]
|
||||||
path = 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
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
> **Canonical block.** Everything down to §Layering is the portable bridge charter, copied verbatim
|
> **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
|
> 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
|
> 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.
|
> 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.
|
outcome rather than an omission.
|
||||||
|
|
||||||
Then **propagate**: the block in this file and the template in the wiki
|
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
|
block*) must stay byte-identical, and other projects carrying the block need the same edit. Verify
|
||||||
rather than trust:
|
rather than trust:
|
||||||
|
|
||||||
|
|||||||
@@ -76,11 +76,11 @@ flowchart LR
|
|||||||
|
|
||||||
## Docs
|
## 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):
|
vendored here as a submodule under [`wiki/`](./wiki):
|
||||||
|
|
||||||
```bash
|
```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:
|
# or, after a plain clone:
|
||||||
git submodule update --init
|
git submodule update --init
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=bridged — claude-bridge message server
|
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 —
|
# 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
|
# 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.
|
# socket survivable. Do NOT add Requires=: a herdr restart must not take bridged down with it.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# CB-306 — Spawn-Readiness Gate (launcher-owned terminal readiness)
|
# CB-306 — Spawn-Readiness Gate (launcher-owned terminal readiness)
|
||||||
|
|
||||||
**Status:** design note / delegation spec (branch `worker/cb-306-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.
|
**Owner of the behaviour:** `ClaudeCodeLauncher` (the `PeerLauncher` adapter) — NOT core.
|
||||||
|
|
||||||
## 1. Problem
|
## 1. Problem
|
||||||
|
|||||||
@@ -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
|
- **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.
|
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
|
- **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
|
- **Our own revocable token.** One consumer to revoke if a worker ever leaks it, instead of a shared
|
||||||
`legacy` token used by four systems.
|
`legacy` token used by four systems.
|
||||||
- **It works off-LAN.** `gx00.gw` resolves on the LAN only.
|
- **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
|
## 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
|
gateway that reports live capacity. The per-consumer figures this migration unlocks are the first
|
||||||
input that ticket actually needs.
|
input that ticket actually needs.
|
||||||
- `docs/CB-500-Multi-Tier-Coordination.md` §11 — the distributed-sandbox topology this gateway is
|
- `docs/CB-500-Multi-Tier-Coordination.md` §11 — the distributed-sandbox topology this gateway is
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ earlier `STATE.md` idea — a PR is reviewable, mergeable, and self-describing.*
|
|||||||
|
|
||||||
## Infra facts (verified this session)
|
## 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**.
|
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
|
- **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
|
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 |
|
| 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 |
|
| **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 |
|
| **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
|
- Off-subscription workers already *could* push (SSH, same user). The **incremental grant is
|
||||||
PR-create**, i.e. a gitea API token.
|
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
|
PR), **not** merge/admin/org. A leaked token can open PRs, not merge them — the primary/human is
|
||||||
still the merge gate.
|
still the merge gate.
|
||||||
- Inject via the daemon (env var, e.g. `GITEA_TOKEN`), never written to the worker's config dir —
|
- Inject via the daemon (env var, e.g. `GITEA_TOKEN`), never written to the worker's config dir —
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
"author": {
|
"author": {
|
||||||
"name": "LTMS"
|
"name": "LTMS"
|
||||||
},
|
},
|
||||||
"homepage": "https://git.ltms.dev/lms/claude-bridge",
|
"homepage": "https://git.ltms.dev/fleet/fleetd",
|
||||||
"repository": "https://git.ltms.dev/lms/claude-bridge",
|
"repository": "https://git.ltms.dev/fleet/fleetd",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"mcp",
|
"mcp",
|
||||||
|
|||||||
Reference in New Issue
Block a user