Skip to content

my-coder v0.1: durability, transcripts, entry point (learned from run #1) - #3

Merged
lorenzoliuzzo merged 1 commit into
mainfrom
improve-mycoder-v0.1
Jul 18, 2026
Merged

my-coder v0.1: durability, transcripts, entry point (learned from run #1)#3
lorenzoliuzzo merged 1 commit into
mainfrom
improve-mycoder-v0.1

Conversation

@lorenzoliuzzo

Copy link
Copy Markdown
Contributor

First iteration of the continuous self-improvement loop: my-coder gets better every time it's used. Driven by its first real run (my-raytracer#10, Vec3+Ray) plus a high-effort /code-review.

What run #1 taught us

  • The first attempt failed with --max-turns 30 — the session hit the cap and exited is_error, indistinguishable from a real failure. With headroom it completed in ~26 turns.
  • On a turn-capped/errored session, v0 threw away committed work. That's wasteful and un-resumable.
  • A failure left no forensic trail (no persisted transcript / final message).
  • There was no mycoder console script (only python -m mycoder).

Changes

  1. Durability. A session that committed real work but ended in error/timeout now has its commits pushed and reports needs_review (branch pushed, no PR) instead of failure — mirroring fleet_dispatch's resume ethos. Only a clean session opens the draft PR. New outcome matrix: no_changes (clean, no commit) · failure (errored, no commit) · needs_review (committed but session errored / push failed) · success (clean + draft PR).
  2. Diagnosability. Persist the redacted transcript per run; record final_message + transcript path on every terminal outcome.
  3. Turn default 40 → 60 (a small issue needs ~30; --max-budget-usd is the real backstop).
  4. mycoder console-script entry point.

Code-review fixes (high effort, 2 findings, both fixed)

  • Transcripts co-locate with the ledger (.mythings/mycoder-transcripts), not the invoking CWD (often the target checkout).
  • Reconciled the documented head-branch name with the code (mycoder/<repo>-<issue>).

Tests

24 tests, 97% coverage, green under GITHUB_ACTIONS=true. New coverage: durable-commit→needs_review, transcript persistence + ledger recording, the higher turn default, and the co-located transcripts dir.

Readiness

🤖 Generated with Claude Code

…run)

Improvements driven by the first real run (my-raytracer#2) + a high-effort
code review:

- Durability: a session that committed real work but then errored/timed out
  (e.g. hit the turn cap → is_error) no longer discards that work. Its commits
  are pushed and the run reports `needs_review` (branch pushed, no PR) instead
  of `failure`, mirroring fleet_dispatch's resume ethos. Only a clean session
  opens the draft PR.
- Diagnosability: persist the redacted session transcript per run and record
  the session's final_message + transcript path on every terminal outcome, so
  a failure is traceable after the worktree is gone.
- Default `--max-turns` 40 → 60: a cap too low is indistinguishable from a real
  failure (the first live run hit 30 and exited is_error); a small issue already
  needs ~30 turns. `--max-budget-usd` stays the real backstop.
- Add the `mycoder` console-script entry point (was `python -m mycoder` only).
- Review fixes: transcripts co-locate with the ledger (not the invoking CWD,
  which is often the target checkout); reconcile the documented head branch
  name with the code (`mycoder/<repo>-<issue>`).

24 tests, 97% coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@lorenzoliuzzo
lorenzoliuzzo merged commit 2285760 into main Jul 18, 2026
2 checks passed
@lorenzoliuzzo
lorenzoliuzzo deleted the improve-mycoder-v0.1 branch July 18, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant