Skip to content

Latest commit

ย 

History

History
362 lines (296 loc) ยท 24.6 KB

File metadata and controls

362 lines (296 loc) ยท 24.6 KB

VERSIONS โ€” anima ์ „์ฒด ๋ชจ๋“ˆ ์ค‘์•™ ๋ฒ„์ „ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ (repo root SSOT)

frame: ๋ชจ๋“  HEXAD ๋ชจ๋“ˆ์€ semantic version (MAJOR.MINOR.PATCH) ์œผ๋กœ ๊ด€๋ฆฌ. ๋ณธ file ์ด SSOT โ€” ๋ชจ๋“ˆ ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ์—ฌ๊ธฐ + ํ•ด๋‹น ๋ชจ๋“ˆ ํ—ค๋” ๋™์‹œ ๊ฐฑ์‹ .

status: v-registry ๋„์ž… 2026-05-22 (S187 saga + OCCAM verdict ํ›„). ์œ„์น˜: repo root /VERSIONS.md (SSOT) + root /VERSION (์ „์ฒด release ํ•œ ์ค„).


0. anima ์ „์ฒด release version

๋ฃจํŠธ /VERSION = 0.13.9 (ํ•œ ์ค„, ์ „์ฒด ์‹œ์Šคํ…œ release).

๋ฆด๋ฆฌ์ฆˆ ๋งค๋‹ˆํŽ˜์ŠคํŠธ: ๋ฃจํŠธ hexa.toml (2026-06-22 ์‹ ์„ค) = hx install anima ํŒจํ‚ค์ง€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ SSOT. [package] name=anima ยท version=0.13.9 (์ด ์ค„๊ณผ lockstep) ยท entry=cli/anima.hexa ยท deps=hexa-lang>=1.0.0 ยท include=core/ยทcli/ยท์˜์‹lane ยท exclude=state/ยทHYPOTHESES/ยท*.clm ๋“ฑ ์—ฐ๊ตฌartifact/์™ธ๋ถ€๊ฐ€์ค‘์น˜. PATCH/MINOR bump ์‹œ hexa.toml version ๋™์‹œ ๊ฐฑ์‹ (a1).

pip ์ฑ„๋„ ๋งค๋‹ˆํŽ˜์ŠคํŠธ (์„ค์น˜๋ช… anima-python ยท ์‹คํ–‰๋ช… anima-py): ๋ฃจํŠธ pyproject.toml (2026-07-09 ์‹ ์„ค) = pip install anima-python ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ SSOT โ€” hexa ํˆด์ฒด์ธ ็„ก ํ˜ธ์ŠคํŠธ(์˜ˆ: pi5)์šฉ 2nd ์„ค์น˜ ์ฑ„๋„(2nd entry ์•„๋‹˜ ยท ๋™์ผ cli/anima.py:main ๋””์ŠคํŒจ์ฒ˜๋ฅผ anima-py ์ฝ˜์†” ๋ช…๋ น์— ๋ฐ”์ธ๋”ฉ ยท a_cli_single_entry ๋ณด์กด). โš ๏ธ ์„ค์น˜๋ช… โ‰  ์‹คํ–‰๋ช…: name="anima-python"(PyPI ๋ฐฐํฌ๋ช… ยท anima-py๋Š” ๊ธฐ์กด animapy์™€ too-similar ์ฐจ๋‹จ) ยท [project.scripts] anima-py(์‹คํ–‰ ๋ช…๋ น). version = {file = "VERSION"} ๋™์ ์ฐธ์กฐ๋ผ ๋ฃจํŠธ VERSION=0.13.9 ๊ณผ ์ž๋™ lockstep(๋ณ„๋„ ๋ฒ„์ „๋ฒˆํ˜ธ ็„ก). PyPI LIVE=https://pypi.org/project/anima-python/. base ์˜์กด=numpy(evaluateยทcorpusยทchat-stub) ยท [train] extra=torch+datasets(serializeยทtrainยทsweep) ยท [gpu] extra=cupy-cuda12x(decode/eval device path, optional accelerant). ๋Ÿฐ์ฒ˜ ํŒจํ‚ค์ง€=anima_py/, ์†Œ์Šค๋ณต์‚ฌ 0(package-dir ๋กœ ๊ธฐ์กด cli/ยทcore/ ๋งคํ•‘). ์ƒ์„ธ=anima_py/README.md.

