Skip to content

Commit 17942ee

Browse files
committed
Implement OpenSpec artifacts and SDK contracts
1 parent 1aa6736 commit 17942ee

16 files changed

Lines changed: 486 additions & 21 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ apps/
1515
packages/
1616
cli logicsrc OpenSpec CLI, also exposed as commandboard/cb
1717
logicsrc-mcp @profullstack/logicsrc-mcp standards MCP server
18+
sdk SDK contract types and helpers
1819
tui terminal UI
19-
sdk planned Rust, Bun, Node, Python, and curl SDK surfaces
2020
schemas LogicSRC JSON schemas
2121
validators schema validation utilities
2222
plugin-core plugin manifest and loader runtime
@@ -36,6 +36,8 @@ scripts/
3636
npm install
3737
npm run check
3838
npm --workspace @logicsrc/cli run dev -- --openspec agentswarm --yolo --repo profullstack/logicsrc
39+
npm --workspace @logicsrc/cli run dev -- openspec import
40+
npm --workspace @logicsrc/cli run dev -- openspec export --out logicsrc-openspec-summary.md
3941
npm --workspace @logicsrc/cli run dev -- --openspec-only task validate packages/schemas/fixtures/task.yaml
4042
npm --workspace @logicsrc/cli run dev -- agentswarm --yolo --repo profullstack/logicsrc
4143
npm --workspace @logicsrc/cli run dev -- plugins
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
3+
<channel>
4+
<title>LogicSRC Blog</title>
5+
<link>https://logicsrc.com/blog</link>
6+
<description>Project notes for LogicSRC OpenSpec standards, AgentSwarm, AgentByte, SDKs, MCP, and reference implementations.</description>
7+
<language>en-us</language>
8+
<atom:link href="https://logicsrc.com/blog/rss.xml" rel="self" type="application/rss+xml" />
9+
<item>
10+
<title>LogicSRC OpenSpec Compatibility</title>
11+
<link>https://logicsrc.com/openspec</link>
12+
<guid>https://logicsrc.com/openspec</guid>
13+
<description>LogicSRC adds an OpenSpec.dev comparison and compatibility mode for repo-local specs, proposals, tasks, and deltas.</description>
14+
<pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate>
15+
</item>
16+
</channel>
17+
</rss>
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<url>
4+
<loc>https://logicsrc.com/</loc>
5+
<changefreq>weekly</changefreq>
6+
<priority>1.0</priority>
7+
</url>
8+
<url>
9+
<loc>https://logicsrc.com/docs</loc>
10+
<changefreq>weekly</changefreq>
11+
<priority>0.9</priority>
12+
</url>
13+
<url>
14+
<loc>https://logicsrc.com/openspec</loc>
15+
<changefreq>weekly</changefreq>
16+
<priority>0.8</priority>
17+
</url>
18+
<url>
19+
<loc>https://logicsrc.com/agent-swarm</loc>
20+
<changefreq>weekly</changefreq>
21+
<priority>0.8</priority>
22+
</url>
23+
<url>
24+
<loc>https://logicsrc.com/agentbyte</loc>
25+
<changefreq>weekly</changefreq>
26+
<priority>0.8</priority>
27+
</url>
28+
<url>
29+
<loc>https://logicsrc.com/blog</loc>
30+
<changefreq>weekly</changefreq>
31+
<priority>0.7</priority>
32+
</url>
33+
<url>
34+
<loc>https://logicsrc.com/about</loc>
35+
<changefreq>monthly</changefreq>
36+
<priority>0.6</priority>
37+
</url>
38+
<url>
39+
<loc>https://logicsrc.com/terms</loc>
40+
<changefreq>monthly</changefreq>
41+
<priority>0.4</priority>
42+
</url>
43+
<url>
44+
<loc>https://logicsrc.com/privacy</loc>
45+
<changefreq>monthly</changefreq>
46+
<priority>0.4</priority>
47+
</url>
48+
</urlset>

apps/logicsrc-web/scripts/check-assets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { accessSync } from "node:fs";
22

