Phase 12: 統一TypeBox ABI実装開始 - ChatGPT5による極小コアABI基盤構築

- TypeBox ABI雛形: メソッドスロット管理システム追加
- Type Registry: Array/Map/StringBoxの基本メソッド定義
- Host API: C ABI逆呼び出しシステム実装
- Phase 12ドキュメント整理: 設計文書統合・アーカイブ化
- MIR Builder: クリーンアップと分離実装完了

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Moe Charm
2025-09-03 05:04:56 +09:00
parent e2e25f6615
commit 53d88157aa
84 changed files with 4739 additions and 2750 deletions

View File

@ -28,6 +28,24 @@ jobs:
echo "[OK] No direct env reads outside jit::config/rt"
fi
- name: Report direct env reads (global advisory)
run: |
echo "[ADVISORY] Listing direct std::env::var reads outside config aggregators..."
rg -n "std::env::var\(" src \
| rg -v 'src/jit/config\.rs|src/config/env\.rs' \
|| true
echo "[NOTE] Above is advisory; prefer using config::env or jit::config for critical flags."
- name: Prevent reintroducing removed modular builder feature (advisory)
run: |
set -e
if rg -n "mir_modular_builder" Cargo.toml src || true; then
echo "[GUARD] Found 'mir_modular_builder' mention (advisory). This feature was removed."
exit 1
else
echo "[OK] No 'mir_modular_builder' mentions found"
fi
- name: Enforce single B1 ABI switch point (advisory)
run: |
set -e
@ -43,4 +61,3 @@ jobs:
- name: Print reminder for stats.jsonl (advisory)
run: |
echo "[NOTE] Consider emitting stats.jsonl with {function, abi_mode, reason} at least once per run."

View File

@ -49,6 +49,10 @@ jobs:
jit-direct-smoke:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
profile: [debug, release]
env:
CARGO_TERM_COLOR: always
# Disable external plugins to keep CI deterministic
@ -73,17 +77,28 @@ jobs:
restore-keys: |
${{ runner.os }}-cargo-
- name: Build (release, cranelift-jit)
run: cargo build --release --features cranelift-jit
- name: Build (${{ matrix.profile }}, cranelift-jit)
run: |
if [ "${{ matrix.profile }}" = "release" ]; then
cargo build --release --features cranelift-jit
else
cargo build --features cranelift-jit
fi
- name: JIT-direct smoke: mir-branch-ret
run: timeout 15s ./target/release/nyash --jit-direct apps/tests/mir-branch-ret/main.nyash
run: |
BIN=./target/${{ matrix.profile }}/nyash
timeout 15s "$BIN" --jit-direct apps/tests/mir-branch-ret/main.nyash
- name: JIT-direct smoke: mir-phi-min
run: timeout 15s ./target/release/nyash --jit-direct apps/tests/mir-phi-min/main.nyash
run: |
BIN=./target/${{ matrix.profile }}/nyash
timeout 15s "$BIN" --jit-direct apps/tests/mir-phi-min/main.nyash
- name: JIT-direct smoke: mir-branch-multi
run: timeout 15s ./target/release/nyash --jit-direct apps/tests/mir-branch-multi/main.nyash
run: |
BIN=./target/${{ matrix.profile }}/nyash
timeout 15s "$BIN" --jit-direct apps/tests/mir-branch-multi/main.nyash
smoke-compile-events:
runs-on: ubuntu-latest