The post said an agent cannot get an account. It can now #360
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: Deploy Jekyll site to Pages | |
| # Builds the site on GitHub Actions runners (fast, no 10-minute legacy build | |
| # timeout) using the official jekyll-build-pages action, which ships the same | |
| # github-pages gem the site already relied on -- so no repo Gemfile is needed. | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| # Daily rebuild so future-dated (scheduled) posts publish on their date even | |
| # when nothing is pushed that day. 12:10 UTC — just after the noon-UTC | |
| # timestamps the scheduled posts carry. | |
| schedule: | |
| - cron: "10 12 * * *" | |
| # Allow the deploy job to publish to Pages. | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Allow one concurrent deployment; don't cancel an in-progress production run. | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Pages | |
| id: pages | |
| uses: actions/configure-pages@v5 | |
| - name: Build with Jekyll | |
| uses: actions/jekyll-build-pages@v1 | |
| with: | |
| source: ./ | |
| destination: ./_site | |
| # Emit a clean markdown twin beside every built page and point the page's | |
| # <link rel="alternate" type="text/markdown"> at it. The Cloudflare Worker | |
| # already negotiates Accept: text/markdown by following that link -- until | |
| # now it followed it to raw.githubusercontent.com and served raw Jekyll | |
| # source, frontmatter and all. This serves agents a real document instead, | |
| # on our own domain, where the fetch is ours to count. | |
| # | |
| # Same bytes to every client. Nothing here varies by user-agent. | |
| # See research/agent-ad-serving/ROLLOUT-laneworks.md (phase 0, no ads). | |
| # Never let this block a deploy. Twins are an enhancement; publishing the site | |
| # is the critical path, and this repo has been bitten before by a build-stage | |
| # failure meaning nothing shipped for several commits. If this step breaks, the | |
| # site still deploys -- pages just keep pointing at the previous markdown | |
| # source until it is fixed. | |
| - name: Generate agent markdown twins | |
| continue-on-error: true | |
| run: | | |
| # jekyll-build-pages runs Jekyll inside a container as a different uid, so | |
| # _site comes back owned by root and this step (running as `runner`) cannot | |
| # write into it -- Errno 13 on the first twin. Take ownership first. | |
| sudo chown -R "$(id -u):$(id -g)" ./_site | |
| python3 -m pip install --quiet pyyaml | |
| python3 .github/scripts/agent-twins.py --property ae-posts --root . | |
| # Publish the agent-skill bodies at the URLs the skills index promises. | |
| # Jekyll turns each skills/<name>/SKILL.md SOURCE into SKILL/index.html, so | |
| # the advertised .../SKILL.md 404s -- and a 404 here returns the themed blog | |
| # page, i.e. a soft-404 that hands an agent 66KB of HTML with a broken hash. | |
| # This copies each body verbatim into _site and re-stamps every index sha256 | |
| # to the bytes actually served. Verified broken 2026-08-20 (8 of 8 dead). | |
| # | |
| # NOT continue-on-error: the index advertises these URLs unconditionally, so | |
| # a silent failure republishes a catalog of dead links. | |
| - name: Publish agent skill bodies | |
| run: | | |
| sudo chown -R "$(id -u):$(id -g)" ./_site | |
| python3 .github/scripts/publish-skills.py | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| deploy: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |