• Three real self-hosting fixes (log content never written, skill detail
    page missing real content, artifact list not clickable), two design
    questions set aside per user's request (unified Planner-driven work graph
    across all org agents, loop visualization on the graph), three bugs left
    for a future batch, and two infrastructure bugs found and fixed along the
    way (manual_resume not actually continuing execution for most block
    reasons, run_goal_to_completion crashing instead of blocking on unrouted
    exceptions). Also upgrades the RollbackPathBFailureTest flakiness note --
    three independent real sessions have now hit it.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »

  • Second real self-fix (after order 2) -- 12 skills migrated verbatim from
    ~/.hermes/profiles/, Validator caught and redacted a leaked Feishu API
    token in 3 of them via byte-diff against source. Also records two
    operational lessons from actually running it (a real network blip, and my
    own mistake killing a daemon thread by running it from a one-shot script)
    and a flaky supervisor test failure that didn't reproduce on independent
    recheck.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »
  • Unlike order 1 (fixed by editing code directly), this one was resolved by
    actually running graphlemon's own Planner->Coder->Validator loop against
    its own repo (task 43dc7333, see 3bebe3b onward) -- the first real
    self-fix demonstration this doc's task list produced.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »
  • check_canary_task() creates a real project + task through the candidate's
    own HTTP API to verify the write path works, but only ever cleaned up its
    throwaway git directory -- the DB rows it created via the API were never
    removed. Every real health check permanently grew whatever DB the candidate
    was using by one dead project (pointing at an already-deleted temp dir) and
    one task stuck at 'queued' forever.
    
    Found by inspecting the real ~/.graphlemon/graphlemon.db, which had 5 such
    leaked 'deploy-canary' projects from earlier real health-check runs (now
    archived by hand). Fix: archive the created project in a finally block that
    covers every return path, including task-creation/verification failures
    where only the project (not the task) got created. Best-effort -- the
    archive call failing must not override the real check result.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »

  • New target projects never got .claude/agents/*.md deployed, so their first
    Planner call always failed immediately (claude --agent planner finds nothing
    in cwd) -- self-target usage never noticed since those files are already
    committed as part of this repo. create_project() now deploys and commits
    them alongside the existing .graphlemon/ init commit.
    
    Also: unroutable execution failures were recorded as a bare
    blocked_reason='execution_error' with no way to see what actually broke.
    scheduler._block_task()/task_execution._mark_blocked() now persist the real
    exception message into execution_event.payload (blocked_reason itself is
    unchanged -- budget_guardrail matches its exact value elsewhere).
    
    Found via a real console Start-button failure on a freshly created project;
    see docs/implementation-gap-analysis.md for the full writeup.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »