ज्ञात आश्चर्यजनक बातें
यह फ़ाइल उन रिपॉज़िटरी-विशिष्ट भ्रम-बिंदुओं का लेखा रखती है जिनकी वजह से एजेंट गलतियाँ कर चुके हैं।
प्रविष्टि के मानदंड
कोई प्रविष्टि तभी जोड़ें जब ये सभी बातें सही हों:
- यह इसी रिपॉज़िटरी से जुड़ी हो (सामान्य सलाह न हो)।
- आगे आने वाले एजेंट के साथ इसके दोहराए जाने की संभावना हो।
- इसका कोई ठोस उपाय हो जिसका पालन किया जा सके।
संदेह हो तो प्रविष्टि जोड़ने से पहले डेवलपर से पूछें।
प्रविष्टि टेम्पलेट
### [Short title]
- **Date:** YYYY-MM-DD
- **Observed by:** agent name or contributor
- **Context:** where/when it happened
- **What was surprising:** concrete unexpected behavior
- **Impact:** what went wrong or could go wrong
- **Mitigation:** exact step future agents should take
- **Status:** confirmed | superseded
प्रविष्टियाँ
Vercel ऐप के प्रोडक्शन डोमेन वापस Git master डिप्लॉयमेंट पर खिसक सकते हैं
- दिनांक: 2026-04-28
- किसने देखा: Tommaso + Codex
- संदर्भ: Bitsocial Web ऐप डायरेक्ट्री में Seedit और 5chan ऐप मिरर की जाँच।
- क्या आश्चर्यजनक था: Vercel के
seeditऔर5chanप्रोजेक्ट मेंgitProviderOptions.createDeployments = "enabled"था, इसलिए GitHubmasterपुश प्रोडक्शन डोमेन पर प्रमोट हो जाते थे, जबकि रिपॉज़िटरी की नीति यह अपेक्षा करती है कि प्रोडक्शन ऐप मिरर केवल रिलीज़ आर्टिफ़ैक्ट सर्व करें। - प्रभाव: ऐप डायरेक्ट्री के सत्यापित-मिरर बैज गलत हो सकते हैं, क्योंकि प्रोडक्शन डोमेन उस GitHub रिलीज़ ZIP के बजाय नवीनतम डेवलपमेंट कमिट सर्व करते हैं जिसके
index.htmlका हैशabout/src/lib/apps-data.tsमें दर्ज है। - उपाय: मिरर सत्यापन मेटाडेटा जोड़ने या ताज़ा करने से पहले
vercel api /v9/projects/<project-id>से Vercel प्रोजेक्ट जाँचें और पुष्टि करें किgitProviderOptions.createDeployments = "disabled"है। रिलीज़ ZIP की सामग्रीvercel deploy --prebuilt --prodसे डिप्लॉय करें और डेवलपमेंट डिप्लॉयमेंट के लिएseedit-omega.vercel.appया5chan-omega.vercel.appइस्तेमाल करें। - स्थिति: पुष्ट
Portless 0.11 पुरानी प्रॉक्सी स्थिति दोबारा इस्तेमाल कर लेता है, जब तक लॉन्चर HTTPS बाध्य न करे
- दिनांक: 2026-04-28
- किसने देखा: Tommaso + Codex
- संदर्भ: सामान्य
yarn startफ़्लो को पुरानेhttp://bitsocial.localhost:1355प्रॉक्सी URL से नए URL पर अपग्रेड करना:https://bitsocial.localhost. - क्या आश्चर्यजनक था:
portless@0.11.1इंस्टॉल होने के बावजूद Portless ने मौजूदा~/.portless/proxy.port = 1355HTTP प्रॉक्सी को ही दोबारा इस्तेमाल किया और पुराना:1355URL छापा। - प्रभाव: पैकेज संस्करण और दस्तावेज़ अपडेट करना काफ़ी नहीं है; अगर किसी योगदानकर्ता के यहाँ पुरानी Portless स्थिति चल रही हो, तो
yarn startअब भी पुराना URL दिखा और इस्तेमाल कर सकता है। - उपाय: स्टार्ट स्क्रिप्ट से ऐप रूट रजिस्टर करने से पहले Portless HTTPS प्रॉक्सी को पोर्ट
443पर स्पष्ट रूप से शुरू करवाते रहें, ताकि रनटाइम फ़्लो सहेजी हुई1355स्थिति को विरासत में लेने के बजाय उससे आगे बढ़ जाए। - स्थिति: पुष्ट
Portless कैनोनिकल लोकल ऐप URL बदल देता है
- दिनांक: 2026-03-18
- किसने देखा: Codex
- संदर्भ: ब्राउज़र सत्यापन और स्मोक फ़्लो
- क्या आश्चर्यजनक था: डिफ़ॉल्ट लोकल URL सामान्य Vite पोर्ट नहीं है। रिपॉज़िटरी Portless के ज़रिए
https://bitsocial.localhostकी अपेक्षा करती है, इसलिएlocalhost:3000याlocalhost:5173जाँचने पर गलत ऐप मिल सकता है या कुछ भी नहीं मिलेगा। - प्रभाव: डेव सर्वर ठीक चलने के बावजूद ब्राउज़र जाँच विफल हो सकती है या गलत लक्ष्य को सत्यापित कर सकती है।
- उपाय: पहले
https://bitsocial.localhostका उपयोग करें। इसे केवल तभीPORTLESS=0 corepack yarn startसे बायपास करें जब आपको स्पष्ट रूप से सीधा Vite पोर्ट चाहिए। - स्थिति: पुष्ट
Commitizen हुक नॉन-इंटरैक्टिव कमिट रोक देते हैं
- दिनांक: 2026-03-18
- किसने देखा: Codex
- संदर्भ: एजेंट-चालित कमिट वर्कफ़्लो
- क्या आश्चर्यजनक था:
git commitHusky के ज़रिए Commitizen चलाता है और इंटरैक्टिव TTY इनपुट का इंतज़ार करता है, जिससे नॉन-इंटरैक्टिव एजेंट शेल अटक जाते हैं। - प्रभाव: जो एक सामान्य कमिट होना चाहिए, उसी में एजेंट अनिश्चित काल तक रुके रह सकते हैं।
- उपाय: एजेंट द्वारा बनाए गए कमिट के लिए
git commit --no-verify -m "message"का उपयोग करें। लोग अब भीcorepack yarn commitयाcorepack yarn exec czइस्तेमाल कर सकते हैं। - स्थिति: पुष्ट
Yarn classic से बचने के लिए Corepack ज़रूरी है
- दिनांक: 2026-03-19
- किसने देखा: Codex
- संदर्भ: पैकेज मैनेजर का Yarn 4 पर माइग्रेशन
- क्या आश्चर्यजनक था: मशीन के
PATHपर अब भी एक ग्लोबल Yarn classic इंस्टॉल मौजूद है, इसलिए सादाyarnचलाने पर पिन किए गए Yarn 4 संस्करण के बजाय v1 रिज़ॉल्व हो सकता है। - प्रभाव: डेवलपर गलती से रिपॉज़िटरी की पैकेज-मैनेजर पिनिंग को दरकिनार कर सकते हैं और अलग इंस्टॉल व्यवहार या लॉकफ़ाइल आउटपुट पा सकते हैं।
- उपाय: शेल कमांड के लिए
corepack yarn ...का उपयोग करें, या पहलेcorepack enableचलाएँ ताकि सादाyarnपिन किए गए Yarn 4 संस्करण पर रिज़ॉल्व हो। - स्थिति: पुष्ट
तय Portless ऐप नाम Bitsocial Web वर्कट्री के बीच टकराते हैं
- दिनांक: 2026-03-30
- किसने देखा: Codex
- संदर्भ: एक Bitsocial Web वर्कट्री में
yarn startचलाना, जबकि दूसरा वर्कट्री पहले से Portless के ज़रिए सर्व कर रहा था - क्या आश्चर्यजनक था: हर वर्कट्री में शाब्दिक Portless ऐप नाम
bitsocialइस्तेमाल करने से रूट खुद टकरा जाता है, भले ही पीछे के पोर्ट अलग हों, इसलिए दूसरी प्रक्रिया विफल हो जाती है क्योंकिbitsocial.localhostपहले से रजिस्टर होता है। - प्रभाव: समानांतर Bitsocial Web ब्रांच एक-दूसरे को रोक सकती हैं, जबकि Portless का मकसद उन्हें सुरक्षित रूप से साथ-साथ चलने देना है।
- उपाय: Portless स्टार्टअप को
scripts/start-dev.mjsके पीछे रखें, जो अब कैनोनिकल स्थिति के बाहर ब्रांच-स्कोप्ड*.bitsocial.localhostरूट इस्तेमाल करती है और सादाbitsocial.localhostनाम पहले से व्यस्त होने पर ब्रांच-स्कोप्ड रूट पर लौट जाती है। - स्थिति: पुष्ट
डॉक्स प्रीव्यू में पहले पोर्ट 3001 हार्ड-कोडेड था
- दिनांक: 2026-03-30
- किसने देखा: Codex
- संदर्भ: दूसरी लोकल रिपॉज़िटरी और एजेंट के साथ-साथ
yarn startचलाना - क्या आश्चर्यजनक था: रूट डेव कमांड डॉक्स वर्कस्पेस को
docusaurus start --port 3001के साथ चलाता था, इसलिए जब भी कोई दूसरी प्रक्रिया पहले से3001पर होती, पूरा डेव सेशन विफल हो जाता था, जबकि मुख्य ऐप पहले से Portless इस्तेमाल कर रहा था। - प्रभाव:
yarn startवेब प्रक्रिया को बूट होते ही खत्म कर सकता था, और एक डॉक्स-पोर्ट टकराव की वजह से असंबंधित लोकल काम में बाधा डाल सकता था। - उपाय: डॉक्स स्टार्टअप को
yarn start:docsके पीछे रखें, जो अब Portless के साथscripts/start-docs.mjsइस्तेमाल करता है, ताकि इंजेक्ट किए गए खाली पोर्ट का पालन हो या सीधे चलाने पर अगले उपलब्ध पोर्ट पर लौटा जा सके। - स्थिति: पुष्ट
तय डॉक्स Portless होस्टनेम हार्ड-कोडेड था
- दिनांक: 2026-04-03
- किसने देखा: Codex
- संदर्भ: किसी दूसरे Bitsocial Web वर्कट्री में
yarn startचलाना, जबकि एक अन्य वर्कट्री पहले से Portless के ज़रिए डॉक्स सर्व कर रहा था - क्या आश्चर्यजनक था:
start:docsअब भी शाब्दिकdocs.bitsocial.localhostहोस्टनेम रजिस्टर करता था, इसलिएyarn startविफल हो सकता था, जबकि about ऐप अपने होस्टनेम के लिए Portless रूट टकराव से बचना पहले से जानता था। - प्रभाव: समानांतर वर्कट्री रूट डेव कमांड पर भरोसा नहीं कर सकते थे, क्योंकि डॉक्स प्रक्रिया पहले बाहर निकल जाती थी और फिर
concurrentlyबाकी सेशन को भी खत्म कर देता था। - उपाय: डॉक्स स्टार्टअप को
scripts/start-docs.mjsके पीछे रखें, जो अब about ऐप जैसा ही ब्रांच-स्कोप्ड Portless होस्टनेम निकालती है और उस साझा सार्वजनिक URL को/docsडेव प्रॉक्सी टारगेट में इंजेक्ट करती है। - स्थिति: पुष्ट
वर्कट्री शेल रिपॉज़िटरी के पिन किए गए Node संस्करण से चूक सकते हैं
- दिनांक: 2026-04-03
- किसने देखा: Codex
- संदर्भ:
.claude/worktrees/*जैसे Git वर्कट्री या साथ पड़े वर्कट्री चेकआउट मेंyarn startचलाना - क्या आश्चर्यजनक था: कुछ वर्कट्री शेल में
nodeऔरyarn nodeHomebrew Node25.2.1पर रिज़ॉल्व हुए, जबकि रिपॉज़िटरी.nvmrcमें22.12.0पिन करती है, इसलिएyarn startडेव लॉन्चर को चुपचाप गलत रनटाइम पर चला सकता था। - प्रभाव: मुख्य चेकआउट और वर्कट्री के बीच डेव-सर्वर व्यवहार अलग हो सकता है, जिससे बग दोहराना मुश्किल हो जाता है और रिपॉज़िटरी की अपेक्षित Node 22 टूलचेन का उल्लंघन होता है।
- उपाय: डेव लॉन्चर को
scripts/start-dev.mjsऔरscripts/start-docs.mjsके पीछे रखें, जो अब मौजूदा शेल के गलत संस्करण पर होने पर.nvmrcवाले Node बाइनरी के तहत खुद को दोबारा चलाती हैं। शेल सेटअप को फिर भीnvm useको प्राथमिकता देनी चाहिए। - स्थिति: पुष्ट
docs-site/ के बचे-खुचे हिस्से रिफ़ैक्टर के बाद गायब डॉक्स सोर्स को छिपा सकते हैं
- दिनांक: 2026-04-01
- किसने देखा: Codex
- संदर्भ: Docusaurus प्रोजेक्ट को
docs-site/सेdocs/में ले जाने के बाद मर्ज-पश्चात मोनोरेपो सफ़ाई - क्या आश्चर्यजनक था: पुराना
docs-site/फ़ोल्डर डिस्क पर बना रह सकता है, जिसमेंi18n/जैसी पुरानी लेकिन अहम फ़ाइलें हों, भले ही ट्रैक की गई रिपॉज़िटरीdocs/पर चली गई हो। इससे रिफ़ैक्टर लोकल स्तर पर दोहराया हुआ दिखता है, और यह तथ्य छिप सकता है कि ट्रैक किए गए डॉक्स अनुवाद वास्तव मेंdocs/में ले जाए ही नहीं गए थे। - प्रभाव: एजेंट पुराने फ़ोल्डर को "कचरा" समझकर मिटा सकते हैं और गलती से डॉक्स अनुवादों की एकमात्र लोकल कॉपी खो सकते हैं, या ऐसी स्क्रिप्ट संपादित करते रह सकते हैं जो अब भी मृत
docs-site/पथ की ओर इशारा करती हैं। - उपाय:
docs/को ही एकमात्र कैनोनिकल डॉक्स प्रोजेक्ट मानें। किसी भी लोकलdocs-site/अवशेष को मिटाने से पहलेdocs/i18n/जैसे ट्रैक किए गए सोर्स को बहाल करें और स्क्रिप्ट तथा हुक अपडेट करें ताकि वेdocs-siteका संदर्भ देना बंद कर दें। - स्थिति: पुष्ट
मल्टीलोकेल डॉक्स प्रीव्यू सत्यापन के दौरान RAM की खपत बढ़ा सकता है
- दिनांक: 2026-04-01
- किसने देखा: Codex
- संदर्भ:
yarn start:docsऔर Playwright के साथ डॉक्स i18n, लोकेल रूटिंग तथा Pagefind व्यवहार ठीक करना - क्या आश्चर्यजनक था: डिफ़ॉल्ट डॉक्स प्रीव्यू मोड अब सर्व करने से पहले पूरा मल्टीलोकेल डॉक्स बिल्ड और Pagefind इंडेक्सिंग करता है, और उस प्रक्रिया को कई Playwright या Chrome सेशन के साथ चालू रखना सामान्य Vite या सिंगल-लोकेल Docusaurus डेव लूप से कहीं ज़्यादा RAM खा सकता है।
- प्रभाव: मशीन की मेमोरी कम पड़ सकती है, ब्राउज़र सेशन क्रैश हो सकते हैं, और बीच में रुके रन पुराने डॉक्स सर्वर या हेडलेस ब्राउज़र छोड़ सकते हैं जो मेमोरी खाते रहते हैं।
- उपाय: जिस डॉक्स काम में लोकेल-रूट या Pagefind सत्यापन ज़रूरी नहीं है, उसके लिए
DOCS_START_MODE=live yarn start:docsको प्राथमिकता दें। डिफ़ॉल्ट मल्टीलोकेल प्रीव्यू केवल तब इस्तेमाल करें जब अनूदित रूट या Pagefind जाँचने हों। एक ही Playwright सेशन रखें, नया खोलने से पहले पुराने ब्राउज़र सेशन बंद करें, और सत्यापन के बाद ज़रूरत न रहने पर डॉक्स सर्वर बंद कर दें। - स्थिति: पुष्ट
translate-docs.py डॉक्स लोकेल को आधा-अनूदित या टूटे लिंक टारगेट के साथ छोड़ सकती है
- दिनांक: 2026-04-06
- किसने देखा: Codex
- संदर्भ:
yarn start:docsद्वारा अंग्रेज़ी डिटेल पेज सर्व करने या लोकेल आउटपुट बिल्ड न कर पाने के बाद स्थानीयकृत डॉक्स रूट और सामग्री ठीक करना - क्या आश्चर्यजनक था: डॉक्स अनुवाद पाइपलाइन में एक साथ दो रिपॉज़िटरी-विशिष्ट विफलता मोड मौजूद थे:
scripts/translate-docs.pyDocsHomeके केवल थोड़े से संदेश निकालती थी जबtr(...)कॉल ऐसे रूपों में लिखे हों जिन्हें वह पार्स नहीं करती, औरdocs/i18n/**के अंतर्गत अनूदित मार्कडाउन में लिंक टारगेट के भीतर मशीन-अनूदित स्लग याZXQPLACEHOLDERअवशेष हो सकते थे। - प्रभाव: स्थानीयकृत होमपेज चुपचाप अंग्रेज़ी पर लौट सकते हैं, स्थानीयकृत डिटेल पेज बिना अनुवाद के दिख सकते हैं, और सोर्स डॉक्स सही होने के बावजूद पूरा
yarn docs:buildटूटे लोकेल लिंक पर विफल हो सकता है। - उपाय: डॉक्स अनुवाद बदलने या लोकेल फ़ाइलें दोबारा बनाने के बाद हमेशा रिपॉज़िटरी रूट से
yarn docs:buildचलाएँ,docs/i18n/**के मार्कडाउन मेंZXQPLACEHOLDERखोजें, और सत्यापित करें कि अनूदित लिंक अब भी/apps/5chan/जैसे कैनोनिकल डॉक स्लग की ओर इशारा करते हैं, न कि अनूदित URL पथों की ओर। अगरDocsHomeकी कॉपी बदली हो, तो पुष्टि करें किscripts/translate-docs.pyअब भी सभीdocs.home.*संदेश निकालती है। - स्थिति: पुष्ट
About साइट की no-JS जाँच Portless रूट पर होनी चाहिए, अलग SSR प्रीव्यू पर नहीं
- दिनांक: 2026-04-12
- किसने देखा: Codex
- संदर्भ: किसी ब्रांच वर्कट्री से
about/साइट के no-JS समर्थन की जाँच - क्या आश्चर्यजनक था: एक अलग SSR प्रीव्यू भला-चंगा दिख सकता है, जबकि असली ब्रांच-स्कोप्ड Portless रूट अब भी गलत ऐप शेल या कोई पुरानी प्रक्रिया सर्व कर रहा हो। इस रिपॉज़िटरी में असली लोकल अनुबंध
yarn startसे मिलने वाला Portless होस्टनेम है, कोई तदर्थ प्रीव्यू सर्वर नहीं। - प्रभाव: एजेंट गलती से दावा कर सकते हैं कि no-JS समर्थन काम करता है, या ऐसे रिग्रेशन चूक सकते हैं जो केवल
*.bitsocial.localhostपर दिखते हैं। - उपाय:
about/की ब्राउज़र जाँच के लिए हमेशाyarn startयाyarn start:aboutसे असली लोकल सर्वर शुरू करें और पहले ब्रांच-स्कोप्ड Portless URL पर परीक्षण करें। अगर कोई Portless होस्टनेम बासी लगे, तो दोबारा परीक्षण से पहले पुरानी प्रक्रिया की जाँच करके उसे बंद करें। - स्थिति: पुष्ट
chain/ yarn build:verify और yarn doctor को दिखाई ही नहीं देता था
- दिनांक: 2026-07-05
- किसने देखा: Codex
- संदर्भ: मोनोरेपो में
chain/वर्कस्पेस (chain.bitsocial.netके लिए स्टैंडअलोन Vite ऐप) जुड़ने के बाद केवल chain/ वाले डिफ़ की जाँच। - क्या आश्चर्यजनक था:
scripts/verify-build.mjsकेवलabout/,docs/औरstats/पथ-उपसर्गों को पहचानती थी, इसलिए केवल chain/ वाला डिफ़ "No targeted build checks matched the current diff" छापता था और कोई बिल्ड चलाता ही नहीं था, जबकि रूटpackage.jsonमेंbuild:chainपहले से मौजूद था। इससे अलग,yarn doctorreact-doctor about -yपर हार्ड-कोडेड था, इसलिएchain/srcके अंतर्गत React बदलावों को React Doctor की कोई कवरेज नहीं मिलती थी। - प्रभाव: chain बदलाव जाँचने वाले एजेंट को यह जानना ज़रूरी था कि
yarn build:verifyपर भरोसा करने के बजाय सीधेyarn build:chainचलाना है, औरchain/srcमें React समस्याएँ (इफ़ेक्ट, हुक, डेड कोड)yarn doctorकी पकड़ में नहीं आती थीं। - उपाय:
scripts/verify-build.mjsमें अबabout/वाली शाखा जैसी ही एकchain/शाखा है, औरdoctorतथाdoctor:verboseअब एक ही इनवोकेशन मेंreact-doctor --project about,chain -yचलाते हैं।doctor:scoreकेवलaboutतक सीमित रहता है, क्योंकि एक से ज़्यादा प्रोजेक्ट वाले--projectके साथ मिलाने पर--scoreचुपचाप कुछ नहीं छापता; अगर chain का स्कोर चाहिए तोyarn react-doctor --project about,chain --verbose -y(या--json) इस्तेमाल करें। - स्थिति: पुष्ट
ब्राउज़र P2P सुरक्षित WebSockets पर चलता है; pkc-js डिफ़ॉल्ट रूप से WebRTC और WebTransport को मना कर देता है
- दिनांक: 2026-08-02
- किसने देखा: Claude
- संदर्भ: Bitsocial का ब्राउज़र P2P कैसे काम करता है, इस पर लैंडिंग-पेज और डॉक्स कॉपी लिखना
- क्या आश्चर्यजनक था:
@pkcprotocol/pkc-jsएक डिफ़ॉल्ट कनेक्शन गेटर के साथ आता है जो ब्राउज़र में WebRTC और WebTransport डायल अस्वीकार करता है —dist/browser/helia/dial-transport-filter.jsDENIED_DIAL_TRANSPORTS_BY_DEFAULT = ["webrtc", "webrtc-direct", "webtransport"]एक्सपोर्ट करती है। इसके सोर्स कमेंट में कारण भी दिया है: ब्राउज़र में ये ट्रांसपोर्ट लंबे और अक्सर विफल होने वाले कनेक्शन-स्थापना पथ (STUN/ICE, certhash रोटेशन) जोड़ते हैं जो लोडिंग धीमी करते हैं, जबकि WebSocket सीधा और भरोसेमंद है। ब्लॉग के P2P स्टेटस पैनल पर हर लाइव पीयर "Secure WebSocket" दिखाता है। यह गेटरnode_modulesमें रहता है, इसलिए रिपॉज़िटरी में इसका कोई संकेत नहीं मिलता। - प्रभाव: तकनीकी रूप से भरोसेमंद लगने वाली, पर गलत सार्वजनिक कॉपी लिखना बहुत आसान है — जैसे यह श्रेय देना कि मार्च 2026 में WebTransport के ब्राउज़र Baseline तक पहुँचने से Bitsocial का ब्राउज़र P2P संभव हुआ। डेवलपर के पकड़ने से पहले यह दावा लैंडिंग पेज, तुलना तालिका और दो डॉक्स पेज तक पहुँच चुका था। सार्वजनिक पेजों पर गलत आर्किटेक्चर दावों की जाँच ठीक वही डेवलपर दर्शक करते हैं जिन्हें यह साइट लक्ष्य बनाती है।
- उपाय: libp2p या ब्राउज़र प्लेटफ़ॉर्म सैद्धांतिक रूप से जो समर्थन करते हैं, उससे कभी यह अनुमान न लगाएँ कि Bitsocial कौन से ट्रांसपोर्ट इस्तेमाल करता है। मौजूदा अस्वीकृति-सूची के लिए
node_modules/@pkcprotocol/pkc-js/dist/browser/helia/dial-transport-filter.jsजाँचें, पुष्टि करें किabout/src/के अंतर्गत कोईconnectionGaterओवरराइड मौजूद नहीं है, और कोई भी सार्वजनिक दावा करने से पहले ब्लॉग के "P2P status" पैनल में लाइव ट्रांसपोर्ट लेबल पढ़ें। जिस अपस्ट्रीम बदलाव ने असल में ब्राउज़र से पब्लिश करना संभव बनाया, वह@libp2p/gossipsub15.0.21 (मई 2026) में आया gossipsub मोनोटोनिक-seqno फ़िक्स था; pkc-js फ़िलहाल 16.0.4 शिप करता है। - स्थिति: पुष्ट
किसी अनूदित न हुए डॉक्स पेज से सापेक्ष ./page.md लिंक हर स्थानीयकृत बिल्ड को तोड़ देते हैं
- दिनांक: 2026-08-02
- किसने देखा: Claude
- संदर्भ: एक नया केवल-अंग्रेज़ी पेज
docs/browser-p2p.mdजोड़ना, जो./peer-to-peer-protocol.mdऔर./apps/5chan.mdके ज़रिए मौजूदा डॉक्स से जुड़ता था - क्या आश्चर्यजनक था:
docs/i18n/<lang>/docusaurus-plugin-content-docs/current/के अंतर्गत हर लोकेल डॉक्स ट्री की नकल रखता है। इन मिरर में अनुपस्थित नया पेज अंग्रेज़ी फ़ॉलबैक के ज़रिए हर लोकेल में रेंडर तो होता है, लेकिन उसके सापेक्ष मार्कडाउन लिंक अब रिज़ॉल्व नहीं होते — Docusaurus/ar/browser-p2p/peer-to-peer-protocol.md/उत्सर्जित करता है और "Docusaurus found broken links!" के साथ बिल्ड विफल कर देता है। अहम बात यह है किyarn build:verifyऔरyarn docs:build:verifyकेवलenबिल्ड करते हैं और साफ़-सुथरे पास हो जाते हैं; यह समस्या केवल पूरेyarn docs:buildमें सामने आती है, और वह वर्णक्रम में पहले लोकेल (ar) पर ही रुक जाता है। - प्रभाव: कोई डॉक्स बदलाव हर तेज़ लोकल जाँच पास कर सकता है और फिर भी प्रोडक्शन का मल्टीलोकेल बिल्ड तोड़ सकता है। विफलता बदलाव से असंबंधित भी लगती है, क्योंकि त्रुटि ऐसे लोकेल पथ का नाम लेती है जिसे लेखक ने कभी छुआ ही नहीं।
- उपाय: ऐसे किसी भी डॉक्स पेज में, जो
docs/i18n/**में मिरर नहीं किया गया है, सापेक्ष.mdलिंक के बजाय रूट-सापेक्ष लिंक (/peer-to-peer-protocol/,/apps/5chan/) इस्तेमाल करें; Docusaurus उनके आगे लोकेल अपने आप जोड़ देता है।docs/build-your-own-client.mdइसका मौजूदा उदाहरण है। डॉक्स पेज जोड़ने या लिंक करने वाला कोई भी बदलाव सौंपने से पहले पूराyarn docs:buildचलाएँ — केवलbuild:verifyनहीं। - स्थिति: पुष्ट
update-translations.js को about/ से चलाना ज़रूरी है, और समानांतर रन चुपचाप कीज़ खो देते हैं
- दिनांक: 2026-08-02
- किसने देखा: Claude
- संदर्भ:
translateस्किल के ज़रिए सभी 36 लोकेल में 26 अनूदित i18next कीज़ लागू करना - क्या आश्चर्यजनक था: एक ही स्क्रिप्ट में दो अलग-अलग जाल। पहला,
scripts/update-translations.jsअपना लक्ष्यpath.join(process.cwd(), "public", "translations")के रूप में रिज़ॉल्व करती है, पर यह रिपॉज़िटरी अनुवादabout/public/translationsमें रखती है। रिपॉज़िटरी रूट से दस्तावेज़ में दिया गया कमांड चलाने पर हर बार "Translations directory not found" के साथ विफलता मिलती है —docs/agent-playbooks/translations.mdमेंnode scripts/update-translations.js ...दिखाया गया है, जो रिपॉज़िटरी-रूट कमांड जैसा पढ़ा जाता है। दूसरा, हर इनवोकेशन सभी 36 लोकेल फ़ाइलों पर एक रीड-मॉडिफ़ाई-राइट है, इसलिए एक साथ चल रहे दो इनवोकेशन एक-दूसरे को मिटा देते हैं और एक की बिना किसी त्रुटि के गायब हो जाती है।translateस्किल स्पष्ट रूप से एक साथ 4 सबएजेंट तक चलाने को कहती है, और उनमें से हर एक इसी स्क्रिप्ट को कॉल करेगा। - प्रभाव: रिपॉज़िटरी-रूट वाला रूप ज़ोर-शोर से विफल होता है और एक पूरा पास बर्बाद कर देता है। समानांतरता वाली समस्या चुपचाप विफल होती है: कीज़ मनमाने लोकेल से गायब हो जाती हैं, और डिफ़ फिर भी भरोसेमंद दिखता है।
- उपाय: इसे
cd about && node ../scripts/update-translations.js --key <key> --map <abs-path> --writeके रूप में चलाएँ। अनुवादक सबएजेंट को लोकेल फ़ाइलें कभी समानांतर में न लिखने दें — उनसे केवल डिक्शनरी JSON फ़ाइलें बनवाएँ, फिर पैरेंट एजेंट से हर की को क्रम से लागू करें। लागू करने के बाद प्रोग्राम से सत्यापित करें कि हर की सभी 35 गैर-अंग्रेज़ी लोकेल में मौजूद है और कोई भी मान अंग्रेज़ी सोर्स के बाइट-दर-बाइट समान नहीं है। - स्थिति: पुष्ट