← Task ETA TrackerCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Task ETA Tracker
Snapshot Sep 30, 2026 · 23:14 UTC · version 0.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Estimate and track honest completion-time ranges for long-running or uncertain Codex tasks using milestones, observed elapsed time, required verification, blockers, and confidence. Use when the user asks for an ETA, remaining time, progress forecast, periodic status, or why a task is taking so long; when a task is expected to require several material phases; or when an active task materially exceeds its earlier estimate. Do not use for quick single-step requests where tracking would cost more than the work.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 245
}
],
"name": "task-eta-tracker",
"skill_md_contents": "---\nname: task-eta-tracker\ndescription: Estimate and track honest completion-time ranges for long-running or uncertain Codex tasks using milestones, observed elapsed time, required verification, blockers, and confidence. Use when the user asks for an ETA, remaining time, progress forecast, periodic status, or why a task is taking so long; when a task is expected to require several material phases; or when an active task materially exceeds its earlier estimate. Do not use for quick single-step requests where tracking would cost more than the work.\n---\n\n# Task ETA Tracker\n\nTrack progress without implying precision that the available evidence cannot support. Preserve the task's acceptance criteria and required verification; an ETA is a forecast, never a deadline or permission to skip work.\n\n## Establish the forecast\n\n1. Identify the observable done condition and every mandatory gate.\n2. Inspect enough current state to distinguish completed work from assumptions. Do not estimate from the prompt alone when a brief read-only check can expose the scope.\n3. Divide the remaining work into 3–7 outcome-based milestones. Keep tool waiting, external waiting, implementation, and verification distinguishable.\n4. For each milestone, assign a three-point duration estimate:\n - optimistic: known path succeeds without rework;\n - likely: normal execution plus ordinary correction;\n - pessimistic: plausible failure or rerun, not an extreme disaster.\n5. Sum the milestone estimates. Report a rounded range from the optimistic total to the pessimistic total, with the likely total as the center. Avoid minute-level precision unless durations are directly measured and deterministic.\n6. Set confidence:\n - `high`: scope is inspected, steps are deterministic, and no material unknown remains;\n - `medium`: scope is bounded but one or two implementation or test uncertainties remain;\n - `low`: scope, environment, external dependency, or required rework is not yet bounded.\n\nUse elapsed time, active goal telemetry, plan state, command output, and test history when available. Never infer progress from token consumption alone.\n\n## Maintain the estimate\n\nUpdate the forecast after a material milestone, a scope or blocker change, a user request, or when actual elapsed time makes the previous range implausible. Do not perform extra expensive work solely to make the ETA look precise.\n\nAt each update:\n\n1. Mark milestones as complete, active, pending, or blocked.\n2. Replace estimates with actual elapsed time for completed milestones.\n3. Re-estimate only the remaining milestones using newly observed rates and failures.\n4. Include all still-required review, tests, rendering, or handoff work.\n5. Explain material movement in one sentence: scope discovery, tool wait, failed check, rework, or faster-than-expected completion.\n6. Escalate uncertainty instead of silently extending the clock.\n\nReforecast immediately when the likely finish moves beyond the previous pessimistic bound or the remaining work grows by roughly 50 percent. If an external wait has no defensible duration, report `waiting on external state; no reliable ETA` and give the next check or unblock condition.\n\n## Report compactly\n\nUse this shape for normal commentary updates:\n\n```text\nProgress: 2/5 milestones complete; tests are running.\nETA: 20–40 min (likely ~30 min, medium confidence).\nChanged because: one integration failure added a focused rerun.\nRemaining: fix failure → rerun affected tests → final review.\n```\n\nFor a first estimate, explicitly label it `Initial estimate`. For a revision, label it `Revised estimate` and retain the prior range in the explanation when useful. If no numeric estimate is defensible, provide the known next milestone and the condition needed before estimating.\n\n## Guardrails\n\n- Treat ranges as active working time unless explicitly including an external wait.\n- Do not claim a percentage complete when milestones vary greatly in size; prefer completed/total milestones plus the active phase.\n- Do not treat compilation, a static preview, or a partial test as completion when stronger evidence is required.\n- Do not omit recovery paths, user-requested scope, repository gates, or validation to meet an estimate.\n- Do not interrupt a mutation or test just to report status; update at the next safe boundary.\n- Stop tracking when the task is complete, cancelled, or genuinely blocked.\n"
}SHA-256 of public snapshot: a7c86519f34bc323f9082b0650512142a7f8117c8e47648e877344d2f8a86d8d