From 2bb4f9186c257a456456ce3b4bf5e6fc1db48bb0 Mon Sep 17 00:00:00 2001 From: Shrish Dwivedi Date: Mon, 9 Nov 2026 20:27:44 +0530 Subject: [PATCH 1/2] Add learning: README language count conflicts across language PRs Co-Authored-By: Claude Opus 5.5 --- ...he-readme-s-spelled-out-language-shrish.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .trail/learnings/2026-11-09-the-readme-s-spelled-out-language-shrish.md diff --git a/.trail/learnings/2026-11-09-the-readme-s-spelled-out-language-shrish.md b/.trail/learnings/2026-11-09-the-readme-s-spelled-out-language-shrish.md new file mode 100644 index 000000000..81cde806f --- /dev/null +++ b/.trail/learnings/2026-11-09-the-readme-s-spelled-out-language-shrish.md @@ -0,0 +1,30 @@ +--- +title: "The README's spelled-out language count makes every new-language PR conflict with every other" +author: Shrish +date: 2026-11-09 +branch: docs/readme-language-count +cost: { minutes: 39, tokens: 83938 } +id: l-e43790d6 +scope: repo +status: active +src: agent +touches: + - test/mcp-server.test.ts + - src/claude/settings-merge.ts + - test/claude-init.test.ts + - test/claude-settings-merge.test.ts + - test/hosts-claude-global.test.ts + - test/hosts-retract.test.ts + - src/ai/llm/recover-tool.ts + - test/llm-ops.test.ts + - src/graph/build.ts + - src/graph/extract-cache.ts +--- + +## Watch out +The README says "Twenty-four languages, plus Vue, Svelte and Astro..." in words, and lists the languages in a bullet a few lines up. Every PR that adds a language (Julia, Bash, GLSL, PowerShell landed in the same week) edits both lines, so they all conflict with each other and each needs a rebase after the previous one merges. + +## Decided +When several language PRs land together, resolve their README conflicts by keeping main's count line and fix the count once in a follow-up after the batch merges, instead of rebasing each PR through CI again. + +In the code: README.md, the "N languages, plus Vue..." sentence and the "symbols only" language list; src/graph/generic.ts registry rows are the source of truth for what's supported. From a17c6063cc7da0eb44392fcc2b517464ca96f77d Mon Sep 17 00:00:00 2001 From: Shrish Dwivedi Date: Mon, 9 Nov 2026 21:55:43 +0530 Subject: [PATCH 2/2] docs(readme): count 28 languages and list PowerShell Julia, GLSL, Bash and PowerShell landed this week. Each PR's README edit conflicted with the others, so the count was settled once here. TypeScript and JavaScript count separately, as they did for the earlier 24. PowerShell (#550) has call edges but was missing from the list. Co-Authored-By: Claude Opus 5.5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6a08f6384..44f79c59b 100644 --- a/README.md +++ b/README.md @@ -489,7 +489,7 @@ compiler-grade layer, all `$0` and deterministic (no model, no key): - **Broad**: symbols (functions, classes, methods, types, …) plus name-resolved call edges via a generic tree-sitter extractor, one grammar per language: **Rust, C, C++, C#, Ruby, Scala, Elixir, Solidity, - Dart, Clojure, Nix, Lua, Gleam, Julia**, and **OCaml, Zig, GLSL** (symbols only for now, no call edges). + Dart, Clojure, Nix, Lua, Gleam, Julia, PowerShell**, and **OCaml, Zig, GLSL** (symbols only for now, no call edges). **Bash** (`.sh`, `.bash`) also uses this tier for function symbols; Bash call edges and extensionless shell scripts are not yet supported. @@ -507,7 +507,7 @@ compiler-grade layer, all `$0` and deterministic (no model, no key): own files. It's best-effort: a missing or failed server leaves those languages on the AST graph while the other servers still run. -Twenty-five languages, plus Vue, Svelte and Astro single-file components. A file whose language isn't listed is skipped, not +Twenty-eight languages, plus Vue, Svelte and Astro single-file components. A file whose language isn't listed is skipped, not indexed. Adding a broad-tier language is a small contribution; see [CREDITS.md](CREDITS.md) for the folks who added the current set.