specrails-core 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/agent-runtime/capabilities.d.ts +27 -0
  2. package/dist/agent-runtime/capabilities.js +73 -0
  3. package/dist/agent-runtime/capabilities.js.map +1 -0
  4. package/dist/agent-runtime/cli-executor.d.ts +9 -0
  5. package/dist/agent-runtime/cli-executor.js +100 -30
  6. package/dist/agent-runtime/cli-executor.js.map +1 -1
  7. package/dist/agent-runtime/cli.d.ts +1 -0
  8. package/dist/agent-runtime/cli.js +59 -11
  9. package/dist/agent-runtime/cli.js.map +1 -1
  10. package/dist/agent-runtime/codex-schema.d.ts +4 -0
  11. package/dist/agent-runtime/codex-schema.js +31 -0
  12. package/dist/agent-runtime/codex-schema.js.map +1 -0
  13. package/dist/agent-runtime/config.d.ts +4 -0
  14. package/dist/agent-runtime/config.js +110 -9
  15. package/dist/agent-runtime/config.js.map +1 -1
  16. package/dist/agent-runtime/core-host.d.ts +9 -1
  17. package/dist/agent-runtime/core-host.js +55 -20
  18. package/dist/agent-runtime/core-host.js.map +1 -1
  19. package/dist/agent-runtime/efficiency-summary.d.ts +67 -0
  20. package/dist/agent-runtime/efficiency-summary.js +52 -0
  21. package/dist/agent-runtime/efficiency-summary.js.map +1 -0
  22. package/dist/agent-runtime/efficiency-types.d.ts +60 -0
  23. package/dist/agent-runtime/efficiency-types.js +8 -0
  24. package/dist/agent-runtime/efficiency-types.js.map +1 -0
  25. package/dist/agent-runtime/efficiency.d.ts +5 -0
  26. package/dist/agent-runtime/efficiency.js +35 -0
  27. package/dist/agent-runtime/efficiency.js.map +1 -0
  28. package/dist/agent-runtime/evaluation-corpus.d.ts +13 -0
  29. package/dist/agent-runtime/evaluation-corpus.js +8 -0
  30. package/dist/agent-runtime/evaluation-corpus.js.map +1 -0
  31. package/dist/agent-runtime/evaluation.d.ts +43 -0
  32. package/dist/agent-runtime/evaluation.js +171 -0
  33. package/dist/agent-runtime/evaluation.js.map +1 -0
  34. package/dist/agent-runtime/executor-types.d.ts +35 -2
  35. package/dist/agent-runtime/executor-types.js.map +1 -1
  36. package/dist/agent-runtime/executors.d.ts +1 -0
  37. package/dist/agent-runtime/executors.js +4 -0
  38. package/dist/agent-runtime/executors.js.map +1 -1
  39. package/dist/agent-runtime/graph/artifacts.d.ts +8 -22
  40. package/dist/agent-runtime/graph/artifacts.js +99 -73
  41. package/dist/agent-runtime/graph/artifacts.js.map +1 -1
  42. package/dist/agent-runtime/graph/nodes.d.ts +3 -0
  43. package/dist/agent-runtime/graph/nodes.js +73 -26
  44. package/dist/agent-runtime/graph/nodes.js.map +1 -1
  45. package/dist/agent-runtime/graph/roles.d.ts +4 -1
  46. package/dist/agent-runtime/graph/roles.js +100 -36
  47. package/dist/agent-runtime/graph/roles.js.map +1 -1
  48. package/dist/agent-runtime/graph/state.d.ts +8 -0
  49. package/dist/agent-runtime/graph/state.js.map +1 -1
  50. package/dist/agent-runtime/index.d.ts +7 -1
  51. package/dist/agent-runtime/index.js +7 -1
  52. package/dist/agent-runtime/index.js.map +1 -1
  53. package/dist/agent-runtime/kimi-acp.d.ts +4 -0
  54. package/dist/agent-runtime/kimi-acp.js +20 -9
  55. package/dist/agent-runtime/kimi-acp.js.map +1 -1
  56. package/dist/agent-runtime/openai-executor.d.ts +8 -0
  57. package/dist/agent-runtime/openai-executor.js +28 -10
  58. package/dist/agent-runtime/openai-executor.js.map +1 -1
  59. package/dist/agent-runtime/openspec-tool-server.d.ts +1 -0
  60. package/dist/agent-runtime/openspec-tool-server.js +37 -0
  61. package/dist/agent-runtime/openspec-tool-server.js.map +1 -0
  62. package/dist/agent-runtime/openspec.d.ts +123 -0
  63. package/dist/agent-runtime/openspec.js +263 -0
  64. package/dist/agent-runtime/openspec.js.map +1 -0
  65. package/dist/agent-runtime/prompts.d.ts +5 -1
  66. package/dist/agent-runtime/prompts.js +59 -40
  67. package/dist/agent-runtime/prompts.js.map +1 -1
  68. package/dist/agent-runtime/provider-diagnostic.d.ts +2 -0
  69. package/dist/agent-runtime/provider-diagnostic.js +25 -0
  70. package/dist/agent-runtime/provider-diagnostic.js.map +1 -0
  71. package/dist/agent-runtime/repository-context.d.ts +25 -0
  72. package/dist/agent-runtime/repository-context.js +100 -0
  73. package/dist/agent-runtime/repository-context.js.map +1 -0
  74. package/dist/agent-runtime/review-context.d.ts +14 -0
  75. package/dist/agent-runtime/review-context.js +41 -0
  76. package/dist/agent-runtime/review-context.js.map +1 -0
  77. package/dist/agent-runtime/role-routing.d.ts +10 -0
  78. package/dist/agent-runtime/role-routing.js +29 -0
  79. package/dist/agent-runtime/role-routing.js.map +1 -0
  80. package/dist/agent-runtime/role-state.d.ts +19 -0
  81. package/dist/agent-runtime/role-state.js +24 -0
  82. package/dist/agent-runtime/role-state.js.map +1 -0
  83. package/dist/agent-runtime/runtime-identity.d.ts +11 -0
  84. package/dist/agent-runtime/runtime-identity.js +33 -0
  85. package/dist/agent-runtime/runtime-identity.js.map +1 -0
  86. package/dist/agent-runtime/tool-event.d.ts +3 -0
  87. package/dist/agent-runtime/tool-event.js +24 -0
  88. package/dist/agent-runtime/tool-event.js.map +1 -0
  89. package/dist/agent-runtime/verification-plan.d.ts +55 -0
  90. package/dist/agent-runtime/verification-plan.js +206 -0
  91. package/dist/agent-runtime/verification-plan.js.map +1 -0
  92. package/dist/agent-runtime/workflow-types.d.ts +17 -1
  93. package/dist/agent-runtime/workflow.js +28 -1
  94. package/dist/agent-runtime/workflow.js.map +1 -1
  95. package/dist/agent-runtime/workspace-tools.d.ts +4 -0
  96. package/dist/agent-runtime/workspace-tools.js +182 -20
  97. package/dist/agent-runtime/workspace-tools.js.map +1 -1
  98. package/dist/installer/phases/scaffold.js +39 -109
  99. package/dist/installer/phases/scaffold.js.map +1 -1
  100. package/dist/installer/runtime/pipeline-state.d.ts +142 -1
  101. package/dist/installer/runtime/pipeline-state.js +477 -28
  102. package/dist/installer/runtime/pipeline-state.js.map +1 -1
  103. package/docs/agent-runtime-efficiency.md +65 -0
  104. package/docs/agent-runtime.md +86 -15
  105. package/integration-contract.json +2 -1
  106. package/package.json +5 -2
  107. package/schemas/agent-runtime.schema.json +25 -3
  108. package/schemas/fixtures/runtime-efficiency-summary.v1.json +790 -0
  109. package/templates/codex-skills/batch-implement/SKILL.md +33 -58
  110. package/templates/codex-skills/implement/SKILL.md +21 -124
  111. package/templates/codex-skills/retry/SKILL.md +8 -34
  112. package/templates/commands/specrails/batch-implement.md +21 -16
  113. package/templates/commands/specrails/implement.md +17 -276
  114. package/templates/commands/specrails/retry.md +6 -34
  115. package/templates/gemini-commands/batch-implement.toml +34 -28
  116. package/templates/gemini-commands/implement.toml +34 -55
  117. package/templates/gemini-commands/retry.toml +10 -16