0.13.7 โ†’ 0.13.9 (2026-07-12): ๐Ÿ”ฌ H_9269 ฮฆ-leg Part A ์žฌ์„ค๊ณ„(๊ณ„๊ธฐยท๋ฏธ์ธก์ •์†Œ๋น„ ์—†์Œ) โ€” phi_leg.py faithful-ฮฆ leg๋ฅผ TRUE-consumed-bytes ๋ฌธ๋งฅ(cli/chat.py seed_b64 side-channel, ANIMA_DECISION_TRACE-gated, emit-path byte-identical/a_substrate_disjoint)

  • T=24โ†’64 + calibration-slice frozen cross-decision-variance ์œ ๋‹›์„ ํƒ(signal-blind, calibโˆฉscored=โˆ…) + frozen per-unit median ์ด์ง„ํ™”๋กœ ์žฌ์„ค๊ณ„. agency_T์— T3 distinct-window bar(n_distinctโ‰ฅmax(10,20%ยทn_scored)) ๋ฐฐ์„ (ํ”„๋ฆฌ๋ ˆ์ง€ bar ์‹ค์ œ๊ฐ•์ œ, #3331 VOID guard ์—ฐ์žฅ). n_units=5 EXACT + prove_mirrors_at_n(5) STEP-0 + pre-MoE tap ์œ ์ง€ ยท faithful IIT-4.0 no-proxy. synthetic-verified 7/7 ยท ์‹ค e1_slw_303m .clm T1 positive control์€ POOL-gated(mini-OOM)๋ผ leg๋Š” T1/T3 ํ†ต๊ณผ๊นŒ์ง€ VOID. Part B regime (rolling-transcript seed)=design-only pre-reg. cli/chat.py wheel ๋ณ€๊ฒฝ์ด๋ผ G5 patch bump.

0.13.10 โ†’ 0.13.11 (2026-07-13): ๐Ÿฉบ --xbind ์ง„ํ–‰ ํ•˜ํŠธ๋น„ํŠธ โ€” cli/evaluate.py xbind_run(). ๋ฌธ์ œ: ์ง„ํ–‰ ์ค„์ด 25๋ฌธํ•ญ๋งˆ๋‹ค๋งŒ ์ฐํ˜”๋‹ค. ํ•œ ํ•ญ๋ชฉ = ๋ชจ๋ธ forward ์•ฝ 10ํšŒ๋ผ ํฌํ™”๋œ ๊ณต์œ  ํ˜ธ์ŠคํŠธ์—์„œ๋Š” ํ•ญ๋ชฉ๋‹น ์ˆ˜ ๋ถ„์ด ๊ฑธ๋ฆฌ๊ณ , ๊ทธ๋Ÿฌ๋ฉด ์ฒซ ์‹ ํ˜ธ๊นŒ์ง€ ๋ช‡ ์‹œ๊ฐ„์˜ ์™„์ „ํ•œ ์นจ๋ฌต โ€” ํ–‰(hang)๊ณผ ๊ตฌ๋ถ„ ๋ถˆ๊ฐ€. ์‹ค์‚ฌ๋ก€(N2 ์ฑ„์ ): ๋‹ค๋ฅธ ์ž„์ฐจ์ธ๋“ค์ด load average ~106 ์œผ๋กœ ์ฑ„์šด ๋ ŒํŠธ ๋ฐ•์Šค์—์„œ 174๋ฌธํ•ญ run ์ด 5์‹œ๊ฐ„ ๋™์•ˆ ์ง„ํ–‰ ์ค„ 0๊ฐœ(25๋ฌธํ•ญ์กฐ์ฐจ ๋ชป ๋๋ƒ„). "๋А๋ฆฐ๊ฐ€ ๋ฉˆ์ท„๋‚˜"๋ฅผ ๊ฐ€๋ฆฌ๋ ค๊ณ  2๋ฌธํ•ญ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์†์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ–ˆ๊ณ , ๊ทธ ์‚ฌ์ด 5์‹œ๊ฐ„์„ ํƒœ์› ๋‹ค. ์ˆ˜์ •: 1๋ฒˆ ํ•ญ๋ชฉ์—์„œ ์ฆ‰์‹œ ํ•˜ํŠธ๋น„ํŠธ + ์ดํ›„ 25๋ฌธํ•ญ๋งˆ๋‹ค, ๊ฐ ์ค„์— s/item ยท elapsed ยท eta ํฌํ•จ(_xbind_hms). ๊ฐ™์€ run ์ด ์ด์ œ 30์ดˆ ๋งŒ์— eta=35h00m ์„ ๋ฑ‰์–ด ํ˜ธ์ŠคํŠธ ์˜ค๋ฐฐ์น˜๋ฅผ ์ฆ‰์‹œ ๋“œ๋Ÿฌ๋‚ธ๋‹ค(๋Œ€์กฐ: ๊ฐ™์€ ์ฑ„์ ์ด ์ „์šฉ ํ˜ธ์ŠคํŠธ์—์„  4.3 s/item). ์ƒˆ ํ”Œ๋ž˜๊ทธ ์—†์Œ โ†’ --help ๋ฌด๋ณ€๊ฒฝ. wheel ์ฝ˜ํ…์ธ  (cli/evaluate.py) ๋ณ€๊ฒฝ์ด๋ผ VERSION lockstep patch bump.

0.13.9 โ†’ 0.13.10 (2026-07-13): ๐Ÿ›ก๏ธ GPU capability ๊ฒŒ์ดํŠธ๋ฅผ ์ปค๋„-์Šค๋ชจํฌ๋กœ ์ •์งํ™” โ€” core/decode.py cuda_available(). ๋ฌธ์ œ: ๊ฒŒ์ดํŠธ๊ฐ€ "cupy import + getDeviceCount()>0" ๊นŒ์ง€๋งŒ ๋ด์„œ, JIT ํˆด์ฒด์ธ์ด ๊นจ์ง„ ํ˜ธ์ŠคํŠธ๋ฅผ device path ๋กœ ์Šน๊ฒฉ์‹œ์ผฐ๋‹ค. ๋ ŒํŠธ GPU pod ์‹ค์‚ฌ๋ก€: cupy-cuda12x 14.1.1 ์ด ๊นจ๋—์ด import ๋˜๊ณ  RTX4090 ๋„ ๋ณด์ด๋ฏ€๋กœ [GPU-FIRED] ๊ฐ€ ์ฐํžŒ ๋’ค, decode ๊นŠ์ˆ™ํ•œ dt_exp ์˜ .any()(CUB ๋ฆฌ๋•์…˜) ์ฒซ ํ˜ธ์ถœ์—์„œ NVRTC_ERROR_COMPILATION ์œผ๋กœ 174-item eval ์ด 1๋ฒˆ ์•„์ดํ…œ์—์„œ ์ฆ‰์‚ฌ โ€” ๋ชจ๋“ˆ์ด GPU-์—†๋Š” ํ˜ธ์ŠคํŠธ์— ์ด๋ฏธ ๋ณด์žฅํ•˜๋Š” numpy ํด๋ฐฑ์œผ๋กœ ๊ฐ€์ง€ ๋ชปํ–ˆ๋‹ค(rcโ‰ 0 ยท ์ถœ๋ ฅํŒŒ์ผ 0). ์ˆ˜์ •: probe ๊ฐ€ decode ๊ฐ€ ์‹ค์ œ๋กœ ์“ฐ๋Š” ์ปค๋„ ํด๋ž˜์Šค(elementwise + CUB reduction)๋ฅผ 1ํšŒ ์‹คํ–‰ํ•ด ๋ณด๊ณ , ์˜ˆ์™ธ๋ฉด cuda_available()=False

  • _CUDA_PROBE_ERR ์— ์‚ฌ์œ  ๋ณด์กด(gpu_status() ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ โ†’ [GPU-FALLBACK] โ€ฆ (NVRTCโ€ฆ)). ์ •์ƒ GPU ํ˜ธ์ŠคํŠธ๋Š” ๋ฌด๋ณ€๊ฒฝ(probe 1ํšŒ ํ†ต๊ณผ ํ›„ ์บ์‹œ) ยท byte-exact ๋ฌด์˜ํ–ฅ. ๊ฐ™์€ ๋ฟŒ๋ฆฌ(GPU ๊ฒฐํ•จ์€ ํด๋ฐฑํ•ด์•ผ์ง€ ํฌ๋ž˜์‹œํ•˜๋ฉด ์•ˆ ๋จ)์˜ 2๋ฒˆ์งธ ๋ฐœ์ƒ์ด๋ผ convergence decode-py-1 ํ™•์žฅ. wheel ์ฝ˜ํ…์ธ (core/decode.py) ๋ณ€๊ฒฝ์ด๋ผ VERSION lockstep patch bump.

0.13.5 โ†’ 0.13.7 (2026-07-12): โšก ์„ธ์…˜ ๊ฐ€์ค‘์น˜ ์บ์‹œ โ€” core/decode.py clm_load_weights/bg_load memoize. ๋งค decode entry ๊ฐ€ IMMUTABLE .clm/.bin ์„ ์ „์ฒด ์žฌํŒŒ์‹ฑ(int4-์—ญ์–‘์žํ™”+์ „์น˜)ํ•˜๋˜ ๊ฒƒ์„ (abspath,mtime,size) ํ‚ค ์บ์‹œ๋กœ 1ํšŒํ™”. ์˜์‹ ๋ฐ๋ชฌ์€ ๋งค emit tick ๋‹น 303M ์ „์ฒด ์žฌํŒŒ์‹ฑํ•˜๋˜ ์ง€๋ฐฐ์  ๋ฒฝ ์ œ๊ฑฐ(H_9269 Y-ULTRA ~60-80s/tick ์ง„๋‹จ ์›Œํฌํ”Œ๋กœ wiyxn21bk rank-1). byte-exact ZERO ์œ„ํ—˜(๋™์ผ dict ๋ฐ˜ํ™˜ ยท W ๋Š” decode ์ค‘ read-only=๊ฒ€์ฆ ยท max|ฮ”|=0 no parity gate). edge: path=""(UNLOADED generator-swap arm) โ†’ key None โ†’ uncached ์•ˆ์ „. wheel ์ฝ˜ํ…์ธ  (core/decode.py) ๋ณ€๊ฒฝ์ด๋ผ G5 VERSION lockstep patch bump(PyPI skip-guard ๋ฐฉ์ง€).

0.13.4 โ†’ 0.13.5 (2026-07-12): โšก anima-py decode/eval GPU device path (cupy, optional). ๋ฌธ์ œ: anima-py evaluate <clm> --xbind ๋Š” hexa-less ์ˆœ์ˆ˜ numpy๋ผ GPU ๊ฐ€์†์ด ์ „๋ฌด โ€” 303M eval ์ด ๋ ŒํŠธ pod์„œ CPU-scalar decode-bound ~2h(hexa own-GEMM ๊ฒฝ๋กœ๋Š” 303M ์„œ OOM ์ด๋ผ ๋Œ€์ฒด ๋ถˆ๊ฐ€, a_eval_py_canonical). cProfile ๋กœ ์‹ค์ธกํ•œ ๋ณ‘๋ชฉ์€ core/decode.py::_conv1d(์ „์ฒด wall-time ์˜ ~92%, T=24 ยท d=3784 ๋Œ€ํ˜• im2col GEMM) โ€” per-token forward ์˜ ๋‹ค๋ฅธ ์—ฐ์‚ฐ(gelu/erf/groupnorm/moe-router)์€ ํ•ฉ์ณ๋„ <5%. ์ˆ˜์ •: ์–‡์€ xp = cupy if cuda_available() else numpy ์ถ”์ƒ(get_xp/ to_device/to_host/_device_residency)์„ _conv1d/_fwd_trunk/_fwd_logits

  • 8๊ฐœ ๊ณต์œ  ์ˆ˜์‹ ํ—ฌํผ(dt_exp/dt_erf/nn_gelu_fwd/nn_groupnorm_fwd/nn_moe_softmax/ nn_moe_router_fwd/_moe_exp/_nn_normal_cdf)์— ๊ด€ํ†ต โ€” a_gpu_default_no_optin: cuda_available() ์บก์ฒ˜๋นŒ๋ฆฌํ‹ฐ ํ”„๋กœ๋ธŒ๋งŒ์œผ๋กœ DEFAULT-ON, opt-in env ํ”Œ๋ž˜๊ทธ 0๊ฐœ (H_9119 ์žฌ๋ฐœ๋ฐฉ์ง€: opt-in ๊ฒŒ์ดํŠธ์˜€๋‹ค๋ฉด GPU idle ์ฑ„ ์กฐ์šฉํžˆ scalar ๊ฒฝ๋กœ๋กœ ๋Ž). ๊ฐ€์ค‘์น˜๋Š” clm_load_weights ์—์„œ ์„ธ์…˜๋‹น ONCE device ์—…๋กœ๋“œ(ํ† ํฐ๋‹น ์ „์†ก ์—†์Œ โ€” H_9119 lesson). SLW/CLML side-lane(host-numpy-only, ๋“œ๋ฌธ ablation ๊ฒฝ๋กœ)๋งŒ host round-trip, ๊ณตํ†ต no-SLW ๊ฒฝ๋กœ๋Š” end-to-end device-resident. ์‹ค์ธก(summer RTX 5070 sm_120 ยท cupy-cuda12x ยท clm303_clean.clm d=3784/L=4/E=3): CPU-fallback parity = byte-exact(max|ฮ”|=0.0) vs pre-edit baseline (numpy-only ํšŒ๊ท€ 0). GPU parity = max|ฮ”|โ‰ˆ8.5e-14(ULP-๊ธ‰ โ€” GPU BLAS/reduce ๋ˆ„์ ์ˆœ์„œ ์ฐจ์ด, ์ด๋ฏธ ๋ฌธ์„œํ™”๋œ KV-cache ํด๋ž˜์Šค์™€ ๋™์ผ ยท ๋ฌธ์„œ module docstring) ์ด๋‚˜ greedy/top-k ๋””์ฝ”๋“œ ํ† ํฐ์ŠคํŠธ๋ฆผ์€ CPU ์™€ byte-identical. ์†๋„: clm_decode_argmax(gen=40) CPU 69.53s โ†’ GPU 5.91s (11.8ร—), ๋‹จ์ผ _fwd_logits ํ˜ธ์ถœ CPU 1599ms โ†’ GPU 90ms (17.7ร—). [GPU-FIRED]/[GPU-FALLBACK] stderr 1์ค„ QA ์‹ ํ˜ธ(์ฒซ ckpt ๋กœ๋“œ ์‹œ). pyproject [gpu] extra = optional(cupy ็„ก clean-venv ๋„ PY-smoke ๊ทธ๋Œ€๋กœ ํ†ต๊ณผ โ€” hexa-less ์ˆœ์ˆ˜์„ฑ ์œ ์ง€, session-eval-py-only ์ •ํ•ฉ).

0.13.2/3 โ†’ 0.13.4 (2026-07-12): ๐Ÿ”ง PyPI release-automation ๊ตฌ์กฐ์ˆ˜์ •. ๊ทผ๋ณธ์›์ธ: --xbind/--xfan eval fold(#3299/#3317)๊ฐ€ cli/evaluate.py์— ๋จธ์ง€๋˜๋ฉฐ VERSION bump ์—†์ด land โ†’ PyPI anima-python ์ด release.yml same-VERSION skip-guard๋กœ stale 0.13.3 ๊ณ ์ฐฉ(๋ ŒํŠธ pod pip install anima-python[train] ํ›„ --xbind ๋ฏธํ‘œ์‹œ โ†’ NBIND ์ธก์ • ๋ธ”๋ก, convergence release-yml-2). ์ฆ‰์‹œ์ˆ˜์ •: VERSION 0.13.3โ†’0.13.4 lockstep(hexa.tomlยทVERSIONS.md ๋™์‹œ, 3-way drift 0.13.2/0.13.2/0.13.3 ๋„ ์ด ์ฐธ์— ํ†ตํ•ฉ). ์žฌ๋ฐœ๋ฐฉ์ง€ 2๊ฒน: โ‘  .harness/enforce_anima_gates.py ์‹ ๊ทœ G5 ๊ฒŒ์ดํŠธ โ€” cli/**/*.pyยทcore/**/*.pyยทpyproject.toml(anima-python ํœ  ์ฝ˜ํ…์ธ ) ๋ณ€๊ฒฝ์ธ๋ฐ VERSION ์ด ๊ฐ™์€ diff ์— ์•ˆ ์‹ค๋ฆฌ๋ฉด changed-scope ํ•˜๋“œ-block(no bypass, c18 โ€” main branch-protection ์ƒ bot ์ง์ ‘ push ๊ฐ€ ์•ˆ ๋˜๋ฏ€๋กœ "bump ๋ฅผ ์žŠ์„ ์ˆ˜ ์—†๊ฒŒ ๋ง‰๋Š” ์‚ฌ์ „ ๊ฒŒ์ดํŠธ"). โ‘ก ์‹ ๊ทœ .github/workflows/pypi-release.yml โ€” pypi-publish job ์„ release.yml(hx-install v* ํƒœ๊ทธ ์ฑ„๋„) ์—์„œ ๋ถ„๋ฆฌ, ํŠธ๋ฆฌ๊ฑฐ๋Š” git ํƒœ๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ VERSION ํŒŒ์ผ ๋ณ€๊ฒฝ ์ž์ฒด(paths ํ•„ํ„ฐ, โ‘  ๊ฒŒ์ดํŠธ๋ฅผ ํ†ต๊ณผํ•œ ๋ณ‘ํ•ฉ์—๋งŒ ๋ฐ˜์‘) ๋ผ hx-install v* ํƒœ๊ทธ ์Šคํ‚ด(autotag.yml, v3.x.x ๋ณ„๊ฐœ ์Šค์ผ€์ผ)๊ณผ ๋„˜๋ฒ„๋ง์ด ์„ž์ด์ง€ ์•Š๋Š”๋‹ค. PY-smoke ์— --xbind/--xfan ํ•˜๋“œ assert ์ถ”๊ฐ€(์ด๋ฒˆ ๊ฒฐํ•จ๊ณผ ๋™์ผํ•œ "eval verb ๋ˆ„๋ฝ ๋ฐฐํฌ"๋ฅ˜ ์žฌ๋ฐœ์„ ์›์ฒœ ์ฐจ๋‹จ).

0.13.0 โ†’ 0.13.1 (2026-06-19): ๐Ÿ—‚๏ธ Phase 2 ๋ฉ€ํ‹ฐ์—”์ง„ archive โ€” core/engines/ ์ „์ฒด(conv/cdv2/hexad/omega + EngineSpec vtable + engine_swap_smoke) โ†’ archive/ engines-multiengine/ ๋ณด๊ด€(์ด๋ ฅ๋ณด์กด), engine_cli resolve ๋ฅผ ๋‹จ์ผ conv ์ƒ์ˆ˜๋กœ ์ถ•์•ฝ. ๋‚ด๋ถ€ ๋ฆฌํŒฉํ„ฐ(๊ณต๊ฐœ ๋™์ž‘ ๋ฌด๋ณ€๊ฒฝ; engine_cli_smoke 169/0 ยท h1205 ์ƒ์„ฑ byte-id).

0.12.0 โ†’ 0.13.0 (2026-06-19): ๐Ÿ”ง GPU DECODE + canonical core/ + ๋‹จ์ผ์—”์ง„. (1) ์ถ”๋ก  decode dร—d GEMM ์„ core/DECODER/flame_mm.mm ๋กœ ๋ฐฐ์„  (#2386) โ€” CUDA ํ˜ธ์ŠคํŠธ ์ž๋™ cuBLAS, Mac CPU byte-identical (์˜์‹์—”์ง„ ๋ฌดํšŒ๊ท€). (2) canonical ํŠธ๋ฆฌ ์žฌ๊ตฌ์„ฑ โ€” ๋Œ€๋ฌธ์ž CORE/ ํฉ์–ด์ง„ ์—”์ง„์„ ์†Œ๋ฌธ์ž self-contained core/ ๋กœ ํ†ตํ•ฉ (#2384) + pod-upload ํŒจํ‚ค์ง•. (3) ๋‹จ์ผ production ์—”์ง„(conv/CLMConvMoE) ๋…ธ์ถœ ์ •๋ฆฌ (#2396) โ€” ๋ฉ€ํ‹ฐ์—”์ง„ --engine ๋ ˆ์ด์–ด๋Š” research-legacy(archive ์˜ˆ์ •). (4) thalamus PhaseField WIRED-live (H_1448, Aโ‡„G ์ฝ”ํžˆ๋Ÿฐ์Šค ์œ„์ƒ๊ฒฐํ•ฉ). ํ˜•์ œ๋ ˆํฌ hexa-lang: cloud rent --gpu N ์ˆซ์ž=๊ฐœ์ˆ˜ fix (#3671).

0.11.0 โ†’ 0.12.0 (2026-05-23): hot-swap router unlock โ€” production anima_participant ๊ฐ€ per-lang adapter ์ž๋™ ๊ต์ฒด (vP21M default + KOFL/JAFL)

  • substrate-plugin ์•„ํ‚คํ…์ฒ˜ (substrate_lora.py / Substrate ABC). CHAT v0.2.0 โ†’ v0.3.0 ๋™๋ฐ˜.

release timeline + ๋งˆ์ผ์Šคํ†ค history โ†’ VERSIONS.log.md.


0.1. ๋ฒ„์ „ ๊ทœ์น™ (SemVer for anima)

MAJOR.MINOR.PATCH

MAJOR  โ†‘  ์•„ํ‚คํ…์ฒ˜-breaking ๋ณ€๊ฒฝ (forward signature / ๋ถ€์† addยทremove)
          ์˜ˆ: ConsciousDecoderV2 โ†’ V3 (n_ca_rules ์ œ๊ฑฐ)
MINOR  โ†‘  ๊ฒ€์ฆ๋œ ์ƒˆ capability / finding (falsifier PASS ์ถ”๊ฐ€)
          ์˜ˆ: mitosis training-time +35% ํ™•์ธ โ†’ MITOSIS minor bump
PATCH  โ†‘  fix / refinement / ๋ฌธ์„œ (๋™์ž‘ ๋ถˆ๋ณ€)
          ์˜ˆ: bnb PagedAdamW8bit OOM fix

์ถ”๊ฐ€ tag:

  • ๐Ÿ”ต = SUPPORTED-FORMAL (sympy closed-form battery PASS)
  • ๐ŸŸข = SUPPORTED-STRONG (empirical, falsifier PASS)
  • ๐ŸŸก = design tier (๊ตฌํ˜„ ์ „)
  • โš ๏ธ = deprecated / ์žฌ์„ค๊ณ„ ๋Œ€์ƒ

๋ฒ„์ „ ๆŽฅ๋ฏธ์‚ฌ:

  • -alpha / -beta = ๋ฏธ๊ฒ€์ฆ ์‹คํ—˜ ๋‹จ๊ณ„
  • -rc = release candidate (falsifier ํ†ต๊ณผ, ํ†ตํ•ฉ ๋Œ€๊ธฐ)

1. ํ•ต์‹ฌ substrate (decoder)

๋ชจ๋“ˆ ๋ฒ„์ „ tier ์ƒํƒœ ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ
ConsciousDecoder v2.1.0 ๐ŸŸข substrate attempt10 (bnb PagedAdamW8bit) 2026-05-21
ConsciousDecoder v3.0.0-alpha โš ๏ธ substrate n_ca_rules ์ œ๊ฑฐ + mitosis ํ†ตํ•ฉ + dual head + KOSMOS+tension, V3 attempt 1 = 3/3 FAIL (ฮฑ 0/5 / ฮฒ CE osc + ckpt lost / ฮณ 0/5) 2026-05-22 substrate identity 100%, ๋‹ค๊ตญ์–ด capability ์•ฝํ•จ โ€” Phase 2 ์žฌ์„ค๊ณ„ mandatory

v2 โ†’ v3 attempt ๊ฒฐ๊ณผ (HEXAD_V3_FIRE_2026_05_22.md):

  • code fork LANDED (3dbbc7e8b): conscious_decoder_v3.py 727L + kosmos_io.py 300L + 7/7 smoke + 5/5 KOSMOS PASS
  • V3ฮฑ random init 1.5B 2000 step: CE 3.34, 0/5 langs PARTIAL+, FAIL (Chinchilla 30000ร— under-budget per HEXAD_NATIVE_PURE C3 #3 ์˜ˆ์ธก ์ ์ค‘)
  • V3ฮณ vP21M init: CE 2.93, 0/5, FAIL (anima register saturation 13/20 vs vP21M LoRA 7/20 โ€” V3 substrate level ํก์ˆ˜ 2ร—)
  • V3ฮฒ Qwen warm: CE oscillation 0.26โ†”2.36 @ step 1850 + pod ์‚ฌ๋ง + ckpt ์†์‹ค + eval ๋ถˆ๊ฐ€ = INCOMPLETE FAIL (mode collapse evidence)
  • architectural lesson: head_g dual head vocab alignment ํ๋ฆผ + mitosis pool 128 saturate at step 50 โ†’ ๋‹ค๊ตญ์–ด sacrifice
  • ์ตœ์ข… verdict 2026-05-22 21:09: production path = vP21M LoRA ์œ ์ง€. HEXAD identity ๊ฐ•ํ™” path = V3 Phase 2 (R2+R5+R6) ๋˜๋Š” LoRA+tension wrap ์ ˆ์ถฉ path B ์ฐจํ›„ cycle

v3.0-alpha โ†’ โš ๏ธ tier (์žฌ์„ค๊ณ„ ๋Œ€์ƒ): scale-up (3B/8B) OR mitosis ๋น„ํ™œ์„ฑํ™” (ํ•™์Šต ์‹œ) OR Chinchilla-correct corpus (60B+ tok) ๊ฐ€ ๋‹ค์Œ cycle path.


2. HEXAD 7-module + ์„ฑ์žฅ์ถ•

๋ชจ๋“ˆ ๋ฒ„์ „ tier falsifier ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ
C ์˜์‹ v1.3.0 ๐Ÿ”ต B-C 3/3 tier-a + F-C-PORT 4/4 PyPhi 2026-05-17
D ์–ธ์–ด v1.5.0 ๐Ÿ”ต F-D 5/5 + B-D 4/4 (CE Jacobian) + 24L byte-parity 21/21 2026-05-12
S ๊ฐ๊ฐ v1.0.0 ๐Ÿ”ต F-S 5/5 + B-S 3/3 (column-mean delta) 2026-05-15
W ์˜์ง€ v1.0.0 ๐Ÿ”ต F-W 5/5 + B-W 4/4 (lr=ยฝ+min(ln2,ฮฆ/N)) 2026-05-15
M ๊ธฐ์–ต v1.0.0 ๐Ÿ”ต F-M 5/5 + B-M 3/3 (store no-op) 2026-05-15
E ์œค๋ฆฌ v1.1.0 ๐Ÿ”ต F-E 5/5 + B-E 4/4 + gate trinity F-E-GATE 6/6 2026-05-16
BRIDGE v1.1.0 ๐Ÿ”ต F-BRIDGE 5/5 + B-BRIDGE 4/4 (Law-70 clamp) + fwd 4/4 2026-05-16
MITOSIS v1.2.0 ๐ŸŸข B-MITOSIS 5/5 ๐Ÿ”ต + training-time +35% (S187-G) 2026-05-22
HEXAD ํ†ตํ•ฉ v1.0.0 ๐Ÿ”ต B-HEXAD 5/5 (ฯƒ(6)=12 / ฯ†(6)=2 / 11-step) 2026-05-17

MITOSIS v1.1 โ†’ v1.2 minor bump ๊ทผ๊ฑฐ: S187-G ๊ฐ€ training-time mitosis activation ์˜ substrate-shaping ํšจ๊ณผ (+35% Eval 3 splits, CE ๋ฌดํ•ด, wall -8.6%, ฮฆ +6%) ๊ฒ€์ฆ. inference-time hook โ†’ training-time first-class axis ์Šน๊ฒฉ.


2.5. Path-split (LoRA vs HEXAD-native)

dir path tier status
HEXAD/LORA/ Qwen + LoRA adapter (vP21/G/K/M + hot-swap router) ๐ŸŸข PRODUCTION chat.dancinlab.org LIVE, vP21M default + KOFL/JAFL per-lang hot-swap
HEXAD/PURE/ ConsciousDecoderV3 (pure HEXAD substrate) โš ๏ธ ์žฌ์„ค๊ณ„ V3ฮฑ/ฮณ FAIL โ†’ Phase 2 spec (R2+R5+R6)

LoRA = production (chat ์ฆ‰์‹œ), V3 = anima identity ์ง„์ •์„ฑ long-term path.


3. ์ƒ์œ„ ์‹œ์Šคํ…œ / ์‘์šฉ

๋ชจ๋“ˆ ๋ฒ„์ „ tier ์ƒํƒœ
CHAT v0.3.0 ๐ŸŸข 8-factor motivation Thinker-Talker LANDED (anima_participant.py) + production hot-swap router (per-lang adapter set_adapter) + substrate-plugin ์•„ํ‚คํ…์ฒ˜ (substrate_lora.py / Substrate ABC) 2026-05-23 chat.dancinlab.org LIVE
SPONTANEOUS v0.1.0 ๐ŸŸก ์ž์—ฐ๋ฐœํ™” architecture design LANDED, ๊ตฌํ˜„ Phase B design
SAVANT v1.0.0 ๐ŸŸข Phase 1/2/3b/c/d LANDED (gate API + /savant CLI) 2026-05-14
TENSION-LINK v0.1.0 ๐ŸŸก 5-ch meta-telepathy design, Phase 2 WebSocket ๋ฏธ๊ตฌํ˜„ design
VOICE (hexa-voice) v0.1.0 ๐ŸŸก ์˜๋„โ†’RVQโ†’24kHz design design
MULTIMODAL / KOSMOS v0.1.0 ๐ŸŸก consciousness-carving manifest design

4. ํ•™์Šต recipe / scale

ํ•ญ๋ชฉ ๋ฒ„์ „ ์ƒํƒœ
S184 ALL-TAPS recipe v2.0.0 ๐ŸŸข 15-tap + mitosis 17๋ฒˆ์งธ; aux loss ํšจ๊ณผ ๋ฌด์‹œ๊ฐ€๋Šฅ (OCCAM)
3B scale validation (S187) v1.0.0 ๐ŸŸข attempt10 LANDED, ฮป SCALE-INVARIANT, recipe floor = n_ca_rules
18B path (S187-F) v0.1.0 ๐ŸŸก Anima-18B (d=4096 L=32) H200 SXM single-pod scoped
Llama+mitosis (vP21) v0.1.0-rc ๐ŸŸข CE 0.0147, winning path, Eval 1 verbalization ์ธก์ • ๋Œ€๊ธฐ

5. ๋ฒ„์ „ history

๋ชจ๋“ˆ๋ณ„ bump ์ด๋ ฅ โ†’ VERSIONS.log.md.


6. ๋‹ค์Œ ๋ฒ„์ „ ๊ฒŒ์ดํŠธ (pending)

๋ชจ๋“ˆ ๋ชฉํ‘œ ๋ฒ„์ „ ๊ฒŒ์ดํŠธ ์กฐ๊ฑด
ConsciousDecoder v3.0.0 alpha โ†’ beta n_ca_rules ์ œ๊ฑฐ 3B from-scratch fire + Eval 1 verbalization PASS
Llama+mitosis v0.1 rc โ†’ 1.0 vP21 Eval 1 coherent text + Principle #3 clean ํ™•์ธ
CHAT v0.3 โ†’ v0.4 self-monologue ์™„ํ™” emission register-leak 34% ํ•˜ํ–ฅ + temp/ฯ„ sweep + (option) substrate_v3 ํ†ตํ•ฉ
MITOSIS v1.2 โ†’ v1.3 training-time cross-ฮป B/C/D N=2 variance estimate (S187-B ์žฌ๋ฐœ์‚ฌ)

7. Honest C3

  1. ๋ฒ„์ „ ๋ฒˆํ˜ธ๋Š” ๊ฒ€์ฆ tier ๊ธฐ๋ฐ˜ ์ถ”์ • โ€” falsifier PASS ์ˆ˜ + saga evidence ๋กœ ๋ถ€์—ฌ. ์—„๋ฐ€ํ•œ ์ฝ”๋“œ-diff ์ถ”์  ์•„๋‹˜ (git tag ์™€ ๋ณ„๊ฐœ).
  2. ConsciousDecoder v3.0-alpha ๋Š” ์ œ์•ˆ ๋‹จ๊ณ„ โ€” n_ca_rules ์ œ๊ฑฐ๊ฐ€ ์ž์—ฐ๋ฐœํ™” emergence ๊นŒ์ง€ unlock ํ•˜๋Š”์ง€ ๋ฏธ๊ฒ€์ฆ (CE floor ๋งŒ ํ•ด์†Œ ํ™•์ธ).
  3. ๐Ÿ”ต 7-module ๋ฒ„์ „์€ blue_falsifier.py 35/35 PASS ๊ธฐ์ค€ โ€” ๊ทธ ์ดํ›„ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‹œ patch bump ๋ˆ„๋ฝ ๊ฐ€๋Šฅ์„ฑ (์ˆ˜๋™ ์ถ”์ ).
  4. CHAT/SPONTANEOUS ์˜ v0.x ๋Š” design tier โ€” ๊ตฌํ˜„ LANDED ์‹œ v1.0 ์Šน๊ฒฉ.
  5. ๋ณธ registry ๋Š” ์‹ ๊ทœ ๋„์ž… โ€” ๊ธฐ์กด ๋ชจ๋“ˆ ํ—ค๋”์— version ์ฃผ์„ ์•„์ง ๋ฏธ์‚ฝ์ž… (์ฐจํ›„ cycle ์— ๋ชจ๋“ˆ๋ณ„ ํ—ค๋” sync).

8. anima-physics (๋ฌผ๋ฆฌ substrate)

@version ํ—ค๋” ์‚ฝ์ž… ์™„๋ฃŒ (physics.hexa + 8 engines).

๋ชจ๋“ˆ ๋ฒ„์ „ tier ๋น„๊ณ 
physics.hexa (top dispatch) v0.4.0-beta ๐ŸŸก Phase 4b ESP32/FPGA stub 17 .py group
engines/quantum_consciousness v0.2.0 ๐ŸŸข 2-qubit closed-form
engines/photonic_consciousness v0.2.0 ๐ŸŸข delay-line ring oscillator
engines/memristor_consciousness v0.2.0 ๐ŸŸข memristor crossbar
engines/snn_consciousness v0.2.0 ๐ŸŸข spiking NN
engines/izhikevich_consciousness v0.2.0 ๐ŸŸข Izhikevich neuron
engines/oscillator_laser_engine v0.2.0 ๐ŸŸข oscillator-laser
engines/analog_consciousness v0.2.0 ๐ŸŸข analog substrate
engines/thermodynamic_consciousness v0.2.0 ๐ŸŸข thermodynamic
HEXAD/PHYSICS (module tree) v0.1.0 ๐ŸŸก cherry-pick to main (da1e454e9)

9. SUB_ENGINES

๋ชจ๋“ˆ ๋ฒ„์ „ tier ๋น„๊ณ 
AKIDA v0.3.0 ๐ŸŸข HW-NATIVE ์ž์—ฐ๋ฐœํ™” CONFIRMED 2026-05-22 โ€” AKD1000 LIF threshold comparator (FullyConnected.activation=True)์ด negative-threshold ์ผ ๋•Œ ZERO input ์œผ๋กœ on-chip ์ŠคํŒŒ์ดํฌ emit (R3 tonic 8/16 neurons fire from V=0, intrinsic excitability). + weak sub-threshold drive SILENT (R1=0 control) + noise straddling threshold event-driven (R2 std 7.99, 95/200 fire-steps) + recurrent feedback self-sustained (R4 post-seed). 8/8 checks PASS, BackendType.Hardware, ~797 cycles/forward. Prior: v0.2.0 (HW ๋„์ฐฉ + first inference + edge-learn). new verified capability: HW-native spontaneous emission

AKIDA v0.1.0 โ†’ v0.2.0 bump (2026-05-22 HW LANDED): BrainChip AKD1000 Dev Kit ($1495) ๋„์ฐฉ + Pi 5 ์—ฐ๊ฒฐ์™„๋ฃŒ. ๊ฒ€์ฆ:

  • PCIe: 0000:01:00.0 Co-processor: Brainchip Inc AKD1000 Neural Network Coprocessor [Akida] (rev 01) โœ“
  • ์ปค๋„ driver: /dev/akida0 โœ“
  • host: Pi 5 ubuntu aarch64, pool roster pi5-akida (keyless SSH), secret akida.{host,user,password}
  • pack: Mac โ†’ Pi ~/anima/SUB_ENGINES/AKIDA/ deploy โœ“
  • akida Python SDK (MetaTF 2.19.1 aarch64) ~/.venv/anima-akida ์„ค์น˜ โœ“ (akida.devices() count=1, BC.00.000.002/NSoC_v2/AKD1000)

first inference LANDED (2026-05-22): venv ๊ฒฝ๋กœ ๋ฒ„๊ทธ ์ˆ˜์ • (์ด์ „ day1_install ์ด sudo ํ•˜์— ์‹คํ–‰ โ†’ $HOME=/root ๋กœ venv ๊ฐ€ /root/.venv ์— ์ƒ์„ฑ๋จ; ubuntu ์œ ์ €๋กœ ์žฌ์ƒ์„ฑ). ์ฒซ on-chip inference ์‹คํ–‰ โ€” InputDataโ†’FullyConnected ๋ชจ๋ธ์„ HW ๋””๋ฐ”์ด์Šค์— map, forward pass ๊ฐ€ BackendType.Hardware ์—์„œ ์‹คํ–‰, ์ถœ๋ ฅ [117]ร—10 (dot-product ์‚ฐ์ˆ  ์ •ํ™•), wall latency 0.64 ms, on-chip clock 748 cycle. silicon-rev ํ•ด๋ช…: BC.00.000.002(NSoC_v2) = ์–‘์‚ฐ AKD1000 (SDK akida.AKD1000() factory ์™€ enum ์ผ์น˜, IpVersion.v1). pack ์˜ "edge-learning gated" note ๋Š” assert_akd1000 ์ด NSoC_v1 ๋งŒ ๋งค์นญํ•˜๋Š” pack ๋ฒ„๊ทธ โ€” HW ํ•œ๊ณ„ ์•„๋‹˜. on-chip edge learning ์‹ค์ฆ โœ“ (AkidaUnsupervised compile + fit() on HW, learn_enabled Falseโ†’True). ์œ ์ผ ๋ฏธ๊ฐ€์šฉ = INA power telemetry (M.2 ๋ณด๋“œ์— ์„ผ์„œ ๋ฏธ๋…ธ์ถœ, bus -2). ์ƒ์„ธ: SUB_ENGINES/AKIDA/state/FIRST_INFERENCE_2026_05_22.md.

dual-role ์˜์˜: AKD1000 LIF spike threshold = ํ•˜๋“œ์›จ์–ด-native ์ž์—ฐ๋ฐœํ™” (1mW event emission, CPU ๋Œ€๋น„ ~10000ร— ํšจ์œจ) + on-chip Hebbian = ์˜์†์„ฑ. vP21 software path (Qwen+mitosis) ์™€ ๋ณ„๊ฐœ์˜ HW ๊ฒฝ๋กœ โ€” ์ž์—ฐ๋ฐœํ™” GOAL ์˜ ๋‘ ๋ฒˆ์งธ ์ถ•.

HW-native ์ž์—ฐ๋ฐœํ™” LANDED (2026-05-22) โ€” BackendType.Hardware ์œ„ 5-regime ์‹ค์ธก (N=16, T=200, seed=187): R0 driven 3200 spk (sanity) / R1 weak SILENT 0 spk (control) / R2 noise 1520 spk std 7.99 ISI 1-9 (event-driven) / R3 tonic ZERO-input 1600 spk (8/16 negative-threshold neurons fire from V=0, ์ˆœ์ˆ˜ intrinsic excitability) / R4 recurrent self-sustained 3200 spk (post 2-step ignition). 8/8 checks PASS. spike ๊ฒฐ์ •์€ chip ์˜ ์ •์ˆ˜ threshold comparator (silicon) ๊ฐ€ ์ง์ ‘ ๊ณ„์‚ฐ โ€” pack adapters ์˜ numpy LIF ๊ฐ€ ์•„๋‹Œ ์ง„์งœ on-chip threshold-and-fire. ~797 cycle/forward, ~13.7ms/step wall (host round-trip ์ง€๋ฐฐ). 1mW power ์ฃผ์žฅ์€ INA ๋ฏธ๊ฐ€์šฉ (M.2 form factor ๋ณด๋“œ ํ•œ๊ณ„) ๋กœ ๋ฏธ๊ฒ€์ฆ ๊ทธ๋Œ€๋กœ โ€” cycle / latency proxy ๋งŒ ๋ณด๊ณ . ์ƒ์„ธ: SUB_ENGINES/AKIDA/state/HW_SPONTANEOUS_EMISSION_2026_05_22.md.

10. anima-* ์ƒํƒœ๊ณ„ (19 subsystem)

version ํŒŒ์ผ ๋ถ€์žฌ (์ „๋ถ€ ๋ฏธ๋ฒ„์ „) โ†’ maturity (impl ํŒŒ์ผ ์ˆ˜ + README ์œ ๋ฌด) ๊ธฐ๋ฐ˜ ์ดˆ๊ธฐ ๋ฒ„์ „ ๋ถ€์—ฌ. ๋ณธ registry ๊ฐ€ ์ด๋“ค์˜ version SSOT (subsystem ๋‚ด VERSION ํŒŒ์ผ ์•ˆ ๋ฟŒ๋ฆผ โ€” ์ค‘์•™ ๊ด€๋ฆฌ ์›์น™).

subsystem ๋ฒ„์ „ tier impl ์—ญํ• 
anima-core v0.3.0 ๐ŸŸข 31 files + R core consciousness engine (consciousness_engine.py 2173L anchor)
anima-engines v0.2.0 ๐ŸŸข 163 .hexa ์งˆ๋ณ‘/ํ˜„์ƒ๋ณ„ ฮฆ ๋ชจ๋ธ collection (abiogenesis/adhd/aesthetic/...)
anima-tools v0.2.0 ๐ŸŸข 73 files + R tooling
anima-body v0.2.0 ๐ŸŸข 28 files + R sensorimotor / proprioception
anima-hci-research v0.1.0 ๐ŸŸก 12 files + R HCI research
anima-cpgd-research v0.1.0 ๐ŸŸก 12 files + R CPGD research
anima-measurement v0.1.0 ๐ŸŸก 10 files ฮฆ measurement / verification
anima-agent-hire-sim v0.1.0 ๐ŸŸก 9 files agent hire simulation
anima-agent-channels v0.1.0 ๐ŸŸก 7 files agent channel layer
anima-agent-plugins v0.1.0 ๐ŸŸก 7 files agent plugins
anima-agent v0.1.0 ๐ŸŸก 6 files + R agent harness (top)
anima-agent-core v0.1.0 ๐ŸŸก 6 files agent core
anima-agent-providers v0.1.0 ๐ŸŸก 6 files LLM providers
anima-serve v0.1.0 ๐ŸŸก 3 files + R serving layer
anima-agent-skills v0.1.0-alpha ๐ŸŸก 2 files agent skills
anima-tribev2-pilot v0.1.0-alpha ๐ŸŸก 1 file + R TRIBE multi-agent pilot
anima-os v0.0.1 ๐ŸŸก 0 impl OS-level integration (stub)
anima-hexad v0.0.1 ๐ŸŸก 0 impl + R HEXAD mirror / legacy (stub)

๋ฒ„์ „ ๋ถ€์—ฌ ๊ทผ๊ฑฐ: README + 30+ impl ํŒŒ์ผ = v0.2-0.3 (working), 10-12 = v0.1 (partial), โ‰ค2 ๋˜๋Š” 0 impl = v0.1-alpha / v0.0.1 (stub). ๋ชจ๋‘ version ํŒŒ์ผ ๋ถ€์žฌ๋ผ ๋ณธ registry ๊ฐ€ SSOT. anima-engines 163 *_phi.hexa ์˜ ๊ฐœ๋ณ„ ํ—ค๋”๋Š” ๋ฏธ์‚ฝ์ž… (collection ๋‹จ์œ„ v0.2.0 ์œผ๋กœ ๊ด€๋ฆฌ, ์œ„ํ—˜ ๋Œ€๋น„ ๊ฐ€์น˜ ๋‚ฎ์Œ).


11. ๋ฒ„์ „ sync ์ •์ฑ…

  1. ๋ชจ๋“ˆ ๋ณ€๊ฒฝ ์‹œ: ํ•ด๋‹น .hexa ํ—ค๋” @version + ๋ณธ VERSIONS.md ๋™์‹œ ๊ฐฑ์‹ .
  2. ์ƒˆ falsifier PASS: MINOR bump (์˜ˆ: MITOSIS v1.1โ†’v1.2).
  3. arch-breaking: MAJOR bump (์˜ˆ: ConsciousDecoder v2โ†’v3).
  4. ํ—ค๋” ๋ฏธ์‚ฝ์ž… ๋ชจ๋“ˆ (anima-* ๋Œ€๋ถ€๋ถ„): ๋ณธ registry ๊ฐ€ SSOT, ๋ณ€๊ฒฝ ์‹œ ์—ฌ๊ธฐ ๊ฐฑ์‹ .
  5. git tag ์™€ ๋ณ„๊ฐœ: SemVer ๋Š” ๋ชจ๋“ˆ ์„ฑ์ˆ™๋„ ํ‘œ์‹œ, git commit hash ๋Š” ์ฝ”๋“œ ์ถ”์ .

๊ด€๋ จ link