trace-to-skill 0.1.73 → 0.1.74
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 +7 -7
- package/dist/src/index.d.ts +1 -1
- package/dist/src/usageEvidence.d.ts +16 -1
- package/dist/src/usageEvidence.js +148 -4
- package/dist/src/usageEvidence.js.map +1 -1
- package/docs/CODEX_ISSUE_MAP.md +2 -2
- package/docs/DISCOVERY.md +2 -2
- package/docs/OPENAI_OSS_BRIEF.md +2 -2
- package/docs/USE_CASES.md +3 -2
- package/llms.txt +3 -3
- package/package.json +3 -1
- package/schemas/usage-evidence-result.schema.json +59 -4
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ Use it when you need to:
|
|
|
64
64
|
- **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.
|
|
65
65
|
- **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.
|
|
66
66
|
- **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.
|
|
67
|
-
- **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, token totals, cached-input spikes, and orchestration-overhead clues into a redaction-aware usage receipt.
|
|
67
|
+
- **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, token totals, cached-input spikes, rapid drain experiments, and orchestration-overhead clues into a redaction-aware usage receipt.
|
|
68
68
|
- **Package Codex process evidence:** run `trace-to-skill process-audit ./process-notes.md --output process-audit.md` to turn Task Manager, System Informer, `Get-CimInstance`, `ps`, or `top` snippets into a privacy-aware report for PowerShell CIM polling, stale process-manager entries, high CPU helpers, and runaway renderers.
|
|
69
69
|
- **Bookmark a workspace before agent edits:** run `trace-to-skill checkpoint . --output .trace-to-skill/checkpoints/before-codex` to store git diffs plus copied changed/untracked files before Codex, Claude, Cursor, or another agent touches a dirty repo. It does not auto-restore or run destructive commands.
|
|
70
70
|
- **Share failed traces safely:** run `trace-to-skill redact ./runs --output redacted-runs` before publishing anonymized failure fixtures.
|
|
@@ -89,9 +89,9 @@ Use it when you need to:
|
|
|
89
89
|
- **Debug Codex plugin runtime failures:** run `trace-to-skill analyze ./runs` when Browser, Computer Use, Chrome, connectors, or bundled plugins are advertised but fail with missing native pipe paths, plugin-list schema errors, or stale plugin cache state.
|
|
90
90
|
- **Report Codex file tree UI failures:** run `trace-to-skill analyze ./runs` when `View > Toggle File Tree`, the folder icon, floating file panel, or built-in file preview disappears, goes stale, or stops revealing workspace files.
|
|
91
91
|
- **Debug Codex resume/session state:** run `trace-to-skill analyze ./runs` when `codex resume` freezes, large JSONL histories make Desktop sluggish, recent context disappears after resume, or SQLite migration/state errors break goals.
|
|
92
|
-
- **Attribute token burn:** run `trace-to-skill usage-evidence ./usage-notes.md --format json` when Codex drains usage unexpectedly and you need to separate backend quota-window percentages, local token totals, cached input, compaction loops, retry/tool loops, background polling, subagent fan-out, and idle drain.
|
|
92
|
+
- **Attribute token burn:** run `trace-to-skill usage-evidence ./usage-notes.md --format json` when Codex drains usage unexpectedly and you need to separate backend quota-window percentages, local token totals, rapid drain experiments, cached input, compaction loops, retry/tool loops, background polling, subagent fan-out, and idle drain.
|
|
93
93
|
- **Report usage reset drift:** run `trace-to-skill analyze ./runs` when weekly or 5-hour reset times move unexpectedly, saved usage is lost, or `/status` and the dashboard disagree about the reset anchor.
|
|
94
|
-
- **Bundle quota evidence:** run `trace-to-skill usage-evidence ./usage-notes.md` when you have polling tables, `/status` percentages, reset timestamps, cached-token totals, or `You've hit your usage limit` messages.
|
|
94
|
+
- **Bundle quota evidence:** run `trace-to-skill usage-evidence ./usage-notes.md` when you have polling tables, `/status` percentages, reset timestamps, cached-token totals, rapid burn notes like `1% in 4 minutes` or `22 credits`, or `You've hit your usage limit` messages.
|
|
95
95
|
- **Report resource leaks:** run `trace-to-skill analyze ./runs` when Codex Desktop, VS Code extension, app-server, renderer, GPU, or orphaned helper processes keep burning CPU/GPU/memory after the work should be idle.
|
|
96
96
|
- **Catch tool-call integrity failures:** run `trace-to-skill analyze ./runs` when `apply_patch`, `*** Add File` overwrite behavior, rollback/undo, subagent shutdown, or `tool_call_id` protocol failures threaten file safety or strand a session.
|
|
97
97
|
- **File better OpenAI/Codex issues:** run `trace-to-skill codex-report ./runs` to turn a failed trace into a redaction-aware, copy-paste-ready issue body with evidence and diagnostics.
|
|
@@ -343,7 +343,7 @@ trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
|
|
|
343
343
|
trace-to-skill usage-evidence ./usage-notes.md --format json
|
|
344
344
|
```
|
|
345
345
|
|
|
346
|
-
This parses Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `/status` excerpts, `reset_at` timestamps, usage-limit messages, and `Token usage: total=... cached` lines into a concise report for Codex rate-limit, reset-drift, and token-burn issues.
|
|
346
|
+
This parses Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `/status` excerpts, `reset_at` timestamps, usage-limit messages, rapid drain experiment notes such as `1% in 4 minutes` or `22 credits`, and `Token usage: total=... cached` lines into a concise report for Codex rate-limit, reset-drift, and token-burn issues.
|
|
347
347
|
|
|
348
348
|
Generate reusable rules:
|
|
349
349
|
|
|
@@ -500,7 +500,7 @@ jobs:
|
|
|
500
500
|
issues: write
|
|
501
501
|
steps:
|
|
502
502
|
- uses: actions/checkout@v5
|
|
503
|
-
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.
|
|
503
|
+
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.74
|
|
504
504
|
with:
|
|
505
505
|
mode: all
|
|
506
506
|
doctor-threshold: "85"
|
|
@@ -549,7 +549,7 @@ Composite action usage:
|
|
|
549
549
|
|
|
550
550
|
```yaml
|
|
551
551
|
- id: trace-to-skill
|
|
552
|
-
uses: grnbtqdbyx-create/trace-to-skill@v0.1.
|
|
552
|
+
uses: grnbtqdbyx-create/trace-to-skill@v0.1.74
|
|
553
553
|
with:
|
|
554
554
|
mode: all
|
|
555
555
|
doctor-threshold: "85"
|
|
@@ -591,7 +591,7 @@ Action outputs:
|
|
|
591
591
|
|
|
592
592
|
By default, generated reports are also appended to the GitHub Actions Job Summary. Set `job-summary: "false"` to disable that UI output.
|
|
593
593
|
|
|
594
|
-
Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.
|
|
594
|
+
Tagged Action releases build and run the CLI from `$GITHUB_ACTION_PATH`, so a workflow pinned to a release tag such as `@v0.1.74` executes that release's checked-out source instead of pulling the default branch at runtime.
|
|
595
595
|
|
|
596
596
|
## Codex Skill
|
|
597
597
|
|
package/dist/src/index.d.ts
CHANGED
|
@@ -30,5 +30,5 @@ export type { SessionAuditFile, SessionAuditFinding, SessionAuditOptions, Sessio
|
|
|
30
30
|
export { auditSensitivePaths, renderSensitiveAuditMarkdown } from "./sensitiveAudit.js";
|
|
31
31
|
export type { SensitiveAuditFinding, SensitiveAuditFindingKind, SensitiveAuditResult, SensitiveAuditSeverity, SensitiveAuditStatus } from "./sensitiveAudit.js";
|
|
32
32
|
export { buildUsageEvidence, buildUsageEvidenceFromInputs, renderUsageEvidenceMarkdown } from "./usageEvidence.js";
|
|
33
|
-
export type { TokenUsageRecord, UsageEvidenceFinding, UsageEvidenceFindingKind, UsageEvidenceResult, UsageEvidenceStatus, UsageOverheadKind, UsageOverheadSignal, UsageReceipt, UsageSnapshot } from "./usageEvidence.js";
|
|
33
|
+
export type { TokenUsageRecord, UsageDrainExperiment, UsageEvidenceFinding, UsageEvidenceFindingKind, UsageEvidenceResult, UsageEvidenceStatus, UsageOverheadKind, UsageOverheadSignal, UsageReceipt, UsageSnapshot } from "./usageEvidence.js";
|
|
34
34
|
export type { AnalysisResult, Finding, FindingKind, Severity } from "./types.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Evidence, TraceInput } from "./types.js";
|
|
2
2
|
export type UsageEvidenceStatus = "pass" | "warn";
|
|
3
|
-
export type UsageEvidenceFindingKind = "reset_timestamp_drift" | "quota_percentage_jump" | "usage_limit_with_remaining_quota" | "high_cached_input" | "high_total_tokens" | "orchestration_overhead_signal";
|
|
3
|
+
export type UsageEvidenceFindingKind = "reset_timestamp_drift" | "quota_percentage_jump" | "usage_limit_with_remaining_quota" | "high_cached_input" | "high_total_tokens" | "orchestration_overhead_signal" | "rapid_quota_drain_experiment";
|
|
4
4
|
export interface UsageSnapshot {
|
|
5
5
|
source: string;
|
|
6
6
|
line: number;
|
|
@@ -27,6 +27,18 @@ export interface UsageOverheadSignal {
|
|
|
27
27
|
line: number;
|
|
28
28
|
excerpt: string;
|
|
29
29
|
}
|
|
30
|
+
export interface UsageDrainExperiment {
|
|
31
|
+
source: string;
|
|
32
|
+
line: number;
|
|
33
|
+
window: string;
|
|
34
|
+
percentDelta?: number;
|
|
35
|
+
credits?: number;
|
|
36
|
+
promptCount?: number;
|
|
37
|
+
durationMinutes?: number;
|
|
38
|
+
model?: string;
|
|
39
|
+
plan?: string;
|
|
40
|
+
excerpt: string;
|
|
41
|
+
}
|
|
30
42
|
export interface UsageReceipt {
|
|
31
43
|
quotaWindows: Array<{
|
|
32
44
|
window: string;
|
|
@@ -42,6 +54,7 @@ export interface UsageReceipt {
|
|
|
42
54
|
output?: number;
|
|
43
55
|
reasoning?: number;
|
|
44
56
|
};
|
|
57
|
+
drainExperiments: UsageDrainExperiment[];
|
|
45
58
|
overheadSignals: UsageOverheadSignal[];
|
|
46
59
|
suspectedCauses: string[];
|
|
47
60
|
}
|
|
@@ -63,10 +76,12 @@ export interface UsageEvidenceResult {
|
|
|
63
76
|
usageLimitSignals: number;
|
|
64
77
|
resetDriftWindows: number;
|
|
65
78
|
highCachedInputRecords: number;
|
|
79
|
+
drainExperiments: number;
|
|
66
80
|
overheadSignals: number;
|
|
67
81
|
};
|
|
68
82
|
snapshots: UsageSnapshot[];
|
|
69
83
|
tokenUsage: TokenUsageRecord[];
|
|
84
|
+
drainExperiments: UsageDrainExperiment[];
|
|
70
85
|
receipt: UsageReceipt;
|
|
71
86
|
findings: UsageEvidenceFinding[];
|
|
72
87
|
checklist: string[];
|
|
@@ -7,6 +7,7 @@ export function buildUsageEvidenceFromInputs(inputs) {
|
|
|
7
7
|
const tokenUsage = [];
|
|
8
8
|
const usageLimitSignals = [];
|
|
9
9
|
const overheadSignals = [];
|
|
10
|
+
const drainExperiments = [];
|
|
10
11
|
for (const input of inputs) {
|
|
11
12
|
const lines = input.content.split(/\r?\n/);
|
|
12
13
|
lines.forEach((line, index) => {
|
|
@@ -30,13 +31,17 @@ export function buildUsageEvidenceFromInputs(inputs) {
|
|
|
30
31
|
if (overheadSignal) {
|
|
31
32
|
overheadSignals.push(overheadSignal);
|
|
32
33
|
}
|
|
34
|
+
const drainExperiment = parseDrainExperiment(input.path, lineNumber, excerpt);
|
|
35
|
+
if (drainExperiment) {
|
|
36
|
+
drainExperiments.push(drainExperiment);
|
|
37
|
+
}
|
|
33
38
|
if (/\b(hit|reached|exceeded).{0,80}\b(usage|rate|quota|weekly|5-hour|5 hour|limit)\b/i.test(excerpt) || /you(?:'|')?ve hit your usage limit/i.test(excerpt)) {
|
|
34
39
|
usageLimitSignals.push({ source: input.path, line: lineNumber, excerpt });
|
|
35
40
|
}
|
|
36
41
|
});
|
|
37
42
|
}
|
|
38
|
-
const findings = buildFindings(snapshots, tokenUsage, usageLimitSignals, overheadSignals);
|
|
39
|
-
const receipt = buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals);
|
|
43
|
+
const findings = buildFindings(snapshots, tokenUsage, usageLimitSignals, overheadSignals, drainExperiments);
|
|
44
|
+
const receipt = buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals, drainExperiments);
|
|
40
45
|
return {
|
|
41
46
|
generatedAt: new Date().toISOString(),
|
|
42
47
|
status: findings.length > 0 ? "warn" : "pass",
|
|
@@ -47,10 +52,12 @@ export function buildUsageEvidenceFromInputs(inputs) {
|
|
|
47
52
|
usageLimitSignals: usageLimitSignals.length,
|
|
48
53
|
resetDriftWindows: findings.filter((finding) => finding.kind === "reset_timestamp_drift").length,
|
|
49
54
|
highCachedInputRecords: findings.filter((finding) => finding.kind === "high_cached_input").length,
|
|
55
|
+
drainExperiments: drainExperiments.length,
|
|
50
56
|
overheadSignals: overheadSignals.length
|
|
51
57
|
},
|
|
52
58
|
snapshots,
|
|
53
59
|
tokenUsage,
|
|
60
|
+
drainExperiments,
|
|
54
61
|
receipt,
|
|
55
62
|
findings,
|
|
56
63
|
checklist: [
|
|
@@ -59,6 +66,7 @@ export function buildUsageEvidenceFromInputs(inputs) {
|
|
|
59
66
|
"Capture before/after `/status` output, usage dashboard timestamp, and timezone for every reset value.",
|
|
60
67
|
"Note whether a prompt was running during reset and whether an outage or compensation reset was announced.",
|
|
61
68
|
"Include token totals when available: total, input, cached input, output, and reasoning.",
|
|
69
|
+
"If reporting a sudden burn regression, add a tiny experiment row with model, plan, prompt count, elapsed time, percent or credits consumed, and before/after usage state.",
|
|
62
70
|
"Separate quota-window percentage changes from local token totals and orchestration overhead signals.",
|
|
63
71
|
"Add one minimal reproduction or polling table that shows the percentage and reset timestamp changing."
|
|
64
72
|
]
|
|
@@ -78,6 +86,7 @@ export function renderUsageEvidenceMarkdown(result) {
|
|
|
78
86
|
`- Usage limit signals: ${result.summary.usageLimitSignals}`,
|
|
79
87
|
`- Reset drift windows: ${result.summary.resetDriftWindows}`,
|
|
80
88
|
`- High cached-input records: ${result.summary.highCachedInputRecords}`,
|
|
89
|
+
`- Drain experiments: ${result.summary.drainExperiments}`,
|
|
81
90
|
`- Overhead signals: ${result.summary.overheadSignals}`,
|
|
82
91
|
""
|
|
83
92
|
];
|
|
@@ -125,6 +134,31 @@ export function renderUsageEvidenceMarkdown(result) {
|
|
|
125
134
|
formatNumber(result.receipt.localTokenTotals.reasoning)
|
|
126
135
|
].join(" | ").replace(/^/, "| ").replace(/$/, " |"));
|
|
127
136
|
lines.push("");
|
|
137
|
+
lines.push("### Drain Experiments", "");
|
|
138
|
+
if (result.receipt.drainExperiments.length === 0) {
|
|
139
|
+
lines.push("_No rapid quota-drain experiment rows found._", "");
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
lines.push("| Source | Line | Window | Percent/Credits | Duration | Prompts | Model | Plan |");
|
|
143
|
+
lines.push("| --- | ---: | --- | --- | ---: | ---: | --- | --- |");
|
|
144
|
+
for (const experiment of result.receipt.drainExperiments.slice(0, 12)) {
|
|
145
|
+
const amount = [
|
|
146
|
+
experiment.percentDelta === undefined ? undefined : `${experiment.percentDelta}%`,
|
|
147
|
+
experiment.credits === undefined ? undefined : `${experiment.credits} credits`
|
|
148
|
+
].filter(Boolean).join(" / ");
|
|
149
|
+
lines.push([
|
|
150
|
+
escapeCell(experiment.source),
|
|
151
|
+
String(experiment.line),
|
|
152
|
+
escapeCell(experiment.window),
|
|
153
|
+
escapeCell(amount),
|
|
154
|
+
formatNumber(experiment.durationMinutes),
|
|
155
|
+
formatNumber(experiment.promptCount),
|
|
156
|
+
escapeCell(experiment.model ?? ""),
|
|
157
|
+
escapeCell(experiment.plan ?? "")
|
|
158
|
+
].join(" | ").replace(/^/, "| ").replace(/$/, " |"));
|
|
159
|
+
}
|
|
160
|
+
lines.push("");
|
|
161
|
+
}
|
|
128
162
|
lines.push("### Overhead Signals", "");
|
|
129
163
|
if (result.receipt.overheadSignals.length === 0) {
|
|
130
164
|
lines.push("_No background polling, compaction loop, retry/tool loop, subagent fan-out, or idle-drain signals found._", "");
|
|
@@ -184,6 +218,25 @@ export function renderUsageEvidenceMarkdown(result) {
|
|
|
184
218
|
}
|
|
185
219
|
lines.push("");
|
|
186
220
|
}
|
|
221
|
+
lines.push("## Rapid Drain Experiments", "");
|
|
222
|
+
if (result.drainExperiments.length === 0) {
|
|
223
|
+
lines.push("_No rapid quota-drain experiment rows found._", "");
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
for (const experiment of result.drainExperiments.slice(0, 20)) {
|
|
227
|
+
const parts = [
|
|
228
|
+
`${experiment.window} window`,
|
|
229
|
+
experiment.percentDelta === undefined ? undefined : `${experiment.percentDelta}%`,
|
|
230
|
+
experiment.credits === undefined ? undefined : `${experiment.credits} credits`,
|
|
231
|
+
experiment.durationMinutes === undefined ? undefined : `${experiment.durationMinutes} min`,
|
|
232
|
+
experiment.promptCount === undefined ? undefined : `${experiment.promptCount} prompts`,
|
|
233
|
+
experiment.model,
|
|
234
|
+
experiment.plan
|
|
235
|
+
].filter(Boolean);
|
|
236
|
+
lines.push(`- ${experiment.source}:${experiment.line} - ${parts.join(", ")} - ${experiment.excerpt}`);
|
|
237
|
+
}
|
|
238
|
+
lines.push("");
|
|
239
|
+
}
|
|
187
240
|
lines.push("## OpenAI/Codex Issue Checklist", "");
|
|
188
241
|
for (const item of result.checklist) {
|
|
189
242
|
lines.push(`- ${item}`);
|
|
@@ -299,7 +352,35 @@ function parseOverheadSignal(source, line, excerpt) {
|
|
|
299
352
|
undefined;
|
|
300
353
|
return kind ? { kind, source, line, excerpt } : undefined;
|
|
301
354
|
}
|
|
302
|
-
function
|
|
355
|
+
function parseDrainExperiment(source, line, excerpt) {
|
|
356
|
+
const hasDrainLanguage = /\b(burn(?:ed|ing|t| through)?|drain(?:ed|ing)?|deplet(?:ed|ing|e)|consum(?:ed|ing|e)|lost|dropped|drop|used)\b.{0,120}\b(usage|quota|limit|weekly|5[- ]?hour|credits?|percent|%)\b/i.test(excerpt) ||
|
|
357
|
+
/\b(usage|quota|limit|weekly|5[- ]?hour|credits?|percent|%)\b.{0,120}\b(burn(?:ed|ing|t| through)?|drain(?:ed|ing)?|deplet(?:ed|ing|e)|consum(?:ed|ing|e)|lost|dropped|drop|used)\b/i.test(excerpt);
|
|
358
|
+
const hasExperimentShape = /\b(prompt|experiment|minute|second|hour|day|credits?|weekly|5[- ]?hour|normal workload|same workload)\b/i.test(excerpt);
|
|
359
|
+
if (!hasDrainLanguage || !hasExperimentShape) {
|
|
360
|
+
return undefined;
|
|
361
|
+
}
|
|
362
|
+
const percentDelta = parseDrainPercent(excerpt);
|
|
363
|
+
const credits = numberAfter(excerpt, /\bconsumed\s+([0-9][0-9,]*)\s+credits?\b/i) ??
|
|
364
|
+
numberAfter(excerpt, /\b([0-9][0-9,]*)\s+credits?\b/i);
|
|
365
|
+
const promptCount = parsePromptCount(excerpt);
|
|
366
|
+
const durationMinutes = parseDurationMinutes(excerpt);
|
|
367
|
+
if (percentDelta === undefined && credits === undefined && promptCount === undefined && durationMinutes === undefined) {
|
|
368
|
+
return undefined;
|
|
369
|
+
}
|
|
370
|
+
return {
|
|
371
|
+
source,
|
|
372
|
+
line,
|
|
373
|
+
window: normalizeWindow(undefined, excerpt),
|
|
374
|
+
percentDelta,
|
|
375
|
+
credits,
|
|
376
|
+
promptCount,
|
|
377
|
+
durationMinutes,
|
|
378
|
+
model: parseModel(excerpt),
|
|
379
|
+
plan: parsePlan(excerpt),
|
|
380
|
+
excerpt
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
function buildFindings(snapshots, tokenUsage, usageLimitSignals, overheadSignals, drainExperiments) {
|
|
303
384
|
const findings = [];
|
|
304
385
|
const byWindow = new Map();
|
|
305
386
|
for (const snapshot of snapshots) {
|
|
@@ -378,9 +459,25 @@ function buildFindings(snapshots, tokenUsage, usageLimitSignals, overheadSignals
|
|
|
378
459
|
nextStep: "Report this separately from quota percentages and token totals so maintainers can distinguish useful model work from local orchestration overhead."
|
|
379
460
|
});
|
|
380
461
|
}
|
|
462
|
+
for (const experiment of drainExperiments) {
|
|
463
|
+
const severePercent = (experiment.percentDelta ?? 0) >= 20;
|
|
464
|
+
const severeCredits = (experiment.credits ?? 0) >= 10;
|
|
465
|
+
const fastMeasuredDrain = experiment.durationMinutes !== undefined && experiment.durationMinutes <= 60 && ((experiment.percentDelta ?? 0) >= 1 || (experiment.credits ?? 0) >= 1);
|
|
466
|
+
if (!severePercent && !severeCredits && !fastMeasuredDrain) {
|
|
467
|
+
continue;
|
|
468
|
+
}
|
|
469
|
+
findings.push({
|
|
470
|
+
kind: "rapid_quota_drain_experiment",
|
|
471
|
+
severity: severePercent || severeCredits ? "high" : "medium",
|
|
472
|
+
title: "Rapid quota drain experiment",
|
|
473
|
+
why: "The evidence describes a bounded prompt/time experiment where Codex usage, quota percentage, or credits dropped quickly under a stated workload.",
|
|
474
|
+
evidence: [{ file: experiment.source, line: experiment.line, excerpt: experiment.excerpt }],
|
|
475
|
+
nextStep: "Include before/after quota screenshots or /status output plus model, plan, reasoning/speed mode, prompt count, elapsed time, and whether subagents or fast mode were enabled."
|
|
476
|
+
});
|
|
477
|
+
}
|
|
381
478
|
return dedupeFindings(findings);
|
|
382
479
|
}
|
|
383
|
-
function buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals) {
|
|
480
|
+
function buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals, drainExperiments) {
|
|
384
481
|
const byWindow = new Map();
|
|
385
482
|
for (const snapshot of snapshots) {
|
|
386
483
|
const window = snapshot.window || "unknown";
|
|
@@ -407,6 +504,9 @@ function buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals)
|
|
|
407
504
|
if (usageLimitSignals.length > 0 || snapshots.length > 0) {
|
|
408
505
|
suspectedCauses.add("quota-window or dashboard accounting");
|
|
409
506
|
}
|
|
507
|
+
if (drainExperiments.length > 0) {
|
|
508
|
+
suspectedCauses.add("rapid quota-drain experiment");
|
|
509
|
+
}
|
|
410
510
|
if (tokenUsage.some((record) => record.cachedInput !== undefined && record.cachedInput >= 1_000_000)) {
|
|
411
511
|
suspectedCauses.add("large cached-context replay");
|
|
412
512
|
}
|
|
@@ -430,6 +530,7 @@ function buildReceipt(snapshots, tokenUsage, overheadSignals, usageLimitSignals)
|
|
|
430
530
|
return {
|
|
431
531
|
quotaWindows,
|
|
432
532
|
localTokenTotals,
|
|
533
|
+
drainExperiments,
|
|
433
534
|
overheadSignals,
|
|
434
535
|
suspectedCauses: [...suspectedCauses].sort((a, b) => a.localeCompare(b))
|
|
435
536
|
};
|
|
@@ -494,6 +595,49 @@ function parseNaturalPercent(value) {
|
|
|
494
595
|
const percent = Number(match[1]);
|
|
495
596
|
return Number.isFinite(percent) && percent >= 0 && percent <= 100 ? percent : undefined;
|
|
496
597
|
}
|
|
598
|
+
function parseDrainPercent(value) {
|
|
599
|
+
const matches = [...value.matchAll(/\b([0-9]{1,3})(?:\.[0-9]+)?\s*(?:%|percent|pct)/gi)]
|
|
600
|
+
.map((match) => Number(match[1]))
|
|
601
|
+
.filter((percent) => Number.isFinite(percent) && percent >= 0 && percent <= 100);
|
|
602
|
+
if (matches.length === 0) {
|
|
603
|
+
return undefined;
|
|
604
|
+
}
|
|
605
|
+
return Math.max(...matches);
|
|
606
|
+
}
|
|
607
|
+
function parsePromptCount(value) {
|
|
608
|
+
if (/\b(single|one)\s+prompt\b/i.test(value)) {
|
|
609
|
+
return 1;
|
|
610
|
+
}
|
|
611
|
+
if (/\bfew\s+prompts?\b/i.test(value)) {
|
|
612
|
+
return 3;
|
|
613
|
+
}
|
|
614
|
+
return numberAfter(value, /\b([0-9][0-9,]*)\s+(?:prompts?|requests?|messages?)\b/i);
|
|
615
|
+
}
|
|
616
|
+
function parseDurationMinutes(value) {
|
|
617
|
+
if (/\bsingle day\b/i.test(value)) {
|
|
618
|
+
return 24 * 60;
|
|
619
|
+
}
|
|
620
|
+
const day = value.match(/\b(?:within|in|over|after)?\s*([0-9]+(?:\.[0-9]+)?)\s+days?\b/i);
|
|
621
|
+
if (day) {
|
|
622
|
+
return Math.round(Number(day[1]) * 24 * 60);
|
|
623
|
+
}
|
|
624
|
+
const hour = value.match(/\b(?:within|in|over|after)?\s*([0-9]+(?:\.[0-9]+)?)\s+hours?\b/i);
|
|
625
|
+
const minute = value.match(/\b(?:within|in|over|after)?\s*([0-9]+(?:\.[0-9]+)?)\s+minutes?\b/i);
|
|
626
|
+
const second = value.match(/\b([0-9]+(?:\.[0-9]+)?)\s+seconds?\b/i);
|
|
627
|
+
if (!hour && !minute && !second) {
|
|
628
|
+
return undefined;
|
|
629
|
+
}
|
|
630
|
+
const total = (hour ? Number(hour[1]) * 60 : 0) + (minute ? Number(minute[1]) : 0) + (second ? Number(second[1]) / 60 : 0);
|
|
631
|
+
return Number.isFinite(total) ? Math.round(total * 100) / 100 : undefined;
|
|
632
|
+
}
|
|
633
|
+
function parseModel(value) {
|
|
634
|
+
const match = value.match(/\b(?:GPT[- ]?)?[0-9](?:\.[0-9])?(?:\s*codex)?\b/i);
|
|
635
|
+
return cleanValue(match?.[0]);
|
|
636
|
+
}
|
|
637
|
+
function parsePlan(value) {
|
|
638
|
+
const match = value.match(/\b(Free|Plus|Pro|Business|Team|Enterprise)\b/i);
|
|
639
|
+
return match ? match[1] : undefined;
|
|
640
|
+
}
|
|
497
641
|
function parseResetAt(value) {
|
|
498
642
|
const iso = value.match(/\b(?:reset_at|reset|resets|due|changed to|postponed to)\b.{0,40}?(\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2})?)?Z?)\b/i);
|
|
499
643
|
if (iso) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usageEvidence.js","sourceRoot":"","sources":["../../src/usageEvidence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usageEvidence.js","sourceRoot":"","sources":["../../src/usageEvidence.ts"],"names":[],"mappings":"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"}
|
package/docs/CODEX_ISSUE_MAP.md
CHANGED
|
@@ -22,7 +22,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
22
22
|
|
|
23
23
|
| OpenAI/Codex issue cluster | Common signals | Finding kind | Best command |
|
|
24
24
|
| --- | --- | --- | --- |
|
|
25
|
-
| Token burn and usage drain | `tokens burning very fast`, large cached input totals, `write_stdin` empty polls, idle app usage, compaction tax, retry loops, subagent fan-out | `codex_token_burn` plus usage receipt | `trace-to-skill usage-evidence ./usage-notes.md` first, then `trace-to-skill codex-report ./runs` for trace reports |
|
|
25
|
+
| Token burn and usage drain | `tokens burning very fast`, `1% in 4 minutes`, `22 credits`, large cached input totals, `write_stdin` empty polls, idle app usage, compaction tax, retry loops, subagent fan-out | `codex_token_burn` plus usage receipt | `trace-to-skill usage-evidence ./usage-notes.md` first, then `trace-to-skill codex-report ./runs` for trace reports |
|
|
26
26
|
| Usage reset schedule drift | weekly reset time changes, `reset_at` jumps, saved quota is wiped or pushed into the next window, outage compensation reset changes the anchor | `codex_usage_reset_drift` | `trace-to-skill usage-evidence ./usage-notes.md` or `trace-to-skill codex-report ./runs` |
|
|
27
27
|
| Remote compact task failures | `/compact` or auto-compact fails, `responses/compact` stream disconnects, `timeout waiting for child process to exit`, `tcp_user_timeout` or `stream_idle_timeout_ms` workarounds, provider-id timeout drift | `codex_remote_compact` | `trace-to-skill codex-report ./runs` |
|
|
28
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` |
|
|
@@ -90,7 +90,7 @@ npx trace-to-skill lsp-audit . --format json
|
|
|
90
90
|
- For sensitive-file reports, attach only redacted excerpts and the file path/class, not the original credential material.
|
|
91
91
|
- For preflight exclusion reports, attach `sensitive-audit` output and recommended exclude globs; it does not read file contents or follow symlink targets.
|
|
92
92
|
- For LSP readiness reports, attach `lsp-audit` output so maintainers can see detected languages, evidence files, missing server commands, and install hints without auto-installing tools.
|
|
93
|
-
- For token-burn reports, attach `usage-evidence` output so quota-window percentages, local token totals, cached input, and orchestration-overhead signals are not collapsed into one ambiguous symptom.
|
|
93
|
+
- For token-burn reports, attach `usage-evidence` output so quota-window percentages, rapid drain experiments, local token totals, cached input, and orchestration-overhead signals are not collapsed into one ambiguous symptom.
|
|
94
94
|
|
|
95
95
|
## Related OpenAI/Codex Threads Used For Fixtures
|
|
96
96
|
|
package/docs/DISCOVERY.md
CHANGED
|
@@ -39,10 +39,10 @@ This page is written for maintainers, search engines, package indexes, and AI re
|
|
|
39
39
|
- Codex copy/export, long pasted prompts, or generated `Pasted text.txt` attachments break instruction, `/goal`, preview/edit, or support-report workflows.
|
|
40
40
|
- Codex `codex://oauth_callback`, notification clicks, browser-extension activation, mobile pairing links, or `codex app <path>` external launches fail to route back into Codex.
|
|
41
41
|
- Codex app connectors keep stale `link_*` authorization or discovery metadata after `401 Reauthentication required`, plugin reinstall, app restart, or cache regeneration.
|
|
42
|
-
- Codex usage drains unexpectedly because of background `write_stdin` polling, idle app activity, compaction/replay overhead, retry loops, subagent fan-out, fast-mode drift, or cached-token-heavy turns.
|
|
42
|
+
- Codex usage drains unexpectedly because of rapid drain experiments (`1% in 4 minutes`, `22 credits`, `70% weekly in a day`), background `write_stdin` polling, idle app activity, compaction/replay overhead, retry loops, subagent fan-out, fast-mode drift, or cached-token-heavy turns.
|
|
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
|
-
- 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.
|
|
45
|
+
- Codex token-burn reports need a receipt that separates backend quota-window percentages, bounded drain experiments, local token totals, and orchestration overhead such as background polling, compaction loops, retry/tool loops, subagent fan-out, or idle drain.
|
|
46
46
|
- Codex users need a local checkpoint before agent edits because conversation rewind does not protect untracked dirty workspace files.
|
|
47
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.
|
|
48
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.
|
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.74 |
|
|
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.74
|
|
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.74
|
|
57
57
|
with:
|
|
58
58
|
mode: all
|
|
59
59
|
doctor-threshold: "85"
|
|
@@ -151,12 +151,13 @@ npx trace-to-skill usage-evidence ./usage-notes.md --output usage-evidence.md
|
|
|
151
151
|
npx trace-to-skill usage-evidence ./usage-notes.md --format json
|
|
152
152
|
```
|
|
153
153
|
|
|
154
|
-
This turns Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `reset_at` values, usage-limit errors, `Token usage: total=... cached` lines, `write_stdin` polling, compaction loops, retry/tool loops, subagent fan-out, and idle-drain notes into a single report with a usage receipt.
|
|
154
|
+
This turns Markdown polling tables, CSV-like rows, JSON/JSONL snapshots, `reset_at` values, usage-limit errors, rapid drain experiment notes like `1% in 4 minutes`, `22 credits`, or `70% weekly in a day`, `Token usage: total=... cached` lines, `write_stdin` polling, compaction loops, retry/tool loops, subagent fan-out, and idle-drain notes into a single report with a usage receipt.
|
|
155
155
|
|
|
156
156
|
The receipt separates:
|
|
157
157
|
|
|
158
158
|
- backend quota-window percentage evidence
|
|
159
159
|
- local token totals, including cached input and reasoning
|
|
160
|
+
- bounded rapid-drain experiment rows with model, plan, prompt count, elapsed time, percent, and credits when present
|
|
160
161
|
- orchestration-overhead signals that may burn usage without accepted work
|
|
161
162
|
- suspected cause buckets to keep public reports comparable
|
|
162
163
|
|
package/llms.txt
CHANGED
|
@@ -32,11 +32,11 @@ Runtime: Node.js 20+
|
|
|
32
32
|
- Codex clipboard, copy/export, long paste, and generated `Pasted text.txt` attachment regressions that break prompt, `/goal`, preview/edit, or support-report workflows
|
|
33
33
|
- Codex deeplink, OAuth callback, notification click, browser-extension activation, mobile pairing, and `codex app <path>` launch regressions
|
|
34
34
|
- Codex app connector stale auth/cache regressions such as `401 Reauthentication required`, unchanged `link_*`, `isAccessible: false`, and broken `codex_apps_tools` metadata
|
|
35
|
-
- Codex token-burn and usage-drain failures such as background `write_stdin` polling, idle app usage, compaction tax, retry/tool loops, cached-token-heavy turns, fast-mode drift, subagent fan-out, and unclear usage attribution
|
|
35
|
+
- Codex token-burn and usage-drain failures such as rapid drain experiments (`1% in 4 minutes`, `22 credits`, `70% weekly in a day`), background `write_stdin` polling, idle app usage, compaction tax, retry/tool loops, cached-token-heavy turns, fast-mode drift, subagent fan-out, and unclear usage attribution
|
|
36
36
|
- Codex process evidence packaging for Windows PowerShell/pwsh CIM polling, high-CPU helpers, stale process-manager entries, and renderer runaways
|
|
37
37
|
- 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
|
|
38
38
|
- Codex usage evidence packaging for scattered `/status`, reset-table, usage-limit, token-total, cached-input, and orchestration-overhead snippets
|
|
39
|
-
- 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 usage receipts that separate backend quota-window percentages, bounded drain experiments, local token totals, and overhead signals such as background polling, compaction loops, retry/tool loops, subagent fan-out, or idle drain
|
|
40
40
|
- 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
|
|
41
41
|
- 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
|
|
42
42
|
- 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
|
|
@@ -108,7 +108,7 @@ npx trace-to-skill init --comment --sarif
|
|
|
108
108
|
## GitHub Action
|
|
109
109
|
|
|
110
110
|
```yaml
|
|
111
|
-
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.
|
|
111
|
+
- uses: grnbtqdbyx-create/trace-to-skill@v0.1.74
|
|
112
112
|
with:
|
|
113
113
|
mode: all
|
|
114
114
|
doctor-threshold: "85"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trace-to-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.74",
|
|
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",
|
|
@@ -151,6 +151,8 @@
|
|
|
151
151
|
"codex-rate-limit-evidence",
|
|
152
152
|
"usage-receipt",
|
|
153
153
|
"codex-usage-receipt",
|
|
154
|
+
"codex-usage-spike",
|
|
155
|
+
"quota-drain",
|
|
154
156
|
"token-receipt",
|
|
155
157
|
"codex-rewind",
|
|
156
158
|
"codex-undo",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"$id": "https://github.com/grnbtqdbyx-create/trace-to-skill/schemas/usage-evidence-result.schema.json",
|
|
4
4
|
"title": "trace-to-skill Codex usage evidence result",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["generatedAt", "status", "inputs", "summary", "snapshots", "tokenUsage", "receipt", "findings", "checklist"],
|
|
6
|
+
"required": ["generatedAt", "status", "inputs", "summary", "snapshots", "tokenUsage", "drainExperiments", "receipt", "findings", "checklist"],
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"properties": {
|
|
9
9
|
"generatedAt": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"summary": {
|
|
22
22
|
"type": "object",
|
|
23
|
-
"required": ["snapshots", "tokenUsageRecords", "usageLimitSignals", "resetDriftWindows", "highCachedInputRecords", "overheadSignals"],
|
|
23
|
+
"required": ["snapshots", "tokenUsageRecords", "usageLimitSignals", "resetDriftWindows", "highCachedInputRecords", "drainExperiments", "overheadSignals"],
|
|
24
24
|
"additionalProperties": false,
|
|
25
25
|
"properties": {
|
|
26
26
|
"snapshots": {
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"type": "integer",
|
|
44
44
|
"minimum": 0
|
|
45
45
|
},
|
|
46
|
+
"drainExperiments": {
|
|
47
|
+
"type": "integer",
|
|
48
|
+
"minimum": 0
|
|
49
|
+
},
|
|
46
50
|
"overheadSignals": {
|
|
47
51
|
"type": "integer",
|
|
48
52
|
"minimum": 0
|
|
@@ -61,6 +65,12 @@
|
|
|
61
65
|
"$ref": "#/$defs/tokenUsage"
|
|
62
66
|
}
|
|
63
67
|
},
|
|
68
|
+
"drainExperiments": {
|
|
69
|
+
"type": "array",
|
|
70
|
+
"items": {
|
|
71
|
+
"$ref": "#/$defs/drainExperiment"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
64
74
|
"receipt": {
|
|
65
75
|
"$ref": "#/$defs/receipt"
|
|
66
76
|
},
|
|
@@ -151,7 +161,8 @@
|
|
|
151
161
|
"usage_limit_with_remaining_quota",
|
|
152
162
|
"high_cached_input",
|
|
153
163
|
"high_total_tokens",
|
|
154
|
-
"orchestration_overhead_signal"
|
|
164
|
+
"orchestration_overhead_signal",
|
|
165
|
+
"rapid_quota_drain_experiment"
|
|
155
166
|
]
|
|
156
167
|
},
|
|
157
168
|
"severity": {
|
|
@@ -193,7 +204,7 @@
|
|
|
193
204
|
},
|
|
194
205
|
"receipt": {
|
|
195
206
|
"type": "object",
|
|
196
|
-
"required": ["quotaWindows", "localTokenTotals", "overheadSignals", "suspectedCauses"],
|
|
207
|
+
"required": ["quotaWindows", "localTokenTotals", "drainExperiments", "overheadSignals", "suspectedCauses"],
|
|
197
208
|
"additionalProperties": false,
|
|
198
209
|
"properties": {
|
|
199
210
|
"quotaWindows": {
|
|
@@ -205,6 +216,12 @@
|
|
|
205
216
|
"localTokenTotals": {
|
|
206
217
|
"$ref": "#/$defs/localTokenTotals"
|
|
207
218
|
},
|
|
219
|
+
"drainExperiments": {
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"$ref": "#/$defs/drainExperiment"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
208
225
|
"overheadSignals": {
|
|
209
226
|
"type": "array",
|
|
210
227
|
"items": {
|
|
@@ -266,6 +283,44 @@
|
|
|
266
283
|
}
|
|
267
284
|
}
|
|
268
285
|
},
|
|
286
|
+
"drainExperiment": {
|
|
287
|
+
"type": "object",
|
|
288
|
+
"required": ["source", "line", "window", "excerpt"],
|
|
289
|
+
"additionalProperties": false,
|
|
290
|
+
"properties": {
|
|
291
|
+
"source": {
|
|
292
|
+
"type": "string"
|
|
293
|
+
},
|
|
294
|
+
"line": {
|
|
295
|
+
"type": "integer",
|
|
296
|
+
"minimum": 1
|
|
297
|
+
},
|
|
298
|
+
"window": {
|
|
299
|
+
"type": "string"
|
|
300
|
+
},
|
|
301
|
+
"percentDelta": {
|
|
302
|
+
"type": "number"
|
|
303
|
+
},
|
|
304
|
+
"credits": {
|
|
305
|
+
"type": "number"
|
|
306
|
+
},
|
|
307
|
+
"promptCount": {
|
|
308
|
+
"type": "number"
|
|
309
|
+
},
|
|
310
|
+
"durationMinutes": {
|
|
311
|
+
"type": "number"
|
|
312
|
+
},
|
|
313
|
+
"model": {
|
|
314
|
+
"type": "string"
|
|
315
|
+
},
|
|
316
|
+
"plan": {
|
|
317
|
+
"type": "string"
|
|
318
|
+
},
|
|
319
|
+
"excerpt": {
|
|
320
|
+
"type": "string"
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
},
|
|
269
324
|
"overheadSignal": {
|
|
270
325
|
"type": "object",
|
|
271
326
|
"required": ["kind", "source", "line", "excerpt"],
|