mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-02 04:43:58 +00:00
feat: add OpenFleet membership and CoinPay rental contracts
This commit is contained in:
parent
a333726a1e
commit
b6cd7cfde2
16 changed files with 933 additions and 2 deletions
|
|
@ -0,0 +1,27 @@
|
|||
import { describe, expect, it, vi } from "vitest";
|
||||
import { familyOfSpec } from "../src/lib/specs";
|
||||
import { listDocs, readDoc } from "../src/lib/docs";
|
||||
import { GET as llms } from "../src/app/llms.txt/route";
|
||||
import { GET as llmsFull } from "../src/app/llms-full.txt/route";
|
||||
import sitemap from "../src/app/sitemap";
|
||||
|
||||
// Spec discovery must work even when the optional blog database is offline.
|
||||
vi.mock("../src/lib/supabase", () => ({ publicClient: () => { throw new Error("offline"); } }));
|
||||
|
||||
describe("OpenFleet public discovery", () => {
|
||||
it("serves the specification through the process family and docs index", () => {
|
||||
expect(familyOfSpec("openfleet")?.slug).toBe("process");
|
||||
expect(listDocs()).toContainEqual(expect.objectContaining({ slug: "openfleet", title: "OpenFleet" }));
|
||||
expect(readDoc("openfleet")).toContain('"provider": "coinpay"');
|
||||
});
|
||||
|
||||
it("includes a reachable docs URL and the full contract in the LLM feeds", async () => {
|
||||
expect(await llms().text()).toMatch(/\[OpenFleet\]\(https:\/\/[^)]+\/docs\/openfleet\)/);
|
||||
expect(await llmsFull().text()).toContain(readDoc("openfleet")!.trim());
|
||||
});
|
||||
|
||||
it("includes the docs route in the sitemap without a blog connection", async () => {
|
||||
const entries = await sitemap();
|
||||
expect(entries.some((entry) => new URL(entry.url).pathname === "/docs/openfleet")).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
@ -103,6 +103,7 @@ export const FAMILIES: Family[] = [
|
|||
specs: [
|
||||
s("asdlc", "ASDLC", "The Agentic Software Development Lifecycle: nine phases, four conformance levels and the ratchet rule"),
|
||||
s("openprd", "OpenPRD", "A product requirement document an agent can execute and a person can read"),
|
||||
s("openfleet", "OpenFleet", "Fleets of OpenAgent and OpenSwarm members, with metadata and rental rates through CoinPay", { landing: undefined, status: "draft" }),
|
||||
s("openswarm", "OpenSwarm", "Settlement and proof of work done under a peer-to-peer swarm"),
|
||||
s("openstream", "OpenStream", "A lossless byte-stream relay envelope, with benchmark reports per release", { landing: undefined }),
|
||||
s("openontology", "OpenOntology", "Five nouns for a shared ontology, with governance and interoperability notes"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue