Skip to content

Commit d1b2eb4

Browse files
Oliver Baerclaude
andcommitted
fix: sort letter files by number, not alphabetically
letter_example.md was being selected over letter_03.md because alphabetic sort puts 'e' > '0'. Now only matches letter_XX.md pattern and sorts numerically. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ea81c8a commit d1b2eb4

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

.github/scripts/blog_gen.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,20 +156,27 @@ def show_config_status():
156156

157157
def get_latest_memory_file():
158158
"""Find the most recent letter file in .memory/"""
159+
import re
159160
memory_dir = Path(os.path.abspath('.memory'))
160161

161162
if not memory_dir.exists():
162163
print("❌ .memory/ directory not found")
163164
sys.exit(1)
164165

165-
# Find all letter_*.md files
166-
letter_files = sorted(memory_dir.glob('letter_*.md'), reverse=True)
166+
# Find all letter_XX.md files (numbered only, not letter_example.md)
167+
letter_files = []
168+
for f in memory_dir.glob('letter_*.md'):
169+
match = re.match(r'letter_(\d+)\.md$', f.name)
170+
if match:
171+
letter_files.append((int(match.group(1)), f))
167172

168173
if not letter_files:
169-
print("❌ No letter files found in .memory/")
174+
print("❌ No numbered letter files found in .memory/")
170175
sys.exit(1)
171176

172-
return letter_files[0]
177+
# Sort by number descending, return highest
178+
letter_files.sort(key=lambda x: x[0], reverse=True)
179+
return letter_files[0][1]
173180

174181

175182
def generate_blog_post(memory_content: str) -> str:

0 commit comments

Comments
 (0)