Logo white

宜博 / lemongraph

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 341
  • Compare
  • Branches 1
  • Tags 0
  • lemongraph
06 Aug, 2026
18 commits
  • graphlemon: merge 39efb231-d574-446d-813d-9eabd50b5981
    01173527
    graphlemon authored
    2026-08-06 01:29:42 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 39efb231-d574-446d-813d-9eabd50b5981
    13a4350b
    graphlemon authored
    2026-08-06 01:29:42 +0800  
    Browse Code »
  • graphlemon: benchmark artifact for task 3605272e-fe33-48cc-b3f3-e0c0ba26f970
    9334f8d6
    graphlemon authored
    2026-08-06 01:19:14 +0800  
    Browse Code »
  • graphlemon: sdd artifact for task 3605272e-fe33-48cc-b3f3-e0c0ba26f970
    ddb7ff69
    graphlemon authored
    2026-08-06 01:19:14 +0800  
    Browse Code »
  • graphlemon: prd artifact for task 3605272e-fe33-48cc-b3f3-e0c0ba26f970
    f9773353
    graphlemon authored
    2026-08-06 01:19:14 +0800  
    Browse Code »
  • graphlemon: brd artifact for task 3605272e-fe33-48cc-b3f3-e0c0ba26f970
    8b835b11
    graphlemon authored
    2026-08-06 01:19:14 +0800  
    Browse Code »
  • Validator/Planner skills: require real-state verification for cross-task data dependencies ...
    d7035fc5
    Real incident (2026-08-06): the skill-content migration task and the skill
    detail page bug fix were two separate tasks. Neither was asked to verify
    that migrated content is actually reachable through the DB-backed lookup
    the detail page uses. Both passed their own tests cleanly -- because both
    only ever exercised the mechanism against seeded/mocked fixture data, never
    checked whether the real producer's real output actually exists in the
    real system. The result: the skill detail page returned "not found" for
    all 12 real migrated skills, and nobody caught it until a human clicked
    through the real console.
    
    qa-task-validation (§8): passing unit tests against seeded fixtures proves
    the mechanism is correct given valid input -- it does not prove that input
    exists for real. When a feature reads data another task/process was
    supposed to have already written, Validator must independently query the
    real running system against a real (not newly-created) object.
    
    project-sdd-planning (§10): when a task's acceptance depends on another
    task's real output, the Benchmark must name a real, specific object as the
    acceptance anchor, not just describe the mechanism.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
    2026-08-06 01:17:26 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 90c6ca9d-21eb-4678-ab12-2e2f5bd0… ...
    8646516e
    …11fd-main-checkout-drift
    graphlemon authored
    2026-08-06 00:59:22 +0800  
    Browse Code »
  • graphlemon: test_report artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    bd13bd26
    graphlemon authored
    2026-08-06 00:46:27 +0800  
    Browse Code »
  • graphlemon: code_diff artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    be5c3990
    graphlemon authored
    2026-08-06 00:46:27 +0800  
    Browse Code »
  • graphlemon: merge 6299a5c5-5359-4017-af00-19ab432484c6
    fb1ff76d
    graphlemon authored
    2026-08-06 00:46:27 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 6299a5c5-5359-4017-af00-19ab432484c6
    7073e204
    graphlemon authored
    2026-08-06 00:46:27 +0800  
    Browse Code »
  • graphlemon: benchmark artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    70f23ac9
    graphlemon authored
    2026-08-06 00:35:58 +0800  
    Browse Code »
  • graphlemon: sdd artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    3837cc73
    graphlemon authored
    2026-08-06 00:35:58 +0800  
    Browse Code »
  • graphlemon: prd artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    7130290d
    graphlemon authored
    2026-08-06 00:35:58 +0800  
    Browse Code »
  • graphlemon: brd artifact for task 837fc183-f87f-41d9-8bc9-6262d7172834
    97faa2d9
    graphlemon authored
    2026-08-06 00:35:58 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 81700b35-ea5b-4718-9846-4ff0f924… ...
    38b95420
    …c231-main-checkout-drift
    graphlemon authored
    2026-08-06 00:20:43 +0800  
    Browse Code »
  • deploy_rollback: stop leaking the revived process on every rollback_path_b failure ...
    147be052
    _launch_candidate() spawns a real `python -m src.backend_server` process
    (`revived`) to re-verify the previous version during a post-cutover
    rollback. On the success path it's correctly left running -- it IS the new
    Live. But on every failure path (never bound live_port, failed
    re-verification, git revert conflict) nothing ever terminated it -- found
    via 31 accumulated orphaned processes on this machine, one per failed
    rollback_path_b call across many real test runs this session.
    
    This is also the likely cause of RollbackPathBFailureTest's own reported
    non-determinism (three independent real Validator sessions saw it fail,
    never reproduced manually): a leaked process from an earlier failed run
    can still be squatting on the port a later run's _find_free_port() picks,
    producing a false "alive" health-check reading.
    
    Fix: call deploy_cutover._stop_process(revived.pid) in both failure
    branches before raising, mirroring the pattern cutover() already uses for
    its own stop_timeout-bounded process teardown. Also fixes
    RollbackPathBHappyPathTest's own matching leak (it re-appended bad_live.pid
    a second time instead of tracking the actual revived process, a
    copy-paste bug, not real cleanup) by capturing the real pid via a thin
    _launch_candidate wrapper.
    
    31 pre-existing orphaned processes killed by hand; verified 5 repeated
    test runs after the fix leak zero new ones.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
    2026-08-06 00:01:27 +0800  
    Browse Code »

