mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-13 14:37:26 +00:00
Add OpenSpec comparison and compatibility mode
This commit is contained in:
parent
3b3d7ec09a
commit
1aa67367b8
6 changed files with 156 additions and 1 deletions
|
|
@ -35,6 +35,7 @@ scripts/
|
||||||
```bash
|
```bash
|
||||||
npm install
|
npm install
|
||||||
npm run check
|
npm run check
|
||||||
|
npm --workspace @logicsrc/cli run dev -- --openspec agentswarm --yolo --repo profullstack/logicsrc
|
||||||
npm --workspace @logicsrc/cli run dev -- --openspec-only task validate packages/schemas/fixtures/task.yaml
|
npm --workspace @logicsrc/cli run dev -- --openspec-only task validate packages/schemas/fixtures/task.yaml
|
||||||
npm --workspace @logicsrc/cli run dev -- agentswarm --yolo --repo profullstack/logicsrc
|
npm --workspace @logicsrc/cli run dev -- agentswarm --yolo --repo profullstack/logicsrc
|
||||||
npm --workspace @logicsrc/cli run dev -- plugins
|
npm --workspace @logicsrc/cli run dev -- plugins
|
||||||
|
|
|
||||||
|
|
@ -42,11 +42,45 @@ const agentByteSurfaces = [
|
||||||
const pages = [
|
const pages = [
|
||||||
{ id: "docs", title: "Docs", detail: "Specification guides, CLI conventions, schemas, plugin contracts, SDK conventions, and MCP resources." },
|
{ id: "docs", title: "Docs", detail: "Specification guides, CLI conventions, schemas, plugin contracts, SDK conventions, and MCP resources." },
|
||||||
{ id: "blog", title: "Blog", detail: "Project notes for LogicSRC, AgentSwarm, AgentByte, OpenSpec workflows, and reference implementations." },
|
{ id: "blog", title: "Blog", detail: "Project notes for LogicSRC, AgentSwarm, AgentByte, OpenSpec workflows, and reference implementations." },
|
||||||
|
{ id: "openspec", title: "OpenSpec", detail: "Comparison and compatibility notes for OpenSpec.dev-style repo-local specs, proposals, tasks, and deltas." },
|
||||||
{ id: "about", title: "About", detail: "LogicSRC is the Profullstack open specification project for human and AI agent coordination." },
|
{ id: "about", title: "About", detail: "LogicSRC is the Profullstack open specification project for human and AI agent coordination." },
|
||||||
{ id: "terms", title: "Terms", detail: "Draft terms will cover acceptable use, reference implementation boundaries, and hosted-product responsibilities." },
|
{ id: "terms", title: "Terms", detail: "Draft terms will cover acceptable use, reference implementation boundaries, and hosted-product responsibilities." },
|
||||||
{ id: "privacy", title: "Privacy", detail: "Draft privacy notes will cover telemetry, audit events, identity data, and hosted-product data boundaries." }
|
{ id: "privacy", title: "Privacy", detail: "Draft privacy notes will cover telemetry, audit events, identity data, and hosted-product data boundaries." }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const comparisonRows = [
|
||||||
|
{
|
||||||
|
area: "Primary scope",
|
||||||
|
logicsrc: "Open coordination standards for humans, agents, plugins, payments, hosted products, and reference implementations.",
|
||||||
|
openspec: "Lightweight spec-driven planning for code changes and agent work."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
area: "Artifacts",
|
||||||
|
logicsrc: "Schemas, plugin manifests, task/agent/run docs, event contracts, SDKs, MCP resources, CLI/TUI/PWA/API surfaces.",
|
||||||
|
openspec: "Repo-local specs, proposals, design docs, implementation tasks, and spec deltas."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
area: "Agents",
|
||||||
|
logicsrc: "Agent profiles, runs, audit logs, model routing, AgentSwarm orchestration, and provider-neutral execution records.",
|
||||||
|
openspec: "Persistent requirements and planning context for coding agents."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
area: "CLI",
|
||||||
|
logicsrc: "`logicsrc`, `commandboard`, `cb`, and `sh1pt logicsrc ...`.",
|
||||||
|
openspec: "`@fission-ai/openspec` plus native coding-tool slash command integrations."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
area: "MCP",
|
||||||
|
logicsrc: "Standards MCP server with schemas, validation tools, and prompts.",
|
||||||
|
openspec: "OpenSpec.dev currently positions itself as no-MCP."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
area: "Compatibility",
|
||||||
|
logicsrc: "`--openspec` should read/write OpenSpec.dev-style repo-local planning artifacts where useful.",
|
||||||
|
openspec: "Can remain the lightweight planning layer inside repos."
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
||||||
<main class="shell">
|
<main class="shell">
|
||||||
<aside class="rail">
|
<aside class="rail">
|
||||||
|
|
@ -65,6 +99,7 @@ document.querySelector<HTMLDivElement>("#app")!.innerHTML = `
|
||||||
<a href="#cli">CLI</a>
|
<a href="#cli">CLI</a>
|
||||||
<a href="/docs">Docs</a>
|
<a href="/docs">Docs</a>
|
||||||
<a href="/blog">Blog</a>
|
<a href="/blog">Blog</a>
|
||||||
|
<a href="/openspec">OpenSpec</a>
|
||||||
<a href="/about">About</a>
|
<a href="/about">About</a>
|
||||||
<a href="/terms">Terms</a>
|
<a href="/terms">Terms</a>
|
||||||
<a href="/privacy">Privacy</a>
|
<a href="/privacy">Privacy</a>
|
||||||
|
|
@ -182,6 +217,36 @@ sh1pt logicsrc --openspec-only \\
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section id="openspec" class="band">
|
||||||
|
<div class="section-head">
|
||||||
|
<h2>LogicSRC vs OpenSpec.dev</h2>
|
||||||
|
<p>OpenSpec.dev is adjacent: it focuses on lightweight repo-local planning artifacts. LogicSRC is the broader coordination standard and can support OpenSpec-compatible workflows.</p>
|
||||||
|
</div>
|
||||||
|
<div class="compare-table" role="table" aria-label="LogicSRC and OpenSpec.dev comparison">
|
||||||
|
<div class="compare-row compare-head" role="row">
|
||||||
|
<strong role="columnheader">Area</strong>
|
||||||
|
<strong role="columnheader">LogicSRC.com</strong>
|
||||||
|
<strong role="columnheader">OpenSpec.dev</strong>
|
||||||
|
</div>
|
||||||
|
${comparisonRows.map((row) => `
|
||||||
|
<div class="compare-row" role="row">
|
||||||
|
<strong role="cell">${row.area}</strong>
|
||||||
|
<p role="cell">${row.logicsrc}</p>
|
||||||
|
<p role="cell">${row.openspec}</p>
|
||||||
|
</div>
|
||||||
|
`).join("")}
|
||||||
|
</div>
|
||||||
|
<div class="cli-panel compare-note">
|
||||||
|
<h2>Compatibility Mode</h2>
|
||||||
|
<pre><code>logicsrc --openspec agentswarm --yolo \\
|
||||||
|
--repo profullstack/logicsrc
|
||||||
|
|
||||||
|
sh1pt logicsrc --openspec \\
|
||||||
|
agentswarm --yolo</code></pre>
|
||||||
|
<p><code>--openspec</code> enables OpenSpec.dev-compatible repo-local specs, proposals, tasks, and deltas where supported. <code>--openspec-only</code> restricts work to LogicSRC-published contracts.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section id="reference" class="band">
|
<section id="reference" class="band">
|
||||||
<div class="section-head">
|
<div class="section-head">
|
||||||
<h2>Reference Implementations</h2>
|
<h2>Reference Implementations</h2>
|
||||||
|
|
@ -236,6 +301,6 @@ if (window.location.pathname === "/agentbyte") {
|
||||||
}
|
}
|
||||||
|
|
||||||
const pageRoute = window.location.pathname.slice(1);
|
const pageRoute = window.location.pathname.slice(1);
|
||||||
if (["docs", "blog", "about", "terms", "privacy"].includes(pageRoute)) {
|
if (["docs", "blog", "openspec", "about", "terms", "privacy"].includes(pageRoute)) {
|
||||||
document.querySelector(`#${pageRoute}`)?.scrollIntoView();
|
document.querySelector(`#${pageRoute}`)?.scrollIntoView();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -333,6 +333,47 @@ pre {
|
||||||
background: #f0c56a;
|
background: #f0c56a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.compare-table {
|
||||||
|
display: grid;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid #d6ddd2;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: minmax(8rem, 0.6fr) repeat(2, minmax(0, 1fr));
|
||||||
|
border-top: 1px solid #e1e6dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row:first-child {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row > * {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.85rem;
|
||||||
|
border-left: 1px solid #e1e6dc;
|
||||||
|
line-height: 1.45;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row > *:first-child {
|
||||||
|
border-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-head {
|
||||||
|
background: #eef7f3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row p {
|
||||||
|
color: #58615b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-note {
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 980px) {
|
@media (max-width: 980px) {
|
||||||
.primitive-grid,
|
.primitive-grid,
|
||||||
.implementation-list {
|
.implementation-list {
|
||||||
|
|
@ -380,6 +421,19 @@ pre {
|
||||||
grid-template-columns: 1fr;
|
grid-template-columns: 1fr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.compare-row {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row > * {
|
||||||
|
border-left: 0;
|
||||||
|
border-top: 1px solid #e1e6dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.compare-row > *:first-child {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2.4rem;
|
font-size: 2.4rem;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,12 @@ Product CLIs may embed LogicSRC as a sub-command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sh1pt logicsrc <resource> <action> [options]
|
sh1pt logicsrc <resource> <action> [options]
|
||||||
|
sh1pt logicsrc --openspec <resource> <action> [options]
|
||||||
sh1pt logicsrc --openspec-only <resource> <action> [options]
|
sh1pt logicsrc --openspec-only <resource> <action> [options]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`--openspec` enables OpenSpec.dev-compatible repo-local planning conventions where supported, such as specs, proposals, implementation tasks, and requirement deltas.
|
||||||
|
|
||||||
`--openspec-only` means the workflow must stay inside LogicSRC-published schemas, CLI/TUI conventions, SDK contracts, MCP resources/tools/prompts, PWA states, and curl-compatible API surfaces.
|
`--openspec-only` means the workflow must stay inside LogicSRC-published schemas, CLI/TUI conventions, SDK contracts, MCP resources/tools/prompts, PWA states, and curl-compatible API surfaces.
|
||||||
|
|
||||||
Required v1 command groups:
|
Required v1 command groups:
|
||||||
|
|
@ -48,6 +51,7 @@ AgentSwarm master-agent command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
logicsrc agentswarm --yolo --repo profullstack/logicsrc --agents reproduce,patch,review
|
logicsrc agentswarm --yolo --repo profullstack/logicsrc --agents reproduce,patch,review
|
||||||
|
logicsrc --openspec agentswarm --yolo --repo profullstack/logicsrc
|
||||||
sh1pt logicsrc --openspec-only agentswarm --yolo --repo profullstack/logicsrc
|
sh1pt logicsrc --openspec-only agentswarm --yolo --repo profullstack/logicsrc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
29
docs/openspec-comparison.md
Normal file
29
docs/openspec-comparison.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# LogicSRC and OpenSpec.dev
|
||||||
|
|
||||||
|
Status: working comparison
|
||||||
|
|
||||||
|
OpenSpec.dev appears focused on lightweight, repo-local feature planning for coding agents: specs, proposals, design notes, tasks, and requirement deltas that live alongside code. LogicSRC is broader: an open coordination standard for humans, AI agents, plugins, payments, hosted products, SDKs, MCP servers, CLIs, TUIs, PWAs, and API/curl surfaces.
|
||||||
|
|
||||||
|
The projects can be complementary. LogicSRC should support an `--openspec` compatibility mode for teams that already use OpenSpec.dev-style planning artifacts.
|
||||||
|
|
||||||
|
| Area | LogicSRC | OpenSpec.dev |
|
||||||
|
|---|---|---|
|
||||||
|
| Primary scope | Open coordination standards for humans, AI agents, plugins, payments, hosted products, and reference implementations. | Lightweight spec-driven planning framework for code changes and agent work. |
|
||||||
|
| Main artifact shape | Versioned schemas, plugin manifests, event contracts, task/agent/run documents, SDK contracts, MCP resources, CLI/TUI/PWA/API surfaces. | Repo-local specs, proposals, design docs, tasks, and spec deltas. |
|
||||||
|
| Agent relationship | Agent profiles, runs, audit logs, model routing, AgentSwarm orchestration, and provider-neutral execution records. | Planning layer that gives coding agents persistent requirements and change context. |
|
||||||
|
| CLI direction | `logicsrc`, plus compatible product aliases and `sh1pt logicsrc ...`. | `@fission-ai/openspec` CLI and slash-command integrations with coding tools. |
|
||||||
|
| MCP | LogicSRC has a standards MCP server and should expose resources, tools, and prompts. | Site states "No MCP" as a product trait. |
|
||||||
|
| SDK/API | Planned Rust, Bun, Node, Python, curl, and PWA surfaces with matching contracts. | Focus appears to be repo workflow and agent planning artifacts rather than a cross-language SDK/API standard. |
|
||||||
|
| Plugins | Plugin manifest standard plus CoinPay, uGig, sh1pt, AgentByte, and future integration specs. | Integrates with many coding agents and editors; plugin-contract scope is not the main positioning. |
|
||||||
|
| Compatibility idea | `logicsrc --openspec` reads/writes OpenSpec.dev-style specs/proposals/tasks where useful. | Can remain the lightweight planning layer inside repos. |
|
||||||
|
|
||||||
|
## CLI Flags
|
||||||
|
|
||||||
|
```bash
|
||||||
|
logicsrc --openspec agentswarm --yolo --repo profullstack/logicsrc
|
||||||
|
logicsrc --openspec-only task validate ./task.yaml
|
||||||
|
sh1pt logicsrc --openspec agentswarm --yolo --repo profullstack/logicsrc
|
||||||
|
```
|
||||||
|
|
||||||
|
- `--openspec` enables OpenSpec.dev-compatible repo-local planning conventions where supported.
|
||||||
|
- `--openspec-only` restricts work to LogicSRC-published OpenSpec contracts.
|
||||||
|
|
@ -16,6 +16,7 @@ program
|
||||||
.name(commandName)
|
.name(commandName)
|
||||||
.aliases(["commandboard", "cb"])
|
.aliases(["commandboard", "cb"])
|
||||||
.description("LogicSRC OpenSpec CLI for schemas, boards, tasks, agents, payments, plugins, and TUI.")
|
.description("LogicSRC OpenSpec CLI for schemas, boards, tasks, agents, payments, plugins, and TUI.")
|
||||||
|
.option("--openspec", "Enable OpenSpec.dev-compatible repo-local specs, proposals, tasks, and deltas where supported.")
|
||||||
.option("--openspec-only", "Restrict workflows to LogicSRC OpenSpec schemas, SDKs, MCP, CLI, TUI, and PWA contracts.")
|
.option("--openspec-only", "Restrict workflows to LogicSRC OpenSpec schemas, SDKs, MCP, CLI, TUI, and PWA contracts.")
|
||||||
.version("0.1.0");
|
.version("0.1.0");
|
||||||
|
|
||||||
|
|
@ -152,6 +153,7 @@ program
|
||||||
master_agent: "agentswarm-master",
|
master_agent: "agentswarm-master",
|
||||||
slave_agents: slaveAgents,
|
slave_agents: slaveAgents,
|
||||||
repo: options.repo ?? null,
|
repo: options.repo ?? null,
|
||||||
|
openspec_compatible: program.opts().openspec || process.env.LOGICSRC_OPENSPEC_COMPAT === "1",
|
||||||
openspec_only: program.opts().openspecOnly || process.env.LOGICSRC_OPENSPEC_ONLY === "1"
|
openspec_only: program.opts().openspecOnly || process.env.LOGICSRC_OPENSPEC_ONLY === "1"
|
||||||
},
|
},
|
||||||
"json"
|
"json"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue