Update Meridian Codex Changelog #8
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |