Commit 5eb1b579a624d18f01e929af309915bd8f5a3a64

Authored by graphlemon
1 parent 2a3b248d

graphlemon: sdd artifact for task 911861fe-446a-4bab-8b69-b4872b92d616

.graphlemon/runs/911861fe-446a-4bab-8b69-b4872b92d616/sdd.md 0 → 100644
  1 +The graphlemon Work Node (planner) workflow completed. It produced an SDD for the goal "修复 supervisor/deploy_stage.py 并发部署冲突缺少互斥锁的问题":
  2 +
  3 +- Problem: stage_deployment() only checks the last finalized deployment, not whether one is currently in-flight, so concurrent self-target deploys can race.
  4 +- Fix design: catch the sqlite3.IntegrityError from the existing ux_deployment_active partial unique index and translate it into a new named ConcurrentDeploymentError (carrying git_commit_hash, blocking_deployment_id, blocking_status) instead of letting the raw sqlite error leak out.
  5 +- Scope: only supervisor/deploy_stage.py (new exception class + one try/except) and supervisor/test_deploy_stage.py (tighten one existing test, add two regression tests for the rolled_back / blocked_pending_human terminal-state pass-through paths). No schema change, no new dependency, no app-level locking.
  6 +
  7 +git status in this worktree remains clean — the planner returned the SDD as its structured result rather than writing/committing it itself, consistent with graphlemon's artifact-commit flow happening at the orchestration layer. No further action taken; let me know if you want the full SDD text or want to proceed to the Coder step.
0 8 \ No newline at end of file
... ...