mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-02 12:54:03 +00:00
OpenFleet: agents under a human, the record of who spawned whom, and the ledger the sysop reads
A new spec at /openfleet and /docs/openfleet replacing the AgentSwarm placeholder. A fleet is every agent session one human answers for; a swarm is the members one spawner starts inside it for one task. One record per session (claimed by the first session that writes its member.start, derived when inherited), one append-only ledger per fleet per host with eight events, five sysop verbs, fifteen rules, and what Claude Code and moshcode would each add. Written from job 172ffd83, which had to reconstruct its own parentage by hand. openswarm keeps its slug (it is the peer-to-peer media family) and gains a one-line pointer. /agent-swarm redirects permanently to /openfleet; the registry entry, home band, catch-all route and scroll hook for the placeholder are replaced or removed. Contract test covers the redirect. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RZV4zJ2pDZLNN3kE5jFCmV
This commit is contained in:
parent
a333726a1e
commit
bc489ddd74
9 changed files with 578 additions and 25 deletions
|
|
@ -6,7 +6,7 @@
|
|||
// to be matched first or CLI auth silently goes to the wrong service.
|
||||
import { describe, expect, it } from "vitest";
|
||||
|
||||
import { buildRewrites, commandboardRewrites, credentialsRewrites } from "../next.config";
|
||||
import { buildRedirects, buildRewrites, commandboardRewrites, credentialsRewrites } from "../next.config";
|
||||
|
||||
const CRED = "https://creds.example";
|
||||
const CB = "https://commandboard.example";
|
||||
|
|
@ -55,6 +55,13 @@ describe("apex rewrites", () => {
|
|||
expect(first.destination).toBe("https://creds.example/cli/:path*");
|
||||
});
|
||||
|
||||
it("sends the retired AgentSwarm placeholder path to the OpenFleet spec, permanently", () => {
|
||||
// /agent-swarm was in the sitemap and in links for months; the spec it
|
||||
// promised is OpenFleet. A 308 keeps every old link and the crawl equity.
|
||||
const rule = buildRedirects().find((r) => r.source === "/agent-swarm");
|
||||
expect(rule).toEqual({ source: "/agent-swarm", destination: "/openfleet", permanent: true });
|
||||
});
|
||||
|
||||
it("degrades to whichever services are configured", () => {
|
||||
// Neither set: unchanged behaviour, no rewrites at all.
|
||||
expect(buildRewrites(undefined, undefined)).toEqual([]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue