Skip to content

fix(runner): resolve issue pickup and decomposition failures#19

Merged
unohee merged 3 commits intomainfrom
feature/int-1088-trace-collector
Mar 8, 2026
Merged

fix(runner): resolve issue pickup and decomposition failures#19
unohee merged 3 commits intomainfrom
feature/int-1088-trace-collector

Conversation

@unohee
Copy link
Collaborator

@unohee unohee commented Mar 8, 2026

Summary

  • Fix daily decomposition counter never resetting during long-running service (in-memory cache bypassed date check)
  • Remove autoBacklog on daily limit that permanently excluded tasks from heartbeat pickup
  • Fix Discord !auto start path missing state field, enableDecomposition, maxConcurrentTasks, and worktreeMode
  • Improve fetchLinearTasks error handling with distinct error reporting vs empty backlog

Changes

  • src/automation/runnerState.ts — Add resetDailyCounterIfNeeded() called on every getDailyCreationCount()
  • src/automation/runnerExecution.ts — Remove Backlog move on daily limit; return {tasks, error?} from fetch
  • src/automation/autonomousRunner.ts — Handle fetch errors distinctly; remove dead legacy code
  • src/discord/discordHandlers.ts — Add missing state field and config to Discord auto start

Related Issues

  • INT-1088

🤖 Generated with Claude Code

Heewon Oh and others added 3 commits March 8, 2026 00:10
- Enhance auditor.test.ts: +11 tests for internal function coverage
- Enhance cliStreamParser.test.ts: +16 tests for advanced stream processing
- Enhance documenter.test.ts: +12 tests for internal function coverage
- All agent module tests now passing: 274 total tests
- Test execution time: <500ms per file, all complete in <4s
- Coverage improvements for auditor, documenter, cliStreamParser modules
- Remove unused PairSession and PairSessionStatus types from agentPair.test.ts
- Remove unused AgentMessage type from agentBus.test.ts
- Remove unused result variable in cliStreamParser.test.ts
- Fix daily decomposition counter never resetting in long-running service.
  ensureDecompositionStateLoaded() only checked date on initial disk load;
  added resetDailyCounterIfNeeded() that runs on every getDailyCreationCount() call.

- Remove autoBacklog on daily limit in decomposeTask(). Moving tasks to
  Backlog permanently excluded them from future heartbeats since
  heartbeatParallel filters out Backlog tasks. Daily limit resets naturally,
  so just skip decomposition and fall through to direct execution.

- Fix Discord path missing state field in linearIssueToTask(). Without
  linearState, filterAlreadyProcessed recovery logic could not match
  recoverableStates. Also add missing enableDecomposition, maxConcurrentTasks,
  and worktreeMode config to Discord !auto start.

- Improve fetchLinearTasks error handling. Previously returned empty array
  on API failure, indistinguishable from empty backlog. Now returns
  {tasks, error?} with consecutive failure tracking and Discord alerts.

- Remove dead legacy executeTask/handleDecision code to stay under 1000-line limit.

Refs: INT-1088

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@unohee unohee merged commit e8a452c into main Mar 8, 2026
9 of 11 checks passed
@unohee unohee deleted the feature/int-1088-trace-collector branch March 8, 2026 23:57
unohee added a commit that referenced this pull request Mar 9, 2026
fix(runner): resolve issue pickup and decomposition failures
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