trace-to-skill 0.1.65 → 0.1.67

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 CHANGED
@@ -55,7 +55,7 @@ Use it when you need to:
55
55
  - **Protect agent context:** run `trace-to-skill guard-github-event "$GITHUB_EVENT_PATH"` before feeding issue, PR, comment, discussion, check-run, or commit text into an agent.
56
56
  - **Prevent unsafe patch overwrites:** run `trace-to-skill guard-patch ./change.patch --root .` before applying generated patches so `*** Add File` cannot silently replace an existing file or symlink target.
57
57
  - **Audit local Codex session history:** run `trace-to-skill session-audit ~/.codex --format json` to summarize rollout JSONL sizes, huge lines, parse errors, state files, and short `session_index.jsonl` evidence without publishing private transcripts.
58
- - **Audit Codex config drift:** run `trace-to-skill config-audit ~/.codex --format json` to summarize legacy profile config, model pins, sandbox/approval posture, Windows elevated sandbox mode, missing permission profiles, plugin cache drift, and MCP approval sprawl.
58
+ - **Audit Codex config drift:** run `trace-to-skill config-audit ~/.codex --format json` to summarize legacy profile config, model pins, Speed/Fast service-tier persistence drift, sandbox/approval posture, Windows elevated sandbox mode, missing permission profiles, plugin cache drift, and MCP approval sprawl.
59
59
  - **Audit bundled plugin drift:** run `trace-to-skill plugin-audit ~/.codex --app /Applications/Codex.app --format json` to check Browser, Chrome, Computer Use, bundled marketplace, plugin cache, manifest, helper app, `CODEX_HOME`, and unsupported feature-flag drift without posting raw logs.
60
60
  - **Bundle Codex diagnostics safely:** run `trace-to-skill diagnostics-bundle ~/.codex --output codex-diagnostics` to create a metadata-only support folder with manifest, README, config, plugin, and session audit reports while excluding raw logs, SQLite state, raw config, and transcripts.
61
61
  - **Package Codex usage evidence:** run `trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md` to turn `/status`, reset tables, usage-limit errors, and token totals into a redaction-aware report.
@@ -72,6 +72,7 @@ Use it when you need to:
72
72
  - **Diagnose stale connector auth/cache:** run `trace-to-skill codex-report ./runs` when Codex app connectors return `401 Reauthentication required`, keep the same `link_*`, report `isAccessible: false`, or survive restart/plugin reinstall/cache clearing.
73
73
  - **Explain missing MCP tools across Codex surfaces:** run `trace-to-skill codex-report ./runs` when MCP servers work in CLI or user-global config but are absent in VS Code, Desktop, WSL, or project-local sessions.
74
74
  - **Report terminal output and scrollback integrity failures:** run `trace-to-skill codex-report ./runs` when Codex terminal output disappears, gets overwritten, truncates numbered lines, snaps scrollback to the bottom, or only survives in logs/transcripts.
75
+ - **Triage subagent lifecycle drift:** run `trace-to-skill codex-report ./runs` when completed or closed subagents stay visible, stale spawn edges remain open, child threads crowd the recent list, `agent thread limit reached` blocks new work, or compaction loses prior subagent IDs.
75
76
  - **Reduce approval friction:** run `trace-to-skill analyze ./runs` when `Approve for this session` is not remembered, repeated prompts push users toward Full Access, or trusted MCP tools like Playwright require dozens of approvals.
76
77
  - **Diagnose sandbox blockers:** run `trace-to-skill analyze ./runs` on Codex traces that fail with sandbox setup refresh, `os error 740`, ACL, ownership, or approval-mode permission errors.
77
78
  - **Debug Codex auth/connectivity:** run `trace-to-skill analyze ./runs` on logs with `token_exchange_failed`, `auth.openai.com/oauth/token`, Cloudflare challenge, proxy/CA, IPv6, or stream disconnect symptoms.
@@ -109,7 +110,7 @@ Open-source maintainers do not need more AI-generated noise. They need agents th
109
110
  - Did an `apply_patch` create operation actually overwrite an existing file or symlink target?
110
111
  - Can a generated patch be guarded before it touches the workspace?
111
112
  - Which local Codex rollout JSONL or `session_index.jsonl` files make `codex resume` or Desktop history sluggish?
112
- - Which `config.toml` setting explains a sandbox, approval, plugin, model, or Preferences save regression?
113
+ - Which `config.toml` or `.codex-global-state.json` setting explains a sandbox, approval, plugin, model, Speed/Fast, or Preferences save regression?
113
114
  - Which bundled plugin/cache/marketplace/helper-app mismatch explains a Browser, Chrome, Computer Use, or MCP runtime failure?
