-
Notifications
You must be signed in to change notification settings - Fork 43
Description
Description
The compiler_yaml.go file contains hardcoded magic values (file paths, size limits, constants) that should be extracted to a centralized constants package. This makes the code harder to maintain and creates inconsistencies when the same values are used across multiple files.
Problems Identified
Hardcoded Values Found:
-
File Paths:
/tmp/gh-aw/aw-prompts/prompt.txt(line 257) - appears multiple times- Should be in
PathConstants
-
Size Limits:
maxPatchSize := 1024 // default 1024 KB(line 298) - should be constant- Should be
DefaultMaxPatchSize = 1024
-
Other Magic Values:
- Step IDs and output names scattered throughout
- Should be defined as constants for easy reference
Impact
- Maintainability: Must search for all occurrences to change values
- Consistency: Risk of different values in different locations
- Documentation: Hard to find canonical values
- Type Safety: Strings/ints don't convey semantic meaning
Suggested Changes
1. Create centralized constants in pkg/constants/paths.go:
const (
PromptFilePath = "/tmp/gh-aw/aw-prompts/prompt.txt"
DefaultMaxPatchSize = 1024 // KB
)2. Replace hardcoded values in compiler_yaml.go:
// Before:
maxPatchSize := 1024
// After:
maxPatchSize := constants.DefaultMaxPatchSize3. Extract step IDs and output names (if applicable):
const (
SetupStepID = "setup"
AgentStepID = "agent"
// ... etc
)Files Affected
pkg/workflow/compiler_yaml.go- Replace hardcoded valuespkg/constants/paths.go(new) - Or add to existing constants file- Other files using same constants - Update imports
Success Criteria
- All magic values in
compiler_yaml.goextracted to constants - Constants defined with semantic type aliases where appropriate
- All references updated to use constants
- No hardcoded file paths or size limits remaining
- All tests pass without modification
- Documentation updated if constants are user-configurable
Source
Extracted from Daily Compiler Code Quality Report - 2026-01-30
Finding: Issue #2 - Hardcoded Magic Values (Low Priority)
Priority
Low-Medium - Improves code maintainability and reduces technical debt, but not blocking functionality.
Estimated Effort
1-2 hours (extraction + testing)
AI generated by Discussion Task Miner - Code Quality Improvement Agent
- expires on Feb 13, 2026, 5:22 AM UTC