From 38dba6fbead045bb3860b0fc3e9983394beca553 Mon Sep 17 00:00:00 2001 From: fullsend-code <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 11:45:43 +0000 Subject: [PATCH] docs(#2067): add dispatch workflow sync guidance to CLAUDE.md Add a new bold-titled paragraph documenting that dispatch.yml and reusable-dispatch.yml must stay in sync, following the same pattern used for the mint function sync guidance. This addresses a documentation gap that caused PR #2048 to miss syncing a jq payload change across the two files. Note: make lint could not run in sandbox due to Go module cache permission errors. This is a documentation-only change with no Go code modified. Closes #2067 --- CLAUDE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index f78833c6c9..41936412ac 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,6 +24,8 @@ When changing `internal/mint/main.go`, always copy it to `internal/dispatch/gcf/ The `internal/mintcore/` module is shared between the mint and devmint. Its files are also embedded for Cloud Function deployment at `internal/dispatch/gcf/mintsrc/mintcore/*.embed`. When changing any file in `internal/mintcore/`, sync it to the corresponding `.embed` file under `mintsrc/mintcore/`. Note: the mint's `go.mod.embed` uses `replace mintcore => ./mintcore` (not `../mintcore`), because `provisioner.go` rewrites the replace directive at bundle time to match the deployed directory layout. +**Dispatch workflows:** The scaffold `dispatch.yml` (at `internal/scaffold/fullsend-repo/.github/workflows/dispatch.yml`) and the repo's `reusable-dispatch.yml` (at `.github/workflows/reusable-dispatch.yml`) share identical routing logic for different installation modes (per-org vs per-repo). When changing the jq payload construction, stage routing, or input/secret threading in one, apply the same change to the other. + **Forge abstraction:** All git forge operations must go through the `forge.Client` interface in `internal/forge/forge.go`. Do not use `exec.Command("gh", ...)` or direct GitHub API calls outside `internal/forge/github/`. See [AGENTS.md](AGENTS.md#forge-abstraction) for details. When making changes to Go code under `cmd/` or `internal/`: