Repository navigation
docs: rename DEEPSEEK_API_KEY → LLM_API_KEY in CLAUDE.md + quickstart + composite-action-spec #141
Description
Background
PR #140 (pipeline-fix, merged 2026-07-13) renamed the engine secret DEEPSEEK_API_KEY → LLM_API_KEY across all 6 cloud workflows + 4 composite actions + docs/security.md. That PR was scoped to S7's allowed paths (.github/workflows/ + .github/actions/ + docs/security.md).
Several doc files + runtime scripts outside S7 scope still reference the old name. They need to go through the normal Issue→PR flow (dogfooding rule S7).
2026-07-18 scope expansion #1 — original issue only listed 4 doc files. AC #1 was already repo-wide ("no remaining
DEEPSEEK_API_KEYreferences in repo except git history"), so the file list is expanded to include the runtime scripts Claude flagged during verify retry.
2026-07-18 scope expansion #2 — Module 6 (test) correctly identified that AC1/AC2/AC3 have ZERO automated coverage. A grep-guard test is required so the AC invariants become machine-verifiable on every future change.
Files + lines to update
CLAUDE.md
- L106:
API keys per engine: ANTHROPIC_API_KEY, OPENAI_API_KEY — scoped per-job, never workflow-global (S3). - Update to reflect
LLM_API_KEYas the active provider-neutral secret name.
docs/quickstart-triage.md
- L45, L58, L99, L101 — still describe DeepSeek as the default provider.
- Rewrite to reflect GLM (
open.bigmodel.cn/api/anthropic, modelglm-5.2) as default, withLLM_API_KEYas the secret name.
docs/quickstart-clarify.md
- L70, L90, L213, L216 — same DeepSeek-centric framing.
- Same rewrite as triage quickstart.
docs/composite-action-spec.md
- L106:
api-key (DEEPSEEK_API_KEY for GLM passthrough) - L125:
api-key (ANTHROPIC_API_KEY or GLM passthrough equivalent) - L156:
api-key (DEEPSEEK_API_KEY for GLM passthrough) - L249:
api-key: ${{ secrets.OPENAI_API_KEY }} # was ANTHROPIC_API_KEY - Normalize to
LLM_API_KEYacross the spec table.
scripts/setup/lib/steps/03-llm-provider.mjs
- L23, L55 — still reference
DEEPSEEK_API_KEYand DeepSeek defaults. - Rename to
LLM_API_KEYeverywhere. The wizard should create theLLM_API_KEYsecret (provider-neutral), not engine-specific names. GLM preset should useLLM_API_KEY, notZHIPU_API_KEY.
scripts/setup/lib/steps/06-repo-vars.mjs
- L75 — stale
deepseek-v4-pro/api.deepseek.comdefaults. - Replace with GLM defaults (
glm-5.2,open.bigmodel.cn/api/anthropic).
scripts/setup/README.md
- L41 — "DeepSeek passthrough" framing.
- Rewrite to describe GLM passthrough as the default path with
LLM_API_KEY.
scripts/test/e2e-full.sh
- L176 —
DEEPSEEK_API_KEYreference. - L180-183 — stale
deepseek-v4-pro/api.deepseek.comdefaults. - Rename to
LLM_API_KEYand update defaults to GLM.
scripts/setup/test/rename-guard.test.mjs (NEW)
- New grep-guard test using Node
node:test(no extra deps) — same runner asscripts/setup/package.json. - Must assert:
- AC1: walking the repo from root (excluding
.git/,node_modules/,.next/,.omc/), no plain-text file contains the literal stringDEEPSEEK_API_KEY. - AC2:
scripts/directory contains no occurrences ofdeepseek-v4-proorapi.deepseek.com. - AC3: import
PRESETSfrom../lib/steps/03-llm-provider.mjsand assertPRESETS.glm.keyEnv === 'LLM_API_KEY'andPRESETS.glm.model === 'glm-5.2'andPRESETS.glm.baseUrl === 'https://open.bigmodel.cn/api/anthropic'. - AC3 continued: there is NO preset whose
keyEnv === 'ZHIPU_API_KEY'.
- AC1: walking the repo from root (excluding
- Test must run under
node --testwithoutnpm install(pure fs/grep + dynamic import). Do not import@inquirer/prompts. - Add the new file to
scripts/setup/package.jsontestglob if needed (current glob is'test/**/*.test.mjs'— should already cover it).
Acceptance criteria
- All listed files updated; no remaining
DEEPSEEK_API_KEYreferences in repo except git history (enforced byrename-guard.test.mjsAC1). - No remaining
deepseek-v4-proorapi.deepseek.comdefaults in scripts/ (enforced byrename-guard.test.mjsAC2). - Wizard GLM preset uses
LLM_API_KEY(notZHIPU_API_KEY) (enforced byrename-guard.test.mjsAC3). - Quickstart walkthroughs reflect GLM passthrough as the default path (not DeepSeek).
- CLAUDE.md L106 reflects the active secret name.
- PR goes through normal Issue→PR pipeline (no
pipeline-fixlabel — out of S7 scope). -
rename-guard.test.mjspasses on the PR branch with all 4 sub-assertions. - Smoke check: open a fresh test Issue after merge, confirm triage still returns decision (regression guard for the rename, even though docs/wizard don't affect cloud pipeline runtime).
Context / non-goals
- Do NOT touch
.github/workflows/or.github/actions/in this PR — those were handled in PR pipeline-fix: rename DEEPSEEK_API_KEY → LLM_API_KEY + job-level ANTHROPIC_BASE_URL + drop test-glm-key #140. - Do NOT update
docs/security.mdagain — it was already updated in PR pipeline-fix: rename DEEPSEEK_API_KEY → LLM_API_KEY + job-level ANTHROPIC_BASE_URL + drop test-glm-key #140. scripts/setup/is now IN scope (added 2026-07-18): the wizard creates the secret name, so it must align with the cloud pipeline'sLLM_API_KEY.docs/architecture.md:122historical design note ("DeepSeek was considered... rejected") is intentional history — leave it.rename-guard.test.mjsmust scope its grep to excludedocs/architecture.md(or only assert against non-markdown source/scripts paths).- The DeepSeek references are historical (the project originally targeted DeepSeek's Anthropic-compatible endpoint before switching to GLM). The rename makes docs + wizard + tests consistent with the current GLM passthrough setup.
Activity
github-actions commentedon Jul 13, 2026
Acknowledged. This renames
DEEPSEEK_API_KEY→LLM_API_KEYand reframes the provider default from DeepSeek to GLM (open.bigmodel.cn/api/anthropic, modelglm-5.2) across 4 doc files:CLAUDE.md(L106),docs/quickstart-triage.md,docs/quickstart-clarify.md, anddocs/composite-action-spec.md. Scope is docs-only — explicitly no touches to.github/workflows/,.github/actions/, ordocs/security.md(handled in PR #140). Out of S7 scope, so it routes through the normal Issue→PR flow without thepipeline-fixlabel. AC is clear (no remainingDEEPSEEK_API_KEYrefs except git history; quickstarts reflect GLM passthrough as default; smoke-check triage post-merge as regression guard). Entering the development pipeline.github-actions commentedon Jul 13, 2026
Acknowledged. This renames
DEEPSEEK_API_KEY→LLM_API_KEYand reframes the provider default from DeepSeek to GLM (open.bigmodel.cn/api/anthropic, modelglm-5.2) across 4 doc files:CLAUDE.md(L106),docs/quickstart-triage.md,docs/quickstart-clarify.md, anddocs/composite-action-spec.md. Scope is docs-only — explicitly no touches to.github/workflows/,.github/actions/, ordocs/security.md(handled in PR #140). Out of S7 scope, so it routes through the normal Issue→PR flow without thepipeline-fixlabel. AC is clear (no remainingDEEPSEEK_API_KEYrefs except git history; quickstarts reflect GLM passthrough as default; smoke-check triage post-merge as regression guard). Entering the development pipeline.akushonkamen commentedon Jul 13, 2026
🤖 Claude self-acceptance (M8 workload=standard).
accepted-by-claudeapplied — Module 4 develop-gate will pick this up. Maintainer may override withrejected.pipeline-fix(M8): upload issue-context artifact on triage auto-accept
github-actions commentedon Jul 13, 2026
pipeline-fix(develop): tolerate GLM passthrough JSON via execution_file
github-actions commentedon Jul 13, 2026
Claude analysed the issue and concluded no code change is required —
pre-sha == post-sha, so no commit was made. Downstream modules (pr-lifecycle → verify) will NOT fire.Maintainer action required:
code-generate.ymlWorkflow run
pipeline-fix(develop): drop claude_args, rely on settings.permissions…
github-actions commentedon Jul 13, 2026
Claude analysed the issue and concluded no code change is required —
pre-sha == post-sha, so no commit was made. Downstream modules (pr-lifecycle → verify) will NOT fire.Maintainer action required:
code-generate.ymlWorkflow run
138 remaining items
akushonkamen commentedon Jul 18, 2026
✅ Verify passed — Module 6 (test) engaged. PR: #150
akushonkamen commentedon Jul 18, 2026
✅ Verify passed — Module 6 (test) engaged. PR: #150
docs(scripts): rename DEEPSEEK_API_KEY → LLM_API_KEY + GLM passthroug…
akushonkamen commentedon Jul 18, 2026
✅ Verify passed — Module 6 (test) engaged. PR: #150
akushonkamen commentedon Jul 18, 2026
🚀 Development branch pushed:
claude/issue-141-docs-rename-deepseek-api-key-llm-api-key@df41acdc760e. PR: #161akushonkamen commentedon Jul 18, 2026
✅ Verify passed — Module 6 (test) engaged. PR: #161
docs(scripts): rename DEEPSEEK_API_KEY → LLM_API_KEY + GLM passthroug…