ultracode-for-codex 0.3.2 → 0.3.4

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.
@@ -1,13 +1,13 @@
1
1
  # Provenance Audit
2
2
 
3
- Date: 2026-06-22
3
+ Date: 2026-06-23
4
4
 
5
5
  ## Scope
6
6
 
7
7
  This audit checked:
8
8
 
9
9
  - tracked repository files;
10
- - generated npm package contents for `ultracode-for-codex@0.3.0`;
10
+ - generated npm package contents for `ultracode-for-codex@0.3.4`;
11
11
  - the locally installed companion Codex skill.
12
12
 
13
13
  Generated build output and package tarballs were checked as projections of the
@@ -23,8 +23,8 @@ License transition completed:
23
23
 
24
24
  - Apache-2.0 `LICENSE` file is present;
25
25
  - `package.json` and `package-lock.json` declare `Apache-2.0`;
26
- - release-candidate package version is `0.3.0`;
27
- - npm latest before this release remains `0.2.6`.
26
+ - audited package metadata version is `0.3.4`;
27
+ - npm publish state is verified separately during release preparation.
28
28
 
29
29
  ## Evidence
30
30
 
@@ -1,17 +1,34 @@
1
1
  # Ultracode Resume Cache Contract
2
2
 
3
- This is the current same-session resume/cache contract. It builds on
4
- `docs/ultracode-p3a-journal-design.md`.
3
+ This is the current local resume/cache contract. It builds on
4
+ `docs/ultracode-p3a-journal-design.md` and the durable local workflow state
5
+ under `${ULTRACODE_FOR_CODEX_HOME:-~/.ultracode-for-codex}`.
5
6
 
6
7
  ## Scope
7
8
 
8
- Resume/cache is runtime-internal and same-session. User-facing recovery uses
9
- same-run retry or explicit CLI reruns.
9
+ Resume/cache is local and command-owned. Same-process runtime calls may pass
10
+ `resumeFromRunId` directly, and CLI users may pass `--resume-from-run-id` to
11
+ resume a completed run from preserved script, result, and journal state.
10
12
 
11
13
  ## Rules
12
14
 
13
- - `resumeFromRunId` accepts only workflow `runId` values already known by the
14
- current `WorkflowTaskRegistry`.
15
+ - `resumeFromRunId` accepts workflow `runId` values known by the current
16
+ `WorkflowTaskRegistry` or completed run ids with durable result and journal
17
+ state under the same workflow state directory.
18
+ - CLI `--resume-from-run-id` reuses the original persisted runtime script and
19
+ rejects any additional workflow source selector. Without `--args`, it also
20
+ reuses the original args.
21
+ - Durable result records store the minimal runtime-owned retry input needed for
22
+ resume. Journal paths and contents remain local state and are not printed in
23
+ ordinary CLI output.
24
+ - Durable resume requires a matching terminal `workflow.run.completed` journal
25
+ entry for the selected run id.
26
+ - Durable resume binds the result record's script path and persisted script
27
+ metadata back to the journal's `workflow.run.started` script path and source
28
+ identity.
29
+ - Inherited resume args come from the source journal's `workflow.run.started`
30
+ entry. If the durable result record also stores args, they must match the
31
+ journal args.
15
32
  - Running source runs fail with `workflow_resume_running`.
16
33
  - Completed agent prefixes are reused only when the current `agentCallKey`
17
34
  matches the source journal prefix.
@@ -31,10 +48,12 @@ values such as label and phase stay outside the cache identity.
31
48
 
32
49
  ## Verification
33
50
 
34
- - `test/workflow-runtime.test.mjs` covers exact cache hits and retry/cancel
35
- interactions.
51
+ - `test/workflow-runtime.test.mjs` covers exact cache hits, retry/cancel
52
+ interactions, and cross-registry completed-run resume.
36
53
  - `test/workflow-journal.test.mjs` validates the journal reader used to derive
