From 7413fc8866ddf6fd622c662f8a74c45b2a35662a Mon Sep 17 00:00:00 2001 From: squid-protocol Date: Mon, 31 Aug 2026 13:03:42 -0400 Subject: [PATCH] docs: adding a language now includes its keyword-rosetta control folder Closes the maintenance-tax loop from #1096: the how-to now names the control-corpus folder as part of a language addition, pointing at keyword-rosetta's SPEC.md/GATING.md and the Phase-5 CI issue #2557. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01M11wL1mSgk1fghxz1PAWGY --- gitgalaxy/standards/how_to_add_a_language.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gitgalaxy/standards/how_to_add_a_language.md b/gitgalaxy/standards/how_to_add_a_language.md index 2cce3f365..7f5bb12ad 100644 --- a/gitgalaxy/standards/how_to_add_a_language.md +++ b/gitgalaxy/standards/how_to_add_a_language.md @@ -442,4 +442,21 @@ to a handful of languages, define it here the same way: a short name, its `re.co pattern, and a one-line INCLUDES description, listed under a new `### Extension Pack` heading naming which languages carry it. Keep extension keys out of the baseline schema above — that schema is the one every language is expected to implement to Strict Feature Parity (Rule -4); extension packs are deliberately the exception, not the rule. \ No newline at end of file +4); extension packs are deliberately the exception, not the rule. +## After the language lands: the control-corpus folder (keyword-rosetta) + +Every language in `LANGUAGE_DEFINITIONS` has a matching control folder in +[keyword-rosetta](https://github.com/squid-protocol/keyword-rosetta) (built for issue #1096): +the same 12-probe program shell expressed in that language, planted with exactly known +signal-keyword counts and gated end-to-end by that repo's `tools/verify_language.py`. It is +the project's cross-language measurement-consistency instrument — the gitgalaxy README's +bias-variance chart regenerates from it. + +Adding a new language here without authoring its control folder there reopens the blind spot +that corpus exists to close, so treat the folder as part of the language addition, not an +optional follow-up. Author it per that repo's +[`SPEC.md`](https://github.com/squid-protocol/keyword-rosetta/blob/main/SPEC.md) (canonical +shell + decoy rules + workflow) and +[`docs/GATING.md`](https://github.com/squid-protocol/keyword-rosetta/blob/main/docs/GATING.md) +(deviation-ledger lifecycle); its CI runs the verifier on any changed `data/` folder. Corpus +integration on the gitgalaxy side (pinned-tag CI gate) is tracked in #2557.