@@ -1 +1 @@
1
- {"version":3,"file":"openai-executor.js","sourceRoot":"","sources":["../../src/agent-runtime/openai-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-executor.js","sourceRoot":"","sources":["../../src/agent-runtime/openai-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { readVerificationEvidence } from '../installer/runtime/pipeline-state.js';
2
+ import { readFileSync } from 'node:fs';
3
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
+ import { z } from 'zod';
6
+ import { OpenSpecTools } from './openspec.js';
7
+ const configPath = process.argv[2];
8
+ if (!configPath)
9
+ throw new Error('Missing role OpenSpec context');
10
+ const context = JSON.parse(readFileSync(configPath, 'utf8'));
11
+ const server = new McpServer({ name: 'specrails-openspec', version: '1' });
12
+ server.registerTool('workflow', {
13
+ description: 'Execute the official OpenSpec skill and CLI operations for the current change. Load the role skill first; for developer/reviewer this also executes and returns real status and instructions apply. Read the returned context files and finish the skill. Use instructions before authoring artifacts. Change identity and write scope are fixed by the host.',
14
+ inputSchema: { action: z.enum(['load_skill', 'new', 'status', 'instructions', 'validate', 'write_artifact']), artifact: z.string().optional(), path: z.string().optional(), content: z.string().optional() },
15
+ }, async (args, extra) => {
16
+ const tools = new OpenSpecTools(context, extra.signal);
17
+ try {
18
+ return { content: [{ type: 'text', text: JSON.stringify(await tools.execute(args)) }] };
19
+ }
20
+ catch (error) {
21
+ return { isError: true, content: [{ type: 'text', text: error instanceof Error ? error.message : String(error) }] };
22
+ }
23
+ });
24
+ if (context.evidenceScope && context.role !== 'architect')
25
+ server.registerTool('read_verification_evidence', {
26
+ description: 'Read persisted host verification results and harness sources. List first to discover opaque IDs; use returned cursors to page output. Read-only, bounded and scoped to this run.',
27
+ inputSchema: { id: z.string().optional(), section: z.enum(['summary', 'stdout', 'stderr', 'source']).optional(), sourceId: z.string().optional(), cursor: z.string().optional(), limit: z.number().int().min(1).max(100).optional() },
28
+ }, async (args) => {
29
+ try {
30
+ return { content: [{ type: 'text', text: JSON.stringify(readVerificationEvidence(context.evidenceScope, args)) }] };
31
+ }
32
+ catch (error) {
33
+ return { isError: true, content: [{ type: 'text', text: error instanceof Error ? error.message : String(error) }] };
34
+ }
35
+ });
36
+ await server.connect(new StdioServerTransport());
37
+ //# sourceMappingURL=openspec-tool-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openspec-tool-server.js","sourceRoot":"","sources":["../../src/agent-runtime/openspec-tool-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import type { AgentRole, CliProvider } from './executor-types.js';
2
+ export declare const OPENSPEC_VERSION = "1.4.1";
3
+ export declare const ROLE_SKILLS: {
4
+ readonly architect: "openspec-ff-change";
5
+ readonly developer: "openspec-apply-change";
6
+ readonly reviewer: "openspec-verify-change";
7
+ };
8
+ export interface OpenSpecRoleContext {
9
+ evidenceScope?: {
10
+ backlogRoot: string;
11
+ runId: string;
12
+ };
13
+ root: string;
14
+ change: string;
15
+ stateDirectory: string;
16
+ cli: string;
17
+ skillPath: string;
18
+ skillHash: string;
19
+ role: AgentRole;
20
+ }
21
+ export interface OpenSpecStatus {
22
+ changeRoot: string;
23
+ schemaName: string;
24
+ isComplete: boolean;
25
+ applyRequires: string[];
26
+ actionContext?: {
27
+ allowedEditRoots?: string[];
28
+ mode?: string;
29
+ };
30
+ artifacts: {
31
+ id: string;
32
+ status: string;
33
+ }[];
34
+ artifactPaths: Record<string, {
35
+ existingOutputPaths: string[];
36
+ resolvedOutputPath: string;
37
+ }>;
38
+ }
39
+ export interface OpenSpecApply {
40
+ state: 'blocked' | 'ready' | 'all_done';
41
+ contextFiles: Record<string, string | string[]>;
42
+ tasks: {
43
+ id: string;
44
+ description: string;
45
+ done: boolean;
46
+ }[];
47
+ progress: {
48
+ total: number;
49
+ complete: number;
50
+ remaining: number;
51
+ };
52
+ }
53
+ export declare function hash(text: string): string;
54
+ export declare function resolveOpenSpecCli(): string;
55
+ export declare function runOpenSpec(cli: string, root: string, args: string[], signal?: AbortSignal): Promise<string>;
56
+ /** Reject symlink traversal even when the final destination does not exist. */
57
+ export declare function artifactPath(root: string, relative: string): string;
58
+ /** CLI-generated skills, never reimplemented templates. No user/global config writes. */
59
+ export declare function prepareOpenSpec(root: string, change: string, directory: string): {
60
+ cli: string;
61
+ skillRoot: string;
62
+ identity: Record<string, string>;
63
+ };
64
+ export declare function roleOpenSpecContext(prepared: ReturnType<typeof prepareOpenSpec>, root: string, change: string, directory: string, role: AgentRole, provider: CliProvider): OpenSpecRoleContext;
65
+ /** OpenSpec uses cwd paths; Windows may report a different case or short-name
66
+ * spelling than realpathSync. Compare existing filesystem identities, not text. */
67
+ export declare function sameOpenSpecDirectory(candidate: unknown, expected: string): boolean;
68
+ export declare class OpenSpecTools {
69
+ readonly context: OpenSpecRoleContext;
70
+ private readonly signal?;
71
+ constructor(context: OpenSpecRoleContext, signal?: AbortSignal | undefined);
72
+ private call;
73
+ status(): Promise<OpenSpecStatus>;
74
+ apply(): Promise<OpenSpecApply>;
75
+ validate(): Promise<unknown>;
76
+ execute(input: {
77
+ action: string;
78
+ artifact?: string;
79
+ path?: string;
80
+ content?: string;
81
+ }): Promise<unknown>;
82
+ private participationEvents;
83
+ participationCursor(): number;
84
+ assertParticipation(after?: number): void;
85
+ assertReady(): Promise<OpenSpecApply>;
86
+ }
87
+ export declare const OPENSPEC_BRIDGE_ENTRY: string;
88
+ export declare const OPENSPEC_TOOL_DEFINITION: {
89
+ type: string;
90
+ function: {
91
+ name: string;
92
+ description: string;
93
+ parameters: {
94
+ type: string;
95
+ additionalProperties: boolean;
96
+ required: string[];
97
+ properties: {
98
+ action: {
99
+ type: string;
100
+ enum: string[];
101
+ };
102
+ artifact: {
103
+ type: string;
104
+ };
105
+ path: {
106
+ type: string;
107
+ };
108
+ content: {
109
+ type: string;
110
+ };
111
+ };
112
+ };
113
+ };
114
+ };
115
+ export declare function openSpecPrompt(context: OpenSpecRoleContext): string;
116
+ export declare function writeOpenSpecBridge(context: OpenSpecRoleContext, directory: string): {
117
+ command: string;
118
+ args: string[];
119
+ };
120
+ /** A repairable protocol omission, distinct from invalid artifacts or failed verification. */
121
+ export declare class OpenSpecParticipationError extends Error {
122
+ }
123
+ export declare function openSpecRepairPrompt(context: OpenSpecRoleContext): string;
@@ -0,0 +1,263 @@
1
+ import { promisify } from 'node:util';
2
+ import { execFile, execFileSync } from 'node:child_process';
3
+ import { createHash } from 'node:crypto';
4
+ import { appendFileSync, existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
5
+ import { createRequire } from 'node:module';
6
+ import path from 'node:path';
7
+ import { fileURLToPath } from 'node:url';
8
+ export const OPENSPEC_VERSION = '1.4.1';
9
+ export const ROLE_SKILLS = { architect: 'openspec-ff-change', developer: 'openspec-apply-change', reviewer: 'openspec-verify-change' };
10
+ export function hash(text) { return createHash('sha256').update(text).digest('hex'); }
11
+ export function resolveOpenSpecCli() {
12
+ const require = createRequire(import.meta.url);
13
+ const pkg = path.resolve(path.dirname(require.resolve('@fission-ai/openspec')), '../package.json');
14
+ const manifest = JSON.parse(readFileSync(pkg, 'utf8'));
15
+ if (manifest.version !== OPENSPEC_VERSION)
16
+ throw new Error(`OpenSpec ${OPENSPEC_VERSION} required; found ${manifest.version}`);
17
+ return path.join(path.dirname(pkg), 'bin/openspec.js');
18
+ }
19
+ export async function runOpenSpec(cli, root, args, signal) {
20
+ try {
21
+ const result = await promisify(execFile)(process.execPath, [cli, ...args], {
22
+ cwd: root, signal, encoding: 'utf8', timeout: 30_000, maxBuffer: 4 * 1024 * 1024,
23
+ env: { ...process.env, OPENSPEC_TELEMETRY: '0', DO_NOT_TRACK: '1', CI: '1' },
24
+ });
25
+ return result.stdout;
26
+ }
27
+ catch (error) {
28
+ const result = error;
29
+ throw new Error(`OpenSpec ${args[0]} failed (${result.status ?? 'process error'}): ${String(result.stderr || result.stdout || '').slice(-6000)}`);
30
+ }
31
+ }
32
+ /** Reject symlink traversal even when the final destination does not exist. */
33
+ export function artifactPath(root, relative) {
34
+ if (!relative || path.isAbsolute(relative) || relative.split(/[\\/]/).some(part => !part || part === '.' || part === '..'))
35
+ throw new Error('Invalid artifact path');
36
+ let target = realpathSync(root);
37
+ for (const part of relative.split(/[\\/]/)) {
38
+ target = path.join(target, part);
39
+ try {
40
+ if (lstatSync(target).isSymbolicLink())
41
+ throw new Error('Artifact symlinks are forbidden');
42
+ }
43
+ catch (error) {
44
+ if (error.code !== 'ENOENT')
45
+ throw error;
46
+ }
47
+ }
48
+ return target;
49
+ }
50
+ /** CLI-generated skills, never reimplemented templates. No user/global config writes. */
51
+ export function prepareOpenSpec(root, change, directory) {
52
+ if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(change))
53
+ throw new Error('Invalid OpenSpec change name');
54
+ const cli = resolveOpenSpecCli();
55
+ mkdirSync(directory, { recursive: true });
56
+ const skillRoot = path.join(directory, 'openspec-skills');
57
+ const marker = path.join(skillRoot, 'ready.json');
58
+ if (existsSync(marker) && JSON.parse(readFileSync(marker, 'utf8')).version !== OPENSPEC_VERSION)
59
+ throw new Error('Saved OpenSpec skill version is incompatible; start a new run');
60
+ if (!existsSync(marker)) {
61
+ const staging = mkdtempSync(path.join(directory, '.prepare-openspec-'));
62
+ try {
63
+ const config = path.join(staging, 'config');
64
+ mkdirSync(path.join(config, 'openspec'), { recursive: true });
65
+ writeFileSync(path.join(config, 'openspec/config.json'), JSON.stringify({ profile: 'custom', delivery: 'skills', workflows: ['ff', 'apply', 'verify'], featureFlags: {} }));
66
+ const target = path.join(staging, 'project');
67
+ mkdirSync(target);
68
+ execFileSync(process.execPath, [cli, 'init', '--tools', 'claude,codex,gemini,kimi', '--profile', 'custom', target], {
69
+ cwd: target, encoding: 'utf8', timeout: 60_000,
70
+ env: { ...process.env, XDG_CONFIG_HOME: config, OPENSPEC_TELEMETRY: '0', DO_NOT_TRACK: '1', CI: '1' }, stdio: ['ignore', 'pipe', 'pipe'],
71
+ });
72
+ for (const provider of ['claude', 'codex', 'gemini', 'kimi']) {
73
+ for (const name of Object.values(ROLE_SKILLS)) {
74
+ const content = readFileSync(path.join(target, '.' + provider, 'skills', name, 'SKILL.md'), 'utf8');
75
+ const destination = path.join(skillRoot, provider, name);
76
+ mkdirSync(destination, { recursive: true });
77
+ writeFileSync(path.join(destination, 'SKILL.md'), content, { mode: 0o600 });
78
+ }
79
+ }
80
+ writeFileSync(marker, JSON.stringify({ version: OPENSPEC_VERSION }));
81
+ }
82
+ finally {
83
+ rmSync(staging, { recursive: true, force: true });
84
+ }
85
+ }
86
+ const identity = { version: OPENSPEC_VERSION, root: realpathSync(root), change };
87
+ for (const provider of ['claude', 'codex', 'gemini', 'kimi'])
88
+ for (const name of Object.values(ROLE_SKILLS)) {
89
+ identity[`${provider}/${name}`] = hash(readFileSync(path.join(skillRoot, provider, name, 'SKILL.md'), 'utf8'));
90
+ }
91
+ if (existsSync(path.join(root, 'openspec/schemas/spec-driven')))
92
+ throw new Error('Custom spec-driven schema overrides are not supported by this runtime');
93
+ const config = artifactPath(root, 'openspec/config.yaml');
94
+ identity.projectConfig = existsSync(config) ? hash(readFileSync(config, 'utf8')) : 'absent';
95
+ return { cli, skillRoot, identity };
96
+ }
97
+ export function roleOpenSpecContext(prepared, root, change, directory, role, provider) {
98
+ return { root, change, stateDirectory: directory, cli: prepared.cli, role,
99
+ skillPath: path.join(prepared.skillRoot, provider, ROLE_SKILLS[role], 'SKILL.md'),
100
+ skillHash: prepared.identity[`${provider}/${ROLE_SKILLS[role]}`],
101
+ };
102
+ }
103
+ /** OpenSpec uses cwd paths; Windows may report a different case or short-name
104
+ * spelling than realpathSync. Compare existing filesystem identities, not text. */
105
+ export function sameOpenSpecDirectory(candidate, expected) {
106
+ if (typeof candidate !== 'string' || !path.isAbsolute(candidate))
107
+ return false;
108
+ try {
109
+ return path.relative(realpathSync.native(candidate), realpathSync.native(expected)) === '';
110
+ }
111
+ catch {
112
+ return false;
113
+ }
114
+ }
115
+ export class OpenSpecTools {
116
+ context;
117
+ signal;
118
+ constructor(context, signal) {
119
+ this.context = context;
120
+ this.signal = signal;
121
+ }
122
+ async call(args) { return JSON.parse(await runOpenSpec(this.context.cli, this.context.root, args, this.signal)); }
123
+ async status() {
124
+ const metadata = artifactPath(this.context.root, `openspec/changes/${this.context.change}/.openspec.yaml`);
125
+ if (!existsSync(metadata))
126
+ throw new Error('OpenSpec change metadata is missing; the architect must create the change with OpenSpec');
127
+ const status = await this.call(['status', '--change', this.context.change, '--json']);
128
+ const expected = artifactPath(this.context.root, `openspec/changes/${this.context.change}`);
129
+ if (!sameOpenSpecDirectory(status.changeRoot, expected) || status.schemaName !== 'spec-driven' || status.actionContext?.mode !== 'repo-local' || !status.actionContext?.allowedEditRoots?.some(root => sameOpenSpecDirectory(root, this.context.root)))
130
+ throw new Error('Unsupported OpenSpec planning root or schema; select an admitted repo-local spec-driven change');
131
+ return status;
132
+ }
133
+ async apply() { await this.status(); return await this.call(['instructions', 'apply', '--change', this.context.change, '--json']); }
134
+ async validate() { await this.status(); return this.call(['validate', this.context.change, '--strict', '--json']); }
135
+ async execute(input) {
136
+ this.signal?.throwIfAborted();
137
+ const { action } = input;
138
+ const log = path.join(this.context.stateDirectory, `openspec-${this.context.role}.jsonl`);
139
+ const history = existsSync(log) ? readFileSync(log, 'utf8').trim().split('\n').filter(Boolean).map(line => JSON.parse(line)) : [];
140
+ if (action !== 'load_skill' && !history.some(item => item.action === 'load_skill'))
141
+ throw new Error('Load the official role skill first');
142
+ let result;
143
+ const prerequisites = [];
144
+ if (action === 'load_skill') {
145
+ const content = readFileSync(this.context.skillPath, 'utf8');
146
+ if (hash(content) !== this.context.skillHash)
147
+ throw new Error('OpenSpec skill changed since admission');
148
+ // Both official apply and verify start with these read-only CLI queries.
149
+ // Execute them as part of the agent's tool request and return their actual
150
+ // outputs, so loading a skill cannot omit its required planning context.
151
+ const planning = this.context.role === 'architect' ? undefined : {
152
+ status: await this.status(),
153
+ apply: await this.call(['instructions', 'apply', '--change', this.context.change, '--json']),
154
+ };
155
+ if (planning)
156
+ prerequisites.push({ action: 'status', via: 'load_skill' }, { action: 'instructions', artifact: 'apply', via: 'load_skill' });
157
+ result = { name: ROLE_SKILLS[this.context.role], source: this.context.skillPath, version: OPENSPEC_VERSION, content,
158
+ ...(planning ? { planning, next: 'The official status and instructions apply queries have executed for this request. Read every planning.apply.contextFiles path, then perform the remaining role skill steps. This is planning context, not proof that implementation or review is complete.' } : {}),
159
+ };
160
+ }
161
+ else if (action === 'new') {
162
+ if (this.context.role !== 'architect')
163
+ throw new Error('Only the architect can create a change');
164
+ const target = artifactPath(this.context.root, `openspec/changes/${this.context.change}`);
165
+ result = existsSync(target) ? await this.status() : await this.call(['new', 'change', this.context.change, '--json']);
166
+ await this.status();
167
+ }
168
+ else if (action === 'status')
169
+ result = await this.status();
170
+ else if (action === 'instructions') {
171
+ const status = await this.status();
172
+ if (input.artifact !== 'apply' && !status.artifacts.some(item => item.id === input.artifact))
173
+ throw new Error('Unknown OpenSpec artifact');
174
+ result = await this.call(['instructions', input.artifact, '--change', this.context.change, '--json']);
175
+ }
176
+ else if (action === 'validate')
177
+ result = await this.validate();
178
+ else if (action === 'write_artifact') {
179
+ if (this.context.role === 'reviewer')
180
+ throw new Error('Reviewer cannot write artifacts');
181
+ const status = await this.status();
182
+ if (!input.path?.endsWith('.md') || typeof input.content !== 'string' || Buffer.byteLength(input.content) > 256 * 1024)
183
+ throw new Error('Invalid artifact content');
184
+ if (this.context.role === 'developer' && input.path !== 'tasks.md')
185
+ throw new Error('Developer may update only OpenSpec tasks');
186
+ if (!['proposal.md', 'design.md', 'tasks.md'].includes(input.path) && !/^specs\/[a-z0-9-]+\/spec\.md$/.test(input.path))
187
+ throw new Error('Not a spec-driven artifact');
188
+ const artifact = input.path.startsWith('specs/') ? 'specs' : input.path.replace('.md', '');
189
+ if (!['ready', 'done'].includes(status.artifacts.find(item => item.id === artifact)?.status ?? ''))
190
+ throw new Error('OpenSpec dependencies are incomplete for this artifact');
191
+ if (!history.some(item => item.action === 'instructions' && item.artifact === (this.context.role === 'developer' ? 'apply' : artifact)))
192
+ throw new Error('Read OpenSpec instructions before writing this artifact');
193
+ const target = artifactPath(status.changeRoot, input.path);
194
+ if (this.context.role === 'developer') {
195
+ const normalize = (text) => text.replace(/^(\s*-\s+)\[[ x]\]/gm, '$1[ ]');
196
+ if (normalize(readFileSync(target, 'utf8')) !== normalize(input.content))
197
+ throw new Error('Developer may change only task checkboxes');
198
+ }
199
+ this.signal?.throwIfAborted();
200
+ mkdirSync(path.dirname(target), { recursive: true });
201
+ writeFileSync(target, input.content, 'utf8');
202
+ result = { written: target, sha256: hash(input.content) };
203
+ }
204
+ else
205
+ throw new Error('Unsupported OpenSpec operation');
206
+ this.signal?.throwIfAborted();
207
+ const timestamp = new Date().toISOString();
208
+ appendFileSync(log, [{ action, artifact: input.artifact, path: input.path }, ...prerequisites]
209
+ .map(event => JSON.stringify({ ...event, timestamp }) + '\n').join(''), { mode: 0o600 });
210
+ return result;
211
+ }
212
+ participationEvents() {
213
+ const log = path.join(this.context.stateDirectory, `openspec-${this.context.role}.jsonl`);
214
+ return existsSync(log) ? readFileSync(log, 'utf8').trim().split('\n').filter(Boolean).map(line => JSON.parse(line)) : [];
215
+ }
216
+ participationCursor() { return this.participationEvents().length; }
217
+ assertParticipation(after = 0) {
218
+ const rows = this.participationEvents().slice(after);
219
+ const artifact = this.context.role === 'architect' ? 'tasks' : 'apply';
220
+ const missing = [!rows.some(row => row.action === 'load_skill') ? 'load_skill' : '', !rows.some(row => row.action === 'instructions' && row.artifact === artifact) ? `instructions ${artifact}` : ''].filter(Boolean);
221
+ if (missing.length)
222
+ throw new OpenSpecParticipationError(`Required OpenSpec role workflow was not executed: ${this.context.role} must execute ${ROLE_SKILLS[this.context.role]} (missing ${missing.join(', ')})`);
223
+ }
224
+ async assertReady() {
225
+ const status = await this.status();
226
+ if (!status.isComplete)
227
+ throw new Error('OpenSpec planning artifacts remain incomplete');
228
+ const apply = await this.call(['instructions', 'apply', '--change', this.context.change, '--json']);
229
+ if (apply.state === 'blocked' || !apply.progress.total)
230
+ throw new Error('OpenSpec apply is blocked');
231
+ for (const files of Object.values(apply.contextFiles))
232
+ for (const file of (Array.isArray(files) ? files : [files])) {
233
+ const relative = path.relative(status.changeRoot, file);
234
+ const safe = artifactPath(status.changeRoot, relative);
235
+ if (!readFileSync(safe, 'utf8').trim())
236
+ throw new Error('Empty OpenSpec artifact: ' + relative);
237
+ }
238
+ for (const name of ['proposal.md', 'design.md', 'tasks.md']) {
239
+ if (!readFileSync(artifactPath(status.changeRoot, name), 'utf8').trim())
240
+ throw new Error('Empty OpenSpec artifact: ' + name);
241
+ }
242
+ await this.call(['validate', this.context.change, '--strict', '--json']);
243
+ return apply;
244
+ }
245
+ }
246
+ export const OPENSPEC_BRIDGE_ENTRY = fileURLToPath(new URL('./openspec-tool-server.js', import.meta.url));
247
+ export const OPENSPEC_TOOL_DEFINITION = { type: 'function', function: { name: 'openspec_workflow', description: 'Run the official OpenSpec role workflow. Load the skill first (developer/reviewer also receive real status and apply context), then use its CLI instructions and write artifacts within the fixed change.', parameters: { type: 'object', additionalProperties: false, required: ['action'], properties: { action: { type: 'string', enum: ['load_skill', 'new', 'status', 'instructions', 'validate', 'write_artifact'] }, artifact: { type: 'string' }, path: { type: 'string' }, content: { type: 'string' } } } } };
248
+ export function openSpecPrompt(context) {
249
+ return `\n## Official OpenSpec workflow binding\nExecute ${ROLE_SKILLS[context.role]} for change ${context.change}. This headless transport loads the official, version-pinned skill through the openspec_workflow tool (MCP server specrails_openspec, tool workflow on CLI providers). This is explicit skill-document adaptation, not a native slash command.\nFirst call action=load_skill and follow the returned complete official skill. Bind its openspec CLI commands to this tool: new change -> action=new; status -> status; instructions <artifact> -> instructions with artifact; validate -> validate. Author each artifact yourself using write_artifact with its change-relative path and content; read the official instructions first. Do not reproduce templates from memory or return the artifacts in final JSON. The tool fixes the change identity and runs OpenSpec ${OPENSPEC_VERSION}.\nRead source/dependencies with your normal read tools. For this frozen scope, change selection is already answered. Bind AskUserQuestion to a low-confidence final result with question (architect), or a reported blocking issue (other roles); LangGraph asks the requester. Bind TodoWrite to concise progress narration. Do not invoke another role, apply/archive from architect, or archive from developer/reviewer. Return the Specrails JSON report after the official workflow. For developer and reviewer, load_skill already executes status and instructions apply and returns their real outputs in planning; read planning.apply.contextFiles and perform the rest of the official skill. You may refresh instructions apply when needed. Verify is a skill, not an instructions artifact.\n`;
250
+ }
251
+ export function writeOpenSpecBridge(context, directory) {
252
+ const file = path.join(directory, 'openspec-context.json');
253
+ writeFileSync(file, JSON.stringify(context), { mode: 0o600 });
254
+ return { command: process.execPath, args: [OPENSPEC_BRIDGE_ENTRY, file] };
255
+ }
256
+ /** A repairable protocol omission, distinct from invalid artifacts or failed verification. */
257
+ export class OpenSpecParticipationError extends Error {
258
+ }
259
+ export function openSpecRepairPrompt(context) {
260
+ return `The previous ${context.role} result cannot be accepted because you omitted the required official OpenSpec workflow. Do not merely resend the JSON. Continue this same role with the work already available. Load ${ROLE_SKILLS[context.role]} using the scoped workflow tool (action=load_skill), consult status and instructions ${context.role === 'architect' ? 'tasks' : 'apply'}, and execute the complete returned skill procedure against the current artifacts and code. Reconcile your previous conclusions with that procedure; correct your report if necessary. Do not rerun the implementation or the host verification commands. ${context.role === 'reviewer' ? 'Stay read-only; do not modify code or artifacts.' : 'Keep already-correct work and respect the same frozen scope.'} Finish with the originally requested JSON report.
261
+ `;
262
+ }
263
+ //# sourceMappingURL=openspec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openspec.js","sourceRoot":"","sources":["../../src/agent-runtime/openspec.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { PipelineContext, VerificationCommand } from '../installer/runtime/
3
3
  import { type ReviewPolicy } from './graph/review-policy.js';
4
4
  import type { DeveloperRecord } from './graph/state.js';
5
5
  /** Bump whenever the wording changes: the version is part of the frozen run identity. */
6
- export declare const ROLE_INSTRUCTIONS_VERSION = "3";
6
+ export declare const ROLE_INSTRUCTIONS_VERSION = "7";
7
7
  export interface RoleFeedback {
8
8
  verification?: unknown;
9
9
  review?: unknown;
@@ -15,6 +15,7 @@ export interface FrozenCriterion {
15
15
  requirement: string;
16
16
  }
17
17
  export interface RoleInstructionOptions {
18
+ definition?: string;
18
19
  feedback?: RoleFeedback;
19
20
  verification?: VerificationCommand[];
20
21
  /** Answers the requester gave to earlier architect questions, oldest first. */
@@ -25,10 +26,13 @@ export interface RoleInstructionOptions {
25
26
  criteria?: FrozenCriterion[];
26
27
  /** The developer's own account of the change, shown to the reviewer as a claim to verify. */
27
28
  developer?: DeveloperRecord | null;
29
+ planning?: 'full' | 'proportional';
28
30
  }
29
31
  export declare const ARCHITECT_OUTPUT_SCHEMA: Record<string, unknown>;
30
32
  export declare const DEVELOPER_OUTPUT_SCHEMA: Record<string, unknown>;
31
33
  export declare const REVIEW_OUTPUT_SCHEMA: Record<string, unknown>;
34
+ /** Actual editable task definitions; dynamic scope and output contracts are assembled separately. */
35
+ export declare function rolePromptDefaults(): Record<AgentRole, string>;
32
36
  /** Central role instructions. Roles describe their own work only: traversal,
33
37
  * retries, checks, approvals, archive and delivery belong to the host. */
34
38
  export declare function roleInstructions(role: AgentRole, context: PipelineContext, change: string, options?: RoleInstructionOptions): string;