05 Aug, 2026
12 commits
  • Validator memory: RollbackPathBFailureTest pre-existing failure note ...
    701f6137
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
    2026-08-05 23:40:33 +0800  
    Browse Code »
  • gap-analysis doc: record the UI bug batch (log viewer, skill detail, artifact click-through) ...
    630efa88
    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
    2026-08-05 23:40:01 +0800  
    Browse Code »
  • graphlemon: test_report artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    f9c2e854
    graphlemon authored
    2026-08-05 13:28:11 +0800  
    Browse Code »
  • graphlemon: code_diff artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    bb18746d
    graphlemon authored
    2026-08-05 13:28:11 +0800  
    Browse Code »
  • graphlemon: merge daef8910-e6a7-4060-babd-dd736e6f1a79
    db695706
    graphlemon authored
    2026-08-05 13:28:11 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for daef8910-e6a7-4060-babd-dd736e6f… ...
    21cb6e11
    …1a79-main-checkout-drift
    graphlemon authored
    2026-08-05 13:28:11 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for daef8910-e6a7-4060-babd-dd736e6f1a79
    a20bf508
    graphlemon authored
    2026-08-05 13:28:11 +0800  
    Browse Code »
  • graphlemon: benchmark artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    7674e4eb
    graphlemon authored
    2026-08-05 13:21:21 +0800  
    Browse Code »
  • graphlemon: sdd artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    d4105e15
    graphlemon authored
    2026-08-05 13:21:21 +0800  
    Browse Code »
  • graphlemon: prd artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    8e5b231d
    graphlemon authored
    2026-08-05 13:21:21 +0800  
    Browse Code »
  • graphlemon: brd artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35
    f16199bf
    graphlemon authored
    2026-08-05 13:21:21 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 33e0266c-d2ec-4982-9128-afd2d36a… ...
    af0f26b0
    …ea4d-main-checkout-drift
    graphlemon authored
    2026-08-05 12:58:58 +0800  
    Browse Code »

04 Aug, 2026
10 commits
  • graphlemon: test_report artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    9eb4ef96
    graphlemon authored
    2026-08-04 18:05:36 +0800  
    Browse Code »
  • graphlemon: code_diff artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    ed8e8e0d
    graphlemon authored
    2026-08-04 18:05:36 +0800  
    Browse Code »
  • graphlemon: merge 0ca7767c-6666-4094-bac1-2bd7829dc501
    bc3e7f6a
    graphlemon authored
    2026-08-04 18:05:36 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for 0ca7767c-6666-4094-bac1-2bd7829dc501
    e5f6315d
    graphlemon authored
    2026-08-04 18:05:36 +0800  
    Browse Code »
  • graphlemon: benchmark artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    b14d3848
    graphlemon authored
    2026-08-04 17:56:49 +0800  
    Browse Code »
  • graphlemon: sdd artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    4b6373b9
    graphlemon authored
    2026-08-04 17:56:49 +0800  
    Browse Code »
  • graphlemon: prd artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    f5976373
    graphlemon authored
    2026-08-04 17:56:48 +0800  
    Browse Code »
  • graphlemon: brd artifact for task 773a7a08-b295-4ba3-b506-196a21403d8b
    babc58d3
    graphlemon authored
    2026-08-04 17:56:48 +0800  
    Browse Code »
  • graphlemon: auto-commit uncommitted changes for fdbf3122-5ab9-4d14-81c1-e1b8ed7f… ...
    0d7a045a
    …d9ae-main-checkout-drift
    graphlemon authored
    2026-08-04 17:44:22 +0800  
    Browse Code »
  • run_goal_to_completion: any unrouted exception now blocks the task, doesn't just crash ...
    a9c0f8bb
    Found for real: a work_graph_execute.WorkGraphExecuteError ("API Error:
    Response stalled mid-stream") wasn't in _ROUTABLE_EXCEPTIONS, so it
    propagated uncaught and crashed the calling process entirely -- leaving the
    task neither running nor blocked_pending_human, just stuck with
    blocked_reason=NULL. run_scheduler_once's own try/except only protects
    OTHER goals in the same batch from one goal's failure; it never applied the
    task-level blocked_pending_human consequence either.
    
    Add a catch-all mirroring task_execution._mark_blocked's existing fallback
    for its own (Start-button) entry point, so both ways of running a task now
    guarantee it always lands on a real terminal-ish status with the real error
    message persisted, never a caller-crashes-and-the-task-is-just-stuck outcome
    nothing can manual_resume from.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
    2026-08-04 17:33:53 +0800  
    Browse Code »