From 84dc9b07bf06855cc08ea10932eba29aab84d4cc Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Fri, 29 May 2026 13:24:31 -0400 Subject: [PATCH 1/3] chore(ci): mirror to GitHub with --mirror so deletes propagate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Today's cleanup surfaced 14 branches that existed on GitHub but had been deleted on Gitea — the previous `--all --force` + `--tags --force` pair pushes refs but never deletes missing ones, so the mirror drifted over time. Switching to `git push --mirror` (equivalent to --all --tags --prune --force) makes the GitHub side a true reflection of Gitea: branch and tag deletes propagate automatically. Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/mirror-to-github.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/mirror-to-github.yml b/.gitea/workflows/mirror-to-github.yml index 603bd48f..1c355a7a 100644 --- a/.gitea/workflows/mirror-to-github.yml +++ b/.gitea/workflows/mirror-to-github.yml @@ -15,5 +15,4 @@ jobs: git clone --mirror https://gitea.resolutionflow.com/chihlasm/resolutionflow.git repo cd repo git remote add github https://x-access-token:${{ secrets.GH_MIRROR_TOKEN }}@github.com/${{ secrets.GH_MIRROR_REPO }} - git push github --all --force - git push github --tags --force \ No newline at end of file + git push github --mirror \ No newline at end of file From 16a07e168243f1bef6d360e059688a7440e21b4e Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Fri, 29 May 2026 13:29:19 -0400 Subject: [PATCH 2/3] chore: gitignore .mcp.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.mcp.json` is per-machine MCP server config (e.g. the GitHub MCP block added during today's session). It references local env vars for auth rather than embedding secrets, but the file itself is workstation-specific — what servers a contributor connects depends on which MCPs they've set up locally. Co-Authored-By: Claude Opus 4.7 --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index b6c612a4..5e6f7252 100644 --- a/.gitignore +++ b/.gitignore @@ -249,3 +249,6 @@ graphify-out/ # remember skill runtime state (hook logs, PIDs) .remember/ + +# MCP server config (per-machine, references local env vars for auth) +.mcp.json From d5d4405ac2dc5b2ea919e58b3d10977f01131b39 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Fri, 29 May 2026 13:34:22 -0400 Subject: [PATCH 3/3] =?UTF-8?q?fix(ci):=20mirror=20=E2=80=94=20push=20refs?= =?UTF-8?q?/heads=20+=20refs/tags,=20not=20all=20refs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `git push --mirror` pushes everything under refs/* including refs/pull/*, which GitHub rejects with "deny updating a hidden ref" — GitHub manages its own refs/pull/N/head namespace and won't let outside pushers touch it. Switching to `--all --prune --force` + `--tags --prune --force` scopes the push to refs/heads/* and refs/tags/* only (same as the original lines) while keeping --prune so branch/tag deletions still propagate. Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/mirror-to-github.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/mirror-to-github.yml b/.gitea/workflows/mirror-to-github.yml index 1c355a7a..d539080f 100644 --- a/.gitea/workflows/mirror-to-github.yml +++ b/.gitea/workflows/mirror-to-github.yml @@ -15,4 +15,8 @@ jobs: git clone --mirror https://gitea.resolutionflow.com/chihlasm/resolutionflow.git repo cd repo git remote add github https://x-access-token:${{ secrets.GH_MIRROR_TOKEN }}@github.com/${{ secrets.GH_MIRROR_REPO }} - git push github --mirror \ No newline at end of file + # --all + --tags scopes the push to refs/heads/* and refs/tags/*, + # avoiding refs/pull/* (which GitHub refuses with "deny updating a + # hidden ref"). --prune makes deletions on the Gitea side propagate. + git push github --all --prune --force + git push github --tags --prune --force \ No newline at end of file