@cluesmith/codev 2.0.0-rc.8 → 2.0.0-rc.9

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 (126) hide show
  1. package/bin/porch.js +6 -35
  2. package/dist/agent-farm/cli.d.ts.map +1 -1
  3. package/dist/agent-farm/cli.js +0 -14
  4. package/dist/agent-farm/cli.js.map +1 -1
  5. package/dist/agent-farm/commands/kickoff.d.ts.map +1 -1
  6. package/dist/agent-farm/commands/kickoff.js +22 -86
  7. package/dist/agent-farm/commands/kickoff.js.map +1 -1
  8. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/spawn.js +30 -54
  10. package/dist/agent-farm/commands/spawn.js.map +1 -1
  11. package/dist/agent-farm/commands/start.d.ts.map +1 -1
  12. package/dist/agent-farm/commands/start.js +8 -50
  13. package/dist/agent-farm/commands/start.js.map +1 -1
  14. package/dist/agent-farm/servers/dashboard-server.js +0 -14
  15. package/dist/agent-farm/servers/dashboard-server.js.map +1 -1
  16. package/dist/agent-farm/state.d.ts +0 -10
  17. package/dist/agent-farm/state.d.ts.map +1 -1
  18. package/dist/agent-farm/state.js +0 -24
  19. package/dist/agent-farm/state.js.map +1 -1
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +5 -17
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/adopt.d.ts.map +1 -1
  24. package/dist/commands/adopt.js +17 -1
  25. package/dist/commands/adopt.js.map +1 -1
  26. package/dist/commands/consult/index.d.ts.map +1 -1
  27. package/dist/commands/consult/index.js +2 -1
  28. package/dist/commands/consult/index.js.map +1 -1
  29. package/dist/commands/init.d.ts.map +1 -1
  30. package/dist/commands/init.js +17 -1
  31. package/dist/commands/init.js.map +1 -1
  32. package/dist/commands/porch/checks.d.ts +16 -29
  33. package/dist/commands/porch/checks.d.ts.map +1 -1
  34. package/dist/commands/porch/checks.js +90 -144
  35. package/dist/commands/porch/checks.js.map +1 -1
  36. package/dist/commands/porch/claude.d.ts +29 -0
  37. package/dist/commands/porch/claude.d.ts.map +1 -0
  38. package/dist/commands/porch/claude.js +79 -0
  39. package/dist/commands/porch/claude.js.map +1 -0
  40. package/dist/commands/porch/index.d.ts +21 -43
  41. package/dist/commands/porch/index.d.ts.map +1 -1
  42. package/dist/commands/porch/index.js +430 -1241
  43. package/dist/commands/porch/index.js.map +1 -1
  44. package/dist/commands/porch/plan.d.ts +60 -0
  45. package/dist/commands/porch/plan.d.ts.map +1 -0
  46. package/dist/commands/porch/plan.js +162 -0
  47. package/dist/commands/porch/plan.js.map +1 -0
  48. package/dist/commands/porch/prompts.d.ts +19 -0
  49. package/dist/commands/porch/prompts.d.ts.map +1 -0
  50. package/dist/commands/porch/prompts.js +259 -0
  51. package/dist/commands/porch/prompts.js.map +1 -0
  52. package/dist/commands/porch/protocol-loader.d.ts.map +1 -1
  53. package/dist/commands/porch/protocol-loader.js +9 -0
  54. package/dist/commands/porch/protocol-loader.js.map +1 -1
  55. package/dist/commands/porch/protocol.d.ts +57 -0
  56. package/dist/commands/porch/protocol.d.ts.map +1 -0
  57. package/dist/commands/porch/protocol.js +250 -0
  58. package/dist/commands/porch/protocol.js.map +1 -0
  59. package/dist/commands/porch/repl.d.ts +33 -0
  60. package/dist/commands/porch/repl.d.ts.map +1 -0
  61. package/dist/commands/porch/repl.js +206 -0
  62. package/dist/commands/porch/repl.js.map +1 -0
  63. package/dist/commands/porch/run.d.ts +15 -0
  64. package/dist/commands/porch/run.d.ts.map +1 -0
  65. package/dist/commands/porch/run.js +551 -0
  66. package/dist/commands/porch/run.js.map +1 -0
  67. package/dist/commands/porch/signal-parser.d.ts +17 -3
  68. package/dist/commands/porch/signal-parser.d.ts.map +1 -1
  69. package/dist/commands/porch/signal-parser.js +71 -20
  70. package/dist/commands/porch/signal-parser.js.map +1 -1
  71. package/dist/commands/porch/signals.d.ts +35 -0
  72. package/dist/commands/porch/signals.d.ts.map +1 -0
  73. package/dist/commands/porch/signals.js +76 -0
  74. package/dist/commands/porch/signals.js.map +1 -0
  75. package/dist/commands/porch/state.d.ts +16 -114
  76. package/dist/commands/porch/state.d.ts.map +1 -1
  77. package/dist/commands/porch/state.js +62 -709
  78. package/dist/commands/porch/state.js.map +1 -1
  79. package/dist/commands/porch/types.d.ts +65 -173
  80. package/dist/commands/porch/types.d.ts.map +1 -1
  81. package/dist/commands/porch/types.js +2 -1
  82. package/dist/commands/porch/types.js.map +1 -1
  83. package/dist/commands/porch2/checks.d.ts +29 -0
  84. package/dist/commands/porch2/checks.d.ts.map +1 -0
  85. package/dist/commands/porch2/checks.js +141 -0
  86. package/dist/commands/porch2/checks.js.map +1 -0
  87. package/dist/commands/porch2/index.d.ts +38 -0
  88. package/dist/commands/porch2/index.d.ts.map +1 -0
  89. package/dist/commands/porch2/index.js +483 -0
  90. package/dist/commands/porch2/index.js.map +1 -0
  91. package/dist/commands/porch2/plan.d.ts +70 -0
  92. package/dist/commands/porch2/plan.d.ts.map +1 -0
  93. package/dist/commands/porch2/plan.js +227 -0
  94. package/dist/commands/porch2/plan.js.map +1 -0
  95. package/dist/commands/porch2/protocol.d.ts +37 -0
  96. package/dist/commands/porch2/protocol.d.ts.map +1 -0
  97. package/dist/commands/porch2/protocol.js +183 -0
  98. package/dist/commands/porch2/protocol.js.map +1 -0
  99. package/dist/commands/porch2/state.d.ts +35 -0
  100. package/dist/commands/porch2/state.d.ts.map +1 -0
  101. package/dist/commands/porch2/state.js +124 -0
  102. package/dist/commands/porch2/state.js.map +1 -0
  103. package/dist/commands/porch2/types.d.ts +79 -0
  104. package/dist/commands/porch2/types.d.ts.map +1 -0
  105. package/dist/commands/porch2/types.js +8 -0
  106. package/dist/commands/porch2/types.js.map +1 -0
  107. package/dist/commands/update.d.ts.map +1 -1
  108. package/dist/commands/update.js +19 -0
  109. package/dist/commands/update.js.map +1 -1
  110. package/dist/lib/scaffold.d.ts +24 -0
  111. package/dist/lib/scaffold.d.ts.map +1 -1
  112. package/dist/lib/scaffold.js +78 -0
  113. package/dist/lib/scaffold.js.map +1 -1
  114. package/package.json +3 -1
  115. package/skeleton/protocols/spider/prompts/specify.md +9 -2
  116. package/skeleton/protocols/spider/protocol.json +79 -153
  117. package/skeleton/protocols/spider/templates/plan.md +14 -0
  118. package/skeleton/roles/architect.md +40 -48
  119. package/skeleton/roles/builder.md +152 -29
  120. package/templates/dashboard/index.html +0 -27
  121. package/templates/dashboard/js/utils.js +0 -86
  122. package/skeleton/porch/protocols/bugfix.json +0 -85
  123. package/skeleton/porch/protocols/spider.json +0 -135
  124. package/skeleton/porch/protocols/tick.json +0 -76
  125. package/templates/dashboard/css/activity.css +0 -151
  126. package/templates/dashboard/js/activity.js +0 -112
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/commands/porch/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/commands/porch/state.ts"],"names":[],"mappings":"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"}
@@ -1,167 +1,97 @@
1
1
  /**
2
2
  * Porch - Protocol Orchestrator
3
3
  *
4
- * Type definitions for protocol definitions and state management.
4
+ * Simplified type definitions. Claude calls porch as a tool;
5
+ * porch returns prescriptive instructions.
5
6
  */
