# sorter-spores.md
# task-class: sorter
# scion-model: haiku-4.5
# token-budget: 600
# last-updated: 2026-03-24

---
spore: audio-route
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: move audio files to ToBuild/music/
trigger: PreToolUse · tool=Write · file_path in DumperCan · ext in .mp3 .flac .wav .ogg .aac
on-match: allow
on-novel: escalate to parent

---
spore: video-route
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: move video files to ToBuild/videos/
trigger: PreToolUse · tool=Write · file_path in DumperCan · ext in .mp4 .mov .webm .mkv
on-match: allow
on-novel: escalate to parent

---
spore: image-route
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: move image files to ToBuild/images/
trigger: PreToolUse · tool=Write · file_path in DumperCan · ext in .jpg .jpeg .png .webp .gif .svg
on-match: allow
on-novel: escalate to parent

---
spore: writing-md-route
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: move .md files to ToBuild/writings/ using filename for sub-classification
trigger: PreToolUse · tool=Write · file_path in DumperCan · ext .md · not playlist or watchlist
on-match: allow
on-novel: escalate to parent

---
spore: playlist-route
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: move playlist files to ToBuild/playlists/
trigger: PreToolUse · tool=Write · file_path in DumperCan · filename contains playlist or .csv
on-match: allow
on-novel: escalate to parent

---
spore: large-file-block
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: hooks/large-file-guard.py
---
policy: block any file >1MB from entering ToBuild; log to DumperCan/oversized/
trigger: PreToolUse · tool=Write · file_size > 1MB
on-match: deny
on-novel: escalate to parent

---
spore: ambiguous-escalate
task-class: sorter
scion-model: haiku-4.5
deposited: 2026-03-24
hook: nil
---
policy: escalate files with no clear section match rather than guess
trigger: PreToolUse · tool=Write · file_path in DumperCan · no routing rule matched
on-match: escalate
on-novel: escalate to parent
