Commit Graph

2 Commits

Author SHA1 Message Date
6c03be54f3 feat(gitea): add diff-based updates and size delta gating to coder role
Enhancements:
- Added apply_diff() method for unified diff-based file updates
- Added commit_changes() with size delta quality gate (default 50%)
- Size delta gate blocks commits that exceed threshold to prevent data loss
- Auto-detects create vs replace operations
- Generates contextual commit messages from diffs
- Added _apply_unified_diff() helper for parsing and applying patches
- Added _generate_diff_commit_message() for auto-generating commit messages

Quality Gates:
- Files exceeding max_delta_percent (default 50%) are rejected
- Returns helpful guidance to use apply_diff() instead
- Prevents LLM accidental full file replacements

Refs: #11
2026-01-17 14:28:56 +00:00
11a19eb578 feat(gitea): implement gitea_coder role with scope enforcement
Implements the gitea_coder role with full file/branch operations and commit message generation.

Features:
- Branch creation with scope gating (prevents main pushes)
- Enforces branch naming conventions (feature/, fix/, refactor/, etc.)
- Generates detailed commit messages with ticket references
- Creates PRs from branches
- Reads ticket requirements from issues
- Unified file operations workflow

Technical:
- Uses existing gitea/dev.py operations
- Validates branch names against scope patterns
- Auto-generates commit messages with issue references
- Caches default branch per chat_id for session persistence

Refs: #11
2026-01-17 14:11:06 +00:00