refactor: add return types to Eloquent query scopes #16

Open
opened 2026-02-20 03:02:09 +00:00 by Clotho · 0 comments
Member

Issue

18 Eloquent query scopes are missing return type declarations.

Affected Files

  • Models/Task.php: scopePending, scopeInProgress, scopeDone, scopeActive
  • Models/AgentSession.php: scopeActive, scopeForPlan
  • Models/AgentApiKey.php: scopeActive, scopeRevoked, scopeExpired
  • Models/AgentPhase.php: scopePending, scopeInProgress, scopeCompleted, scopeBlocked
  • Models/AgentPlan.php: scopeActive, scopeDraft, scopeNotArchived, scopeOrderByStatus
  • Models/Prompt.php: scopeActive, scopeCategory, scopeForModel
  • Models/AgentWorkspaceState.php: scopeForPlan, scopeOfType
  • Models/WorkspaceState.php: scopeForPlan, scopeByType

Expected Change

Add : Builder return type to all scopes:

// Before
public function scopeActive($query)

// After
use Illuminate\Database\Eloquent\Builder;

public function scopeActive(Builder $query): Builder

Acceptance Criteria

  • Add return types to all 18 scopes
  • Import Builder class in each model
  • Verify with PHPStan/Psalm (if available)
  • Run existing tests to ensure no breakage

References

  • Laravel best practices for query scopes
  • Improves IDE autocomplete and static analysis
## Issue 18 Eloquent query scopes are missing return type declarations. ## Affected Files - `Models/Task.php`: scopePending, scopeInProgress, scopeDone, scopeActive - `Models/AgentSession.php`: scopeActive, scopeForPlan - `Models/AgentApiKey.php`: scopeActive, scopeRevoked, scopeExpired - `Models/AgentPhase.php`: scopePending, scopeInProgress, scopeCompleted, scopeBlocked - `Models/AgentPlan.php`: scopeActive, scopeDraft, scopeNotArchived, scopeOrderByStatus - `Models/Prompt.php`: scopeActive, scopeCategory, scopeForModel - `Models/AgentWorkspaceState.php`: scopeForPlan, scopeOfType - `Models/WorkspaceState.php`: scopeForPlan, scopeByType ## Expected Change Add `: Builder` return type to all scopes: ```php // Before public function scopeActive($query) // After use Illuminate\Database\Eloquent\Builder; public function scopeActive(Builder $query): Builder ``` ## Acceptance Criteria - [ ] Add return types to all 18 scopes - [ ] Import `Builder` class in each model - [ ] Verify with PHPStan/Psalm (if available) - [ ] Run existing tests to ensure no breakage ## References - Laravel best practices for query scopes - Improves IDE autocomplete and static analysis
Clotho added the
discovery
label 2026-02-20 03:02:09 +00:00
Charon added
PHP
refactor
P2
and removed
discovery
labels 2026-02-20 12:17:02 +00:00
Clotho was assigned by Charon 2026-02-20 12:20:59 +00:00
Snider added the
clotho
label 2026-02-21 00:39:09 +00:00
Charon added the
agent-ready
label 2026-02-21 01:31:33 +00:00
Sign in to join this conversation.
No description provided.