دليل: تحديثُ قفلِ المزامنة — موجةٌ أولى (١١ فصلًا رُوجعت لا بُصمت فقط) - #7
Merged
Conversation
…أصليّة سُحب فصلُ الآلة الافتراضية: طبقةُ vm/ حُذفت من شجرة اللغة بالإيداع bcf0a746 («ستُعاد كتابتها من الصفر») — فالفصلُ كان يصف كودًا غيرَ موجود. ولا يُكتب بديلُه قبل أن يُكتب الكود. وحلّ محلَّه src/backend/native.md: الخلفيّةُ الأصليّة SIR → ELF64 بلا LLVM ولا رابطٍ أجنبيّ، مشتقًّا من الكود لا من الذاكرة، ومسجَّلًا في sync/sources.yaml بثمانيةِ مصادرَ تحقَّق وجودُها على dev. وأُصلح الثيمُ وثُبّتت نسخُ البناء: - الجدولُ يُمرَّر أفقيًّا ولا يُسحَق: العلّةُ width:100% (يساوي عرضَ الحاوية دائمًا فلا يقعُ تجاوزٌ ولا يعملُ تمريرُ .table-wrapper)، والإصلاحُ width:auto + min-width:100% وأرضيّةُ عرضٍ للخلايا تحت 760px. - فهرسُ الصفحة (theme/page-toc.js): بلا معالجٍ مسبقٍ ولا تبعيّةِ cargo، مع حارسَي print.html والمرساةِ العربيّةِ الخام. - mdbook-version: latest ⇒ 0.5.4، وmdbook-mermaid ⇒ 0.17.0: خطُّ 0.16.x يستهدف mdbook 0.4.52 ولا يتوافق مع 0.5 أصلًا، و0.17.0 أوّلُ ما يبني على mdbook-preprocessor 0.5. الترقيةُ قرارٌ يُراجَع في PR لا حدثٌ يقع من تلقائه. تنبيه: المصادرُ الثمانيةُ الجديدة غير مسجّلةٍ في sources.lock.json بعد — حارسُ الـPR لا يراها (يشتقّ مفاتيحَه من القفل لا من البيان)، لكنّ الفحصَ الأسبوعيّ سيرصدها added ويفتحُ قضيّةَ انجراف. تُثبَّت بـ--update في PR مخصَّص لا هنا: --update يعيد حسابَ كلّ المصادر فيُقدِّمُ بصماتِ فصولٍ لم تُراجَع. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
القفل كان منجرِفًا عن dev (32 مصدرًا متغيّرًا، 26 غيرَ مسجَّل، 16 فصلًا). تشغيلُ --update كاملًا كان سيُقدّم بصماتِ فصولٍ لم تُراجَع — وهو عينُ «الكتم الصامت» الذي بُني له الحارس. فقُصِرت الموجةُ على أحدَ عشرَ فصلًا رُوجعت مقابل origin/dev، وتُرك الباقي لموجةٍ ثانية (covers_version يبقى 1.0.0). أعدادٌ ومراسٍ أُعيد قياسُها لا نقلُها: - types.md: SadTypeKind 52 ⇒ 49 (SAD_TYPE_KIND_COUNT). - parser.md: 11 مرساةَ سطرٍ على تعريفاتها، والثانيةَ عشرةَ (L70) أُعيدَ توجيهُها إلى L67 — كانت في جوفِ الكتلةِ لا رأسِها. - lexer.md: توحيدُ نصِّ الرابطِ ومقصدِه على L1746 (فُحصت الـ19 كلُّها). - memory.md: initializeFlags 142 ⇒ 54، وجدولُ الإهجار 281 ⇒ 174. - builtins.md: 1205 مضمنةً منها 865 بلا استيراد، بتحفّظِ مضمناتِ العتاد. - errors.md: 183 رمزًا لا 184، والوسمُ ///< SEM002: لا ///< CODE:. - codegen.md: 79 بايثون / 31 gen_ / 22 check_ / 5 _lib / 21 سواها. - language-truth.md: 18 YAML و11 مجلّدًا وملفَّي توثيق. - crypto: 20 ملفَّ سلوكٍ اليوم (كانت 14)، وعائلةُ 25519 سبعُ دوال. وانجرافٌ التقطته المراجعةُ خارجَ قائمة التصويب — وهو الأهمّ، لأنّ تقديمَ مفتاحٍ لفصلٍ ما زال كاذبًا يُبطِلُ معنى الحارس: - memory.md: جدولُ الأعلامِ كان يعرضُ مرادفاتٍ لاتينيّةً أُلغيت (18 مرادفًا، shortName = "")، ويزعمُ أنّ --dev تُحوَّلُ إلى --gc بينما المُحلِّلُ يرفضُها (success=false). أُعيدت كتابةُ القسمِ من cli_flags.yaml: عشرةُ أعلامٍ عربيّة. - types.md: Byte وFloat64 محذوفان من التعداد، وisCompositeKind لا يشملُ Struct/Class، وisNumericKind صار تفويضًا لا مدًى. - comprehensions.md: buildExprGenerator محذوفةٌ منذ #205 (تمّوز 2026) — حُذف التحذيرُ من «فخٍّ» لا وجودَ له. - sir.md: المُحسِّنُ Optimizer في sir_optimizer/ لا SIROptimizer في frontend/. - codegen.md: gen_sadinfo_errors.py تقاعد مع sadinfo في #144. - language-truth.md: لا مجلّدَ _notation/ — بل grammar/_notation.yaml. وسدُّ ثغرةٍ في الحراسة: مرساتا L1588 وL1149 كانتا خارجَ نافذتَي البصمة، فوُسِّعتا إلى 40-1600 و45-1160، وأُضيف cli_flags.yaml مصدرًا لـmemory.md (جدولُ الأعلامِ كان بلا حارسٍ أصلًا — ولهذا تعفّن). البوّابات: --validate rc=0 · الحارس يمرّ بلا مخالفين · mdbook نظيف · صفر رابطٍ مكسور من 1078 · صيغةُ القفل مطابقةٌ لمخرَج write_lock. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
لماذا
القفل كان منجرِفًا عن
dev: 32 مصدرًا متغيّرًا و26 غيرَ مسجَّل، تمسّ 16 فصلًا.تشغيلُ
--updateكاملًا كان سيُثبّت بصماتِ فصولٍ لم تُقرَأ — وهو بعينه «الكتمُ الصامتُ»الذي بُني
cmd_guard_lockليمنعه. فقُصِرت الموجةُ على ما يُراجَع فعلًا.النطاق
أحدَ عشرَ فصلًا رُوجعت مقابل
origin/dev، ومفاتيحُها حُدِّثت يدويًّا.covers_versionيبقى1.0.0— لا يُرفَع قبل تغطيةٍ كاملة.mainnative.mdمن #6 وcli_flags.yaml)type_bridge.hوvm/*من #6، ونافذتَيparser_*المُعاد تنطيقُهما)ما صُوِّب — أعدادٌ ومراسٍ أُعيد قياسُها
SadTypeKind49 · 11 مرساةَ محلّلٍ + واحدةٌ أُعيد توجيهُها (#L70كانت في جوف الكتلةلا رأسها ⇒
#L67) · مرساةُ المعجميّ · مرساتا الذاكرة · 1205/865 مضمنة · 183 رمزَخطأ · 79/31 مولِّدًا · 18 ملفَّ YAML · 20 ملفَّ تشفير (كانت 14).
وانجرافٌ التقطته المراجعةُ خارجَ قائمة التصويب
هذا هو الأهمّ: تقديمُ مفتاحٍ لفصلٍ ما زال كاذبًا يُبطِلُ معنى الحارس.
memory.md: جدولُ الأعلام كان يعرض مرادفاتٍ لاتينيّةً أُلغيت (18 مرادفًا،shortName = "")، ويزعم أنّ--devتُحوَّل إلى--gcبينما المُحلِّلُ يرفضُها(
result.success = false). أُعيدت كتابةُ القسم منcli_flags.yaml: عشرةُ أعلامٍ عربيّةٍ حصرًا.types.md:ByteوFloat64محذوفان من التعداد؛isCompositeKindلا يشملStruct/Class؛isNumericKindصار تفويضًا لا مدًى.comprehensions.md: تحذيرٌ من «فخٍّ متبقٍّ» فيbuildExprGenerator— الدالّةُمحذوفةٌ منذ #205 (تمّوز 2026).
sir.md:SIROptimizerاسمٌ لا مُسمّى له — المُحسِّنُOptimizerفيsir_optimizer/.codegen.md:gen_sadinfo_errors.pyتقاعد معsadinfoفي #144.language-truth.md: لا مجلّدَ_notation/— بلgrammar/_notation.yaml.سدُّ ثغرةٍ في الحراسة
مرساتا
parser_main.cpp#L1588وparser_expressions.cpp#L1149كانتا خارجَ نافذتَيالبصمة (
40-1500·45-1130) — أي أنّ الدليل يوثّق أسطرًا لا يحرسها الكاشف. وُسِّعتالنافذتان إلى
40-1600و45-1160. وأُضيفlanguage-truth/cli_flags.yamlمصدرًالـ
memory.md؛ جدولُ الأعلام كان بلا حارسٍ أصلًا، ولهذا تعفّن بصمت.البوّابات (محلّيًّا)
check_sync.py --validate--guard-lock(BASE=origin/main)mdbook buildwrite_lockمتروكٌ عمدًا
خمسةُ مفاتيحَ متخلّفة (
compiler/src/backend/llvm·interpreter_core.h·expression_evaluator.h·gen_parser_grammar_docs.py·ast_visitor.h) — فصولُها لمتُراجَع فلا تُبصَم. و
شفّر/ولّد_…بالشدّة في فصلَي التشفير بينما القانونيّشفر/ولد_….و4 إشاراتٍ إلى
sadinfoالمتقاعدة في فصولٍ خارج الموجة.ثغرةٌ في الحارس نفسِه (لم تُعالَج هنا):
chapters_for_keyيمرّ إن تغيّر أيُّ فصلٍمرتبطٍ بالمفتاح، فمفتاحٌ مشترك (
scripts/codegen·_schemas) يَسِمُphilosophy.mdطازجًا دون مراجعة. تُعالَج بجعل الشرط «كلَّ الفصول» أو بفصل المفاتيح المشتركة.
🤖 Generated with Claude Code