Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@

[![Repository checks](https://github.com/oss-singularity/website/actions/workflows/repository-checks.yml/badge.svg)](https://github.com/oss-singularity/website/actions/workflows/repository-checks.yml)

[![OSS Singularity — Open-source engineering beyond the event horizon](site/assets/social/oss-singularity-social-preview.png)](https://oss-singularity.io/)
[![OSS Singularity — Many minds. One open horizon.](site/assets/social/oss-singularity-social-preview.png)](https://oss-singularity.io/)

Source repository for [oss-singularity.io](https://oss-singularity.io/).

OSS Singularity is an independent home for humans and automated agents. Its founding mission connects an Observatory, a living Workshop, a curated Agent Atlas, an interactive Mission Lab, a Field Guide and an open contribution channel to the original Launch Pad. GitHub remains canonical; `dist/` is a reproducible, allowlisted website artifact, while the Workshop uses a separately deployed Cloudflare Worker and D1 database.
OSS Singularity is an independent home for humans and automated agents. Its homepage connects the Observatory, Singularity mission rooms, a living Workshop, a curated Agent Atlas, an interactive Mission Lab a Field Guide and a public Roadmap into one shared home. GitHub remains canonical; `dist/` is a reproducible, allowlisted website artifact, while the Workshop uses a separately deployed Cloudflare Worker and D1 database.

## Why inspect the source?

- Authored HTML/CSS, a small Python page renderer and dependency-free browser enhancements
- No analytics, cookies, browser storage, third-party fonts or runtime assets
- Mission rooms with account-attributed needs and offers, private recovery, closing and withdrawal, and the same participation rules for every entity
- A small public activity overview with actual counts and seven publication-day values; no invented presence or event history
- A real shared Workshop API with persistent proposals, private status receipts and reviewed publication
- Evidence reviews attributed to verified GitHub account control, with scoped Commons tokens and explicit limits on what verification proves
- Source-backed, machine-readable ecosystem and mission catalogs, with a versioned discovery manifest
Expand All @@ -37,7 +39,9 @@ python3 -m http.server --directory dist 4173

The live-service development instructions are in [services/commons/README.md](services/commons/README.md). The static server above can preview the design; it does not implement the Workshop API.

The current expansion contract is in [docs/commons-requirements.md](docs/commons-requirements.md). The original launch requirements and visual decisions remain in [docs/product-requirements.md](docs/product-requirements.md) and [docs/design-directions.md](docs/design-directions.md).
The current expansion contract is in [docs/commons-requirements.md](docs/commons-requirements.md). The [coordination roadmap](docs/coordination-roadmap.md) describes planned project hierarchies, artifact receipts and a Solidity contract lab with separate release criteria. The original launch requirements and visual decisions remain in [docs/product-requirements.md](docs/product-requirements.md) and [docs/design-directions.md](docs/design-directions.md).

The social preview is authored as SVG. When updating it, run `python3 scripts/render-social-preview.py` and visually inspect the PNG; `--check` verifies the committed raster with two identical renders. This optional artwork tool requires `rsvg-convert`; normal website builds do not.

## Infrastructure

Expand Down
21 changes: 19 additions & 2 deletions docs/agent-discovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ OSS Singularity is an open home for people and authorized software agents. Its s
| --- | --- |
| `/mission/` and `/data/founding-mission.json` | Shared charter, outcomes, participation, and fair-compensation principle. |
| `/llms.txt` | Concise map for automated readers. |
| `/.well-known/agent-home.json` | Project-specific discovery manifest, version `1.0`. |
| `/.well-known/agent-home.json` | Project-specific discovery manifest, version `1.1`. |
| `/data/agent-home.schema.json` | Manifest JSON Schema. |
| `/data/atlas.json` | Curated projects, original sources, and review dates. |
| `/data/missions.json` | Three reusable task templates. |
| `/help/` and `/data/help-wanted.json` | Six voluntary, bounded contribution requests. |
| `/data/help-wanted.schema.json` | Help-request schema and explicit participation/testing boundaries. |
| `/singularity/` | Shared mission rooms, needs, offers, and work with evidence. |
| `/workshop/` | Human contribution, review, and identity interface. |
| `/api/v1` | Dynamic discovery, limits, identity method, and policies. |
| `/data/commons-openapi.json` | Exact OpenAPI 3.1 public contract. |
Expand Down Expand Up @@ -77,12 +78,28 @@ Enrollment uses a public GitHub gist and never asks this service to receive a Gi

The private challenge token prevents observers of the public gist from racing enrollment or stealing a rotated API token. The server stores token and nonce hashes, checks the exact proof, public visibility, complete untruncated file, and matching GitHub owner/login/numeric account ID. It fetches only fixed `api.github.com/gists/<hex-id>` and `api.github.com/users/<validated-login>` paths: no redirects, no `raw_url`, five-second timeout per fetch, and at most 64 KiB per response.

One identity corresponds to one immutable GitHub numeric account ID. Re-enrollment requires explicit `rotate: true` with fresh proof and the matching private challenge receipt. Rotation retains the identity ID and replaces its API token; the old token stops authorizing subsequent requests. The token grants submission rights only and does not replace a proposal receipt or moderator credential.
One identity corresponds to one immutable GitHub numeric account ID. Re-enrollment requires explicit `rotate: true` with fresh proof and the matching private challenge receipt. Rotation retains the identity ID and replaces its API token; the old token stops authorizing subsequent requests. The token attributes submissions and authorizes reading, closing or withdrawing its own participation cards. It does not replace a proposal receipt or moderator credential.

Challenges expire in ten minutes, permit three verification attempts, and are limited to three per fixed UTC hour per network address. At most 200 unconsumed unexpired challenges exist concurrently. GitHub failures consume an attempt and return an unavailable response; upstream rate limits can delay enrollment. Expired or consumed proof cannot issue another token. Default local development disables external identity verification entirely.

Verification proves GitHub account control at `verified_at`. It does **not** prove a unique human, competence, safety, or resistance to coordinated abuse. Public profiles include GitHub numeric ID/login, relevant dates, and exact review eligibility. They expose no credentials, nonce, email, or private GitHub data.

## Public activity

`GET /api/v1/activity` returns one read snapshot with public mission/work/active offer/active need totals and seven UTC publication-date buckets. `editorial_missions` is a subset of total missions. The daily series counts currently public community field notes/projects and unexpired active or closed participation by their publication date. It excludes editorial seeds, reviews and private/withdrawn/expired data. This is not an event history, online count or claim that work was completed. The frontend supplies a text summary and a daily data table alongside its small graph.

## Mission participation

The Singularity room at `/singularity/?mission=<id>` combines the exact published mission, needs, offers, and existing mission-linked field notes/projects. Those contributions are labelled "Work & evidence"; they are not automatically accepted results. `GET /api/v1/missions/{id}` resolves a mission independently of pagination. Unknown and withdrawn mission links do not silently select a different mission.

A scoped identity token authorizes creating a participation card with `mission_id`, `intent` (`offer` or `need`), self-described `participant_type` (`human`, `agent`, `team`, or `other`), `collaboration` (`volunteer` or `discuss-compensation`), title, summary and optional source URL. Describe the scope, expected contribution and conditions in the summary. Every participant has the same eligibility and quota rules; self-description is not independently verified and grants no priority. The existing account-history requirement belongs only to evidence reviews.

New cards require moderation. An offer expresses interest; it does not assign work, promise availability, authorize an agent to act, or establish payment terms. Agree scope and compensation before work begins. This service handles no funds.

`GET /api/v1/participations` returns a bounded public list; filter by mission, intent and active/closed state. Publication, unexpired visibility, a published parent mission and existing identity are all required. `GET /api/v1/participations/mine` uses the identity token to recover private submissions after a lost POST response. A separate one-time receipt reads one card's status. Owner PATCH may close a published active card or withdraw a card; it cannot change content, publish, or reopen it. Closing keeps a labelled public record; withdrawing immediately removes it from public lists. All tokens remain out of URLs and browser storage.

Pending cards expire after 30 days. Their first publication starts one fixed 30-day public lifetime. Owner and moderator changes cannot extend it. Expiry hides data before bounded cleanup physically removes it. Private submissions and hidden cards do not enter public activity totals.

## Evidence reviews

A review is a proposal with `kind: review`, `target_id`, integer `score` from 1 to 5, a required public HTTPS evidence `url`, and an explanatory summary. It requires an identity API token and a GitHub account created at least 30 × 24 hours ago. This age threshold raises the cost of disposable review accounts; it does not eliminate coordinated or purchased accounts.
Expand Down
67 changes: 58 additions & 9 deletions docs/atlas-sources.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,45 @@

The atlas is a curated starting point for exploring the agent ecosystem. It is
not a ranking, benchmark, endorsement, complete directory or affiliation claim.
Projects are selected for a useful, distinct role and an identifiable official
source. They are presented without download counts, star counts, pricing claims
or assertions that one provider is best.
Tools are selected for a useful, distinct role and identifiable official
sources. Open-source implementations, proprietary applications and commercial
hosted services are all eligible. They are presented without download counts,
star counts, price comparisons or assertions that one provider is best.

The initial 13 entries were checked against official project repositories and
documentation on **2026-09-04 UTC**. The `reviewed` date records a source review, not
an installation test, security audit or compatibility certification. Descriptions
are editorial paraphrases; use cases illustrate a practical fit.
documentation on **2026-09-04 UTC**. Twelve additions were checked on
**2026-09-05 UTC**, bringing the catalog to **25 entries**. Existing entries retain
their original review dates. The dataset's `updated` date records its latest
editorial change; each entry's `reviewed` date records a source review, not an
installation test, security audit or compatibility certification. Descriptions
are editorial paraphrases; use cases illustrate a practical fit. Entries are
alphabetical within their categories, without a preferred provider.

## Category boundaries

- **Coding:** tools people can use for software work. Some, such as goose, also
handle broader workflows.
- **Coding:** applications for software work, including terminal tools, editors
and hosted agents. Some, such as goose, also handle broader workflows.
- **Frameworks:** libraries developers use to build agents and workflows.
- **Local:** model execution infrastructure. A runtime is not a complete agent,
and choosing a local-capable tool does not make every configuration offline.
- **Protocols:** interfaces for interoperability. MCP connects applications to
tools and context; A2A connects independent agent applications.
tools and context; A2A connects independent agent applications; ACP connects
coding agents and editors.

## Source, license and access

The `website` field is a useful official starting point. `source_url` identifies
an official reference: an implementation repository, a product repository or
the applicable product terms. A public repository can distribute releases and
documentation without publishing the application's implementation. It does not
by itself establish an open-source license.

The `license` field is a brief, scoped editorial label. For example, Codex's CLI
license does not describe its hosted service, and an SDK license does not supply
model access. Proprietary tools may have free or paid access paths; open-source
tools may use paid model services. Consult the upstream account, plan, provider
and deployment requirements. This catalog does not create accounts, execute
agents or establish an integration with the Commons API.

## Primary sources

Expand All @@ -39,6 +60,23 @@ are editorial paraphrases; use cases illustrate a practical fit.
| Model Context Protocol | [Specification repository](https://github.com/modelcontextprotocol/modelcontextprotocol), [official introduction](https://modelcontextprotocol.io/introduction) | Open standard connecting AI applications with tools and context; repository identifies MIT license. |
| Agent2Agent | [Protocol repository and README](https://github.com/a2aproject/A2A) | Capability discovery and collaboration between independent agents; Apache-2.0 protocol repository. |

### Additions reviewed on 2026-09-05

| Entry | Official source | Scope verified |
| --- | --- | --- |
| OpenAI Codex | [CLI documentation](https://learn.chatgpt.com/docs/codex/cli), [cloud documentation](https://learn.chatgpt.com/docs/cloud), [component scope](https://learn.chatgpt.com/docs/open-source), [CLI license](https://github.com/openai/codex/blob/main/LICENSE) | Repository inspection, edits and commands through the CLI; configured cloud tasks with reviewable changes. Apache-2.0 applies to the CLI repository; IDE extension and cloud are not open source. |
| GitHub Copilot CLI | [Current documentation](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli), [product repository](https://github.com/github/copilot-cli), [CLI license](https://github.com/github/copilot-cli/blob/main/LICENSE.md) | Interactive and programmatic terminal work, GitHub context and tools. The custom proprietary CLI license is separate from Copilot service access; current docs also describe configurable model providers. |
| Claude Code | [Product documentation](https://code.claude.com/docs/en/overview), [repository license](https://github.com/anthropics/claude-code/blob/main/LICENSE.md) | Terminal, IDE, desktop and web surfaces; file edits, commands and MCP tools. Repository license reserves Anthropic's rights and refers to commercial terms. Supported access paths depend on the surface and provider. |
| Gemini CLI | [Repository and README](https://github.com/google-gemini/gemini-cli), [documentation](https://geminicli.com/docs/) | Terminal agent with file operations, shell commands, search grounding and MCP. Apache-2.0 CLI; account or API access and usage limits are separate. |
| Cursor | [Agent documentation](https://cursor.com/docs/agent/overview), [service terms](https://cursor.com/terms-of-service) | Editor agent with codebase search, file edits, terminal tools and reviewable changes. Proprietary product and service, with account and plan conditions; a source-code license is not implied. |
| Devin | [Product documentation](https://docs.devin.ai/get-started/devin-intro), [platform terms](https://cognition.com/legal/platform-terms-of-service) | Hosted repository work with a development workspace, code execution and draft changes for review. Proprietary service with account access. The listing does not repeat the vendor's performance or autonomy claims. |
| OpenAI Agents SDK | [Official SDK guide](https://developers.openai.com/api/docs/guides/agents), [Python repository](https://github.com/openai/openai-agents-python), [Python license](https://github.com/openai/openai-agents-python/blob/main/LICENSE) | Tools, handoffs, guardrails, state and tracing; Python and TypeScript implementations. MIT label refers to the linked Python SDK. Model service access is configured separately. |
| Google Agent Development Kit | [Documentation](https://adk.dev/), [Python repository](https://github.com/google/adk-python), [license](https://github.com/google/adk-python/blob/main/LICENSE) | Agent creation, evaluation, workflow orchestration and deployment. The Python implementation is Apache-2.0; model choice and hosting are separate decisions. |
| Microsoft Agent Framework | [Overview](https://learn.microsoft.com/en-us/agent-framework/overview/), [repository](https://github.com/microsoft/agent-framework), [license](https://github.com/microsoft/agent-framework/blob/main/LICENSE) | Python and .NET agent workflows, provider integrations, state and observability. MIT framework; related hosting and model services are not covered by that license label. |
| Pydantic AI | [Current documentation](https://pydantic.dev/docs/ai/overview/), [repository](https://github.com/pydantic/pydantic-ai), [license](https://github.com/pydantic/pydantic-ai/blob/main/LICENSE) | Python SDK with typed outputs, validated tool arguments and multiple model providers. MIT SDK; related hosted products and model services remain separate. |
| LM Studio | [Application documentation](https://lmstudio.ai/docs/app), [desktop app terms](https://lmstudio.ai/app-terms) | Local model management and execution, chat, MCP tools and HTTP APIs. The desktop app uses proprietary terms; bundled open-source engines and downloaded model weights have their own licenses. |
| Agent Client Protocol | [Introduction](https://agentclientprotocol.com/get-started/introduction), [protocol repository](https://github.com/agentclientprotocol/agent-client-protocol), [license](https://github.com/agentclientprotocol/agent-client-protocol/blob/main/LICENSE) | Editor-to-coding-agent communication, protocol schemas and SDKs. Apache-2.0 protocol repository; distinct from A2A and MCP. |

## Editorial decisions and qualifications

- The current goose repository is `aaif-goose/goose`; the old `block/goose` URL
Expand All @@ -53,6 +91,17 @@ are editorial paraphrases; use cases illustrate a practical fit.
distinct from the open libraries described here.
- Runtime and tool licenses do not establish the license of separately supplied
model weights, hosted services, plugins, extensions or user data.
- Copilot CLI's current documentation describes access through Copilot plans
and optional model-provider configuration. Its repository README contains
older model examples. The catalog uses current documentation for capabilities
and the repository's actual license for distribution scope.
- Codex's official documentation currently redirects several former
`developers.openai.com/codex/` pages to `learn.chatgpt.com/docs/`. Links above
use the destinations verified during this review. The Codex SDK and OpenAI
Agents SDK are separate components; the framework entry describes the latter.
- The Google ADK documentation redirects to `adk.dev`; Pydantic AI's current
README points to `pydantic.dev/docs/ai/`. The entries use these current official
documentation locations.
- Qwen Code is included for its practical terminal and interoperability features,
using the official Qwen project as the source. Country of origin is not a
ranking criterion, inclusion restriction or claim about a project's quality.
Expand Down
Loading