3-
for (const file of ["index.html", "public/manifest.webmanifest", "public/icon.svg", "public/service-worker.js", "src/main.ts", "src/styles.css"]) {
3+
for (const file of ["index.html", "public/manifest.webmanifest", "public/icon.svg", "public/service-worker.js", "public/sitemap.xml", "public/blog/rss.xml", "src/main.ts", "src/styles.css"]) {
44
accessSync(new URL(`../${file}`, import.meta.url));
55
}
66

apps/logicsrc-web/server.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ const mimeTypes = {
1818
".json": "application/json; charset=utf-8",
1919
".png": "image/png",
2020
".svg": "image/svg+xml",
21-
".webmanifest": "application/manifest+json; charset=utf-8"
21+
".webmanifest": "application/manifest+json; charset=utf-8",
22+
".xml": "application/xml; charset=utf-8"
2223
};
2324

2425
createServer((request, response) => {
@@ -76,7 +77,7 @@ function sendFile(file, headOnly, response) {
7677

7778
const extension = extname(file);
7879
response.writeHead(200, {
79-
"cache-control": extension === ".html" ? "no-store" : "public, max-age=31536000, immutable",
80+
"cache-control": extension === ".html" || extension === ".xml" ? "no-store" : "public, max-age=31536000, immutable",
8081
"content-type": mimeTypes[extension] ?? "application/octet-stream"
8182
});
8283

apps/logicsrc-web/src/main.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const schemas = [
1919
const implementations = [
2020
{ name: "CommandBoard.run", detail: "Hosted reference product implementing the LogicSRC primitives." },
2121
{ name: "CLI and TUI", detail: "`logicsrc` is the standards CLI; `commandboard` and `cb` remain compatible product aliases." },
22-
{ name: "SDKs", detail: "Planned Rust, Bun, Node, Python, and curl surfaces mirror the same OpenSpec resources." },
22+
{ name: "SDKs", detail: "`@logicsrc/sdk` defines contract types now; Rust, Bun, Node, Python, and curl surfaces mirror the same resources." },
2323
{ name: "sh1pt CLI", detail: "`sh1pt logicsrc ...` lets sh1pt users choose LogicSRC OpenSpec-only workflows." },
2424
{ name: "Reference API", detail: "Sample REST API available under `/api/*` for contract testing." },
2525
{ name: "Plugins", detail: "CoinPay, uGig, and sh1pt adapters prove the plugin manifest shape." }
@@ -56,7 +56,7 @@ const comparisonRows = [
5656
},
5757
{
5858
area: "Artifacts",
59-
logicsrc: "Schemas, plugin manifests, task/agent/run docs, event contracts, SDKs, MCP resources, CLI/TUI/PWA/API surfaces.",
59+
logicsrc: "Schemas, plugin manifests, task/agent/run docs, event contracts, `@logicsrc/sdk`, MCP resources, CLI/TUI/PWA/API surfaces.",
6060
openspec: "Repo-local specs, proposals, design docs, implementation tasks, and spec deltas."
6161
},
6262
{
@@ -243,7 +243,7 @@ sh1pt logicsrc --openspec-only \\
243243
244244
sh1pt logicsrc --openspec \\
245245
agentswarm --yolo</code></pre>
246-
<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>
246+
<p><code>--openspec</code> enables OpenSpec.dev-compatible repo-local specs, proposals, tasks, and deltas where supported. <code>openspec import</code> and <code>openspec export</code> summarize those artifacts for LogicSRC workflows. <code>--openspec-only</code> restricts work to LogicSRC-published contracts.</p>
247247
</div>
248248
</section>
249249

docs/cli.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ task
4141
wallet
4242
events
4343
agentswarm
44+
openspec
4445
plugins
4546
tui
4647
update / upgrade
@@ -57,6 +58,16 @@ sh1pt logicsrc --openspec-only agentswarm --yolo --repo profullstack/logicsrc
5758

5859
`agentswarm --yolo` opens the master agent flow. The master agent coordinates slave agents for scoped work such as reproduction, patching, review, documentation, and release evidence.
5960

61+
OpenSpec-compatible artifact commands:
62+
63+
```bash
64+
logicsrc openspec import
65+
logicsrc openspec export --out logicsrc-openspec-summary.md
66+
logicsrc openspec change --id add-agent-policy --capability agents
67+
```
68+
69+
When `--openspec` is enabled, AgentSwarm writes OpenSpec.dev-style files under `openspec/changes/<change-id>/`.
70+
6071
Machine-readable output should be available anywhere data is returned:
6172

6273
```bash

docs/openspec-comparison.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,13 @@ The projects can be complementary. LogicSRC should support an `--openspec` compa
2121

2222
```bash
2323
logicsrc --openspec agentswarm --yolo --repo profullstack/logicsrc
24+
logicsrc openspec import
25+
logicsrc openspec export --out logicsrc-openspec-summary.md
2426
logicsrc --openspec-only task validate ./task.yaml
2527
sh1pt logicsrc --openspec agentswarm --yolo --repo profullstack/logicsrc
2628
```
2729

2830
- `--openspec` enables OpenSpec.dev-compatible repo-local planning conventions where supported.
2931
- `--openspec-only` restricts work to LogicSRC-published OpenSpec contracts.
32+
- `openspec import` summarizes repo-local OpenSpec.dev-style specs and changes.
33+
- `openspec export` writes a LogicSRC-readable markdown summary of those artifacts.

package-lock.json

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"apps/*"
1313
],
1414
"scripts": {
15-
"build": "npm --workspace @logicsrc/schemas run build && npm --workspace @logicsrc/validators run build && npm --workspace @logicsrc/plugin-core run build && npm --workspace @logicsrc/plugin-coinpay run build && npm --workspace @logicsrc/plugin-ugig run build && npm --workspace @logicsrc/plugin-sh1pt run build && npm --workspace @logicsrc/tui run build && npm --workspace @logicsrc/cli run build && npm --workspace @profullstack/logicsrc-mcp run build && npm --workspace @logicsrc/commandboard-api run build && npm --workspace @logicsrc/commandboard-web run build && npm --workspace @logicsrc/web run build",
15+
"build": "npm --workspace @logicsrc/schemas run build && npm --workspace @logicsrc/validators run build && npm --workspace @logicsrc/sdk run build && npm --workspace @logicsrc/plugin-core run build && npm --workspace @logicsrc/plugin-coinpay run build && npm --workspace @logicsrc/plugin-ugig run build && npm --workspace @logicsrc/plugin-sh1pt run build && npm --workspace @logicsrc/tui run build && npm --workspace @logicsrc/cli run build && npm --workspace @profullstack/logicsrc-mcp run build && npm --workspace @logicsrc/commandboard-api run build && npm --workspace @logicsrc/commandboard-web run build && npm --workspace @logicsrc/web run build",
1616
"start": "npm --workspace @logicsrc/web run start",
1717
"test": "npm run test --workspaces --if-present",
1818
"check": "npm run build && npm run test",

0 commit comments

Comments
 (0)