trace-to-skill 0.1.70 → 0.1.72
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 +19 -5
- package/dist/src/checkpoint.d.ts +38 -0
- package/dist/src/checkpoint.js +214 -0
- package/dist/src/checkpoint.js.map +1 -0
- package/dist/src/cli.js +14 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/sessionAudit.d.ts +30 -1
- package/dist/src/sessionAudit.js +144 -6
- package/dist/src/sessionAudit.js.map +1 -1
- package/docs/ADOPTION_GUIDE.md +1 -0
- package/docs/CODEX_ISSUE_MAP.md +7 -3
- package/docs/DISCOVERY.md +6 -2
- package/docs/OPENAI_OSS_BRIEF.md +2 -2
- package/docs/USE_CASES.md +19 -6
- package/llms.txt +6 -1
- package/package.json +8 -2
- package/schemas/session-audit-result.schema.json +99 -3
- package/schemas/workspace-checkpoint-result.schema.json +110 -0
package/dist/src/sessionAudit.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
import { createReadStream } from "node:fs";
|
|
2
3
|
import { readdir, stat } from "node:fs/promises";
|
|
3
4
|
import os from "node:os";
|
|
@@ -17,10 +18,13 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
|
|
|
17
18
|
for (const file of discovered.jsonlFiles) {
|
|
18
19
|
files.push(await analyzeJsonlFile(file, root));
|
|
19
20
|
}
|
|
20
|
-
const stateFiles = await Promise.all(discovered.stateFiles.map((file) => stateFileInfo(file, root)));
|
|
21
|
-
const findings = buildFindings(files, stateFiles, thresholds);
|
|
22
21
|
const sessionIndex = files.find((file) => path.basename(file.path) === "session_index.jsonl");
|
|
22
|
+
const indexEntries = sessionIndex ? await readSessionIndex(path.join(root, sessionIndex.path)) : new Map();
|
|
23
|
+
const threads = buildThreads(files, indexEntries);
|
|
24
|
+
const stateFiles = await Promise.all(discovered.stateFiles.map((file) => stateFileInfo(file, root)));
|
|
25
|
+
const findings = buildFindings(files, threads, stateFiles, thresholds);
|
|
23
26
|
const rolloutFiles = files.filter((file) => path.basename(file.path).startsWith("rollout-")).length;
|
|
27
|
+
const projectKeys = new Set(threads.map((thread) => thread.cwdHash).filter(Boolean));
|
|
24
28
|
const summary = {
|
|
25
29
|
jsonlFiles: files.length,
|
|
26
30
|
totalBytes: files.reduce((sum, file) => sum + file.sizeBytes, 0),
|
|
@@ -28,7 +32,11 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
|
|
|
28
32
|
hugeLineFiles: files.filter((file) => file.largestLineBytes >= thresholds.hugeLineBytes).length,
|
|
29
33
|
parseErrorFiles: files.filter((file) => file.jsonParseErrors > 0).length,
|
|
30
34
|
sessionIndexLines: sessionIndex?.lineCount,
|
|
31
|
-
rolloutFiles
|
|
35
|
+
rolloutFiles,
|
|
36
|
+
rolloutThreads: threads.length,
|
|
37
|
+
indexedThreads: threads.filter((thread) => thread.indexed).length,
|
|
38
|
+
unindexedRolloutThreads: threads.filter((thread) => !thread.indexed).length,
|
|
39
|
+
projectRoots: projectKeys.size
|
|
32
40
|
};
|
|
33
41
|
return {
|
|
34
42
|
generatedAt: new Date().toISOString(),
|
|
@@ -37,6 +45,7 @@ export async function auditCodexSessions(target = defaultCodexHome(), options =
|
|
|
37
45
|
thresholds,
|
|
38
46
|
summary,
|
|
39
47
|
files: files.sort((a, b) => b.sizeBytes - a.sizeBytes),
|
|
48
|
+
threads,
|
|
40
49
|
stateFiles,
|
|
41
50
|
findings
|
|
42
51
|
};
|
|
@@ -54,6 +63,9 @@ export function renderSessionAuditMarkdown(result) {
|
|
|
54
63
|
`Large files: ${result.summary.largeFiles}`,
|
|
55
64
|
`Huge-line files: ${result.summary.hugeLineFiles}`,
|
|
56
65
|
`Parse-error files: ${result.summary.parseErrorFiles}`,
|
|
66
|
+
`Rollout threads: ${result.summary.rolloutThreads}`,
|
|
67
|
+
`Indexed threads: ${result.summary.indexedThreads}`,
|
|
68
|
+
`Unindexed rollout threads: ${result.summary.unindexedRolloutThreads}`,
|
|
57
69
|
""
|
|
58
70
|
];
|
|
59
71
|
if (result.findings.length > 0) {
|
|
@@ -64,6 +76,27 @@ export function renderSessionAuditMarkdown(result) {
|
|
|
64
76
|
}
|
|
65
77
|
lines.push("");
|
|
66
78
|
}
|
|
79
|
+
lines.push("## Recoverable Thread Index", "");
|
|
80
|
+
if (result.threads.length === 0) {
|
|
81
|
+
lines.push("No rollout session metadata found.", "");
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
lines.push("| Indexed | Thread id | Project | Created | Index title | Resume |");
|
|
85
|
+
lines.push("| --- | --- | --- | --- | --- | --- |");
|
|
86
|
+
for (const thread of result.threads.slice(0, 25)) {
|
|
87
|
+
const project = [thread.cwdBasename, thread.cwdHash].filter(Boolean).join(" ");
|
|
88
|
+
lines.push([
|
|
89
|
+
String(thread.indexed),
|
|
90
|
+
`\`${thread.id}\``,
|
|
91
|
+
project || "",
|
|
92
|
+
thread.createdAt ?? "",
|
|
93
|
+
thread.indexTitle ?? "",
|
|
94
|
+
`\`${thread.recoverCommand}\``
|
|
95
|
+
].map(escapeCell).join(" | ").replace(/^/, "| ").replace(/$/, " |"));
|
|
96
|
+
}
|
|
97
|
+
lines.push("");
|
|
98
|
+
lines.push("This table intentionally avoids printing full workspace paths. `cwdHash` is a short hash of the original path so related threads can be grouped without exposing local directories.", "");
|
|
99
|
+
}
|
|
67
100
|
lines.push("## Largest JSONL Files", "");
|
|
68
101
|
const largest = result.files.slice(0, 10);
|
|
69
102
|
if (largest.length === 0) {
|
|
@@ -95,7 +128,7 @@ export function renderSessionAuditMarkdown(result) {
|
|
|
95
128
|
}
|
|
96
129
|
lines.push("");
|
|
97
130
|
}
|
|
98
|
-
lines.push("Suggested next step:", "", "- If this report shows large rollout files or parse errors, attach this JSON/Markdown summary to the Codex issue instead of publishing private transcripts.", "- If `codex resume <id>` works but the picker freezes, include the largest file sizes and line counts from this report.", "");
|
|
131
|
+
lines.push("Suggested next step:", "", "- If this report shows large rollout files or parse errors, attach this JSON/Markdown summary to the Codex issue instead of publishing private transcripts.", "- If `codex resume <id>` works but the picker freezes, include the largest file sizes and line counts from this report.", "- If project history/search is empty but this report lists unindexed rollout threads, try `codex resume <thread_id>` locally and include the unindexed count plus affected hashed project group in the issue.", "");
|
|
99
132
|
return lines.join("\n");
|
|
100
133
|
}
|
|
101
134
|
async function discoverCodexFiles(root) {
|
|
@@ -133,6 +166,7 @@ async function analyzeJsonlFile(filePath, root) {
|
|
|
133
166
|
let lineCount = 0;
|
|
134
167
|
let largestLineBytes = 0;
|
|
135
168
|
let jsonParseErrors = 0;
|
|
169
|
+
let session;
|
|
136
170
|
const input = createReadStream(filePath, { encoding: "utf8" });
|
|
137
171
|
const reader = readline.createInterface({ input, crlfDelay: Infinity });
|
|
138
172
|
for await (const line of reader) {
|
|
@@ -145,6 +179,7 @@ async function analyzeJsonlFile(filePath, root) {
|
|
|
145
179
|
try {
|
|
146
180
|
const parsed = JSON.parse(line);
|
|
147
181
|
countParsedRecord(parsed, recordTypes, signalCounts);
|
|
182
|
+
session ??= extractSessionMetadata(parsed);
|
|
148
183
|
}
|
|
149
184
|
catch {
|
|
150
185
|
jsonParseErrors += 1;
|
|
@@ -157,7 +192,8 @@ async function analyzeJsonlFile(filePath, root) {
|
|
|
157
192
|
largestLineBytes,
|
|
158
193
|
jsonParseErrors,
|
|
159
194
|
recordTypes,
|
|
160
|
-
signalCounts
|
|
195
|
+
signalCounts,
|
|
196
|
+
session
|
|
161
197
|
};
|
|
162
198
|
}
|
|
163
199
|
async function stateFileInfo(filePath, root) {
|
|
@@ -168,7 +204,7 @@ async function stateFileInfo(filePath, root) {
|
|
|
168
204
|
present: true
|
|
169
205
|
};
|
|
170
206
|
}
|
|
171
|
-
function buildFindings(files, stateFiles, thresholds) {
|
|
207
|
+
function buildFindings(files, threads, stateFiles, thresholds) {
|
|
172
208
|
const findings = [];
|
|
173
209
|
const rolloutFiles = files.filter((file) => path.basename(file.path).startsWith("rollout-"));
|
|
174
210
|
const sessionIndex = files.find((file) => path.basename(file.path) === "session_index.jsonl");
|
|
@@ -206,6 +242,16 @@ function buildFindings(files, stateFiles, thresholds) {
|
|
|
206
242
|
message: `session_index.jsonl has ${sessionIndex.lineCount} lines for ${rolloutFiles.length} rollout file(s); this can indicate an incomplete sidebar index.`
|
|
207
243
|
});
|
|
208
244
|
}
|
|
245
|
+
if (sessionIndex) {
|
|
246
|
+
for (const thread of threads.filter((item) => !item.indexed).slice(0, 10)) {
|
|
247
|
+
findings.push({
|
|
248
|
+
severity: "warning",
|
|
249
|
+
kind: "unindexed_rollout_thread",
|
|
250
|
+
path: thread.path,
|
|
251
|
+
message: `Rollout thread ${thread.id} has session metadata but no matching session_index.jsonl row; project/search UI may hide it while direct resume can still work.`
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
209
255
|
for (const stateFile of stateFiles.filter((file) => file.path.endsWith(".sqlite"))) {
|
|
210
256
|
findings.push({
|
|
211
257
|
severity: "warning",
|
|
@@ -216,6 +262,79 @@ function buildFindings(files, stateFiles, thresholds) {
|
|
|
216
262
|
}
|
|
217
263
|
return findings;
|
|
218
264
|
}
|
|
265
|
+
async function readSessionIndex(filePath) {
|
|
266
|
+
const entries = new Map();
|
|
267
|
+
const input = createReadStream(filePath, { encoding: "utf8" });
|
|
268
|
+
const reader = readline.createInterface({ input, crlfDelay: Infinity });
|
|
269
|
+
for await (const line of reader) {
|
|
270
|
+
if (!line.trim()) {
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
try {
|
|
274
|
+
const parsed = JSON.parse(line);
|
|
275
|
+
const id = typeof parsed.id === "string" ? parsed.id : undefined;
|
|
276
|
+
if (!id) {
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
279
|
+
entries.set(id, {
|
|
280
|
+
id,
|
|
281
|
+
title: firstString(parsed.thread_name, parsed.title, parsed.name),
|
|
282
|
+
updatedAt: firstString(parsed.updated_at, parsed.updatedAt)
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return entries;
|
|
290
|
+
}
|
|
291
|
+
function buildThreads(files, indexEntries) {
|
|
292
|
+
return files
|
|
293
|
+
.filter((file) => path.basename(file.path).startsWith("rollout-") && file.session)
|
|
294
|
+
.map((file) => {
|
|
295
|
+
const session = file.session;
|
|
296
|
+
const indexed = indexEntries.get(session.id);
|
|
297
|
+
return {
|
|
298
|
+
id: session.id,
|
|
299
|
+
path: file.path,
|
|
300
|
+
indexed: indexed !== undefined,
|
|
301
|
+
indexTitle: indexed?.title,
|
|
302
|
+
indexUpdatedAt: indexed?.updatedAt,
|
|
303
|
+
createdAt: session.createdAt,
|
|
304
|
+
cwdBasename: session.cwdBasename,
|
|
305
|
+
cwdHash: session.cwdHash,
|
|
306
|
+
originator: session.originator,
|
|
307
|
+
cliVersion: session.cliVersion,
|
|
308
|
+
sourceKind: session.sourceKind,
|
|
309
|
+
recoverCommand: `codex resume ${session.id}`
|
|
310
|
+
};
|
|
311
|
+
})
|
|
312
|
+
.sort((a, b) => (b.createdAt ?? "").localeCompare(a.createdAt ?? ""));
|
|
313
|
+
}
|
|
314
|
+
function extractSessionMetadata(parsed) {
|
|
315
|
+
if (!parsed || typeof parsed !== "object") {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
const record = parsed;
|
|
319
|
+
if (record.type !== "session_meta") {
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
const payload = record.payload && typeof record.payload === "object" ? record.payload : undefined;
|
|
323
|
+
const id = typeof payload?.id === "string" ? payload.id : undefined;
|
|
324
|
+
if (!id) {
|
|
325
|
+
return undefined;
|
|
326
|
+
}
|
|
327
|
+
const cwd = typeof payload?.cwd === "string" ? payload.cwd : undefined;
|
|
328
|
+
return {
|
|
329
|
+
id,
|
|
330
|
+
createdAt: firstString(payload?.timestamp, record.timestamp),
|
|
331
|
+
cwdBasename: cwd ? path.basename(cwd) : undefined,
|
|
332
|
+
cwdHash: cwd ? createHash("sha256").update(cwd).digest("hex").slice(0, 12) : undefined,
|
|
333
|
+
originator: firstString(payload?.originator),
|
|
334
|
+
cliVersion: firstString(payload?.cli_version),
|
|
335
|
+
sourceKind: sourceKind(payload?.source)
|
|
336
|
+
};
|
|
337
|
+
}
|
|
219
338
|
function countRawSignals(line, signalCounts) {
|
|
220
339
|
for (const [key, pattern] of [
|
|
221
340
|
["input_image", /input_image/g],
|
|
@@ -257,6 +376,25 @@ function formatSignals(signals) {
|
|
|
257
376
|
}
|
|
258
377
|
return entries.map(([key, count]) => `${key}:${count}`).join(", ");
|
|
259
378
|
}
|
|
379
|
+
function firstString(...values) {
|
|
380
|
+
return values.find((value) => typeof value === "string" && value.length > 0);
|
|
381
|
+
}
|
|
382
|
+
function sourceKind(source) {
|
|
383
|
+
if (typeof source === "string") {
|
|
384
|
+
return source;
|
|
385
|
+
}
|
|
386
|
+
if (source && typeof source === "object") {
|
|
387
|
+
const object = source;
|
|
388
|
+
if (object.subagent) {
|
|
389
|
+
return "subagent";
|
|
390
|
+
}
|
|
391
|
+
return "object";
|
|
392
|
+
}
|
|
393
|
+
return undefined;
|
|
394
|
+
}
|
|
395
|
+
function escapeCell(value) {
|
|
396
|
+
return value.replace(/\|/g, "\\|").replace(/\n/g, " ");
|
|
397
|
+
}
|
|
260
398
|
function defaultCodexHome() {
|
|
261
399
|
return path.join(os.homedir(), ".codex");
|
|
262
400
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionAudit.js","sourceRoot":"","sources":["../../src/sessionAudit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionAudit.js","sourceRoot":"","sources":["../../src/sessionAudit.ts"],"names":[],"mappings":"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"}
|
package/docs/ADOPTION_GUIDE.md
CHANGED
|
@@ -95,6 +95,7 @@ For dashboards, bots, or custom CI:
|
|
|
95
95
|
- `schemas/doctor-result.schema.json` describes `trace-to-skill doctor --format json`.
|
|
96
96
|
- `schemas/redact-result.schema.json` describes `trace-to-skill redact --format json`.
|
|
97
97
|
- `schemas/scorecard-result.schema.json` describes `trace-to-skill scorecard --format json`.
|
|
98
|
+
- `schemas/workspace-checkpoint-result.schema.json` describes `trace-to-skill checkpoint --format json`.
|
|
98
99
|
|
|
99
100
|
Use the schemas instead of scraping Markdown reports.
|
|
100
101
|
|
package/docs/CODEX_ISSUE_MAP.md
CHANGED
|
@@ -13,6 +13,7 @@ npx trace-to-skill codex-report redacted-runs --output openai-codex-issue.md
|
|
|
13
13
|
npx trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
|
|
14
14
|
npx trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format json
|
|
15
15
|
npx trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics
|
|
16
|
+
npx trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex
|
|
16
17
|
npx trace-to-skill sensitive-audit . --format json
|
|
17
18
|
npx trace-to-skill lsp-audit . --format json
|
|
18
19
|
```
|
|
@@ -27,6 +28,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
27
28
|
| Windows helper and bundled tool path failures | bundled `rg.exe`, `node_repl.exe`, `codex-command-runner.exe`, Browser, Chrome, or Computer Use helpers resolve through `WindowsApps`, missing `%LOCALAPPDATA%\OpenAI\Codex\bin`, broken LocalCache helper bins, `CodexSandboxUsers` ACL gaps, EFS/copyfile failures | `codex_windows_helper_path` | `trace-to-skill codex-report ./runs` |
|
|
28
29
|
| Resource leaks and runaway processes | high CPU/GPU/RAM, `Code Helper`, `Codex Helper Renderer`, orphaned `shell-snapshot`, `syspolicyd`, log floods, thinking animation GPU loops | `codex_resource_leak` | `trace-to-skill codex-report ./runs` |
|
|
29
30
|
| Tool-call integrity and rollback failures | `apply_patch` overwrites an existing `Add File` target, unmatched `tool_call_id`, `close_agent` hangs, failed revert/undo, unsafe diff application | `codex_tool_call_integrity` | `trace-to-skill codex-report ./runs` or `trace-to-skill guard-patch ./change.patch --root .` |
|
|
31
|
+
| Undo, rewind, and pre-agent checkpoint needs | users want `/undo` or `/rewind`, double-Esc only rewinds chat state, untracked/gitignored files are not protected by commits, and manual recovery needs reviewable pre-agent evidence | workspace checkpoint bundle | `trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex` before agent work |
|
|
30
32
|
| Latency regressions | GPT-5.5 Fast feels like Standard, simple tasks take 10-20+ minutes, pre-first-token or thinking stalls, slow search/read/compaction, hours for small code changes | `codex_latency_regression` | `trace-to-skill codex-report ./runs` |
|
|
31
33
|
| Thinking or stream hangs | accepted turn, completed local tool output, no streamed assistant follow-up, long gap before first `response_item`, `time.busy` milliseconds with `time.idle` hundreds of seconds, Stop/Ctrl+C cannot interrupt, subagent parent stuck | `codex_thinking_hang` | `trace-to-skill codex-report ./runs` or `trace-to-skill demo thinking-hang` |
|
|
32
34
|
| Clipboard, paste, and generated attachment regressions | `Copy as Markdown` missing, Copy menu only exports metadata, long pasted prompts become `Pasted text.txt`, generated attachments cannot preview/edit/revert, `/goal` ignores non-empty fileAttachments | `codex_clipboard_attachment` | `trace-to-skill codex-report ./runs` or `trace-to-skill demo clipboard-attachment` |
|
|
@@ -44,7 +46,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
44
46
|
| LSP auto-detect readiness | Codex users want language-aware navigation, diagnostics, references, rename, or install guidance before edits | language-server metadata | `trace-to-skill lsp-audit . --format json` |
|
|
45
47
|
| Context compaction failures | `Error running remote compact task`, `context_length_exceeded`, compaction loops, `responses/compact` stream disconnects | `context_compaction` | `trace-to-skill analyze ./runs` |
|
|
46
48
|
| Latest-turn drift | Codex answers an older prompt, repeats a previous response, redoes an already fixed task, forgets recent edits after compaction, or leaks raw tool payload text | `codex_latest_turn_drift` | `trace-to-skill codex-report ./runs` |
|
|
47
|
-
| Session resume and state failures | `codex resume` picker freezes, large rollout JSONL, short `session_index.jsonl`, `Could not load archived chats`, `state_5.sqlite`, `thread_goals` | `codex_session_state` | `trace-to-skill codex-report ./runs` or `trace-to-skill session-audit ~/.codex --format json` |
|
|
49
|
+
| Session resume, project history, and state failures | `codex resume` picker freezes, Desktop project/search/sidebar hides existing threads, large rollout JSONL, short or stale `session_index.jsonl`, unindexed rollout thread ids, `Could not load archived chats`, `state_5.sqlite`, `thread_goals` | `codex_session_state` | `trace-to-skill codex-report ./runs` or `trace-to-skill session-audit ~/.codex --format json` |
|
|
48
50
|
| Sandbox and permission blockers | Windows sandbox setup refresh, `os error 740`, ACL/ownership drift, approval-mode mismatch | `sandbox_permission` | `trace-to-skill analyze ./runs` |
|
|
49
51
|
| Auth and connectivity failures | `token_exchange_failed`, `auth.openai.com/oauth/token`, missing CA certificates, proxy/TLS, IPv6, Cloudflare, stream disconnects | `codex_connectivity` | `trace-to-skill codex-report ./runs` |
|
|
50
52
|
| Remote-control routing failures | `Waiting for desktop`, `Directory: Unavailable`, stale listener/enrollment, `127.0.0.1:14567`, empty backend environments | `codex_remote_control` | `trace-to-skill codex-report ./runs` |
|
|
@@ -65,7 +67,8 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
65
67
|
- Include `Get-Command rg -All`, `where.exe rg`, exact WindowsApps/LocalCache helper paths, `%LOCALAPPDATA%\OpenAI\Codex\bin` listing, `icacls`/`CodexSandboxUsers` RX state, file attributes, node_repl/plugin diagnostics, and sandbox mode for Windows helper path failures.
|
|
66
68
|
- Include process names/PIDs, CPU/GPU/RSS samples, log-loop signatures, and whether killing exact PIDs or closing the app clears resource leaks.
|
|
67
69
|
- Include exact tool input/output, `tool_call_id` order, affected path state, rollback evidence, and `guard-patch` output for tool-call integrity failures.
|
|
68
|
-
-
|
|
70
|
+
- For undo/rewind reports, include whether you needed conversation rewind, file restore, or both; whether untracked/gitignored files were involved; and a pre-agent `checkpoint` manifest if you created one.
|
|
71
|
+
- Include `session-audit` output, largest rollout JSONL sizes, largest line sizes, parse-error counts, `session_index.jsonl` line count, unindexed rollout thread count, recoverable `codex resume <id>` commands, hashed project groups, and state-file presence for resume/session-state failures.
|
|
69
72
|
- Include `diagnostics-bundle` output when the issue spans config plus local session/history state, or when you need one metadata-only folder that excludes raw logs, SQLite databases, raw config, and transcripts.
|
|
70
73
|
- Include pre-first-token, thinking, tool, search, read, and compaction timings plus model/speed settings for latency regressions.
|
|
71
74
|
- Include `turn/start`, `task_started`, last successful tool output, first `response_item` timestamp, `responses_http` or websocket evidence, `time.busy` / `time.idle`, MCP/subagent state, stop/interrupt behavior, and minimal-config recovery evidence for Thinking hangs.
|
|
@@ -95,6 +98,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
95
98
|
- Windows helper and bundled tool path failures: https://github.com/openai/codex/issues/13542, https://github.com/openai/codex/issues/25357, https://github.com/openai/codex/issues/25220
|
|
96
99
|
- Resource leaks and runaway processes: https://github.com/openai/codex/issues/16231, https://github.com/openai/codex/issues/11981, https://github.com/openai/codex/issues/16857, https://github.com/openai/codex/issues/25388
|
|
97
100
|
- Tool-call integrity and rollback failures: https://github.com/openai/codex/issues/25399, https://github.com/openai/codex/issues/25380, https://github.com/openai/codex/issues/25426, https://github.com/openai/codex/issues/7291
|
|
101
|
+
- Undo, rewind, and pre-agent checkpoint needs: https://github.com/openai/codex/issues/9203, https://github.com/openai/codex/issues/11626
|
|
98
102
|
- Latency regressions: https://github.com/openai/codex/issues/24422, https://github.com/openai/codex/issues/21527, https://github.com/openai/codex/issues/11984, https://github.com/openai/codex/issues/12161
|
|
99
103
|
- Deeplink, OAuth callback, and external launch regressions: https://github.com/openai/codex/issues/25203, https://github.com/openai/codex/issues/25231, https://github.com/openai/codex/issues/25368, https://github.com/openai/codex/issues/25333
|
|
100
104
|
- App connector auth cache and stale link regressions: https://github.com/openai/codex/issues/24675, https://github.com/openai/codex/issues/25443
|
|
@@ -104,7 +108,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
104
108
|
- Approval persistence and MCP approval friction: https://github.com/openai/codex/issues/4212, https://github.com/openai/codex/issues/13476, https://github.com/openai/codex/issues/2998
|
|
105
109
|
- Config and Preferences drift: https://github.com/openai/codex/issues/25440, https://github.com/openai/codex/issues/25442, https://github.com/openai/codex/issues/20538, https://github.com/openai/codex/issues/24963
|
|
106
110
|
- Latest-turn drift and compaction memory loss: https://github.com/openai/codex/issues/8648, https://github.com/openai/codex/issues/5957, https://github.com/openai/codex/issues/10823, https://github.com/openai/codex/issues/11626
|
|
107
|
-
- Session state and resume failures: https://github.com/openai/codex/issues/25430, https://github.com/openai/codex/issues/25390, https://github.com/openai/codex/issues/25394, https://github.com/openai/codex/issues/25407
|
|
111
|
+
- Session state, project history, and resume failures: https://github.com/openai/codex/issues/25463, https://github.com/openai/codex/issues/25092, https://github.com/openai/codex/issues/23193, https://github.com/openai/codex/issues/21119, https://github.com/openai/codex/issues/25456, https://github.com/openai/codex/issues/25430, https://github.com/openai/codex/issues/25390, https://github.com/openai/codex/issues/25394, https://github.com/openai/codex/issues/25407
|
|
108
112
|
- MCP runtime failures: https://github.com/openai/codex/issues/16685, https://github.com/openai/codex/issues/18977, https://github.com/openai/codex/issues/24297, https://github.com/openai/codex/issues/23839
|
|
109
113
|
- Plugin runtime and bundled capability failures: https://github.com/openai/codex/issues/25391, https://github.com/openai/codex/issues/25418, https://github.com/openai/codex/issues/25406, https://github.com/openai/codex/issues/18258
|
|
110
114
|
- File tree and workspace navigation UI failures: https://github.com/openai/codex/issues/20552
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -33,7 +33,7 @@ This page is written for maintainers, search engines, package indexes, and AI re
|
|
|
33
33
|
- Codex approval flow repeatedly prompts after `Approve for this session`, forgets a safe approval scope, or forces large trusted MCP servers into noisy per-tool approval configs.
|
|
34
34
|
- Codex config drift makes Preferences unable to save, keeps legacy `profile` / `[profiles.*]` config after migration, pins an unavailable model, resets Speed/Fast to Standard despite persisted `service_tier`, points `default_permissions` at a missing profile, enables Windows elevated sandbox mode, or references plugin cache entries that are missing on disk.
|
|
35
35
|
- Codex Desktop file tree, folder icon, floating file panel, or built-in file preview disappears, goes stale, or cannot be revealed by `View > Toggle File Tree`.
|
|
36
|
-
- Codex resume, Desktop history rendering, archived chats, context compression, or local state migrations fail after large JSONL histories, images, tool output, stale SQLite state, short `session_index.jsonl`, or project/thread metadata drift.
|
|
36
|
+
- Codex resume, Desktop project history/search/sidebar rendering, archived chats, context compression, or local state migrations fail after large JSONL histories, images, tool output, stale SQLite state, short or stale `session_index.jsonl`, unindexed rollout threads, or project/thread metadata drift.
|
|
37
37
|
- Codex model or runtime latency regresses so GPT-5.5 Fast feels like Standard, simple tasks take 10-20+ minutes, thinking stalls, or search/read/compaction phases dominate the session.
|
|
38
38
|
- Codex accepts a turn, finishes local tools, or leaves a Responses stream open while the UI/CLI stays on Thinking or Working with no streamed follow-up.
|
|
39
39
|
- Codex copy/export, long pasted prompts, or generated `Pasted text.txt` attachments break instruction, `/goal`, preview/edit, or support-report workflows.
|
|
@@ -43,6 +43,7 @@ This page is written for maintainers, search engines, package indexes, and AI re
|
|
|
43
43
|
- Codex weekly or 5-hour reset anchors move unexpectedly, saved usage is lost, or `/status` and the dashboard disagree about reset timing or enforcement.
|
|
44
44
|
- Codex usage evidence is scattered across `/status`, dashboard notes, reset tables, usage-limit messages, token totals, cached input, and overhead clues, making high-signal reports hard to file.
|
|
45
45
|
- Codex token-burn reports need a receipt that separates backend quota-window percentages, local token totals, and orchestration overhead such as background polling, compaction loops, retry/tool loops, subagent fan-out, or idle drain.
|
|
46
|
+
- Codex users need a local checkpoint before agent edits because conversation rewind does not protect untracked dirty workspace files.
|
|
46
47
|
- Codex `/compact` or auto-compaction fails against the remote `responses/compact` endpoint with stream disconnects, child-process timeout messages, provider timeout workarounds, or long-thread recovery loss.
|
|
47
48
|
- Codex Desktop, app-server, VS Code extension, renderer, GPU, shell snapshot, or helper processes leak local resources or keep burning CPU/GPU/RAM after the useful work should be idle.
|
|
48
49
|
- Codex reports `You've hit your usage limit` even though `/status` or the usage dashboard shows quota left, or quota appears shared across accounts.
|
|
@@ -86,6 +87,7 @@ npx trace-to-skill config-audit ~/.codex --format json
|
|
|
86
87
|
npx trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format json
|
|
87
88
|
npx trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics
|
|
88
89
|
npx trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
|
|
90
|
+
npx trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex
|
|
89
91
|
npx trace-to-skill redact ./runs --output redacted-runs
|
|
90
92
|
npx trace-to-skill analyze ./runs --format json
|
|
91
93
|
npx trace-to-skill codex-report ./runs --output openai-codex-issue.md
|
|
@@ -107,6 +109,7 @@ npx trace-to-skill suggest ./runs --target agents-md
|
|
|
107
109
|
- `trace-to-skill plugin-audit --format json`
|
|
108
110
|
- `trace-to-skill diagnostics-bundle --format json`
|
|
109
111
|
- `trace-to-skill usage-evidence --format json`
|
|
112
|
+
- `trace-to-skill checkpoint --format json`
|
|
110
113
|
- SARIF from `trace-to-skill analyze --format sarif`
|
|
111
114
|
- OpenAI/Codex issue-ready Markdown from `trace-to-skill codex-report`
|
|
112
115
|
- Packaged zero-setup Codex issue-report demo from `trace-to-skill demo`
|
|
@@ -130,10 +133,11 @@ npx trace-to-skill suggest ./runs --target agents-md
|
|
|
130
133
|
- `schemas/plugin-audit-result.schema.json`
|
|
131
134
|
- `schemas/session-audit-result.schema.json`
|
|
132
135
|
- `schemas/usage-evidence-result.schema.json`
|
|
136
|
+
- `schemas/workspace-checkpoint-result.schema.json`
|
|
133
137
|
|
|
134
138
|
## Related Keywords
|
|
135
139
|
|
|
136
|
-
Codex, OpenAI Codex, Codex issue report, OpenAI triage, Codex LSP, Codex language server, lsp-audit, language-server readiness, typescript-language-server, pyright-langserver, gopls, rust-analyzer, sourcekit-lsp, clangd, Codex diagnostics bundle, privacy-preserving support bundle, sensitive path audit, sensitive-audit, agentignore, .agentignore, codexignore, .codexignore, aiexclude, .aiexclude, exclude sensitive files, Codex plugin audit, Computer Use unavailable, Codex Browser plugin unavailable, bundled marketplace mismatch, generated runtime marketplace, plugin manifest missing, CODEX_HOME mismatch, Codex CLI, Codex sandbox, Windows sandbox, Codex config audit, Codex config.toml, Codex global state, .codex-global-state.json, Codex Speed reset, Codex Fast resets to Standard, service_tier fast, default-service-tier priority, has-user-changed-service-tier, Codex Preferences unable to save, configVersionConflict, default_permissions missing profile, Codex Windows helper path, Codex WindowsApps, Codex rg Access Denied, Codex ripgrep, CodexSandboxUsers, LocalCache Local OpenAI Codex bin, node_repl spawn setup refresh, Codex approval friction, Approve for this session, Allow for this session, approval_policy never, MCP approval prompts, default_tools_approval_mode, Playwright MCP approvals, Chrome DevTools MCP approvals, Codex auth, token_exchange_failed, Codex connectivity, stream disconnected, Codex connector auth cache, Codex Apps stale link, codex_apps_tools, codex_app_directory, Reauthentication required, refresh token revoked, isAccessible false, link_ connector, Codex deeplink, Codex OAuth callback, codex://oauth_callback, Unable to find Electron app, Error launching app, type=click&tag, AppUserModelID, DelegateExecute, codex app path, Codex remote compact, responses/compact, /compact timeout, tcp_user_timeout, stream_idle_timeout_ms, Codex remote control, Codex mobile, Waiting for desktop, Directory Unavailable, stale listener, Codex terminal output, Codex scrollback, Codex terminal history, terminal output integrity, missing_count, missing_examples, tmux_scrollback_repro.sh, line_truncation_repro.md, Windows Terminal scrollback, transcript mode, Codex subagent lifecycle, stale subagents, close_agent, thread_spawn_edges, agent thread limit reached, agents.max_threads, list_agents, /agents, subagent child threads, fork_context, unbiased review, subagent recent conversations, Codex MCP runtime, MCP unsupported call, mcp__node_repl__js, MCP namespace serverName, MCP Transport closed, StdioServerTransport, Codex plugin runtime, Computer Use native pipe path unavailable, SKY_CUA_NATIVE_PIPE_DIRECTORY, Plugin loading failed, plugin/list unknown variant vertical, Codex Browser plugin, Codex Computer Use, Codex Chrome plugin, stale plugin cache, codex plugin add, Codex file tree, Toggle File Tree, missing folder icon, floating file panel stale, file preview fails, workspace navigation, Codex latest-turn drift, Codex replies to earlier messages, stale prompt response, ignoring latest message, previous prompt, auto compaction forgets edits, raw tool payload leak, write_stdin session_id, Codex latency regression, GPT-5.5 Fast slow, Codex too slow, thinking stalls, Codex thinking hang, Codex stuck thinking, Codex Working stuck, no streamed follow-up, first response_item delayed, responses_http time.idle, model_client.stream_responses_api, turn/start, task_started, Codex Copy as Markdown missing, Codex Pasted text.txt, Codex long pasted prompt attachment, Codex clipboard export, Codex paste as text, Codex generated attachment preview edit, Codex goal ignores attachment, pasted-text-attachments.json, fileAttachments promptRaw composer.getText, pre-first-token latency, search/read latency, runtime scheduling latency, Codex resume, Codex session audit, Codex history audit, Codex session index, session_index.jsonl, Codex session state, rollout JSONL, logs_2.sqlite, codex-tui.log, sandbox.log, thread_goals, state_5.sqlite, goals_1.sqlite, archived chats, Codex token burn, Codex usage evidence, Codex rate-limit evidence, Codex usage drain, Codex usage reset, Codex weekly reset drift, reset_at changed, deterministic reset, rate limit reset, write_stdin polling, cached input tokens, compaction tax, background process polling, Codex resource leak, Codex performance, high CPU, high GPU, shell-snapshot, Code Helper Renderer, Codex tool-call integrity, apply_patch, apply_patch Add File overwrite, patch guard, guard-patch, Add File symlink, tool_call_id, failed revert changes, patch safety, Codex quota, usage limit, rate limits, sensitive files, Codex privacy, .env, private keys, credential files, AGENTS.md, SKILL.md, Claude Code, Cursor, Copilot coding agent, Gemini CLI, MCP, Model Context Protocol, prompt injection, agent evals, AI code review, open-source maintainers, trace redaction, SARIF, GitHub Actions.
|
|
140
|
+
Codex, OpenAI Codex, Codex issue report, OpenAI triage, Codex LSP, Codex language server, lsp-audit, language-server readiness, typescript-language-server, pyright-langserver, gopls, rust-analyzer, sourcekit-lsp, clangd, Codex diagnostics bundle, privacy-preserving support bundle, workspace checkpoint, pre-agent checkpoint, Codex undo, Codex rewind, untracked file restore, sensitive path audit, sensitive-audit, agentignore, .agentignore, codexignore, .codexignore, aiexclude, .aiexclude, exclude sensitive files, Codex plugin audit, Computer Use unavailable, Codex Browser plugin unavailable, bundled marketplace mismatch, generated runtime marketplace, plugin manifest missing, CODEX_HOME mismatch, Codex CLI, Codex sandbox, Windows sandbox, Codex config audit, Codex config.toml, Codex global state, .codex-global-state.json, Codex Speed reset, Codex Fast resets to Standard, service_tier fast, default-service-tier priority, has-user-changed-service-tier, Codex Preferences unable to save, configVersionConflict, default_permissions missing profile, Codex Windows helper path, Codex WindowsApps, Codex rg Access Denied, Codex ripgrep, CodexSandboxUsers, LocalCache Local OpenAI Codex bin, node_repl spawn setup refresh, Codex approval friction, Approve for this session, Allow for this session, approval_policy never, MCP approval prompts, default_tools_approval_mode, Playwright MCP approvals, Chrome DevTools MCP approvals, Codex auth, token_exchange_failed, Codex connectivity, stream disconnected, Codex connector auth cache, Codex Apps stale link, codex_apps_tools, codex_app_directory, Reauthentication required, refresh token revoked, isAccessible false, link_ connector, Codex deeplink, Codex OAuth callback, codex://oauth_callback, Unable to find Electron app, Error launching app, type=click&tag, AppUserModelID, DelegateExecute, codex app path, Codex remote compact, responses/compact, /compact timeout, tcp_user_timeout, stream_idle_timeout_ms, Codex remote control, Codex mobile, Waiting for desktop, Directory Unavailable, stale listener, Codex terminal output, Codex scrollback, Codex terminal history, terminal output integrity, missing_count, missing_examples, tmux_scrollback_repro.sh, line_truncation_repro.md, Windows Terminal scrollback, transcript mode, Codex subagent lifecycle, stale subagents, close_agent, thread_spawn_edges, agent thread limit reached, agents.max_threads, list_agents, /agents, subagent child threads, fork_context, unbiased review, subagent recent conversations, Codex MCP runtime, MCP unsupported call, mcp__node_repl__js, MCP namespace serverName, MCP Transport closed, StdioServerTransport, Codex plugin runtime, Computer Use native pipe path unavailable, SKY_CUA_NATIVE_PIPE_DIRECTORY, Plugin loading failed, plugin/list unknown variant vertical, Codex Browser plugin, Codex Computer Use, Codex Chrome plugin, stale plugin cache, codex plugin add, Codex file tree, Toggle File Tree, missing folder icon, floating file panel stale, file preview fails, workspace navigation, Codex project history disappeared, Codex project threads hidden, Codex session index repair, unindexed rollout thread, codex resume thread id, Codex latest-turn drift, Codex replies to earlier messages, stale prompt response, ignoring latest message, previous prompt, auto compaction forgets edits, raw tool payload leak, write_stdin session_id, Codex latency regression, GPT-5.5 Fast slow, Codex too slow, thinking stalls, Codex thinking hang, Codex stuck thinking, Codex Working stuck, no streamed follow-up, first response_item delayed, responses_http time.idle, model_client.stream_responses_api, turn/start, task_started, Codex Copy as Markdown missing, Codex Pasted text.txt, Codex long pasted prompt attachment, Codex clipboard export, Codex paste as text, Codex generated attachment preview edit, Codex goal ignores attachment, pasted-text-attachments.json, fileAttachments promptRaw composer.getText, pre-first-token latency, search/read latency, runtime scheduling latency, Codex resume, Codex session audit, Codex history audit, Codex history map, Codex session index, session_index.jsonl, Codex session state, rollout JSONL, logs_2.sqlite, codex-tui.log, sandbox.log, thread_goals, state_5.sqlite, goals_1.sqlite, archived chats, Codex token burn, Codex usage evidence, Codex rate-limit evidence, Codex usage drain, Codex usage reset, Codex weekly reset drift, reset_at changed, deterministic reset, rate limit reset, write_stdin polling, cached input tokens, compaction tax, background process polling, Codex resource leak, Codex performance, high CPU, high GPU, shell-snapshot, Code Helper Renderer, Codex tool-call integrity, apply_patch, apply_patch Add File overwrite, patch guard, guard-patch, Add File symlink, tool_call_id, failed revert changes, patch safety, Codex quota, usage limit, rate limits, sensitive files, Codex privacy, .env, private keys, credential files, AGENTS.md, SKILL.md, Claude Code, Cursor, Copilot coding agent, Gemini CLI, MCP, Model Context Protocol, prompt injection, agent evals, AI code review, open-source maintainers, trace redaction, SARIF, GitHub Actions.
|
|
137
141
|
|
|
138
142
|
## Non-Goals
|
|
139
143
|
|
package/docs/OPENAI_OSS_BRIEF.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
| Field | Value |
|
|
4
4
|
| --- | --- |
|
|
5
5
|
| Repository | https://github.com/grnbtqdbyx-create/trace-to-skill |
|
|
6
|
-
| Package | trace-to-skill@0.1.
|
|
6
|
+
| Package | trace-to-skill@0.1.72 |
|
|
7
7
|
| License | Apache-2.0 |
|
|
8
8
|
| Codex readiness | ready (100/100) |
|
|
9
9
|
| Benchmark | pass, 33 cases |
|
|
@@ -27,7 +27,7 @@ API credits would power optional maintainer workflows on top of the local determ
|
|
|
27
27
|
## Evidence
|
|
28
28
|
|
|
29
29
|
- Public repository: https://github.com/grnbtqdbyx-create/trace-to-skill
|
|
30
|
-
- One-command package: npx trace-to-skill@0.1.
|
|
30
|
+
- One-command package: npx trace-to-skill@0.1.72
|
|
31
31
|
- Open-source license: Apache-2.0
|
|
32
32
|
- Codex readiness doctor: ready, 100/100, 0 failed checks.
|
|
33
33
|
- Public fixture benchmark: pass, 33 cases.
|
package/docs/USE_CASES.md
CHANGED
|
@@ -53,7 +53,7 @@ What it proves:
|
|
|
53
53
|
Recommended CI surface:
|
|
54
54
|
|
|
55
55
|
```yaml
|
|
56
|
-
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.
|
|
56
|
+
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.72
|
|
57
57
|
with:
|
|
58
58
|
mode: all
|
|
59
59
|
doctor-threshold: "85"
|
|
@@ -230,9 +230,9 @@ npx trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format
|
|
|
230
230
|
npx trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics
|
|
231
231
|
```
|
|
232
232
|
|
|
233
|
-
This catches signals such as `codex resume` picker hangs, `codex resume <id>` working while the picker freezes, large `rollout-*.jsonl` histories, high JSONL line and `response_item` / `event_msg` / `function_call` counts, large `input_image` payloads, slow `thread/resume` and `thread/goal/get` timings, `Could not load archived chats`, resume compression dropping the last 3-5 turns, `state_5.sqlite` / `goals_1.sqlite` migration mismatches, `no such table: thread_goals`, stale `projectless-thread-ids`, and `thread-workspace-root-hints` reverting after restart.
|
|
233
|
+
This catches signals such as `codex resume` picker hangs, `codex resume <id>` working while the picker freezes, project pages/search/sidebar hiding threads that still exist on disk, large `rollout-*.jsonl` histories, high JSONL line and `response_item` / `event_msg` / `function_call` counts, large `input_image` payloads, slow `thread/resume` and `thread/goal/get` timings, `Could not load archived chats`, resume compression dropping the last 3-5 turns, `state_5.sqlite` / `goals_1.sqlite` migration mismatches, `no such table: thread_goals`, stale `projectless-thread-ids`, and `thread-workspace-root-hints` reverting after restart.
|
|
234
234
|
|
|
235
|
-
`session-audit` is local and read-only: it reports rollout JSONL size, line count, largest line size, parse errors, session index line count, state-file presence, and common session signals so users can attach a privacy-preserving summary to OpenAI/Codex issues instead of posting transcripts.
|
|
235
|
+
`session-audit` is local and read-only: it reports rollout JSONL size, line count, largest line size, parse errors, session index line count, state-file presence, recoverable thread ids, `codex resume <id>` commands, and common session signals so users can attach a privacy-preserving summary to OpenAI/Codex issues instead of posting transcripts. Full workspace paths are not printed in the thread table; related projects are grouped by basename plus a short path hash.
|
|
236
236
|
|
|
237
237
|
For mixed resume, crash, config, plugin, or history issues, `diagnostics-bundle` writes the session, config, and plugin reports together with a checklist of files not to attach publicly.
|
|
238
238
|
|
|
@@ -394,7 +394,20 @@ This finds sensitive-looking paths such as `.env`, `.env.*`, `.npmrc`, `.pypirc`
|
|
|
394
394
|
|
|
395
395
|
The output includes a stable JSON schema plus recommended exclude globs that can seed `.agentignore`, `.aiexclude`, `.codexignore`, local sandbox permission profiles, or team security review checklists. It is a preflight report, not a sandbox boundary.
|
|
396
396
|
|
|
397
|
-
## 27.
|
|
397
|
+
## 27. Workspace Checkpoint Before Agent Runs
|
|
398
|
+
|
|
399
|
+
Use this before giving Codex, Claude, Cursor, or another coding agent a dirty repository where untracked local work matters.
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
npx trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex
|
|
403
|
+
npx trace-to-skill checkpoint . --format json
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
This writes a local checkpoint bundle with `status.txt`, staged and unstaged binary diffs, a `manifest.json`, restore notes, and copied blobs for changed or untracked files. It is intentionally conservative: it does not auto-restore files and does not run destructive commands. Gitignored files are excluded by default; use `--include-ignored` only when you intentionally need local-only files such as `.env`, and keep that bundle private.
|
|
407
|
+
|
|
408
|
+
This is useful for OpenAI/Codex `/undo` and `/rewind` discussions where users need workspace protection beyond conversation rewind, especially when untracked files are outside normal commit history.
|
|
409
|
+
|
|
410
|
+
## 28. OpenAI Codex Issue Report
|
|
398
411
|
|
|
399
412
|
Use this when you want to file or update an OpenAI/Codex issue with a concise, evidence-backed report instead of pasting a full transcript.
|
|
400
413
|
|
|
@@ -407,7 +420,7 @@ The report includes the likely Codex failure class, line-linked evidence, diagno
|
|
|
407
420
|
|
|
408
421
|
For a cluster-to-command map of current Codex issue patterns, see [CODEX_ISSUE_MAP.md](CODEX_ISSUE_MAP.md).
|
|
409
422
|
|
|
410
|
-
##
|
|
423
|
+
## 29. Sensitive File Access Evidence
|
|
411
424
|
|
|
412
425
|
Use this when a trace suggests an agent read, attached, uploaded, diffed, or indexed credential-bearing files.
|
|
413
426
|
|
|
@@ -420,7 +433,7 @@ This catches signals such as `.env`, `.env.production`, `.npmrc`, `.pypirc`, `.n
|
|
|
420
433
|
|
|
421
434
|
Before publishing evidence, run `trace-to-skill redact` and attach only redacted excerpts plus the file path/class.
|
|
422
435
|
|
|
423
|
-
##
|
|
436
|
+
## 30. GitHub Context Guard
|
|
424
437
|
|
|
425
438
|
Use this before an agent reads untrusted GitHub text.
|
|
426
439
|
|
package/llms.txt
CHANGED
|
@@ -36,6 +36,7 @@ Runtime: Node.js 20+
|
|
|
36
36
|
- Codex usage reset schedule drift such as weekly reset dates moving, `reset_at` jumping, saved usage disappearing, outage compensation resets changing the anchor, and `/status` disagreeing with enforcement
|
|
37
37
|
- Codex usage evidence packaging for scattered `/status`, reset-table, usage-limit, token-total, cached-input, and orchestration-overhead snippets
|
|
38
38
|
- Codex usage receipts that separate backend quota-window percentages, local token totals, and overhead signals such as background polling, compaction loops, retry/tool loops, subagent fan-out, or idle drain
|
|
39
|
+
- Codex undo/rewind support workflows where maintainers need a local pre-agent workspace checkpoint with git diffs plus copied changed/untracked files before agent edits
|
|
39
40
|
- Codex resource leaks and runaway local processes such as high CPU/GPU, `Code Helper`, `Codex Helper Renderer`, orphaned shell snapshots, log floods, thinking animation GPU loops, and non-Git workspace CPU loops
|
|
40
41
|
- Codex quota and usage-limit mismatches where `/status` or the usage page shows remaining quota, accounts share limits unexpectedly, or 5h and weekly quotas move together
|
|
41
42
|
- sensitive-file access in traces, including `.env`, private keys, package auth files, cloud credentials, local databases, and production secret manifests entering agent context
|
|
@@ -89,6 +90,7 @@ npx trace-to-skill config-audit ~/.codex --format json
|
|
|
89
90
|
npx trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format json
|
|
90
91
|
npx trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics
|
|
91
92
|
npx trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
|
|
93
|
+
npx trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex
|
|
92
94
|
npx trace-to-skill redact ./runs --output redacted-runs
|
|
93
95
|
npx trace-to-skill sensitive-audit . --format json
|
|
94
96
|
npx trace-to-skill lsp-audit . --format json
|
|
@@ -104,7 +106,7 @@ npx trace-to-skill init --comment --sarif
|
|
|
104
106
|
## GitHub Action
|
|
105
107
|
|
|
106
108
|
```yaml
|
|
107
|
-
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.
|
|
109
|
+
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.72
|
|
108
110
|
with:
|
|
109
111
|
mode: all
|
|
110
112
|
doctor-threshold: "85"
|
|
@@ -129,6 +131,7 @@ npx trace-to-skill init --comment --sarif
|
|
|
129
131
|
- Plugin audit JSON schema: https://github.com/grnbtqdbyx-create/trace-to-skill/blob/main/schemas/plugin-audit-result.schema.json
|
|
130
132
|
- Session audit JSON schema: https://github.com/grnbtqdbyx-create/trace-to-skill/blob/main/schemas/session-audit-result.schema.json
|
|
131
133
|
- Usage evidence JSON schema: https://github.com/grnbtqdbyx-create/trace-to-skill/blob/main/schemas/usage-evidence-result.schema.json
|
|
134
|
+
- Workspace checkpoint JSON schema: https://github.com/grnbtqdbyx-create/trace-to-skill/blob/main/schemas/workspace-checkpoint-result.schema.json
|
|
132
135
|
|
|
133
136
|
## Search phrases this project should answer
|
|
134
137
|
|
|
@@ -157,6 +160,8 @@ npx trace-to-skill init --comment --sarif
|
|
|
157
160
|
- Codex apply_patch Add File overwrites existing file
|
|
158
161
|
- Codex patch guard for generated patches
|
|
159
162
|
- trace-to-skill guard-patch Add File symlink
|
|
163
|
+
- Codex pre-agent workspace checkpoint
|
|
164
|
+
- Codex undo rewind checkpoint for untracked files
|
|
160
165
|
- Codex config-audit for config.toml diagnostics
|
|
161
166
|
- Codex diagnostics bundle for OpenAI support
|
|
162
167
|
- privacy-preserving Codex support bundle logs_2.sqlite config.toml
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trace-to-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.72",
|
|
4
4
|
"description": "Turn failed AI coding-agent runs into reusable AGENTS.md rules, SKILL.md files, and eval evidence.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"build": "tsc -p tsconfig.json",
|
|
42
42
|
"clean": "rm -rf dist coverage",
|
|
43
43
|
"test": "npm run build && node --test dist/tests/*.test.js",
|
|
44
|
-
"check": "npm run test && node dist/src/cli.js doctor . --format json > /tmp/trace-to-skill-doctor.json && node dist/src/cli.js lint-agents . --format json > /tmp/trace-to-skill-agents-lint.json && node dist/src/cli.js analyze fixtures --format json > /tmp/trace-to-skill-smoke.json && node dist/src/cli.js usage-evidence fixtures --format json > /tmp/trace-to-skill-usage-evidence.json && node dist/src/cli.js sensitive-audit . --format json > /tmp/trace-to-skill-sensitive-audit.json && node dist/src/cli.js lsp-audit . --format json > /tmp/trace-to-skill-lsp-audit.json && node dist/src/cli.js suggest fixtures --target agents-md > /tmp/trace-to-skill-suggest.md && node dist/src/cli.js demo --format json > /tmp/trace-to-skill-demo.json && node dist/src/cli.js benchmark --format json > /tmp/trace-to-skill-benchmark.json && node dist/src/cli.js scorecard . --format json > /tmp/trace-to-skill-scorecard.json && node dist/src/cli.js oss-brief . --format json > /tmp/trace-to-skill-oss-brief.json",
|
|
44
|
+
"check": "npm run test && node dist/src/cli.js doctor . --format json > /tmp/trace-to-skill-doctor.json && node dist/src/cli.js lint-agents . --format json > /tmp/trace-to-skill-agents-lint.json && node dist/src/cli.js analyze fixtures --format json > /tmp/trace-to-skill-smoke.json && node dist/src/cli.js usage-evidence fixtures --format json > /tmp/trace-to-skill-usage-evidence.json && node dist/src/cli.js checkpoint . --output /tmp/trace-to-skill-checkpoint --format json > /tmp/trace-to-skill-checkpoint.json && node dist/src/cli.js sensitive-audit . --format json > /tmp/trace-to-skill-sensitive-audit.json && node dist/src/cli.js lsp-audit . --format json > /tmp/trace-to-skill-lsp-audit.json && node dist/src/cli.js suggest fixtures --target agents-md > /tmp/trace-to-skill-suggest.md && node dist/src/cli.js demo --format json > /tmp/trace-to-skill-demo.json && node dist/src/cli.js benchmark --format json > /tmp/trace-to-skill-benchmark.json && node dist/src/cli.js scorecard . --format json > /tmp/trace-to-skill-scorecard.json && node dist/src/cli.js oss-brief . --format json > /tmp/trace-to-skill-oss-brief.json",
|
|
45
45
|
"prepack": "npm run build",
|
|
46
46
|
"prepare": "npm run build"
|
|
47
47
|
},
|
|
@@ -125,7 +125,9 @@
|
|
|
125
125
|
"codex-resume",
|
|
126
126
|
"codex-session-audit",
|
|
127
127
|
"codex-history",
|
|
128
|
+
"codex-history-map",
|
|
128
129
|
"codex-session-index",
|
|
130
|
+
"codex-project-history",
|
|
129
131
|
"codex-issue-report",
|
|
130
132
|
"openai-triage",
|
|
131
133
|
"openai-oss",
|
|
@@ -148,6 +150,10 @@
|
|
|
148
150
|
"usage-receipt",
|
|
149
151
|
"codex-usage-receipt",
|
|
150
152
|
"token-receipt",
|
|
153
|
+
"codex-rewind",
|
|
154
|
+
"codex-undo",
|
|
155
|
+
"workspace-checkpoint",
|
|
156
|
+
"agent-checkpoint",
|
|
151
157
|
"usage-limit",
|
|
152
158
|
"sensitive-files",
|
|
153
159
|
"codex-privacy",
|