Skip to content

Refactor error handling, format codebase, and release v1.14.0 - #46

Merged
EthanPeng-2048 merged 12 commits into
devfrom
main
Oct 31, 2026
Merged

EthanPeng-2048 merged 12 commits into
devfrom
main

Conversation

@EthanPeng-2048

Copy link
Copy Markdown
Collaborator

No description provided.

EthanPeng-2048 and others added 12 commits October 30, 2026 23:36
Merge pull request #40 from neuralnet-cpp-dev/main
对主仓 201 个 C++ 源文件(include/src/tools/examples)统一套用根目录
.clang-format 目标风格(Allman / 4 空格 / 100 列 / include 不排序),
182 个文件产生 diff。五个 extern/ 子仓同步格式化并各自产生独立提交,
本提交同时更新子仓指针。

验证:cmake --build build/dev 全量重编 159/159 目标通过,零错误。

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- extern/base → v1.0.2(1926464)
- extern/dataset → v1.0.1(a9c3829)
- extern/kvrecord → v1.1.1(276c666)
- extern/threadpool → v1.0.1(17a0253)
- extern/tokenizer → v1.0.1(4751259)

各 tag 均含统一 clang-format 格式化与嵌套子仓指针更新(递归同步,无 API/行为变化)。

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- .clang-format / CONTRIBUTING / AGENTS / cpp-standards §8:把「整仓重排不在维护范围、
  约 4 成行会变」改为「2026-10-31 已全仓统一格式化,现有代码即基线,改动走 git clang-format」,
  cpp-standards §8.2 的 K&R 示例改为与配置一致的 Allman(此前文档与工具互相矛盾)
- history.md 增「全仓 clang-format 基线化」条,显式推翻 2026-10-11 的「整仓重排被否决」结论
- bench/gui_cli_audit.py、cli_controllers.py、gui.py:可执行文件定位再遍历一层 build/<preset>/,
  此前 CMakePresets 构建下门禁与 GUI 取不到产物(FileNotFoundError / 静默退回兜底名单)
- gpu_batch_scope_test 的 make_conv_model 只在 NN_HAS_VULKAN 内使用,
  无 Vulkan 构建下触发 -Wunused-function -Werror(WSL clang/GPU=OFF 实测),
  用 #ifdef 收口。
- GCC 15.2 -O3 + PCH 对 std::optional/std::unique_ptr 内联析构报
  -Wmaybe-uninitialized 假阳性(layer_lifetime_test 的 Model 析构路径,
  诊断位置均为 <unknown>),仅对 GNU 关闭该子告警,-Wuninitialized 保留。

验证:WSL clang 24+libc++ 140/140 步、71/71 ctest 全过;
      WSL g++ 15.2+libstdc++ 71/71 ctest 全过。
- project(VERSION) → 1.14.0
- 新增 docs/release-notes/v1.14.0.md(主题/新增/迁移/验收基线/已知限制)
- release-notes 索引加入 v1.14.0
- release-requirements 新增 §10 v1.14.0 发布实跑记录
  (Release 72 pass+1 skip / Debug 73 pass / WSL clang+libc++ 与 g+++libstdc++ 全过)
- TrainingSession::resume 先读状态段并交叉校验,通过后才载入权重,
  Strict 失败不再改写模型参数(issue #43)
- 会话镜像 state_.optimizer_step 改为优化器权威 t(state_step()),
  不再用 TrainState.counters.global_step(issue #42)
- TextTrainer::make_train_state 的 optimizer_step 改用 optimizer().state_step(),
  修复「续训 → 再存档 → 再续训」的 Adam t 退化(issue #42)
- session_checkpoint_test 新增二次续训 t 连续累计与失败路径逐位不变用例
- 版本号定档 v1.14.1
@EthanPeng-2048
EthanPeng-2048 merged commit 5ad9f53 into dev Oct 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant