Skip to content

Commit 1ec0214

Browse files
committed
chore(release): v0.1.11
1 parent fe820ca commit 1ec0214

7 files changed

Lines changed: 40 additions & 7 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,23 @@ The format is based on Keep a Changelog, and this project follows SemVer where p
1313
### Fixed
1414

1515

16+
## [0.1.11] - 2026-03-15
17+
18+
### Added
19+
20+
- Added the Task Orchestrator control plane with `roboppi task-orchestrator run|serve|status`, local activity/intent emission, file inbox polling, GitHub issue ingestion, and workflow routing/state persistence.
21+
- Added GitHub task automation helpers for issue-to-workflow routing, PR-open/review actuation flows, and example cron/systemd/demo setups for local or resident operation.
22+
- Added `roboppi agents mcp` plus richer agent runtime visibility, task orchestration examples, and GitHub-backed live agent-team workflows.
23+
24+
### Changed
25+
26+
- Agent coordination now enforces canonical current-state phase routing and keeps task/reporting flows aligned with the new orchestrator integration points.
27+
28+
### Fixed
29+
30+
- Dependent agent tasks now unblock correctly after supersede, and acceptance coverage hardens CLI stdin handling to reduce release-time flakes.
31+
32+
1633
## [0.1.10] - 2026-03-09
1734

1835
### Added

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "roboppi",
3-
"version": "0.1.10",
3+
"version": "0.1.11",
44
"type": "module",
55
"bin": {
66
"roboppi": "src/cli.ts"

‎src/agents/mcp.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import { addTask, claimTask, completeTask, listTasks, supersedeTask } from "./ta
33
import { readWorkflowStatus, writeWorkflowStatus, clearWorkflowStatus } from "./status-store.js";
44
import { assertAgentsRootSafe, validateIdPath, validateMemberIdPath } from "./path-safety.js";
55
import type { MemberEntry, MessageKind, TaskStatus } from "./types.js";
6+
import { ROBOPPI_VERSION } from "../version.js";
67

78
const MCP_PROTOCOL_VERSION = "2024-11-05";
89
const SERVER_NAME = "roboppi-agents-mcp";
9-
const SERVER_VERSION = "0.1.0";
1010

1111
type Json =
1212
| null
@@ -590,7 +590,7 @@ async function dispatchRequest(
590590
capabilities: { tools: {} },
591591
serverInfo: {
592592
name: SERVER_NAME,
593-
version: SERVER_VERSION,
593+
version: ROBOPPI_VERSION,
594594
},
595595
},
596596
};

‎src/cli.ts‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { OpenCodeAdapter } from "./worker/adapters/opencode-adapter.js";
2626
import { ClaudeCodeAdapter } from "./worker/adapters/claude-code-adapter.js";
2727
import { CodexCliAdapter } from "./worker/adapters/codex-cli-adapter.js";
2828
import type { WorkerAdapter } from "./worker/worker-adapter.js";
29+
import { ROBOPPI_VERSION } from "./version.js";
2930
import { generateId } from "./types/common.js";
3031
import { WorkerKind, WorkerCapability, OutputMode, WorkerStatus, JobType, PriorityClass } from "./types/index.js";
3132
import type { WorkerTask, Job } from "./types/index.js";
@@ -142,8 +143,6 @@ EXAMPLES
142143
roboppi task-orchestrator status examples/task-orchestrator.yaml --json
143144
`.trim();
144145

145-
const VERSION = "0.1.0";
146-
147146
const VALID_LOG_LEVELS = new Set(["debug", "info", "warn", "error", "fatal"]);
148147

149148
const VALID_WORKERS: Record<string, WorkerKind> = {
@@ -556,7 +555,7 @@ async function main(): Promise<void> {
556555
process.exit(0);
557556
}
558557
if (parsed.opts.version) {
559-
console.log(`roboppi ${VERSION}`);
558+
console.log(`roboppi ${ROBOPPI_VERSION}`);
560559
process.exit(0);
561560
}
562561
startServer(parsed.opts);
@@ -574,7 +573,7 @@ async function main(): Promise<void> {
574573
}
575574

576575
if (parsed.opts.version) {
577-
console.log(`roboppi ${VERSION}`);
576+
console.log(`roboppi ${ROBOPPI_VERSION}`);
578577
process.exit(0);
579578
}
580579

‎src/version.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const ROBOPPI_VERSION = "0.1.11";

‎tests/at/agents-mcp.test.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { spawn } from "node:child_process";
33
import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
44
import { tmpdir } from "node:os";
55
import path from "node:path";
6+
import { ROBOPPI_VERSION } from "../../src/version.js";
67

78
const REPO_ROOT = process.cwd();
89
const TEST_TMP_ROOT = path.join(REPO_ROOT, ".roboppi-loop", "tmp", "at-agents-mcp");
@@ -249,6 +250,10 @@ describe("roboppi agents mcp", () => {
249250
expect(responses).toHaveLength(2);
250251
expect(responses[0]?.error).toBeUndefined();
251252
expect((responses[0]?.result as any).capabilities.tools).toEqual({});
253+
expect((responses[0]?.result as any).serverInfo).toMatchObject({
254+
name: "roboppi-agents-mcp",
255+
version: ROBOPPI_VERSION,
256+
});
252257

253258
const tools = (responses[1]?.result as any).tools as Array<{ name: string }>;
254259
expect(tools.some((tool) => tool.name === "agents_specialist_activate")).toBe(true);

‎tests/at/cli-subcommands.test.ts‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { mkdtemp, mkdir, readFile, rm, writeFile } from "node:fs/promises";
1111
import { tmpdir } from "node:os";
1212
import path from "node:path";
1313
import { supportsChildBunStdinPipe } from "../../test/helpers/supervised-ipc-capability.js";
14+
import { ROBOPPI_VERSION } from "../../src/version.js";
1415

1516
type CliExit = {
1617
code: number | null;
@@ -298,6 +299,16 @@ describe("CLI E2E (bun run src/cli.ts ...)", () => {
298299
15_000,
299300
);
300301

302+
it(
303+
"TC-CLI-02b: version output matches release version",
304+
async () => {
305+
const res = await runCli(["--version"], { timeoutMs: 10_000 });
306+
expect(res.code).toBe(0);
307+
expect(res.stdout.trim()).toBe(`roboppi ${ROBOPPI_VERSION}`);
308+
},
309+
15_000,
310+
);
311+
301312
it(
302313
"TC-CLI-03: daemon help",
303314
async () => {

0 commit comments

Comments
 (0)