@promptwheel/core 0.6.0 → 0.7.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.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Advisory file lock for learnings.json.
3
+ *
4
+ * Uses O_CREAT | O_EXCL for atomic creation on POSIX.
5
+ * Zero new dependencies — uses only node:fs and node:path.
6
+ */
7
+ /**
8
+ * Execute `fn` while holding an advisory file lock on `<filePath>.lock`.
9
+ *
10
+ * Acquire: `fs.openSync(lockPath, O_CREAT | O_EXCL | O_WRONLY)` — atomic on POSIX.
11
+ * Retry: Up to 20 attempts with 50ms busy-wait between.
12
+ * Stale detection: If lock file mtime > 10 seconds old, remove and retry.
13
+ * Release: `fs.unlinkSync(lockPath)` in finally block.
14
+ */
15
+ export declare function withLearningsLock<T>(filePath: string, fn: () => T): T;
16
+ //# sourceMappingURL=lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/learnings/lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAoDrE"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Advisory file lock for learnings.json.
3
+ *
4
+ * Uses O_CREAT | O_EXCL for atomic creation on POSIX.
5
+ * Zero new dependencies — uses only node:fs and node:path.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ const LOCK_MAX_ATTEMPTS = 20;
10
+ const LOCK_RETRY_MS = 50;
11
+ const LOCK_STALE_MS = 10_000; // 10 seconds — handles crashed processes
12
+ function sleepSync(ms) {
13
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
14
+ }
15
+ /**
16
+ * Execute `fn` while holding an advisory file lock on `<filePath>.lock`.
17
+ *
18
+ * Acquire: `fs.openSync(lockPath, O_CREAT | O_EXCL | O_WRONLY)` — atomic on POSIX.
19
+ * Retry: Up to 20 attempts with 50ms busy-wait between.
20
+ * Stale detection: If lock file mtime > 10 seconds old, remove and retry.
21
+ * Release: `fs.unlinkSync(lockPath)` in finally block.
22
+ */
23
+ export function withLearningsLock(filePath, fn) {
24
+ const lockPath = filePath + '.lock';
25
+ const dir = path.dirname(lockPath);
26
+ // Ensure directory exists
27
+ if (!fs.existsSync(dir)) {
28
+ fs.mkdirSync(dir, { recursive: true });
29
+ }
30
+ let fd = null;
31
+ for (let attempt = 0; attempt < LOCK_MAX_ATTEMPTS; attempt++) {
32
+ try {
33
+ fd = fs.openSync(lockPath, fs.constants.O_CREAT | fs.constants.O_EXCL | fs.constants.O_WRONLY);
34
+ break; // Lock acquired
35
+ }
36
+ catch (err) {
37
+ if (err.code !== 'EEXIST') {
38
+ throw err; // Unexpected error — propagate
39
+ }
40
+ // Lock file exists — check if stale
41
+ try {
42
+ const stat = fs.statSync(lockPath);
43
+ if (Date.now() - stat.mtimeMs > LOCK_STALE_MS) {
44
+ // Stale lock from crashed process — remove and retry immediately
45
+ try {
46
+ fs.unlinkSync(lockPath);
47
+ }
48
+ catch { /* another process may have removed it */ }
49
+ continue;
50
+ }
51
+ }
52
+ catch {
53
+ // Lock was removed between our open and stat — retry immediately
54
+ continue;
55
+ }
56
+ // Lock held by active process — wait and retry
57
+ if (attempt < LOCK_MAX_ATTEMPTS - 1) {
58
+ sleepSync(LOCK_RETRY_MS);
59
+ }
60
+ }
61
+ }
62
+ if (fd === null) {
63
+ // Could not acquire lock after all attempts — run unprotected rather than failing.
64
+ // This is an advisory lock; data loss from a race is better than crashing the session.
65
+ return fn();
66
+ }
67
+ try {
68
+ fs.closeSync(fd);
69
+ return fn();
70
+ }
71
+ finally {
72
+ try {
73
+ fs.unlinkSync(lockPath);
74
+ }
75
+ catch { /* ignore cleanup failures */ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/learnings/lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,yCAAyC;AAEvE,SAAS,SAAS,CAAC,EAAU;IAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAI,QAAgB,EAAE,EAAW;IAChE,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnC,0BAA0B;IAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,EAAE,GAAkB,IAAI,CAAC;IAE7B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,CAAC,gBAAgB;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,GAAG,CAAC,CAAC,+BAA+B;YAC5C,CAAC;YAED,oCAAoC;YACpC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;oBAC9C,iEAAiE;oBACjE,IAAI,CAAC;wBAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;oBACpF,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,SAAS;YACX,CAAC;YAED,+CAA+C;YAC/C,IAAI,OAAO,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACpC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,mFAAmF;QACnF,uFAAuF;QACvF,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
@@ -34,7 +34,7 @@ export interface Learning {
34
34
  text: string;
35
35
  category: 'gotcha' | 'pattern' | 'warning' | 'context' | 'compaction';
36
36
  source: {
37
- type: 'qa_failure' | 'ticket_failure' | 'ticket_success' | 'review_downgrade' | 'plan_rejection' | 'scope_violation' | 'reviewer_feedback' | 'cross_sector_pattern' | 'process_insight' | 'manual';
37
+ type: 'qa_failure' | 'ticket_failure' | 'ticket_success' | 'review_downgrade' | 'plan_rejection' | 'scope_violation' | 'reviewer_feedback' | 'cross_sector_pattern' | 'process_insight' | 'baseline_healed' | 'drill_completed' | 'drill_stalled' | 'manual';
38
38
  detail?: string;
39
39
  };
40
40
  tags: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/learnings/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/learnings/shared.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,13 @@ export function consolidateLearnings(learnings) {
90
90
  entries[i].text = entries[j].text;
91
91
  }
92
92
  entries[i].access_count += entries[j].access_count;
93
+ // Merge effectiveness tracking counters
94
+ if (entries[i].applied_count !== undefined || entries[j].applied_count !== undefined) {
95
+ entries[i].applied_count = (entries[i].applied_count ?? 0) + (entries[j].applied_count ?? 0);
96
+ }
97
+ if (entries[i].success_count !== undefined || entries[j].success_count !== undefined) {
98
+ entries[i].success_count = (entries[i].success_count ?? 0) + (entries[j].success_count ?? 0);
99
+ }
93
100
  // Merge tags
94
101
  const tagSet = new Set([...entries[i].tags, ...entries[j].tags]);
95
102
  entries[i].tags = [...tagSet];
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/learnings/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/learnings/shared.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export interface TrajectoryStep {
16
16
  acceptance_criteria: string[];
17
17
  verification_commands: string[];
18
18
  depends_on: string[];
19
+ max_retries?: number;
20
+ priority?: number;
19
21
  measure?: {
20
22
  cmd: string;
21
23
  target: number;
@@ -39,6 +41,12 @@ export interface StepState {
39
41
  value: number | null;
40
42
  timestamp: number;
41
43
  };
44
+ /** Last verification command output — helps LLM understand what failed */
45
+ lastVerificationOutput?: string;
46
+ /** Count of consecutive verification failures — resets on any pass */
47
+ consecutiveFailures?: number;
48
+ /** Total verification failures (never resets) — detects flaky tests */
49
+ totalFailures?: number;
42
50
  }
43
51
  export interface TrajectoryState {
44
52
  trajectoryName: string;
@@ -47,14 +55,30 @@ export interface TrajectoryState {
47
55
  currentStepId: string | null;
48
56
  paused: boolean;
49
57
  }
50
- /** Can this step start? All dependencies must be completed. */
58
+ /** Can this step start? All dependencies must be resolved (completed, skipped, or failed). */
51
59
  export declare function stepReady(step: TrajectoryStep, states: Record<string, StepState>): boolean;
52
- /** Pick next step: first ready step in declaration order that is pending or active. */
60
+ /**
61
+ * Pick next step: highest-priority ready step among pending/active steps.
62
+ * When priorities are equal, falls back to declaration order.
63
+ */
53
64
  export declare function getNextStep(trajectory: Trajectory, states: Record<string, StepState>): TrajectoryStep | null;
54
- /** All steps completed or skipped? */
65
+ /**
66
+ * Get all steps that are ready to execute (dependencies resolved, not in terminal state).
67
+ * Returns steps sorted by priority (highest first). Enables parallel execution of
68
+ * independent steps within the same trajectory.
69
+ */
70
+ export declare function getReadySteps(trajectory: Trajectory, states: Record<string, StepState>): TrajectoryStep[];
71
+ /** All steps in a terminal state (completed, skipped, or failed)? */
55
72
  export declare function trajectoryComplete(trajectory: Trajectory, states: Record<string, StepState>): boolean;
56
- /** Stuck: current step has failed 3+ cycles with no progress. Returns stuck step ID or null. */
57
- export declare function trajectoryStuck(states: Record<string, StepState>, maxRetries?: number): string | null;
73
+ /** All non-failed steps completed or skipped? (i.e., every step that could succeed has.) */
74
+ export declare function trajectoryFullySucceeded(trajectory: Trajectory, states: Record<string, StepState>): boolean;
75
+ /**
76
+ * Check if any active step has exceeded its retry limit or is flaky.
77
+ * Uses per-step max_retries when steps are provided, otherwise falls back to the global default.
78
+ * Flaky detection: if totalFailures > 2 * max_retries, the step alternates pass/fail and should be failed.
79
+ * Returns stuck step ID or null.
80
+ */
81
+ export declare function trajectoryStuck(states: Record<string, StepState>, maxRetries?: number, steps?: TrajectoryStep[]): string | null;
58
82
  /** Format trajectory context for scout prompt injection. */
59
83
  export declare function formatTrajectoryForPrompt(trajectory: Trajectory, states: Record<string, StepState>, currentStep: TrajectoryStep): string;
60
84
  /**
@@ -62,6 +86,8 @@ export declare function formatTrajectoryForPrompt(trajectory: Trajectory, states
62
86
  * Handles the nested steps array with all fields.
63
87
  */
64
88
  export declare function parseTrajectoryYaml(content: string): Trajectory;
89
+ /** Detect cycles in step dependency graph. Returns cycle node IDs or null. */
90
+ export declare function detectCycle(steps: TrajectoryStep[]): string[] | null;
65
91
  /** Create initial step states for a trajectory. */
66
92
  export declare function createInitialStepStates(trajectory: Trajectory): Record<string, StepState>;
67
93
  /** Serialize a Trajectory to YAML that parseTrajectoryYaml can round-trip. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAQD,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAM1F;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI,CAQ5G;AAED,sCAAsC;AACtC,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAOrG;AAED,gGAAgG;AAChG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,GAAE,MAA4B,GAAG,MAAM,GAAG,IAAI,CAO1H;AAED,4DAA4D;AAC5D,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,WAAW,EAAE,cAAc,GAC1B,MAAM,CAkER;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CA8J/D;AAYD,mDAAmD;AACnD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAWzF;AAMD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAmCxE"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"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"}
@@ -11,30 +11,71 @@
11
11
  // Pure algorithms
12
12
  // ---------------------------------------------------------------------------
13
13
  const DEFAULT_MAX_RETRIES = 3;
14
- /** Can this step start? All dependencies must be completed. */
14
+ /** Can this step start? All dependencies must be resolved (completed, skipped, or failed). */
15
15
  export function stepReady(step, states) {
16
16
  for (const depId of step.depends_on) {
17
17
  const dep = states[depId];
18
- if (!dep || dep.status !== 'completed')
18
+ if (!dep || (dep.status !== 'completed' && dep.status !== 'skipped' && dep.status !== 'failed'))
19
19
  return false;
20
20
  }
21
21
  return true;
22
22
  }
23
- /** Pick next step: first ready step in declaration order that is pending or active. */
23
+ /**
24
+ * Pick next step: highest-priority ready step among pending/active steps.
25
+ * When priorities are equal, falls back to declaration order.
26
+ */
24
27
  export function getNextStep(trajectory, states) {
28
+ let best = null;
29
+ let bestPriority = -1;
25
30
  for (const step of trajectory.steps) {
26
31
  const state = states[step.id];
27
32
  if (!state)
28
33
  continue;
29
34
  if (state.status === 'completed' || state.status === 'skipped' || state.status === 'failed')
30
35
  continue;
31
- if (stepReady(step, states))
32
- return step;
36
+ if (!stepReady(step, states))
37
+ continue;
38
+ const prio = step.priority ?? 5;
39
+ if (prio > bestPriority) {
40
+ best = step;
41
+ bestPriority = prio;
42
+ }
33
43
  }
34
- return null;
44
+ return best;
45
+ }
46
+ /**
47
+ * Get all steps that are ready to execute (dependencies resolved, not in terminal state).
48
+ * Returns steps sorted by priority (highest first). Enables parallel execution of
49
+ * independent steps within the same trajectory.
50
+ */
51
+ export function getReadySteps(trajectory, states) {
52
+ const ready = [];
53
+ for (const step of trajectory.steps) {
54
+ const state = states[step.id];
55
+ if (!state)
56
+ continue;
57
+ if (state.status === 'completed' || state.status === 'skipped' || state.status === 'failed')
58
+ continue;
59
+ if (!stepReady(step, states))
60
+ continue;
61
+ ready.push(step);
62
+ }
63
+ // Sort by priority descending (highest first)
64
+ return ready.sort((a, b) => (b.priority ?? 5) - (a.priority ?? 5));
35
65
  }
36
- /** All steps completed or skipped? */
66
+ /** All steps in a terminal state (completed, skipped, or failed)? */
37
67
  export function trajectoryComplete(trajectory, states) {
68
+ for (const step of trajectory.steps) {
69
+ const state = states[step.id];
70
+ if (!state)
71
+ return false;
72
+ if (state.status !== 'completed' && state.status !== 'skipped' && state.status !== 'failed')
73
+ return false;
74
+ }
75
+ return true;
76
+ }
77
+ /** All non-failed steps completed or skipped? (i.e., every step that could succeed has.) */
78
+ export function trajectoryFullySucceeded(trajectory, states) {
38
79
  for (const step of trajectory.steps) {
39
80
  const state = states[step.id];
40
81
  if (!state)
@@ -44,11 +85,25 @@ export function trajectoryComplete(trajectory, states) {
44
85
  }
45
86
  return true;
46
87
  }
47
- /** Stuck: current step has failed 3+ cycles with no progress. Returns stuck step ID or null. */
48
- export function trajectoryStuck(states, maxRetries = DEFAULT_MAX_RETRIES) {
88
+ /**
89
+ * Check if any active step has exceeded its retry limit or is flaky.
90
+ * Uses per-step max_retries when steps are provided, otherwise falls back to the global default.
91
+ * Flaky detection: if totalFailures > 2 * max_retries, the step alternates pass/fail and should be failed.
92
+ * Returns stuck step ID or null.
93
+ */
94
+ export function trajectoryStuck(states, maxRetries = DEFAULT_MAX_RETRIES, steps) {
95
+ const stepMap = steps ? new Map(steps.map(s => [s.id, s])) : null;
49
96
  for (const [stepId, state] of Object.entries(states)) {
50
- if (state.status === 'active' && state.cyclesAttempted >= maxRetries) {
51
- return stepId;
97
+ if (state.status === 'active') {
98
+ const limit = stepMap?.get(stepId)?.max_retries ?? maxRetries;
99
+ // Standard stuck: consecutive attempts exhausted
100
+ if (state.cyclesAttempted >= limit) {
101
+ return stepId;
102
+ }
103
+ // Flaky detection: total failures way exceeds limit even though consecutive resets
104
+ if (state.totalFailures && state.totalFailures >= limit * 2) {
105
+ return stepId;
106
+ }
52
107
  }
53
108
  }
54
109
  return null;
@@ -94,7 +149,18 @@ export function formatTrajectoryForPrompt(trajectory, states, currentStep) {
94
149
  }
95
150
  const stepState = states[currentStep.id];
96
151
  if (stepState && stepState.cyclesAttempted > 0) {
97
- lines.push(`**Attempts:** ${stepState.cyclesAttempted} cycle(s) so far`);
152
+ const limit = currentStep.max_retries ?? DEFAULT_MAX_RETRIES;
153
+ lines.push(`**Attempts:** ${stepState.cyclesAttempted}/${limit} cycle(s)`);
154
+ if (stepState.lastVerificationOutput) {
155
+ lines.push('');
156
+ lines.push('**Last verification output (fix this):**');
157
+ lines.push('```');
158
+ lines.push(stepState.lastVerificationOutput);
159
+ lines.push('```');
160
+ }
161
+ if (stepState.consecutiveFailures && stepState.consecutiveFailures >= 2) {
162
+ lines.push(`**Warning:** This step has failed ${stepState.consecutiveFailures} consecutive times. Try a different approach.`);
163
+ }
98
164
  }
99
165
  lines.push('');
100
166
  // Remaining steps
@@ -150,18 +216,26 @@ export function parseTrajectoryYaml(content) {
150
216
  function flushStep() {
151
217
  flushList();
152
218
  flushMeasure();
153
- if (currentStep && currentStep.id) {
154
- steps.push({
155
- id: currentStep.id,
156
- title: currentStep.title ?? '',
157
- description: currentStep.description ?? '',
158
- scope: currentStep.scope,
159
- categories: currentStep.categories,
160
- acceptance_criteria: currentStep.acceptance_criteria ?? [],
161
- verification_commands: currentStep.verification_commands ?? [],
162
- depends_on: currentStep.depends_on ?? [],
163
- measure: currentStep.measure,
164
- });
219
+ if (currentStep) {
220
+ if (currentStep.id) {
221
+ steps.push({
222
+ id: currentStep.id,
223
+ title: currentStep.title ?? '',
224
+ description: currentStep.description ?? '',
225
+ scope: currentStep.scope,
226
+ categories: currentStep.categories,
227
+ acceptance_criteria: currentStep.acceptance_criteria ?? [],
228
+ verification_commands: currentStep.verification_commands ?? [],
229
+ depends_on: currentStep.depends_on ?? [],
230
+ max_retries: currentStep.max_retries,
231
+ priority: currentStep.priority,
232
+ measure: currentStep.measure,
233
+ });
234
+ }
235
+ else if (currentStep.title) {
236
+ // Step has content but no ID — warn instead of silently dropping
237
+ console.warn(`Warning: trajectory step "${currentStep.title}" dropped — missing id`);
238
+ }
165
239
  }
166
240
  currentStep = null;
167
241
  }
@@ -182,9 +256,9 @@ export function parseTrajectoryYaml(content) {
182
256
  if (match) {
183
257
  const [, key, value] = match;
184
258
  if (key === 'name')
185
- name = value.trim();
259
+ name = stripQuotes(value);
186
260
  else if (key === 'description')
187
- description = value.trim();
261
+ description = stripQuotes(value);
188
262
  }
189
263
  continue;
190
264
  }
@@ -224,7 +298,7 @@ export function parseTrajectoryYaml(content) {
224
298
  }
225
299
  // List item
226
300
  if (trimmed.startsWith('- ')) {
227
- const item = trimmed.slice(2).trim();
301
+ const item = stripQuotes(trimmed.slice(2));
228
302
  if (currentListKey) {
229
303
  currentList.push(item);
230
304
  continue;
@@ -238,13 +312,13 @@ export function parseTrajectoryYaml(content) {
238
312
  const val = rawVal.trim();
239
313
  switch (key) {
240
314
  case 'title':
241
- currentStep.title = val;
315
+ currentStep.title = stripQuotes(val);
242
316
  break;
243
317
  case 'description':
244
- currentStep.description = val;
318
+ currentStep.description = stripQuotes(val);
245
319
  break;
246
320
  case 'scope':
247
- currentStep.scope = val.replace(/^["']|["']$/g, '');
321
+ currentStep.scope = stripQuotes(val);
248
322
  break;
249
323
  case 'categories':
250
324
  currentStep.categories = parseSimpleList(val);
@@ -260,6 +334,18 @@ export function parseTrajectoryYaml(content) {
260
334
  case 'depends_on':
261
335
  currentStep.depends_on = parseSimpleList(val);
262
336
  break;
337
+ case 'max_retries': {
338
+ const n = parseInt(val, 10);
339
+ if (!isNaN(n) && n > 0)
340
+ currentStep.max_retries = n;
341
+ break;
342
+ }
343
+ case 'priority': {
344
+ const p = parseInt(val, 10);
345
+ if (!isNaN(p) && p >= 1 && p <= 10)
346
+ currentStep.priority = p;
347
+ break;
348
+ }
263
349
  case 'measure':
264
350
  inMeasure = true;
265
351
  measureObj = {};
@@ -274,11 +360,55 @@ export function parseTrajectoryYaml(content) {
274
360
  flushStep();
275
361
  return { name, description, steps };
276
362
  }
363
+ /** Strip surrounding quotes from a YAML value (double or single). */
364
+ function stripQuotes(value) {
365
+ const trimmed = value.trim();
366
+ if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
367
+ return trimmed.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
368
+ }
369
+ return trimmed;
370
+ }
277
371
  /** Parse "[a, b, c]" or "a, b, c" → string[]. Also handles YAML inline sequences. */
278
372
  function parseSimpleList(value) {
279
373
  const stripped = value.replace(/^\[/, '').replace(/\]$/, '');
280
374
  return stripped.split(',').map(s => s.trim()).filter(s => s.length > 0);
281
375
  }
376
+ /** Detect cycles in step dependency graph. Returns cycle node IDs or null. */
377
+ export function detectCycle(steps) {
378
+ const inDegree = new Map();
379
+ const adj = new Map();
380
+ for (const step of steps) {
381
+ inDegree.set(step.id, 0);
382
+ adj.set(step.id, []);
383
+ }
384
+ for (const step of steps) {
385
+ for (const dep of step.depends_on) {
386
+ if (adj.has(dep)) {
387
+ adj.get(dep).push(step.id);
388
+ inDegree.set(step.id, (inDegree.get(step.id) ?? 0) + 1);
389
+ }
390
+ }
391
+ }
392
+ const queue = [];
393
+ for (const [id, deg] of inDegree) {
394
+ if (deg === 0)
395
+ queue.push(id);
396
+ }
397
+ let sorted = 0;
398
+ while (queue.length > 0) {
399
+ const node = queue.shift();
400
+ sorted++;
401
+ for (const neighbor of adj.get(node) ?? []) {
402
+ const newDeg = (inDegree.get(neighbor) ?? 1) - 1;
403
+ inDegree.set(neighbor, newDeg);
404
+ if (newDeg === 0)
405
+ queue.push(neighbor);
406
+ }
407
+ }
408
+ if (sorted === steps.length)
409
+ return null;
410
+ return steps.filter(s => (inDegree.get(s.id) ?? 0) > 0).map(s => s.id);
411
+ }
282
412
  // ---------------------------------------------------------------------------
283
413
  // State initialization
284
414
  // ---------------------------------------------------------------------------
@@ -298,16 +428,26 @@ export function createInitialStepStates(trajectory) {
298
428
  // ---------------------------------------------------------------------------
299
429
  // YAML serialization (inverse of parseTrajectoryYaml)
300
430
  // ---------------------------------------------------------------------------
431
+ /** Quote a YAML string value if it contains characters that would break the hand-rolled parser. */
432
+ function yamlQuote(value) {
433
+ // Quote if the value contains: colon-space, leading/trailing quotes, #, or starts with special YAML chars
434
+ if (/[:#]/.test(value) || /^['"[\]{}&*!|>%@`]/.test(value) || value.includes('\n')) {
435
+ // Use double quotes, escaping internal double quotes and backslashes
436
+ const escaped = value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
437
+ return `"${escaped}"`;
438
+ }
439
+ return value;
440
+ }
301
441
  /** Serialize a Trajectory to YAML that parseTrajectoryYaml can round-trip. */
302
442
  export function serializeTrajectoryToYaml(trajectory) {
303
443
  const lines = [];
304
- lines.push(`name: ${trajectory.name}`);
305
- lines.push(`description: ${trajectory.description}`);
444
+ lines.push(`name: ${yamlQuote(trajectory.name)}`);
445
+ lines.push(`description: ${yamlQuote(trajectory.description)}`);
306
446
  lines.push('steps:');
307
447
  for (const step of trajectory.steps) {
308
448
  lines.push(` - id: ${step.id}`);
309
- lines.push(` title: ${step.title}`);
310
- lines.push(` description: ${step.description}`);
449
+ lines.push(` title: ${yamlQuote(step.title)}`);
450
+ lines.push(` description: ${yamlQuote(step.description)}`);
311
451
  if (step.scope) {
312
452
  lines.push(` scope: "${step.scope}"`);
313
453
  }
@@ -316,13 +456,19 @@ export function serializeTrajectoryToYaml(trajectory) {
316
456
  }
317
457
  lines.push(' acceptance_criteria:');
318
458
  for (const ac of step.acceptance_criteria) {
319
- lines.push(` - ${ac}`);
459
+ lines.push(` - ${yamlQuote(ac)}`);
320
460
  }
321
461
  lines.push(' verification_commands:');
322
462
  for (const vc of step.verification_commands) {
323
- lines.push(` - ${vc}`);
463
+ lines.push(` - ${yamlQuote(vc)}`);
324
464
  }
325
465
  lines.push(` depends_on: [${step.depends_on.join(', ')}]`);
466
+ if (step.max_retries !== undefined) {
467
+ lines.push(` max_retries: ${step.max_retries}`);
468
+ }
469
+ if (step.priority !== undefined) {
470
+ lines.push(` priority: ${step.priority}`);
471
+ }
326
472
  if (step.measure) {
327
473
  lines.push(' measure:');
328
474
  lines.push(` cmd: "${step.measure.cmd}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/trajectory/shared.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptwheel/core",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Core business logic and database adapter interface for PromptWheel",
5
5
  "author": "PromptWheel",
6
6
  "homepage": "https://promptwheel.com",
@@ -68,6 +68,10 @@
68
68
  "types": "./dist/learnings/shared.d.ts",
69
69
  "import": "./dist/learnings/shared.js"
70
70
  },
71
+ "./learnings/lock": {
72
+ "types": "./dist/learnings/lock.d.ts",
73
+ "import": "./dist/learnings/lock.js"
74
+ },
71
75
  "./formulas/shared": {
72
76
  "types": "./dist/formulas/shared.d.ts",
73
77
  "import": "./dist/formulas/shared.js"