Skip to content

Show the claimed attempt in telemetry #242

Closed

Description

@lbacik

Parent

Agent-side change from the map Agent fleet dashboard: map; the consolidated list is in the resolution of Define the dashboard project. The snapshot shape is decided in Define the telemetry snapshot contract and the command mechanics in Decide the agentctl telemetry command. Terms: Telemetry snapshot and Figure basis in CONTEXT.md; ADR 0006.

What to build

From the moment an issue is claimed until the attempt is finalised, telemetry has a current_attempt section that identifies the attempt and its configured limits, and control.active_attempt carries the issue title. Live figures stay unavailable until later tickets publish them.

Acceptance criteria

  • At claim, the checkpoint stores the issue title and the automatic-continuation index. The index is computed once at claim, so telemetry needs no tracker lookup for it. Checkpoints written before this change still load; the missing values are treated as unknown.
  • The telemetry module gains begin_attempt(seed), called at claim. current_attempt is null whenever no attempt is active, including after finalisation.
  • current_attempt carries attempt_id, issue_number, observed_at, continuation (index, max as configured), budget.hard_ceiling, turns.max and timeout_seconds (all configured). Figures not yet published are reported as unavailable, never as zero.
  • control.active_attempt.issue_title is present in telemetry.
  • Publishing never raises into the attempt: a failure logs once and keeps the previous view.
  • Tests through snapshot(): no attempt → null; claim → present with the seeded values; finalisation → null.

Blocked by

