ultracode-for-codex 0.3.3 → 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.
- package/README.md +17 -4
- package/ULTRACODE_INSTALL.md +15 -6
- package/dist/cli.js +56 -11
- package/dist/runtime/state-root.d.ts +3 -0
- package/dist/runtime/state-root.js +29 -0
- package/dist/runtime/workflow-runtime.d.ts +3 -0
- package/dist/runtime/workflow-runtime.js +622 -63
- package/docs/provenance-audit.md +3 -3
- package/docs/ultracode-p3b-resume-cache.md +27 -8
- package/package.json +1 -1
- package/settings.json +1 -1
- package/skills/ultracode-for-codex-cli/SKILL.md +10 -3
package/docs/provenance-audit.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Provenance Audit
|
|
2
2
|
|
|
3
|
-
Date: 2026-06-
|
|
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.
|
|
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,7 +23,7 @@ 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
|
-
- audited package metadata version is `0.3.
|
|
26
|
+
- audited package metadata version is `0.3.4`;
|
|
27
27
|
- npm publish state is verified separately during release preparation.
|
|
28
28
|
|
|
29
29
|
## Evidence
|
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
# Ultracode Resume Cache Contract
|
|
2
2
|
|
|
3
|
-
This is the current
|
|
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
|
|
9
|
-
|
|
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
|
|
14
|
-
|
|
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
|
|
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
package/settings.json
CHANGED
|
@@ -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;
|
|
@@ -101,9 +105,12 @@ CLI behavior:
|
|
|
101
105
|
background execution so long runs can keep waiting while Codex does other
|
|
102
106
|
work.
|
|
103
107
|
- Keep `journalPath`, `journal.jsonl`, and journal contents out of CLI output.
|
|
104
|
-
- Treat
|
|
105
|
-
|
|
106
|
-
|
|
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.
|
|
107
114
|
- Use `isolation: "worktree"` only inside a git repo with at least one commit;
|
|
108
115
|
isolated worktrees are intentionally preserved for review, including clean
|
|
109
116
|
worktrees.
|