From f82ff7af61875eaf353ec7c8521e2bc258a9a0f9 Mon Sep 17 00:00:00 2001 From: MorganOnCode <87934408+MorganOnCode@users.noreply.github.com> Date: Fri, 15 May 2026 08:11:17 +0000 Subject: [PATCH 1/2] fix(ci): add workflow_call trigger so deploy.yml can reuse it deploy.yml's first job does `uses: ./.github/workflows/ci.yml` (the reusable-workflow syntax), but ci.yml only declared `push` and `pull_request` triggers. GitHub Actions rejects the deploy workflow at parse time with a 0-second failure on every merge. This is the upstream cause of the broken auto-deploy that PR #24 appeared to fix at the SSH layer -- PR #24's path correction is correct, but the workflow never got far enough to use it. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4388c94..b491743 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,10 @@ on: branches: [master] pull_request: branches: [master] + # Allow deploy.yml to depend on this workflow as a reusable workflow + # (`uses: ./.github/workflows/ci.yml`). Without workflow_call, deploy.yml + # fails at parse time with a 0-second failure on every merge. + workflow_call: permissions: contents: read From fab7612097a04dc9596c7ea907c212e09a5cd550 Mon Sep 17 00:00:00 2001 From: MorganOnCode <87934408+MorganOnCode@users.noreply.github.com> Date: Fri, 15 May 2026 08:19:05 +0000 Subject: [PATCH 2/2] fix(docker): unignore SKILL.md so the production image can serve it PR #24 added `COPY SKILL.md ./SKILL.md` to the Dockerfile so the /SKILL.md route in the new agent-discovery plugin has a file to read, but `.dockerignore` had `*.md` excluding all markdown from the build context. The docker-build job failed silently in PR #24 (other CI jobs were green so the merge proceeded) and resurfaced on PR #25 once attention was on the deploy pipeline. Adds `!SKILL.md` to un-ignore the one markdown file we need at runtime, with an inline comment so the reason for the exception is obvious. Co-Authored-By: Claude Opus 4.7 (1M context) --- .dockerignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.dockerignore b/.dockerignore index 318180a..766c7f7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -19,3 +19,7 @@ logs .vitest *.md !package.json +# SKILL.md is served at /SKILL.md by src/routes/agent-discovery.ts and must +# exist in the production image; the *.md exclusion above would otherwise +# silently break `COPY SKILL.md` in the Dockerfile. +!SKILL.md