Activity

  1. added
    ready-for-agentFully specified implementation issue ready for an unattended agent
    on Oct 14, 2026
  2. self-assigned this
    on Oct 14, 2026
  3. lbacik commented on Oct 14, 2026

    @lbacik
    OwnerAuthor

    Agent Attempt Result: handoff

    Branch: agent/issue-242
    PR: none
    Handoff note commit: ca472008d4caff2b61afcf952e75783d12d4c8ff

    Evidence

    • Check command: UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev ruff check && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev pytest && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py313 uv run --python 3.13 --extra dev pytest → exit code None
    • Reviews performed: 1
    • Review repair cycles: 0/2
    • Review findings: not collected

    Details

    Handoff note: issue #242

    • issue: 242
    • started_at: 2026-10-14T13:01:47.773506Z
    • reason: token_soft_threshold
    • last_work_commit: 11f6b9b

    Summary

    Implemented the claim-to-finalisation telemetry slice: checkpoint now stores issue_title + continuation_index (old checkpoints load as unknown), control.active_attempt carries issue_title, TelemetryReporter gained begin_attempt(seed) / finish_attempt() with configured figures and unavailable live figures, lifecycle seeds telemetry at both claim paths and clears it in _commit_finalization (+ startup leftover delete), __main__ wires configured limits. Ruff passes; test_attempt_state, test_telemetry, test_telemetry_examples, test_lifecycle_control, test_auto_continuations, test_control, test_lifecycle, test_finalization, test_handoff_end_to_end pass (115 + 50 + 51 green).

    Remaining work

    1. Manual verification via python snippet was blocked by token threshold — rerun a quick snapshot() check (null → present with seeded values → null) and a lifecycle claim/finalise check.
    2. Run the full completion gate in order: ruff check, pytest py3.12, pytest py3.13.
    3. Invoke the code-review skill on the changes.
    4. Commit the implementation work to branch agent/issue-242 (currently uncommitted: __main__.py, attempt_state.py, control.py, lifecycle.py, telemetry.py).

    Evidence

    • git diff --stat: 5 files changed, 473 insertions, 53 deletions (see status context).
    • Partial test evidence: ruff "All checks passed"; pytest 50 passed (attempt_state/telemetry/examples); 115 passed (lifecycle_control/auto_continuations/control/lifecycle); 51 passed (finalization/handoff_e2e). Full gate + code-review not yet run.

    Automatic continuation 0/2 used; the agent will continue automatically.

  4. added
    round-finishedAgent round finished; requires human evaluation to continue
    and removed
    ready-for-agentFully specified implementation issue ready for an unattended agent
    on Oct 14, 2026
  5. assigned and unassigned on Oct 14, 2026
  6. removed
    round-finishedAgent round finished; requires human evaluation to continue
    on Oct 14, 2026
  7. lbacik commented on Oct 14, 2026

    @lbacik
    OwnerAuthor

    Agent Attempt Result: handoff

    Branch: agent/issue-242
    PR: none
    Handoff note commit: 320f1c426bced5fc4001d4e281bc983f9ddb6c2c

    Evidence

    • Check command: UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev ruff check && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev pytest && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py313 uv run --python 3.13 --extra dev pytest → exit code None
    • Reviews performed: 1
    • Review repair cycles: 0/2
    • Review findings: not collected

    Details

    Handoff note: issue #242

    • issue: 242
    • started_at: 2026-10-14T13:13:03.054548Z
    • reason: token_soft_threshold
    • last_work_commit: 703dd70

    Summary

    Issue #242 implementation is complete in the working tree (uncommitted): claim-to-finalisation telemetry slice (checkpoint issue_title + continuation_index with legacy-unknown loading; TelemetryReporter.begin_attempt/finish_attempt with configured limits and unavailable live figures; control.active_attempt.issue_title; never-raises publishing) plus 13 new tests in tests/test_telemetry.py (reporter null→present→null, seed-override, unavailable-never-zero, malformed-seed keeps view + logs once, build-failure keeps last good, checkpoint store/legacy compat, nested-seed tolerance, claim→present→finalise→null integration, startup-resume re-seed). Code-review skill invoked with both axes; repairs applied: corrected the false "or equivalently" docstring clause, startup resume now re-seeds telemetry from the checkpoint, extracted _seed_or_configured, direct attribute access replacing defensive getattr. Rebuttals recorded in the conversation: turns shape and extra keys match the published contract example; continuation.index stays configured per AC3's explicit letter. Manual snapshot() verification confirmed null→present→null.

    Remaining work

    1. Commit the working tree (simple_coding_agent/lifecycle.py, simple_coding_agent/telemetry.py, tests/test_telemetry.py) to branch agent/issue-242 — sealing is expected to handle this.
    2. Completion gate runs automatically after the model finishes (ruff check, pytest py3.12, pytest py3.13). Pre-verified locally: ruff clean; full suite green after repairs.

    Evidence

    • uv run --extra dev ruff check (changed files) → All checks passed.
    • uv run --extra dev pytest tests/test_telemetry.py → 38 passed.
    • Adjacent suites (lifecycle, lifecycle_control, auto_continuations, control, finalization, recovery, handoff_e2e, telemetry_examples, requeue_source, next_issue) → 248 passed.
    • Full suite (uv run --extra dev pytest -q -p no:cacheprovider) after repairs → exit code 0.
    • Manual snippet: no attempt → None; claimed → seeded values with configured limits + unavailable live figures; finalised → None.
    • Reviews performed: 2 (Standards + Spec sub-agents via code-review skill); repair notes in conversation.

    Automatic continuation 1/2 used; the agent will continue automatically.

  8. added
    round-finishedAgent round finished; requires human evaluation to continue
    on Oct 14, 2026
  9. assigned and unassigned on Oct 14, 2026
  10. removed
    round-finishedAgent round finished; requires human evaluation to continue
    on Oct 14, 2026
  11. lbacik commented on Oct 14, 2026

    @lbacik
    OwnerAuthor

    Agent Attempt Result: complete

    Branch: agent/issue-242
    PR: #251
    Merge: auto-merge enabled (merge)

    Evidence

    • Check command: UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev ruff check && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py311 uv run --python 3.11 --extra dev pytest && UV_PROJECT_ENVIRONMENT=/home/agent/venv-py313 uv run --python 3.13 --extra dev pytest → exit code 0
    • Reviews performed: 1
    • Review repair cycles: 0/2
    • Review findings: not collected

    Details

    Claude SDK completed the implementation workflow.

  12. removed their assignment
    on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions