Skip to content

Commit d628e70

Browse files
committed
docs: make Russian hardening changelog responsive
1 parent 13dd86b commit d628e70

2 files changed

Lines changed: 12 additions & 9 deletions

File tree

docs/changelog/2026-07-16-hardening-ru.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,17 @@
2222
.metric span { color:var(--muted); font-size:13px; }
2323
.bar { height:12px; background:#e5ebf0; margin-top:7px; }
2424
.bar i { display:block; height:100%; background:var(--green); }
25-
table { border-collapse:collapse; width:100%; background:#fff; margin:12px 0 20px; }
25+
.table-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:12px 0 20px; }
26+
table { border-collapse:collapse; width:100%; background:#fff; margin:0; }
2627
th,td { border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; }
2728
th { background:#edf2f6; font-weight:700; }
28-
code { background:#eaf0f5; padding:2px 5px; border-radius:3px; font-size:.92em; }
29+
code { background:#eaf0f5; padding:2px 5px; border-radius:3px; font-size:.92em; overflow-wrap:anywhere; word-break:break-word; }
2930
.ok { color:var(--green); font-weight:700; }
3031
.warn { color:var(--amber); font-weight:700; }
3132
.source-list { columns:2 360px; column-gap:36px; }
3233
.source-list li { break-inside:avoid; margin:5px 0; }
3334
footer { border-top:1px solid var(--line); margin-top:40px; padding-top:16px; color:var(--muted); font-size:13px; }
34-
@media (max-width:650px) { main { padding:25px 15px 48px; } table { font-size:14px; } th,td { padding:8px; } }
35+
@media (max-width:650px) { main { padding:25px 15px 48px; } table { min-width:560px; font-size:14px; } th,td { padding:8px; } }
3536
</style>
3637
</head>
3738
<body>
@@ -51,15 +52,15 @@ <h1>cppmega.mlx: ABI, Path C и packaging hardening</h1>
5152
<h2>Что сделано</h2>
5253
<h3>ABI по loaded library</h3>
5354
<p>Проверка больше не делает вывод о runtime по <code>brew info</code> или только по linked keg. Она смотрит на реально загруженный dyld image, сопоставляет его с dedicated wheel или Homebrew Cellar и отдельно проверяет release <code>mlx-metal</code>.</p>
54-
<table>
55+
<div class="table-wrap"><table>
5556
<thead><tr><th>Источник</th><th>Значение</th></tr></thead>
5657
<tbody>
5758
<tr><td>MLX package/module</td><td><code>0.32.0</code></td></tr>
5859
<tr><td>mlx-metal</td><td><code>0.32.0</code></td></tr>
5960
<tr><td>loaded libmlx</td><td><code>/Volumes/external/sources/.venvs/cppmega.mlx/lib/python3.13/site-packages/mlx/lib/libmlx.dylib</code></td></tr>
6061
<tr><td>Homebrew linked keg</td><td><code>/opt/homebrew/Cellar/mlx/0.32.0</code>, informational only</td></tr>
6162
</tbody>
62-
</table>
63+
</table></div>
6364
<ul class="source-list">
6465
<li><a href="https://github.com/DatasunriseOU/cppmega_mlx/blob/codex/canonical-complete-20260715/scripts/check_mlx_abi.py">scripts/check_mlx_abi.py</a></li>
6566
<li><a href="https://github.com/DatasunriseOU/cppmega_mlx/blob/codex/canonical-complete-20260715/scripts/check_mlx_abi.sh">scripts/check_mlx_abi.sh</a></li>
@@ -68,13 +69,13 @@ <h3>ABI по loaded library</h3>
6869

6970
<h3>Fail-closed dirty TileLang/TVM contract</h3>
7071
<p>Launcher загружает contract module по exact source path, очищает ambient Python/TVM/DYLD variables и записывает revisions/digests TileLang, TVM и TVM-FFI. Dirty stack запрещён по умолчанию и разрешается только явным флагом. Свежий source build использует правильный TVM root, Metal ON, CUDA/ROCm OFF и явный Cython dependency; старый неверный build сохранён отдельно как <code>build.stale-20260716</code>.</p>
71-
<table>
72+
<div class="table-wrap"><table>
7273
<thead><tr><th>Режим</th><th>Exit</th><th>Результат</th></tr></thead>
7374
<tbody>
7475
<tr><td>default</td><td>1</td><td class="warn">FAIL как задумано: dirty TileLang/TVM</td></tr>
7576
<tr><td><code>--allow-dirty-source-stack</code></td><td>0</td><td class="ok">PASS, receipt содержит opt-in, revisions и digests</td></tr>
7677
</tbody>
77-
</table>
78+
</table></div>
7879
<ul class="source-list">
7980
<li><a href="https://github.com/DatasunriseOU/cppmega_mlx/blob/codex/canonical-complete-20260715/scripts/mlx_env_contract.py">scripts/mlx_env_contract.py</a></li>
8081
<li><a href="https://github.com/DatasunriseOU/cppmega_mlx/blob/codex/canonical-complete-20260715/scripts/run_mlx_path_c.py">scripts/run_mlx_path_c.py</a></li>
@@ -112,7 +113,7 @@ <h2>Test harness</h2>
112113
<p>Полный suite запускается с <code>PYTHONSAFEPATH=1</code>. Test fixture удаляет foreign <code>PYTHONPATH</code> и возвращает только текущий checkout для дочерних <code>python -m scripts...</code>. Parser/converter fixtures явно отключают admission threshold, потому что проверяют schema/provenance; production memory guard остаётся с default <code>10 GiB</code> и fail-closed.</p>
113114

114115
<h2>Проверки</h2>
115-
<table>
116+
<div class="table-wrap"><table>
116117
<thead><tr><th>Gate</th><th>Result</th><th>Деталь</th></tr></thead>
117118
<tbody>
118119
<tr><td>Full pytest</td><td class="ok">PASS</td><td>7385 passed, 57 skipped, 2 xfailed, 19 warnings, 22:31</td></tr>
@@ -125,8 +126,9 @@ <h2>Проверки</h2>
125126
<tr><td>uv lock/check</td><td class="ok">PASS</td><td>lock, no-sources lock и 95 installed packages</td></tr>
126127
<tr><td>Changed-file Ruff</td><td class="ok">PASS</td><td>Ruff 0.15.22</td></tr>
127128
<tr><td>compileall/bash/diff</td><td class="ok">PASS</td><td>all requested static gates</td></tr>
129+
<tr><td>HTML changelog desktop/mobile</td><td class="ok">PASS</td><td>1440px и 390px; без page-level horizontal overflow</td></tr>
128130
</tbody>
129-
</table>
131+
</table></div>
130132

131133
<h2>Остаточные риски</h2>
132134
<p class="warn">CUDA kernel compile/run здесь не выполнялся: Mac не даёт H200/B200 proof. Hardware test остаётся receipt-gated для self-hosted runner.</p>

docs/changelog/2026-07-16-hardening-ru.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ production commit.
146146
| Python compileall | PASS для `cppmega_mlx cppmega_v4 scripts tests` |
147147
| Tracked/new shell `bash -n` | PASS |
148148
| `git diff --check` | PASS |
149+
| HTML changelog desktop/mobile | PASS: 1440px и 390px без page-level horizontal overflow |
149150

150151
Команда полного теста:
151152

0 commit comments

Comments
 (0)