Skip to content

Update Meridian Codex Changelog #8

Update Meridian Codex Changelog

Update Meridian Codex Changelog #8

Workflow file for this run

name: Update Meridian Codex Changelog
on:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
jobs:
update-changelog:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Collect recent changes
id: changes
run: |
SINCE_DATE=$(date -d '7 days ago' '+%Y-%m-%d' 2>/dev/null || date -v-7d '+%Y-%m-%d')
echo "since_date=$SINCE_DATE" >> $GITHUB_OUTPUT
echo "today=$(date '+%Y-%m-%d')" >> $GITHUB_OUTPUT
RECENT_CHANGES=$(git log --since="$SINCE_DATE" --pretty=format:"- **%ad**: %s" --date=short -- '*.mdx' '*.md' 2>/dev/null || echo "No changes found")
CHANGED_FILES=$(git log --since="$SINCE_DATE" --name-only --pretty=format:"" -- '*.mdx' '*.md' | sort -u | grep -v '^$' || echo "None")
echo "recent_changes<<EOF" >> $GITHUB_OUTPUT
echo "$RECENT_CHANGES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "changed_files<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGED_FILES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- name: Generate changelog entry with Claude
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
settings: |
{
"permissions": {
"allow": [
"Edit",
"MultiEdit",
"Write",
"Read"
]
}
}
prompt: |
You are maintaining the changelog for the Meridian Codex, a soul document for sentient life hosted at meridiancodex.com.
Here are the commits from the last 7 days (since ${{ steps.changes.outputs.since_date }}):
${{ steps.changes.outputs.recent_changes }}
Files that were modified:
${{ steps.changes.outputs.changed_files }}
Please read the current changelog file if it exists (changelog.mdx in the repo root), and ADD a new entry at the top, below the frontmatter header.
Rules for the changelog entry:
1. Date header: Use format "## Week of [date]"
2. Focus on SUBSTANTIVE changes only. Ignore typo fixes, formatting tweaks, minor wording adjustments.
3. For each substantive change, write 1-2 sentences explaining WHAT changed and WHY it matters in the context of the Codex mission.
4. Use language consistent with the Codex: precise, clear, no jargon, no hype.
5. Group changes by section of the Codex (e.g., "The Meridian Standard", "The Foundation", "The Toolkit").
6. If there are no substantive changes this week, write: "No substantive updates this week. The Codex holds steady."
7. Do NOT remove or modify any existing entries in the changelog.
If the changelog.mdx file does not exist yet, create it with this frontmatter at the top:
---
title: 'Changelog'
description: 'The evolution of the Meridian Codex, documented.'
---
The Meridian Codex is a living document. It evolves as understanding deepens, as tools are refined, and as the partnership between human and artificial minds matures. This page documents that evolution.
Each entry records what changed and why. Not every commit appears here. Only the substantive shifts that reflect the Codex growing into what it needs to become.
---
Then add the first weekly entry below.
claude_args: "--max-turns 10"
- name: Commit changelog update
run: |
git config --local user.email "codex-changelog[bot]@meridiancodex.com"
git config --local user.name "Meridian Codex Changelog"
if git diff --quiet && git diff --cached --quiet; then
echo "No changelog changes to commit."
else
git add changelog.mdx
git commit -m "docs(changelog): weekly update for ${{ steps.changes.outputs.today }}"
git push
fi