114
115
  - Can I attach one safe diagnostics folder to OpenAI without posting raw `config.toml`, SQLite state, local logs, or transcripts?
115
116
  - Did Codex sandbox setup or workspace permissions block every tool call?
@@ -124,6 +125,8 @@ Open-source maintainers do not need more AI-generated noise. They need agents th
124
125
  - Did a Codex app connector keep stale `link_*` or `isAccessible: false` metadata after `401 Reauthentication required`, restart, plugin reinstall, or cache regeneration?
125
126
  - Did MCP servers work in Codex CLI, `~/.codex/config.toml`, or a new conversation, but disappear from VS Code, Desktop, WSL, project `.codex/config.toml`, or an older session?
126
127
  - Did Codex terminal scrollback, streamed output, or transcript rendering drop, overwrite, truncate, duplicate, or hide evidence lines that still exist in raw logs?
128
+ - Did completed, closed, interrupted, or stale subagents diverge between the Desktop UI, live registry, `thread_spawn_edges`, spawn quota, recent-list/sidebar, and parent-agent discoverability?
129
+ - Did Codex App reset Speed from Fast to Standard after restart even though `service_tier = "fast"` or `default-service-tier = "priority"` was still present?
127
130
  - Did repeated approval prompts make a safer scoped mode unusable or require huge per-tool MCP approval configs?
128
131
  - Can the failure be reported to OpenAI with line-linked evidence, redaction notes, and the exact diagnostics maintainers need?
129
132
  - Can we produce an application-ready OpenAI OSS brief from the repo's actual license, distribution, readiness, and benchmark state?
@@ -204,6 +207,7 @@ Trace analysis detects run-level failures:
204
207
  | Codex remote control | Mobile or remote sessions route through stale listeners, stale enrollment, or incomplete helper bundles |
205
208
  | Codex MCP discovery mismatch | MCP works in CLI or one config scope but disappears in VS Code, Desktop, WSL, project config, or an older session |
206
209
  | Codex terminal output integrity | Terminal scrollback, streamed output, or transcript rendering drops, overwrites, truncates, duplicates, or hides lines that raw logs still contain |
210
+ | Codex subagent lifecycle | Completed, closed, stale, or interrupted subagents diverge across UI, registry, persisted spawn edges, quota, recent list, or parent discoverability |
207
211
  | Codex MCP runtime | MCP tools are configured but approval, namespace routing, unsupported callable names, or stdio transport fail at runtime |
208
212
  | Codex plugin runtime | Browser, Computer Use, Chrome, connectors, or bundled plugins are advertised but fail because helper paths, plugin-list schemas, or cache state drift |
209
213
  | Codex file tree UI | Desktop file tree, floating file panel, or file preview cannot be revealed, refreshes stale entries, or loses workspace navigation |
@@ -251,6 +255,7 @@ trace-to-skill demo deeplink-launch
251
255
  trace-to-skill demo connector-auth-cache
252
256
  trace-to-skill demo mcp-discovery-mismatch
253
257
  trace-to-skill demo terminal-output-integrity
258
+ trace-to-skill demo subagent-lifecycle
254
259
  trace-to-skill demo patch-overwrite
255
260
  trace-to-skill guard-patch ./change.patch --root .
256
261
  trace-to-skill session-audit ~/.codex --format json
@@ -414,7 +419,7 @@ trace-to-skill compare --before ./runs/before --after ./runs/after
414
419
 
415
420
  JSONL traces are normalized by extracting common fields such as `message`, `content`, `text`, `output`, and `error`. Codex-style JSONL traces with `response_item`, `function_call`, `function_call_output`, and `event_msg` payloads are normalized into readable evidence lines.
416
421
 
417
- MCP configs with `mcpServers`, `.mcp.json`, or project-local `.codex/config.toml` are parsed for capability hints such as filesystem, shell, browser, network, database, container, and secret-bearing environment variables. `lint-agents` also checks static startup inputs such as `command`, `cwd`, env placeholders, unresolved `$VARS`, `${CLAUDE_PLUGIN_ROOT}`-style plugin placeholders, local stdio commands without explicit `cwd`, and the common JSON `mcp_servers` / `mcpServers` casing mismatch. Codex config hygiene checks catch deprecated `[features].codex_hooks`, missing `default_permissions` profile definitions, and machine-local `projects.* trusted_level` metadata in synced config files.
422
+ MCP configs with `mcpServers`, `.mcp.json`, or project-local `.codex/config.toml` are parsed for capability hints such as filesystem, shell, browser, network, database, container, and secret-bearing environment variables. `lint-agents` also checks static startup inputs such as `command`, `cwd`, env placeholders, unresolved `$VARS`, `${CLAUDE_PLUGIN_ROOT}`-style plugin placeholders, local stdio commands without explicit `cwd`, and the common JSON `mcp_servers` / `mcpServers` casing mismatch. Codex config hygiene checks catch deprecated `[features].codex_hooks`, missing `default_permissions` profile definitions, machine-local `projects.* trusted_level` metadata in synced config files, and Speed/Fast persistence drift between `config.toml` and `.codex-global-state.json`.
418
423
 
