0a3c1bdd0f
- Fired 33 parallel explore agents across all major directories
- Analyzed 1164 TS files, 133k LOC, 41 hooks, 26 tools, 11 agents, 18 features
- Regenerated 13 AGENTS.md files with 905 total lines
- Root: plugin architecture, initialization flow, 7 OpenCode hook handlers
- src/: entry point orchestration, hook composition pipeline
- agents/: 11 agent inventory with tool restrictions and factory patterns
- hooks/: 41 hooks organized by 5 tiers, key complex hooks documented
- tools/: 26 tools across 14 directories, delegation categories
- features/: 18 modules mapped by complexity (HIGH/MEDIUM/LOW)
- shared/: 101 utilities in 13 categories, model resolution pipeline
- config/: 22 schema files, Zod v4 validation system
- cli/: 5 commands, doctor checks, model fallback system
- mcp/: 3-tier MCP system architecture
- plugin-handlers/: 6-phase config loading pipeline
- claude-code-hooks/: CC settings.json compatibility layer
- claude-tasks/: task schema + file-based persistence
🤖 Generated with assistance of oh-my-opencode
1.4 KiB
1.4 KiB
src/features/claude-tasks/ — Task Schema + Storage
Generated: 2026-02-17
OVERVIEW
4 non-test files (~622 LOC). File-based task persistence with atomic writes, locking, and OpenCode todo API sync.
TASK SCHEMA
interface Task {
id: string // T-{uuid} auto-generated
subject: string // Short title
description?: string // Detailed description
status: "pending" | "in_progress" | "completed" | "deleted"
activeForm?: string // Current form/template
blocks?: string[] // Tasks this blocks
blockedBy?: string[] // Tasks blocking this
owner?: string // Agent/session
metadata?: Record<string, unknown>
repoURL?: string // Associated repository
parentID?: string // Parent task ID
threadID?: string // Session ID (auto-recorded)
}
FILES
| File | Purpose |
|---|---|
types.ts |
Task interface + status types |
storage.ts |
readJsonSafe(), writeJsonAtomic(), acquireLock(), generateTaskId() |
session-storage.ts |
Per-session task storage, threadID auto-recording |
index.ts |
Barrel exports |
STORAGE
- Location:
.sisyphus/tasks/directory - Format: JSON files, one per task
- Atomic writes: temp file → rename
- Locking: file-based lock for concurrent access
- Sync: Changes pushed to OpenCode Todo API after each update