6
7
  /**
7
- * Signal that a phase can emit to trigger state transitions
8
+ * Build config for build_verify phases
8
9
  */
9
- export interface PhaseSignals {
10
- [signalName: string]: string;
10
+ export interface BuildConfig {
11
+ prompt: string;
12
+ artifact: string;
11
13
  }
12
14
  /**
13
- * Check configuration (build, test, etc.)
15
+ * Verify config for build_verify phases - 3-way consultation
14
16
  */
15
- export interface Check {
16
- command: string;
17
- on_fail: 'retry' | string;
18
- max_retries?: number;
19
- retry_delay?: number;
20
- }
21
- /**
22
- * Consultation configuration for a phase
23
- */
24
- export interface ConsultationConfig {
25
- on: string;
26
- models: string[];
17
+ export interface VerifyConfig {
27
18
  type: string;
19
+ models: string[];
28
20
  parallel?: boolean;
29
- max_rounds?: number;
30
- next: string;
31
21
  }
32
22
  /**
33
- * Human approval gate configuration
23
+ * On-complete actions
34
24
  */
35
- export interface GateConfig {
36
- after: string;
37
- type: 'human' | 'automated';
38
- next: string;
25
+ export interface OnCompleteConfig {
26
+ commit?: boolean;
27
+ push?: boolean;
39
28
  }
40
29
  /**
41
30
  * Phase definition in a protocol
42
31
  */
43
- export interface Phase {
32
+ export interface ProtocolPhase {
44
33
  id: string;
45
34
  name: string;
46
- prompt?: string;
47
- substates?: string[];
48
- signals?: PhaseSignals;
49
- terminal?: boolean;
50
- phased?: boolean;
51
- phases_from?: string;
52
- checks?: Record<string, Check>;
53
- consultation?: ConsultationConfig;
54
- gate?: GateConfig;
55
- }
56
- /**
57
- * Protocol configuration
58
- */
59
- export interface ProtocolConfig {
60
- poll_interval?: number;
35
+ type?: 'once' | 'per_plan_phase' | 'build_verify';
36
+ build?: BuildConfig;
37
+ verify?: VerifyConfig;
61
38
  max_iterations?: number;
62
- claude_timeout?: number;
63
- consultation_timeout?: number;
64
- gate_poll_interval?: number;
65
- max_gate_wait?: number;
66
- scope_limit_loc?: number;
67
- source?: string;
68
- auto_pr?: boolean;
69
- }
70
- /**
71
- * Security permissions per phase
72
- */
73
- export interface ProtocolPermissions {
74
- [phaseId: string]: string[];
39
+ on_complete?: OnCompleteConfig;
40
+ gate?: string;
41
+ checks?: string[];
42
+ next?: string | null;
75
43
  }
76
44
  /**
77
- * Complete protocol definition (loaded from JSON)
45
+ * Protocol definition (loaded from protocol.json)
78
46
  */
79
47
  export interface Protocol {
80
- $schema?: string;
81
48
  name: string;
82
- version: string;
83
- description: string;
84
- phases: Phase[];
85
- initial: string;
86
- config?: ProtocolConfig;
87
- permissions?: ProtocolPermissions;
88
- }
89
- /**
90
- * Legacy gate definition (standalone)
91
- * @deprecated Use GateConfig in Phase instead
92
- */
93
- export interface Gate {
94
- id: string;
95
- after_state: string;
96
- next_state: string;
97
- type: 'human' | 'automated';
49
+ version?: string;
98
50
  description?: string;
51
+ phases: ProtocolPhase[];
52
+ checks?: Record<string, string>;
53
+ phase_completion?: Record<string, string>;
99
54
  }
100
55
  /**
101
- * Legacy transition configuration
102
- * @deprecated Transitions are now defined in phases via signals
103
- */
104
- export interface TransitionConfig {
105
- default?: string;
106
- on_gate_pass?: string;
107
- wait_for?: string;
108
- on_backpressure_pass?: string;
109
- on_backpressure_fail?: string;
110
- }
111
- /**
112
- * Legacy protocol format (for backward compatibility)
113
- */
114
- export interface LegacyProtocol {
115
- $schema?: string;
116
- name: string;
117
- version: string;
118
- description: string;
119
- phases: Phase[];
120
- gates: Gate[];
121
- transitions: Record<string, TransitionConfig>;
122
- initial_state: string;
123
- config: {
124
- poll_interval: number;
125
- max_iterations: number;
126
- prompts_dir: string;
127
- };
128
- }
129
- /**
130
- * Gate status in project state
56
+ * Gate status
131
57
  */
132
- export interface GateStatusEntry {
133
- status: 'pending' | 'passed' | 'failed';
58
+ export interface GateStatus {
59
+ status: 'pending' | 'approved';
134
60
  requested_at?: string;
135
61
  approved_at?: string;
136
62
  }
137
63
  /**
138
- * Phase status in project state
64
+ * Plan phase status
139
65
  */
140
- export interface PhaseStatusEntry {
141
- status: 'pending' | 'in_progress' | 'complete';
142
- title?: string;
143
- }
66
+ export type PlanPhaseStatus = 'pending' | 'in_progress' | 'complete';
144
67
  /**
145
68
  * Plan phase extracted from plan.md
69
+ * Each plan phase is a single unit - implement, defend, evaluate happen together
146
70
  */
147
71
  export interface PlanPhase {
148
72
  id: string;
149
73
  title: string;
150
- description?: string;
74
+ status: PlanPhaseStatus;
151
75
  }
152
76
  /**
153
- * Log entry in project state
77
+ * Verdict from a 3-way review
154
78
  */
155
- export interface LogEntry {
156
- ts: string;
157
- event: string;
158
- from?: string | null;
159
- to?: string;
160
- signal?: string;
161
- gate?: string;
162
- phase?: string;
163
- status?: string;
164
- count?: number;
79
+ export type Verdict = 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';
80
+ /**
81
+ * Review result with file path
82
+ */
83
+ export interface ReviewResult {
84
+ model: string;
85
+ verdict: Verdict;
86
+ file: string;
87
+ }
88
+ /**
89
+ * Record of a single build-verify iteration
90
+ */
91
+ export interface IterationRecord {
92
+ iteration: number;
93
+ build_output: string;
94
+ reviews: ReviewResult[];
165
95
  }
166
96
  /**
167
97
  * Project state (stored in status.yaml)
@@ -170,63 +100,25 @@ export interface ProjectState {
170
100
  id: string;
171
101
  title: string;
172
102
  protocol: string;
173
- current_state: string;
174
- worktree?: string;
175
- gates: Record<string, GateStatusEntry>;
176
- phases: Record<string, PhaseStatusEntry>;
177
- plan_phases?: PlanPhase[];
178
- /** Consultation attempt counts per state key (e.g., "specify:consult" -> 2) */
179
- consultation_attempts?: Record<string, number>;
103
+ phase: string;
104
+ plan_phases: PlanPhase[];
105
+ current_plan_phase: string | null;
106
+ gates: Record<string, GateStatus>;
180
107
  iteration: number;
108
+ build_complete: boolean;
109
+ history: IterationRecord[];
181
110
  started_at: string;
182
- last_updated: string;
183
- log: Array<LogEntry | string | unknown>;
184
- }
185
- /**
186
- * Options for porch run command
187
- */
188
- export interface PorchRunOptions {
189
- dryRun?: boolean;
190
- noClaude?: boolean;
191
- pollInterval?: number;
111
+ updated_at: string;
192
112
  }
193
113
  /**
194
- * Options for porch init command
114
+ * Result of running a check
195
115
  */
196
- export interface PorchInitOptions {
197
- description?: string;
198
- worktree?: string;
199
- }
200
- /**
201
- * Options for porch approve command
202
- */
203
- export interface PorchApproveOptions {
204
- }
205
- /**
206
- * Options for porch status command
207
- */
208
- export interface PorchStatusOptions {
209
- pendingOnly?: boolean;
210
- }
211
- /**
212
- * Verdict from a consultation
213
- */
214
- export type ConsultationVerdict = 'APPROVE' | 'REQUEST_CHANGES';
215
- /**
216
- * Single model's consultation feedback
217
- */
218
- export interface ConsultationFeedback {
219
- model: string;
220
- verdict: ConsultationVerdict;
221
- summary: string;
222
- details?: string;
223
- }
224
- /**
225
- * Result of a consultation round
226
- */
227
- export interface ConsultationResult {
228
- round: number;
229
- feedback: ConsultationFeedback[];
230
- allApproved: boolean;
116
+ export interface CheckResult {
117
+ name: string;
118
+ command: string;
119
+ passed: boolean;
120
+ output?: string;
121
+ error?: string;
122
+ duration_ms?: number;
231
123
  }
232
124
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Porch - Protocol Orchestrator
3
3
  *
4
- * Type definitions for protocol definitions and state management.
4
+ * Simplified type definitions. Claude calls porch as a tool;
5
+ * porch returns prescriptive instructions.
5
6
  */
6
7
  export {};
7
8
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/porch/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Porch2 Check Runner
3
+ *
4
+ * Runs check commands (npm test, npm run build, etc.)
5
+ * with timeout support.
6
+ */
7
+ import type { CheckResult } from './types.js';
8
+ /** Environment variables passed to check commands */
9
+ export interface CheckEnv {
10
+ PROJECT_ID: string;
11
+ PROJECT_TITLE: string;
12
+ }
13
+ /**
14
+ * Run a single check command
15
+ */
16
+ export declare function runCheck(name: string, command: string, cwd: string, env: CheckEnv, timeoutMs?: number): Promise<CheckResult>;
17
+ /**
18
+ * Run multiple checks for a phase
19
+ */
20
+ export declare function runPhaseChecks(checks: Record<string, string>, cwd: string, env: CheckEnv, timeoutMs?: number): Promise<CheckResult[]>;
21
+ /**
22
+ * Format check results for terminal output
23
+ */
24
+ export declare function formatCheckResults(results: CheckResult[]): string;
25
+ /**
26
+ * Check if all results passed
27
+ */
28
+ export declare function allChecksPassed(results: CheckResult[]): boolean;
29
+ //# sourceMappingURL=checks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/commands/porch2/checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAS9C,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,WAAW,CAAC,CAsFtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,QAAQ,EACb,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,WAAW,EAAE,CAAC,CAcxB;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAwBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAE/D"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Porch2 Check Runner
3
+ *
4
+ * Runs check commands (npm test, npm run build, etc.)
5
+ * with timeout support.
6
+ */
7
+ import { spawn } from 'node:child_process';
8
+ /** Default timeout for checks: 5 minutes */
9
+ const DEFAULT_TIMEOUT_MS = 5 * 60 * 1000;
10
+ /**
11
+ * Run a single check command
12
+ */
13
+ export async function runCheck(name, command, cwd, env, timeoutMs = DEFAULT_TIMEOUT_MS) {
14
+ const startTime = Date.now();
15
+ return new Promise((resolve) => {
16
+ let stdout = '';
17
+ let stderr = '';
18
+ let killed = false;
19
+ // Parse command into executable and args
20
+ const parts = command.split(/\s+/);
21
+ const executable = parts[0];
22
+ const args = parts.slice(1);
23
+ const proc = spawn(executable, args, {
24
+ cwd,
25
+ shell: true,
26
+ stdio: ['ignore', 'pipe', 'pipe'],
27
+ env: {
28
+ ...process.env,
29
+ PROJECT_ID: env.PROJECT_ID,
30
+ PROJECT_TITLE: env.PROJECT_TITLE,
31
+ },
32
+ });
33
+ // Set up timeout
34
+ const timeout = setTimeout(() => {
35
+ killed = true;
36
+ proc.kill('SIGTERM');
37
+ setTimeout(() => {
38
+ if (!proc.killed) {
39
+ proc.kill('SIGKILL');
40
+ }
41
+ }, 5000);
42
+ }, timeoutMs);
43
+ proc.stdout.on('data', (data) => {
44
+ stdout += data.toString();
45
+ });
46
+ proc.stderr.on('data', (data) => {
47
+ stderr += data.toString();
48
+ });
49
+ proc.on('close', (code) => {
50
+ clearTimeout(timeout);
51
+ const duration = Date.now() - startTime;
52
+ if (killed) {
53
+ resolve({
54
+ name,
55
+ command,
56
+ passed: false,
57
+ error: `Timed out after ${timeoutMs / 1000}s`,
58
+ duration_ms: duration,
59
+ });
60
+ }
61
+ else if (code === 0) {
62
+ resolve({
63
+ name,
64
+ command,
65
+ passed: true,
66
+ output: stdout.trim(),
67
+ duration_ms: duration,
68
+ });
69
+ }
70
+ else {
71
+ resolve({
72
+ name,
73
+ command,
74
+ passed: false,
75
+ output: stdout.trim(),
76
+ error: stderr.trim() || `Exit code ${code}`,
77
+ duration_ms: duration,
78
+ });
79
+ }
80
+ });
81
+ proc.on('error', (err) => {
82
+ clearTimeout(timeout);
83
+ resolve({
84
+ name,
85
+ command,
86
+ passed: false,
87
+ error: err.message,
88
+ duration_ms: Date.now() - startTime,
89
+ });
90
+ });
91
+ });
92
+ }
93
+ /**
94
+ * Run multiple checks for a phase
95
+ */
96
+ export async function runPhaseChecks(checks, cwd, env, timeoutMs = DEFAULT_TIMEOUT_MS) {
97
+ const results = [];
98
+ for (const [name, command] of Object.entries(checks)) {
99
+ const result = await runCheck(name, command, cwd, env, timeoutMs);
100
+ results.push(result);
101
+ // Stop on first failure
102
+ if (!result.passed) {
103
+ break;
104
+ }
105
+ }
106
+ return results;
107
+ }
108
+ // ============================================================================
109
+ // Result Formatting
110
+ // ============================================================================
111
+ /**
112
+ * Format check results for terminal output
113
+ */
114
+ export function formatCheckResults(results) {
115
+ const lines = [];
116
+ for (const result of results) {
117
+ const status = result.passed ? '✓' : '✗';
118
+ const duration = result.duration_ms
119
+ ? ` (${(result.duration_ms / 1000).toFixed(1)}s)`
120
+ : '';
121
+ lines.push(` ${status} ${result.name}${duration}`);
122
+ if (!result.passed && result.error) {
123
+ // Indent error message
124
+ const errorLines = result.error.split('\n').slice(0, 5);
125
+ for (const line of errorLines) {
126
+ lines.push(` ${line}`);
127
+ }
128
+ if (result.error.split('\n').length > 5) {
129
+ lines.push(' ...');
130
+ }
131
+ }
132
+ }
133
+ return lines.join('\n');
134
+ }
135
+ /**
136
+ * Check if all results passed
137
+ */
138
+ export function allChecksPassed(results) {
139
+ return results.every(r => r.passed);
140
+ }
141
+ //# sourceMappingURL=checks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/commands/porch2/checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Porch2 - Minimal Protocol Orchestrator
3
+ *
4
+ * Claude calls porch as a tool; porch returns prescriptive instructions.
5
+ * All commands produce clear, actionable output.
6
+ */
7
+ /**
8
+ * porch2 status <id>
9
+ * Shows current state and prescriptive next steps.
10
+ */
11
+ export declare function status(projectRoot: string, projectId: string): Promise<void>;
12
+ /**
13
+ * porch2 check <id>
14
+ * Runs the phase checks and reports results.
15
+ */
16
+ export declare function check(projectRoot: string, projectId: string): Promise<void>;
17
+ /**
18
+ * porch2 done <id>
19
+ * Advances to next phase if checks pass. Refuses if checks fail.
20
+ */
21
+ export declare function done(projectRoot: string, projectId: string): Promise<void>;
22
+ /**
23
+ * porch2 gate <id>
24
+ * Requests human approval for current gate.
25
+ */
26
+ export declare function gate(projectRoot: string, projectId: string): Promise<void>;
27
+ /**
28
+ * porch2 approve <id> <gate> --a-human-explicitly-approved-this
29
+ * Human approves a gate. Requires explicit flag to prevent automated approvals.
30
+ */
31
+ export declare function approve(projectRoot: string, projectId: string, gateName: string, hasHumanFlag: boolean): Promise<void>;
32
+ /**
33
+ * porch2 init <protocol> <id> <name>
34
+ * Initialize a new project.
35
+ */
36
+ export declare function init(projectRoot: string, protocolName: string, projectId: string, projectName: string): Promise<void>;
37
+ export declare function cli(args: string[]): Promise<void>;
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/porch2/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH;;;GAGG;AACH,wBAAsB,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFlF;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCjF;AAED;;;GAGG;AACH,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHhF;AAkCD;;;GAGG;AACH,wBAAsB,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDhF;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;GAGG;AACH,wBAAsB,IAAI,CACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAkBf;AA2DD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDvD"}