419
424
  Instruction files such as `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.cursor/rules`, and `.github/copilot-instructions.md` are checked for obvious contradictions in validation commands, test requirements, destructive-command approval rules, invalid UTF-8, missing include targets, and nested `AGENTS.md` files that may not be loaded automatically.
420
425
 
@@ -465,7 +470,7 @@ jobs:
465
470
  issues: write
466
471
  steps:
467
472
  - uses: actions/checkout@v5
468
- - uses: grnbtqdbyx-create/trace-to-skill@v0.1.65
473
+ - uses: grnbtqdbyx-create/trace-to-skill@v0.1.67
469
474
  with:
470
475
  mode: all
471
476
  doctor-threshold: "85"
@@ -514,7 +519,7 @@ Composite action usage:
514
519
 
515
520
  ```yaml
516
521
  - id: trace-to-skill
517
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.65
522
+ uses: grnbtqdbyx-create/trace-to-skill@v0.1.67
518
523
  with:
519
524
  mode: all
520
525
  doctor-threshold: "85"
@@ -556,7 +561,7 @@ Action outputs:
556
561
 
557
562
  By default, generated reports are also appended to the GitHub Actions Job Summary. Set `job-summary: "false"` to disable that UI output.
558
563
 
559
- Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.65` executes that release's checked-out source instead of pulling the default branch at runtime.
564
+ Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.67` executes that release's checked-out source instead of pulling the default branch at runtime.
560
565
 
561
566
  ## Codex Skill
562
567
 
@@ -107,6 +107,12 @@ const BENCHMARK_CASES = [
107
107
  fixture: "fixtures/codex-terminal-output-integrity.md",
108
108
  expectedKinds: ["codex_terminal_output_integrity", "weak_evidence"]
109
109
  },
110
+ {
111
+ id: "codex-subagent-lifecycle",
112
+ title: "Codex subagent lifecycle and state reconciliation failure",
113
+ fixture: "fixtures/codex-subagent-lifecycle.md",
114
+ expectedKinds: ["codex_subagent_lifecycle", "weak_evidence"]
115
+ },
110
116
  {
111
117
  id: "quota-mismatch",
112
118
  title: "Codex quota mismatch",
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export type ConfigAuditStatus = "pass" | "warn" | "fail";
2
2
  export type ConfigAuditSeverity = "warning" | "error";
3
3
  export interface ConfigAuditFinding {
4
4
  severity: ConfigAuditSeverity;
5
- kind: "missing_config" | "legacy_profile_config" | "model_pin" | "danger_full_access" | "windows_elevated_sandbox" | "default_permissions_missing" | "deprecated_codex_hooks" | "machine_local_project_state" | "plugin_cache_missing" | "mcp_approval_sprawl";
5
+ kind: "missing_config" | "legacy_profile_config" | "model_pin" | "danger_full_access" | "windows_elevated_sandbox" | "default_permissions_missing" | "deprecated_codex_hooks" | "machine_local_project_state" | "plugin_cache_missing" | "mcp_approval_sprawl" | "global_state_unreadable" | "service_tier_persistence_drift";
6
6
  line?: number;
7
7
  message: string;
8
8
  }
@@ -10,9 +10,11 @@ export interface ConfigAuditResult {
10
10
  generatedAt: string;
11
11
  target: string;
12
12
  configPath: string;
13
+ globalStatePath: string;
13
14
  status: ConfigAuditStatus;
14
15
  summary: {
15
16
  exists: boolean;
17
+ globalStateExists: boolean;
16
18
  sizeBytes: number;
17
19
  topLevelKeys: string[];
18
20
  sections: string[];
@@ -25,6 +27,10 @@ export interface ConfigAuditResult {
25
27
  sandboxMode?: string;
26
28
  windowsSandbox?: string;
27
29
  defaultPermissions?: string;
30
+ serviceTier?: string;
31
+ configDefaultServiceTier?: string;
32
+ globalDefaultServiceTier?: string | null;
33
+ globalHasUserChangedServiceTier?: boolean;
28
34
  };
29
35
  findings: ConfigAuditFinding[];
30
36
  }
@@ -4,20 +4,24 @@ import path from "node:path";
4
4
  export async function auditCodexConfig(target = "~/.codex") {
5
5
  const resolvedTarget = path.resolve(expandHome(target));
6
6
  const configPath = await resolveConfigPath(resolvedTarget);
7
+ const globalStatePath = path.join(path.dirname(configPath), ".codex-global-state.json");
7
8
  try {
8
9
  const content = await fs.readFile(configPath, "utf8");
9
10
  const fileStat = await fs.stat(configPath);
10
11
  const entries = parseTomlEntries(content);
11
- const findings = await collectFindings(configPath, entries);
12
+ const globalState = await readGlobalState(globalStatePath);
13
+ const findings = await collectFindings(configPath, entries, globalState);
12
14
  const sections = entries.filter((entry) => entry.section && !entry.key).map((entry) => entry.section);
13
15
  const topLevelKeys = entries.filter((entry) => !entry.section && entry.key).map((entry) => entry.key);
14
16
  return {
15
17
  generatedAt: new Date().toISOString(),
16
18
  target: resolvedTarget,
17
19
  configPath,
20
+ globalStatePath,
18
21
  status: statusFor(findings),
19
22
  summary: {
20
23
  exists: true,
24
+ globalStateExists: globalState.exists,
21
25
  sizeBytes: fileStat.size,
22
26
  topLevelKeys,
23
27
  sections,
@@ -29,7 +33,11 @@ export async function auditCodexConfig(target = "~/.codex") {
29
33
  approvalPolicy: stringValue(findAssignment(entries, undefined, "approval_policy")?.value),
30
34
  sandboxMode: stringValue(findAssignment(entries, undefined, "sandbox_mode")?.value),
31
35
  windowsSandbox: stringValue(findAssignment(entries, "windows", "sandbox")?.value),
32
- defaultPermissions: stringValue(findAssignment(entries, undefined, "default_permissions")?.value)
36
+ defaultPermissions: stringValue(findAssignment(entries, undefined, "default_permissions")?.value),
37
+ serviceTier: stringValue(findAssignment(entries, undefined, "service_tier")?.value),
38
+ configDefaultServiceTier: stringValue(findAssignment(entries, undefined, "default-service-tier")?.value),
39
+ globalDefaultServiceTier: globalState.defaultServiceTier,
40
+ globalHasUserChangedServiceTier: globalState.hasUserChangedServiceTier
33
41
  },
34
42
  findings
35
43
  };
@@ -47,9 +55,11 @@ export async function auditCodexConfig(target = "~/.codex") {
47
55
  generatedAt: new Date().toISOString(),
48
56
  target: resolvedTarget,
49
57
  configPath,
58
+ globalStatePath,
50
59
  status: statusFor(findings),
51
60
  summary: {
52
61
  exists: false,
62
+ globalStateExists: false,
53
63
  sizeBytes: 0,
54
64
  topLevelKeys: [],
55
65
  sections: [],
@@ -69,7 +79,9 @@ export function renderConfigAuditMarkdown(result) {
69
79
  "",
70
80
  `Target: \`${result.target}\``,
