- Add STRUCTURED style that outputs each category on separate lines
- Fix '3d' token stripping - only strip booru patterns (1girl, 2boys)
- Increase max_tokens_per_category to 50 (was 5)
- Increase validator limits to preserve more information
- Preserve newlines throughout validation pipeline
- Disable truncation and duplicate removal by default
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds the assembler module that converts classified tokens into natural
language prompts:
- base.py: AssemblerConfig, AssembledPrompt, CategorySection classes
- rules.py: Phrase templates, gender detection, grammar helpers
- standard.py: StandardAssembler with NATURAL/TAGS/HYBRID styles
The assembler takes ClassifiedImage from Phase 3 and produces prompts
following the canonical category order.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>