-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Labels
automationcleanupcode-qualitycookieIssue Monster Loves Cookies!Issue Monster Loves Cookies!schematask-mining
Description
Description
The main workflow schema defines both timeout-minutes (kebab-case, GitHub Actions standard) and timeout_minutes (snake_case) as separate top-level properties. This creates schema pollution and potential user confusion.
Current State
Schema location: pkg/parser/schemas/main_workflow_schema.json
Both fields are defined:
timeout-minutes✅ (GitHub Actions standard)timeout_minutes❌ (legacy/backwards compatibility)
Runtime behavior: pkg/workflow/compiler_orchestrator_workflow.go:149-151
- Runtime handles both field names for backwards compatibility
- No functional issue, but schema should reflect the preferred API
Suggested Changes
- Remove
timeout_minutesfrom schema (keep onlytimeout-minutes) - Keep runtime backwards compatibility - continue supporting both names in code
- Document the dual support - Add migration note if needed
Files Affected
pkg/parser/schemas/main_workflow_schema.json(removetimeout_minutesproperty definition)
Success Criteria
- Schema contains only
timeout-minutesfield - Runtime continues to accept both field names (no breaking change)
- Schema validation passes:
make build && make test-unit - Documentation updated if backwards compatibility needs to be documented
Source
Extracted from Schema Consistency: Runtime Behavior vs Schema Contracts - Jan 29, 2026
Specific finding:
Dual Field Names:
timeout-minutesvstimeout_minutes⚠️
- Impact: HIGH - Schema pollution and potential confusion
- Schema defines BOTH fields as separate properties
- Runtime handles both for backwards compatibility
- Recommendation: Remove
timeout_minutesfrom schema, keep runtime support
Priority
Medium - Improves schema clarity and prevents user confusion, but no functional breakage currently.
AI generated by Discussion Task Miner - Code Quality Improvement Agent
- expires on Feb 7, 2026, 1:28 AM UTC
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
automationcleanupcode-qualitycookieIssue Monster Loves Cookies!Issue Monster Loves Cookies!schematask-mining