@arvorco/relentless 0.5.1 → 0.5.2

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ All notable changes to Relentless will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.5.2](https://github.com/ArvorCo/Relentless/releases/tag/v0.5.2) - 2026-01-23
9
+
10
+ ### Fixed
11
+ - **PRD Schema**: ExecutionHistory fields now have sensible defaults for partial execution states
12
+ - `attempts`, `escalations`, `actualCost` now default to 0/[] instead of being required
13
+ - `actualHarness` and `actualModel` are now optional (only set on completion)
14
+ - Fixes ZodError when loading PRDs with interrupted or in-progress executions
15
+
8
16
  ## [0.5.1](https://github.com/ArvorCo/Relentless/releases/tag/v0.5.1) - 2026-01-23
9
17
 
10
18
  ### Changed
@@ -455,7 +463,8 @@ Relentless evolved from the [Ralph Wiggum Pattern](https://ghuntley.com/ralph/)
455
463
  - **License**: MIT
456
464
  - **Inspiration**: [Ralph Wiggum Pattern](https://ghuntley.com/ralph/) by Geoffrey Huntley
457
465
 
458
- [Unreleased]: https://github.com/ArvorCo/Relentless/compare/v0.5.1...HEAD
466
+ [Unreleased]: https://github.com/ArvorCo/Relentless/compare/v0.5.2...HEAD
467
+ [0.5.2]: https://github.com/ArvorCo/Relentless/compare/v0.5.1...v0.5.2
459
468
  [0.5.1]: https://github.com/ArvorCo/Relentless/compare/v0.5.0...v0.5.1
460
469
  [0.5.0]: https://github.com/ArvorCo/Relentless/compare/v0.4.5...v0.5.0
461
470
  [0.4.5]: https://github.com/ArvorCo/Relentless/compare/v0.4.3...v0.4.5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arvorco/relentless",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "Universal AI agent orchestrator - works with Claude Code, Amp, OpenCode, Codex, Droid, and Gemini",
5
5
  "type": "module",
6
6
  "publishConfig": {
package/src/prd/types.ts CHANGED
@@ -107,15 +107,15 @@ export type EscalationAttempt = z.infer<typeof EscalationAttemptSchema>;
107
107
  */
108
108
  export const ExecutionHistorySchema = z.object({
109
109
  /** Total number of attempts made */
110
- attempts: z.number().int().min(1),
110
+ attempts: z.number().int().min(0).default(0),
111
111
  /** Array of escalation attempts with details */
112
- escalations: z.array(EscalationAttemptSchema),
112
+ escalations: z.array(EscalationAttemptSchema).default([]),
113
113
  /** Total actual cost across all attempts in USD */
114
- actualCost: z.number().nonnegative(),
115
- /** Final harness that successfully completed the story */
116
- actualHarness: HarnessNameSchema,
117
- /** Final model that successfully completed the story */
118
- actualModel: z.string(),
114
+ actualCost: z.number().nonnegative().default(0),
115
+ /** Final harness that successfully completed the story (optional until completion) */
116
+ actualHarness: HarnessNameSchema.optional(),
117
+ /** Final model that successfully completed the story (optional until completion) */
118
+ actualModel: z.string().optional(),
119
119
  /** Total input tokens used across all attempts (optional) */
120
120
  inputTokens: z.number().nonnegative().optional(),
121
121
  /** Total output tokens used across all attempts (optional) */