Skip to content

Wire C# build verification into execution pipeline#20

Open
JMRussas wants to merge 3 commits intomainfrom
feature/csharp-build-verify
Open

Wire C# build verification into execution pipeline#20
JMRussas wants to merge 3 commits intomainfrom
feature/csharp-build-verify

Conversation

@JMRussas
Copy link
Copy Markdown
Owner

@JMRussas JMRussas commented Mar 6, 2026

Summary

  • verify_csharp_build() existed in task_lifecycle.py but was never called — assembly tasks completed without build checks
  • Decomposer now injects csproj_path from project config into assembly task context
  • New _run_csharp_build_verification() helper runs after task completion in both execute_task() and complete_task_external() paths
  • On build failure: task resets to PENDING with compiler errors as context feedback for retry
  • Config: execution.csharp_build_verify (default true)

Test plan

  • python -m ruff check — clean
  • 6 new tests in test_csharp_build_hook.py — all pass
  • python -m pytest tests/ -m "not slow" — 785 passed, 0 failed
  • CI passes

Generated by Claude Code · Claude Opus 4.6

JMRussas and others added 2 commits March 6, 2026 02:27
verify_csharp_build() existed but was never called. Now assembly tasks
automatically trigger dotnet build after completion — on failure, the
task resets to PENDING with compiler errors injected as context feedback.

- Decomposer injects csproj_path from project config into assembly task context
- _run_csharp_build_verification() helper handles both internal and external paths
- Config: execution.csharp_build_verify (default true)
- 6 new tests covering success/failure/skip/config scenarios

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Self-review fix: when build verification resets an externally-claimed
task to PENDING, clear the claim fields so any executor can pick it up
immediately rather than waiting for stale claim recovery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JMRussas
Copy link
Copy Markdown
Owner Author

JMRussas commented Mar 6, 2026

Self-review defect found and fixed (28b034b):

Defect: When build verification fails, the task is reset to PENDING but /\ were not cleared. An externally-claimed task would sit in a claimed-but-PENDING state until stale claim recovery kicked in (~1 hour).

Fix: Added \ to the UPDATE statement in .

Why the original was wrong: The reset path was modeled after internal task retries (which don't have claims), not external task retries.

Reflects tests added in recent PRs: stale claims (4), C# build hook (6),
and others merged since the count was last updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Owner Author

@JMRussas JMRussas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Core logic is correct. Note: build error feedback accumulates in context_json with no cap — after 5+ retries the context blob bloats. Consider limiting to last N entries.

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