* docs: sync to Claude Code v2.1.245
Sync the tutorial, its four translations, and both learner-facing skills
against Claude Code v2.1.245 (was anchored at v2.1.235).
The graded material turned out to be staler than the tutorials it grades.
The lesson READMEs already said "31 hook events", "six rewind options" and
"six permission modes"; the quiz and self-assessment still said 25, 5 and 5,
so learners were scored against a wrong answer and then sent to a lesson
that contradicted it. Seven such claims are fixed here.
Two long-standing doc defects were also verified against official docs:
- Hook default timeout was documented as 60 seconds. It is 600 for
command/http/mcp_tool (30 for prompt, 60 for agent), with per-event
overrides. Wrong in five places.
- Skill precedence was documented as enterprise > project > personal. The
official order is enterprise > personal > project. question-bank.md
Lesson 03 Q9 already graded the correct order, so the lesson had been
contradicting its own quiz.
Fixed
- Hook default timeout 60s -> 600s, with per-event overrides
- Skill precedence: project and personal were swapped
- Memory "overrides root CLAUDE.md" -> concatenation model (last holdouts
after the quiz was aligned in #164)
- permissionMode frontmatter omitted `auto` (English + vi/ja/uk); the quiz
was right and the docs were wrong
- Built-in subagent `Bash` no longer exists upstream -> renamed to `claude`
- `/undo` is absent from the official commands reference -> marked deprecated
- `backgroundTasks` settings block was fabricated -> replaced with
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS and the concurrency env var
- Plugin manifest field is `lspServers`, not inline `lsp`
- vi/05-mcp documented `claude mcp add --transport ws`, which upstream
explicitly does not support
- Self-assessment could never reach its own maximum score: rounds cap at
4+4+4+3+4 = 19, not 20
- 13 dangling quiz `Review:` pointers, two of which named another lesson
- Skill description cap: 1024 chars -> 1,536 combined with `when_to_use`
Added
- WebSocket (`ws`) MCP transport, undocumented until now
- Concise output style (v2.1.237), a fifth built-in
- modelPicker, promptCacheTtl, subagentPromptCacheTtl, modelPricing,
keybindingFlavor settings
- ANTHROPIC_DEFAULT_MODEL env var
- Hook `async`, `asyncRewake`, `shell`, `statusMessage`, `retry` keys;
`agent` type marked experimental
- /design canvas, Remote Control out of research preview, notify_when_idle,
plugin manifest fields (workflows, channels, dependencies, outputStyles)
Deferred deliberately: the reserved `synced` skills folder, and a bulk
footer stamp across the translations. zh/ carries none of the P0 claims
(it is abridged upstream of this run), so it has no P0 sub-tasks rather
than fabricated English.
Mermaid validation did not run in this environment (mmdc absent); CI covers it.
* fix(docs): propagate v2.1.245 corrections to CATALOG, translations, and stale enumerations
* fix(docs): propagate built-in subagent rename to uk/vi/zh CATALOG and zh lesson
Internal accuracy pass against v2.1.220 — no missing upstream features, but broken example code, disagreeing counts, and metadata drift.
Functional fixes: pre-commit.sh now exits 2 so it actually blocks; dependency-check.sh reads file_path from stdin JSON instead of $1; database-mcp.json uses ${DATABASE_URL}; broken fences repaired; three command templates had invalid skill names.
Factual corrections: /fork and /subtask unswapped and /subtask added; /fewer-permission-prompts; permissions.defaultMode; dontAsk/auto unreversed; 31 hook events verified name-by-name; subagent depth 3; skill precedence enterprise > project > personal; /output-style removed not deprecated; permissionDecision gained defer.
Follow-up review fixed defects the pass left behind: zh/vi headers claiming 31 events above 25-name lists, a surviving hardcoded DB credential in the MCP README examples, an unbalanced fence swallowing a metadata footer, and non-canonical tool names. All four translated CATALOG summary tables were recounted so their arithmetic holds.
Full detail in CHANGELOG.md under v2.1.220-r2.
Bumps tutorial coverage from the v2.1.212 baseline (2026-07-18 sync) to
v2.1.217 (v2.1.213 was skipped upstream), plus a repo-internal accuracy
audit.
Fixed:
- Nested-subagent-spawning claim reversed (v2.1.217): 04-subagents/README.md
and CATALOG.md stated nesting up to 5 levels as current behavior; as of
v2.1.217 it's off by default, opt in via CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH
- Stale --enable-auto-mode flag (removed in v2.1.111) replaced with
--permission-mode auto across 10-cli/README.md and QUICK_REFERENCE.md
- Import-depth contradiction in 02-memory/README.md: two remaining "5 levels"
instances corrected to "4 hops", matching the rest of the file
- Sonnet 5 added to claude_concepts_guide.md's models/reasoning-effort table
- config-examples.json's fabricated settings schema (fake "unrestricted"/
"confirm" modes, undocumented keys) rewritten to real settings.json keys
- brand-voice skill (name/user-invocable) aligned to its README worked example
- CLAUDE.md length guidance unified across 03-skills/claude-md/SKILL.md and
02-memory/README.md
Added:
- New subagent caps (v2.1.217): CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS
- --max-budget-usd now also halts running background subagents (v2.1.217)
- Hook if: glob scope narrowed to <cwd>/dir (v2.1.214), documented in
06-hooks/README.md along with SessionStart's new "fork" source
- sandbox.filesystem.disabled setting (v2.1.216)
- /rewind symlink/hard-link protection (v2.1.216)
- Auto-memory modified timestamp (v2.1.214) and non-blocking /memory editor
(v2.1.216)
- CLI/settings batch (v2.1.214-217): emojiCompletionEnabled,
FORCE_HYPERLINK=0, CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH, --settings 2 MiB
cap, permission hardening notes, /context and /compact notes
- /verify and /code-review explicit-invocation-only note (v2.1.215)
Mirrored applicable P0/P1 fixes into vi/ja/zh/uk translations where the
same claim existed.
Mirror the English fix from #131 into the translated docs. The precedence
table in 02-memory and the v2.1.119 /config notes still encoded the old,
incorrect order (user above project/local).
- vi/02-memory: table rows -> local(3) -> project(4) -> user(5, lowest)
- ja/02-memory: table rows reordered + /config note policy/local/project
- ja/10-cli: /config note chain -> policy -> local -> project -> user
- uk/02-memory: table rows reordered
Correct order per https://code.claude.com/docs/en/settings:
Managed -> CLI args -> Local -> Project -> User (lowest).
zh is missing the whole settings section (structural port), tracked
separately in #132.
Refs #132