71
81
  `Config: \`${result.configPath}\``,
82
+ `Global state: \`${result.globalStatePath}\``,
72
83
  `Exists: ${result.summary.exists ? "yes" : "no"}`,
84
+ `Global state exists: ${result.summary.globalStateExists ? "yes" : "no"}`,
73
85
  `Size: ${result.summary.sizeBytes} bytes`,
74
86
  `Top-level keys: ${result.summary.topLevelKeys.length > 0 ? result.summary.topLevelKeys.join(", ") : "none"}`,
75
87
  `Sections: ${result.summary.sections.length}`,
@@ -83,6 +95,10 @@ export function renderConfigAuditMarkdown(result) {
83
95
  `- sandbox_mode: ${formatValue(result.values.sandboxMode)}`,
84
96
  `- [windows].sandbox: ${formatValue(result.values.windowsSandbox)}`,
85
97
  `- default_permissions: ${formatValue(result.values.defaultPermissions)}`,
98
+ `- service_tier: ${formatValue(result.values.serviceTier)}`,
99
+ `- config default-service-tier: ${formatValue(result.values.configDefaultServiceTier)}`,
100
+ `- global default-service-tier: ${formatNullableValue(result.values.globalDefaultServiceTier)}`,
101
+ `- global has-user-changed-service-tier: ${formatBooleanValue(result.values.globalHasUserChangedServiceTier)}`,
86
102
  "",
87
103
  "## Findings",
88
104
  ""
@@ -97,7 +113,7 @@ export function renderConfigAuditMarkdown(result) {
97
113
  }
98
114
  lines.push("");
99
115
  }