37
54
  cache entries.
55
+ - `scripts/e2e-installed-ultracode-for-codex.mjs` covers packaged
56
+ `code-review` resume with cached agent completions.
38
57
 
39
58
  Realization:
40
59
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ultracode-for-codex",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Run Codex-native Ultracode orchestration with an optional local CLI runtime.",
5
5
  "keywords": [
6
6
  "codex",
package/settings.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "retryLimit": 0,
7
7
  "timeoutMs": 0,
8
8
  "background": {
9
- "runDir": ".ultracode-for-codex/background/{jobId}",
9
+ "runDir": "{stateRoot}/background/{jobId}",
10
10
  "resultFile": "result.json",
11
11
  "progressFile": "progress.jsonl",
12
12
  "metadataFile": "metadata.json",
@@ -56,6 +56,10 @@ CLI behavior:
56
56
  deletion with `archive` or `export`;
57
57
  - `wait --result`, `cancel --wait`, `logs --event <event>`, and `--plain`
58
58
  provide focused foreground checks;
59
+ - `--resume-from-run-id <runId>` resumes a completed local workflow from
60
+ preserved runtime state, rejects additional workflow source selectors, and
61
+ reuses completed agent results only when the runtime-owned call keys still
62
+ match;
59
63
  - attached execution is available with `--execution attached` when the caller
60
64
  should stay connected until completion;
61
65
  - attached progress prints to stderr as JSONL by default;
@@ -70,6 +74,10 @@ CLI behavior:
70
74
  phase begins;
71
75
  - each `workflow.agent.completed` record includes phase progress, total known
72
76
  agent progress, and elapsed time;
77
+ - built-in `task` uses the generic phase planner; built-in `code-review`
78
+ collects bounded review evidence, selects dynamic lenses, runs parallel finder
79
+ agents, verifies each emitted candidate, optionally runs an `xhigh` sweep, and
80
+ synthesizes final findings by verified candidate index;
73
81
  - after a completed run, `workflow.summary.ready` reports phase-level agent
74
82
  counts and angles, then `workflow.review.recommended` asks the current
75
83
  session LLM to critically re-check the final result before acting on it;
@@ -89,15 +97,20 @@ CLI behavior:
89
97
  - Keep direct provider credentials out of Codex child process environments.
90
98
  - Codex subagents run against the requested workflow cwd and have bounded
91
99
  read-only workspace tools for text file reads and directory listings.
92
- - Built-in `task` and `code-review` inject deterministic workspace context into
93
- planner-selected phase-wise parallel subagents.
100
+ - Built-in `task` injects deterministic workspace context into planner-selected
101
+ phase-wise parallel subagents. Built-in `code-review` uses deterministic
102
+ review evidence, allowed evidence refs, dynamic lenses, candidate verification,
103
+ and bounded final synthesis.
94
104
  - Keep workflow execution local and command-owned; settings default to OS
95
105
  background execution so long runs can keep waiting while Codex does other
96
106
  work.
97
107
  - Keep `journalPath`, `journal.jsonl`, and journal contents out of CLI output.
98
- - Treat `.ultracode-for-codex` workflow state as sensitive local data.
99
- - Keep `resumeFromRunId` runtime-internal unless cross-process resume gets an
100
- explicit durable design.
108
+ - Treat workflow state under `${ULTRACODE_FOR_CODEX_HOME:-~/.ultracode-for-codex}`
109
+ as sensitive local data. Project-local `.ultracode-for-codex/` is legacy
110
+ state and should stay ignored if present.
111
+ - `--resume-from-run-id` reads preserved script, result, and completed journal
112
+ state from the global workflow state root; script path, script source
113
+ identity, and inherited args must match the completed journal.
101
114
  - Use `isolation: "worktree"` only inside a git repo with at least one commit;
102
115
  isolated worktrees are intentionally preserved for review, including clean
103
116
  worktrees.