Q+ 文档

Q+ 贡献指南(Contributing)

English summary. Contributor quick reference for Q+ 1.14.0-dev / spec v4.45 (candidate, NOT PUBLISHED): repo structure (see docs/REPO_LAYOUT.md), verified local commands (tools/build.sh, tools/test.sh, tools/robustness_test.sh, tools/test_qfmt.sh, tools/test_fs.sh, tools/test_async_io.sh, tools/test_float_parity.sh, tools/test_net_poc6.sh, tools/test_net_aot_p5.sh, consistency, package), the five build anchors + bootstrap/AOT fixed points, commit and authorization norms (no external account needed; push/merge/publication only with Maintainer authorization; Apache-2.0; no secrets/private paths/generated artifacts), safe codegen changes (self-hosting/bootstrap/AOT risk), stdlib/tests/docs/site procedures, and common errors (qboot miscompile, /tmp quota/EDQUOT, AOT no-exec-bit/loud unsupported, stale anchors). Full guide: docs/CONTRIBUTING.html.

快速参考

1. 先看结构与规则

2. 本地验证命令(v240 实测)

mkdir -p .tmp && export TMPDIR="$PWD/.tmp"
bash tools/build.sh                  # 5 锚点;Phase 3: CodeGen ... [Q+ build] artifacts in ./build
bash tools/test.sh                   # QPLUS_LANGUAGE_TESTS_PASS
bash tools/robustness_test.sh        # ROBUSTNESS_PASS
bash tools/test_qfmt.sh              # QPLUS_QFMT_TEST: PASS=306 FAIL=0 SKIP=0
bash tools/test_fs.sh                # STD_FS_TEST_PASS (VM fs ops + AOT loud)
bash tools/test_async_io.sh          # P3B_ALITE: PASS=30 FAIL=0
bash tools/test_float_parity.sh      # FLOAT_PARITY_PASS
bash tools/test_net_poc6.sh          # NET_POC6_PASS ...
bash tools/test_net_aot_p5.sh        # AOT_NET_PHASE5_PASS
bash tools/check_release_consistency.sh --root .   # PASS=58 FAIL=0 SKIP=0
bash tools/package.sh ./.tmp/dist    # 确定性 tar + 私有词扫描(不发布)
cd site && python3 build_site.py --qplus-root .. && python3 ci/selftest.py

3. 固定点(v240,逐字节复现)

产物sha256 前 8大小
build/bqvm141e980b187,088 B
build/bqvm_small3e6eee3f187,088 B
build/qboot.qbc7248ce0d529,994 B
build/cgtest.qbc664d7648187,002 B
build/cgtest_aot235b0d3e1,989,608 B

bootstrap/qboot.qbc == build/qboot.qbc;bootstrap/cgtest_aot == build/cgtest_aot; bootstrap/stage0.q + bootstrap/SHA256SUMS 须通过。bootstrap 仅在批准的编译器/codegen 变更后刷新;禁止手工改锚点/跳测试/重打历史包。

4. 提交与授权

5. 常见错误

qboot 误编译 → 回退/最小复现加 fixture;/tmp 配额/EDQUOT → TMPDIR=$PWD/.tmp; AOT rc=5/无 ELF → 用了未支持能力(loud,用 VM 或查边界);AOT ELF 无输出 → chmod +x 且 cgtest_aot in.qbc out.elf(位置参数);Permission denied → bash tools/...; PRIVATE_WORD_SCAN_FAIL → 清理私有词;站点页数/checks 以实际构建为准。

相关

贡献指南全文 · 仓库布局 · 发布工程 · CI · RELEASING · English 摘要索引

状态:1.14.0-dev 候选(NOT PUBLISHED);本页不授予 push/发布权限。

← Q+ Hub