100
- lines.push("Suggested next step:", "", "- Attach this report to config, sandbox, approval, or plugin-runtime issues instead of pasting raw config with secrets.", "- Back up `~/.codex/config.toml` before manually changing sandbox, permission, model, MCP, or plugin settings.", "");
116
+ lines.push("Suggested next step:", "", "- Attach this report to config, sandbox, approval, or plugin-runtime issues instead of pasting raw config with secrets.", "- Back up `~/.codex/config.toml` and `.codex-global-state.json` before manually changing sandbox, permission, model, MCP, plugin, or Speed settings.", "");
101
117
  return lines.join("\n");
102
118
  }
103
119
  async function resolveConfigPath(target) {
@@ -114,15 +130,24 @@ async function resolveConfigPath(target) {
114
130
  }
115
131
  return target;
116
132
  }
117
- async function collectFindings(configPath, entries) {
133
+ async function collectFindings(configPath, entries, globalState) {
118
134
  const findings = [];
119
135
  const model = findAssignment(entries, undefined, "model");
120
136
  const profile = findAssignment(entries, undefined, "profile");
121
137
  const sandboxMode = findAssignment(entries, undefined, "sandbox_mode");
122
138
  const windowsSandbox = findAssignment(entries, "windows", "sandbox");
123
139
  const defaultPermissions = findAssignment(entries, undefined, "default_permissions");
140
+ const serviceTier = findAssignment(entries, undefined, "service_tier");
141
+ const configDefaultServiceTier = findAssignment(entries, undefined, "default-service-tier");
124
142
  const permissionProfiles = collectPermissionProfiles(entries);
125
143
  const sections = entries.filter((entry) => entry.section && !entry.key).map((entry) => entry.section);
144
+ if (globalState.unreadable) {
145
+ findings.push({
146
+ severity: "warning",
147
+ kind: "global_state_unreadable",
148
+ message: `.codex-global-state.json could not be read: ${globalState.unreadable}`
149
+ });
150
+ }
126
151
  if (profile && typeof profile.value === "string") {
127
152
  findings.push({
128
153
  severity: "warning",
@@ -147,6 +172,19 @@ async function collectFindings(configPath, entries) {
147
172
  message: `model is pinned to "${model.value}"; include this in reports about update, routing, latency, or unavailable-model regressions.`
148
173
  });
149
174
  }
175
+ const requestedSpeedTier = normalizeServiceTier(stringValue(serviceTier?.value) ?? stringValue(configDefaultServiceTier?.value));
176
+ const persistedSpeedTier = normalizeServiceTier(globalState.defaultServiceTier);
177
+ if (globalState.exists &&
178
+ globalState.hasUserChangedServiceTier === true &&
179
+ requestedSpeedTier === "fast" &&
180
+ persistedSpeedTier !== "fast") {
181
+ findings.push({
182
+ severity: "warning",
183
+ kind: "service_tier_persistence_drift",
184
+ line: serviceTier?.line ?? configDefaultServiceTier?.line,
185
+ message: `config requests Fast via ${serviceTier ? "service_tier" : "default-service-tier"}, but .codex-global-state.json has default-service-tier ${formatRawStateValue(globalState.defaultServiceTier)} while has-user-changed-service-tier is true.`
186
+ });
187
+ }
150
188
  if (sandboxMode?.value === "danger-full-access") {
151
189
  findings.push({
152
190
  severity: "warning",
@@ -211,6 +249,29 @@ async function collectFindings(configPath, entries) {
211
249
  findings.push(...(await findMissingPluginCaches(configPath, entries)));
212
250
  return findings;
213
251
  }
252
+ async function readGlobalState(globalStatePath) {
253
+ try {
254
+ const content = await fs.readFile(globalStatePath, "utf8");
255
+ const parsed = JSON.parse(content);
256
+ const atomState = objectValue(parsed["electron-persisted-atom-state"]);
257
+ const defaultServiceTier = firstDefined(nullableStringValue(atomState?.["default-service-tier"]), nullableStringValue(parsed["electron-persisted-atom-state.default-service-tier"]));
258
+ const hasUserChangedServiceTier = firstDefined(booleanValue(atomState?.["has-user-changed-service-tier"]), booleanValue(parsed["electron-persisted-atom-state.has-user-changed-service-tier"]));
259
+ return {
260
+ exists: true,
261
+ defaultServiceTier,
262
+ hasUserChangedServiceTier
263
+ };
264
+ }
265
+ catch (error) {
266
+ if (error.code === "ENOENT") {
267
+ return { exists: false };
268
+ }
269
+ return {
270
+ exists: true,
271
+ unreadable: error.message
272
+ };
273
+ }
274
+ }
214
275
  async function findMissingPluginCaches(configPath, entries) {
215
276
  const codexHome = path.dirname(configPath);
216
277
  const findings = [];
@@ -335,6 +396,40 @@ function unquoteTomlPart(value) {
335
396
  function stringValue(value) {
336
397
  return typeof value === "string" ? value : undefined;
337
398
  }
399
+ function nullableStringValue(value) {
400
+ if (typeof value === "string") {
401
+ return value;
402
+ }
403
+ if (value === null) {
404
+ return null;
405
+ }
406
+ return undefined;
407
+ }
408
+ function booleanValue(value) {
409
+ return typeof value === "boolean" ? value : undefined;
410
+ }
411
+ function objectValue(value) {
412
+ if (value && typeof value === "object" && !Array.isArray(value)) {
413
+ return value;
414
+ }
415
+ return undefined;
416
+ }
417
+ function firstDefined(...values) {
418
+ return values.find((value) => value !== undefined);
419
+ }
420
+ function normalizeServiceTier(value) {
421
+ if (!value) {
422
+ return value === null ? "standard" : undefined;
423
+ }
424
+ const normalized = value.toLowerCase();
425
+ if (normalized === "fast" || normalized === "priority") {
426
+ return "fast";
427
+ }
428
+ if (normalized === "standard" || normalized === "default" || normalized === "normal" || normalized === "flex") {
429
+ return "standard";
430
+ }
431
+ return undefined;
432
+ }
338
433
  function statusFor(findings) {
339
434
  if (findings.some((finding) => finding.severity === "error")) {
340
435
  return "fail";
@@ -344,6 +439,21 @@ function statusFor(findings) {
344
439
  function formatValue(value) {
345
440
  return value ? `\`${value}\`` : "not set";
346
441
  }
442
+ function formatNullableValue(value) {
443
+ if (typeof value === "string") {
444
+ return `\`${value}\``;
445
+ }
446
+ return value === null ? "`null`" : "not set";
447
+ }
448
+ function formatBooleanValue(value) {
449
+ return typeof value === "boolean" ? `\`${value ? "true" : "false"}\`` : "not set";
450
+ }
451
+ function formatRawStateValue(value) {
452
+ if (typeof value === "string") {
453
+ return `"${value}"`;
454
+ }
455
+ return value === null ? "null" : "unset";
456
+ }
347
457
  async function pathExists(candidate) {
348
458
  try {
349
459
  await fs.access(candidate);
@@ -1 +1 @@
1
- {"version":3,"file":"configAudit.js","sourceRoot":"","sources":["../../src/configAudit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configAudit.js","sourceRoot":"","sources":["../../src/configAudit.ts"],"names":[],"mappings":"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"}
package/dist/src/demo.js CHANGED
@@ -63,6 +63,12 @@ const DEMO_SCENARIOS = [
63
63
  fixture: "fixtures/codex-terminal-output-integrity.md",
64
64
  description: "Terminal scrollback, streamed output, or transcript rendering drops, overwrites, truncates, or makes lines inaccessible."
65
65
  },
66
+ {
67
+ id: "subagent-lifecycle",
68
+ title: "Codex subagent lifecycle",
69
+ fixture: "fixtures/codex-subagent-lifecycle.md",
70
+ description: "Completed, closed, stale, or interrupted subagents diverge between UI, live registry, persisted state, quota, and parent discoverability."
71
+ },
66
72
  {
67
73
  id: "token-burn",
68
74
  title: "Codex token burn",
@@ -150,6 +156,7 @@ export function renderDemoMarkdown(result) {
150
156
  "trace-to-skill demo connector-auth-cache",
151
157
  "trace-to-skill demo mcp-discovery-mismatch",
152
158
  "trace-to-skill demo terminal-output-integrity",
159
+ "trace-to-skill demo subagent-lifecycle",
153
160
  "trace-to-skill demo file-tree-ui",
154
161
  "trace-to-skill demo usage-reset-drift",
155
162
  "```",
@@ -178,6 +185,7 @@ export function renderDemoScenarioList(scenarios = listDemoScenarios()) {
178
185
  "trace-to-skill demo connector-auth-cache",
179
186
  "trace-to-skill demo mcp-discovery-mismatch",
180
187
  "trace-to-skill demo terminal-output-integrity",
188
+ "trace-to-skill demo subagent-lifecycle",
181
189
  "trace-to-skill demo --list",
182
190
  "```",
183
191
  ""
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAgBrD,MAAM,cAAc,GAAmB;IACrC;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,mCAAmC;QAC1C,OAAO,EAAE,kCAAkC;QAC3C,WAAW,EAAE,iHAAiH;KAC/H;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,KAAK,EAAE,mCAAmC;QAC1C,OAAO,EAAE,uCAAuC;QAChD,WAAW,EAAE,0HAA0H;KACxI;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,qCAAqC;QAC9C,WAAW,EAAE,mGAAmG;KACjH;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EAAE,yGAAyG;KACvH;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,uDAAuD;QAC9D,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,sHAAsH;KACpI;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,qDAAqD;QAC5D,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,yHAAyH;KACvI;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,KAAK,EAAE,2CAA2C;QAClD,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,gGAAgG;KAC9G;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,8BAA8B;QACrC,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,iHAAiH;KAC/H;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,KAAK,EAAE,iCAAiC;QACxC,OAAO,EAAE,6CAA6C;QACtD,WAAW,EAAE,0HAA0H;KACxI;IACD;QACE,EAAE,EAAE,YAAY;QAChB,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,wGAAwG;KACtH;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,oCAAoC;QAC3C,OAAO,EAAE,yCAAyC;QAClD,WAAW,EAAE,gHAAgH;KAC9H;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,6FAA6F;KAC3G;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,6FAA6F;KAC3G;IACD;QACE,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,wGAAwG;KACtH;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,KAAK,EAAE,kCAAkC;QACzC,OAAO,EAAE,qCAAqC;QAC9C,WAAW,EAAE,2GAA2G;KACzH;CACF,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAAU,GAAG,mBAAmB;IAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,2BAA2B,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO;QACL,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,MAAM,cAAc,GAAG,cAAc;SAClC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;SACxD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAE,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,uBAAuB;QACvB,EAAE;QACF,eAAe,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;QACxC,EAAE;QACF,MAAM,CAAC,QAAQ,CAAC,WAAW;QAC3B,EAAE;QACF,cAAc,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI;QACzC,EAAE;QACF,yGAAyG;QACzG,EAAE;QACF,iCAAiC;QACjC,EAAE;QACF,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC;QACvF,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,GAAG,cAAc;QACjB,EAAE;QACF,SAAS;QACT,4BAA4B;QAC5B,oCAAoC;QACpC,yCAAyC;QACzC,qCAAqC;QACrC,mCAAmC;QACnC,0CAA0C;QAC1C,qCAAqC;QACrC,0CAA0C;QAC1C,4CAA4C;QAC5C,+CAA+C;QAC/C,kCAAkC;QAClC,uCAAuC;QACvC,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAS,GAAG,iBAAiB,EAAE;IACpE,OAAO;QACL,iCAAiC;QACjC,EAAE;QACF,8BAA8B;QAC9B,eAAe;QACf,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAE,QAAQ,QAAQ,CAAC,WAAW,IAAI,CAAC;QAClF,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,SAAS;QACT,qBAAqB;QACrB,oCAAoC;QACpC,yCAAyC;QACzC,qCAAqC;QACrC,wCAAwC;QACxC,mCAAmC;QACnC,0CAA0C;QAC1C,qCAAqC;QACrC,0CAA0C;QAC1C,4CAA4C;QAC5C,+CAA+C;QAC/C,4BAA4B;QAC5B,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../../src/demo.ts"],"names":[],"mappings":"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"}
package/dist/src/rules.js CHANGED
@@ -401,6 +401,29 @@ const RULES = [
401
401
  suggestedRule: "When reporting Codex terminal output or scrollback integrity failures, capture Codex CLI/app/extension version, OS, shell, terminal emulator and version, remote/WSL/SSH/tmux/Zellij state, model, whether streaming was active, exact scroll action, whether the viewport snapped to bottom, first missing or duplicated line id, raw log/transcript/transaction evidence showing the line still exists, terminal capture such as tmux capture-pane or Windows Terminal screenshot/video, reproduction script or numbered-line harness output, control run without Codex-specific escape/history insertion, terminal dimensions and scrollback settings, whether /resume or transcript mode recovers the content, and whether downgrade or another terminal changes behavior.",
402
402
  suggestedSkill: "codex-terminal-output-triage"
403
403
  },
404
+ {
405
+ kind: "codex_subagent_lifecycle",
406
+ severity: "high",
407
+ title: "Codex subagent lifecycle or state reconciliation failure",
408
+ why: "When completed, closed, stale, or interrupted subagents remain visible, keep quota slots, lose parent discoverability, or diverge between UI, live registry, and persisted spawn-edge state, long-running Codex sessions become hard to trust or recover.",
409
+ patterns: [
410
+ /\bsubagents?\b.{0,220}\b(stale|zombie|orphan(?:ed)?|refus(?:e|ing) to close|cannot be closed|can't be closed|accumulat(?:e|es|ing)|remain visible|still listed|visible count|Show \d+ more)\b/i,
411
+ /\b(completed|closed|shutdown|not_found|not found|already[- ]closed|terminal|inactive)\b.{0,220}\bsubagents?\b.{0,220}\b(still visible|remain(?:s)? listed|active list|Subagents panel|side panel|cache|UI|right rail|stale)\b/i,
412
+ /\b(close_agent|close route|readback|live close|agent controls)\b.{0,220}\b(not_found|not found|shutdown|completed|closed|pending_init|no live handle|no live agent|still visible|still listed|stale|UI|cache)\b/i,
413
+ /\b(thread_spawn_edges|spawn edges?|child_thread_id|parent_thread_id)\b.{0,220}\b(open|closed|stale|status|persisted|SQLite|state_5\.sqlite|spawn-edge)\b/i,
414
+ /\b(agent thread limit reached|agents\.max_threads|max_threads|spawn quota|quota slot|active spawn quota|counted against|per-session agent thread limit)\b/i,
415
+ /\b(completed|final|TurnComplete|terminal)\b.{0,220}\b(subagents?|agents?)\b.{0,220}\b(count(?:s|ed|ing)? against|consume|block|release|quota|thread limit|spawn)\b/i,
416
+ /\bsubagent child threads?\b.{0,220}\b(top-level recent conversations|recent conversation|sidebar|archived\s*=\s*0|unarchived|consume.*slots|page limit|recent-list)\b/i,
417
+ /\b(list_agents|\/agents|loaded\/list|thread\/loaded\/list)\b.{0,220}\b(live agents|closed agents|prior spawned|previously spawned|not available|cannot retrieve|no way to list|discoverable)\b/i,
418
+ /\bsubagents?\b.{0,220}\b(context compact(?:ed|ion)?|auto compact(?:ed|ion)?|compaction)\b.{0,220}\b(not aware|forgot|id was not available|cannot list|created a new subagent|forked the main session)\b/i,
419
+ /\bfork_context\b.{0,220}\b(unbiased review|forked our conversation|full conversation history|main session|bad call|do not fork|biased reviewer)\b/i,
420
+ /\b(main agent|parent thread|parent agent|root thread)\b.{0,220}\b(subagents?|child threads?|spawned sessions?)\b.{0,220}\b(no way to list|not aware|resume|discover|stale|closed|open edges?)\b/i,
421
+ /\bsubagents?\b.{0,220}\b(MCP startup interrupted|codex_apps|connection lifecycle|MCP connections?|connection pool|file descriptor|SSE connection|long session|5\+ hours)\b/i,
422
+ /\b(background work|background task|parallel-first|Down panel|task panel)\b.{0,220}\b(subagents?|terminals|nonblocking|lastProgressAt|halt_reason|stop_reason|budget_slice|worker id|receipt)\b/i
423
+ ],
424
+ suggestedRule: "When reporting Codex subagent lifecycle failures, capture Codex app/CLI/extension version, OS, surface, model, subscription/workspace, root thread id, subagent ids/nicknames/roles, spawn/close/list commands or UI actions, close_agent results, list_agents or /agents output, thread_spawn_edges status counts, agent registry or max_threads/quota evidence, recent-list/sidebar behavior, whether child threads are archived or shown as top-level conversations, last-progress/heartbeat or halt reason, MCP server state for subagents, compaction/resume timing, screenshot or redacted UI state, whether restart/reload/new thread clears it, and whether stale agents are UI-only or still block new spawns.",
425
+ suggestedSkill: "codex-subagent-lifecycle-triage"
426
+ },
404
427
  {
405
428
  kind: "codex_mcp_discovery_mismatch",
406
429
  severity: "high",
@@ -567,7 +590,7 @@ const RULES = [
567
590
  /\binsufficient tool messages following tool_calls message\b/i,
568
591
  /\btool_call_id\b.{0,160}\b(missing|unmatched|not followed|protocol|invalid_request_error|tool messages?)\b/i,
569
592
  /\bclose_agent\b.{0,180}\b(hang forever|waits? forever|never returns|thread never terminates|agent thread limit reached|registry slot|already closed)\b/i,
570
- /\b(subagent|child thread|durable spawn edge|thread_spawn_edges)\b.{0,180}\b(closed|interrupted|terminated|registry slot|thread limit|hang forever|timeout)\b/i,
593
+ /\b(subagent|child thread|durable spawn edge|thread_spawn_edges)\b.{0,180}\b(registry slot|thread limit|agent thread limit reached|hang forever|never returns|timeout)\b/i,
571
594
  /\b(failed to revert changes|revert changes failed|undo button stopped working|could not undo|rollback failed)\b/i,
572
595
  /\b(Codex|agent|extension)\b.{0,180}\b(deleted|truncated|overwrote|destroyed|lost)\b.{0,160}\b(uncommitted code|existing file|codebase|file contents)\b/i,
573
596
  /\b(IDE-integrated diff|presenting changes|proposed changes|diff approval|show a diff|apply changes)\b.{0,180}\b(fail|missing|unsafe|rollback|revert|approval)\b/i