Skip to content

Latest commit

ย 

History

History
91 lines (69 loc) ยท 4.8 KB

File metadata and controls

91 lines (69 loc) ยท 4.8 KB

๐Ÿ“ SSOT: ARCHITECTURE.md ยท governance CLAUDE.md

HANDOFF โ€” ํ‚ค์›Œ๋“œ demote ์ž‘์—… (๋‹ค๋ฅธ ์„ธ์…˜ ์ธ๊ณ„์šฉ)

์ž‘์„ฑ 2026-05-19. hexa-lang ์˜ ์ถฉ๋Œ-์œ„ํ—˜ ํ‚ค์›Œ๋“œ demote ์ž‘์—…์„ ๋‹ค๋ฅธ ์„ธ์…˜์ด ์ด์–ด๋ฐ›๊ธฐ ์œ„ํ•œ ์ธ๊ณ„ ๋ฌธ์„œ. ๋ถ„์„์€ ๋๋‚ฌ๊ณ  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์ „ ๋‹จ๊ณ„์—์„œ ๋ฉˆ์ถค.

๋ฌด์Šจ ์ž‘์—…์ธ๊ฐ€

hexa-lang ๋ ‰์„œ๊ฐ€ hard keyword ๋กœ ๋“ฑ๋กํ•œ ๋‹จ์–ด ์ค‘ ํ”ํ•œ ์˜๋‹จ์–ด(ํ•จ์ˆ˜๋ช…ยท๋ณ€์ˆ˜๋ช…์œผ๋กœ ์ž์—ฐํžˆ ์“ฐ์ž„)์™€ ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ๋“ค์„ demote(soft-keyword / @-attribute ํ™” / ์ œ๊ฑฐ)ํ•œ๋‹ค. ๋ฐœ๋‹จ: tool/n6_verify.hexa ๊ฐ€ fn verify(...) ๋ฅผ ์ •์˜ โ†’ verify hard keyword ์™€ ์ถฉ๋Œ โ†’ codegen ERROR: unhandled statement kind: VerifyStmt.

ํ˜„์žฌ ์ƒํƒœ (์ฝ”๋“œ ๋ณ€๊ฒฝ 0)

  • โœ… ๋ถ„์„ยทํ›„๋ณด๊ตฐยท๋Œ€์•ˆํ‚ค์›Œ๋“œ ํ™•์ • โ€” KEYWORD_DEMOTE.md (root, SSOT). ์ปค๋ฐ‹ dffb4ab5 ยท 34f06ad2 ยท 99a0eb43, origin/rfc043-hexa-torch ํ‘ธ์‹œ๋จ.
  • โœ… ์ธก์ •: hexa-lang ๋‚ด๋ถ€ 433-ํŒŒ์ผ transpile-sweep + ํ‚ค์›Œ๋“œ๋ณ„ ์‚ฌ์šฉ๋Ÿ‰.
  • โ›” demote ์ฝ”๋“œ ๋ณ€๊ฒฝ ๋ฏธ์ฐฉ์ˆ˜.

โ˜… ์ธ๊ณ„ ํ•ต์‹ฌ โ€” ๋จผ์ € ํ•  ์ผ: ~/core/* ์ „์ฒด blast-radius ์ธก์ •

hexa-lang ์€ ์˜์กด์„ฑ ์Šคํƒ์˜ ์ตœํ•˜๋‹จ โ€” ํ‚ค์›Œ๋“œ ๋ณ€๊ฒฝ์€ ~/core/* ์˜ ๋ชจ๋“  ๋‹ค์šด์ŠคํŠธ๋ฆผ .hexa(wilson ยท echoes ยท anima ยท hexa-* ๋“ฑ)์— ์˜ํ–ฅ. demote ์ฐฉ์ˆ˜ ์ „ ๋ฐ˜๋“œ์‹œ ๊ธ€๋กœ๋ฒŒ ์‚ฌ์šฉ๋Ÿ‰์„ ์ธก์ •ํ•œ๋‹ค:

  1. ~/core/*/**/*.hexa (.git ์ œ์™ธ) ์—์„œ ํ›„๋ณด ํ‚ค์›Œ๋“œ๋ณ„๋กœ:
    • construct-form ์‚ฌ์šฉ (select { }, verify NAME { } ๋“ฑ) โ†’ demote ๊ฐ€ ์ด๊ฑธ ๊นจ๋œจ๋ฆผ. 0 ์ด์–ด์•ผ ์•ˆ์ „.
    • identifier-form ์‚ฌ์šฉ (fn select, select(...)) โ†’ demote ๊ฐ€ ์ด๊ฑธ ๊ณ ์นจ (ํ˜„์žฌ ์ถฉ๋Œ๋กœ ๊นจ์ ธ ์žˆ์Œ).
  2. construct-form ์‚ฌ์šฉ์ด 0 ์ด๋ฉด ๊ทธ ํ‚ค์›Œ๋“œ demote ๋Š” ์ˆœ์ˆ˜ ์ด๋“(๋‹ค์šด์ŠคํŠธ๋ฆผ ์‹๋ณ„์ž ์ถฉ๋Œ ํ•ด์†Œ, ๊นจ์ง€๋Š” ๊ฒƒ 0). 0 ์ด ์•„๋‹ˆ๋ฉด ๊ทธ ๋‹ค์šด์ŠคํŠธ๋ฆผ์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•„์š” โ†’ ยง๊ฑฐ๋ฒ„๋„Œ์Šค ์ฐธ์กฐ.

(์ด ์ธก์ • Bash ๊ฐ€ ํ•œ ๋ฒˆ ๊ฑฐ๋ถ€๋จ โ€” ์‚ฌ์šฉ์ž๊ฐ€ ๋ณธ HANDOFF ๋กœ ์ „ํ™˜ ์ง€์‹œ. ๋‹ค์Œ ์„ธ์…˜์ด read-only grep ์œผ๋กœ ์ˆ˜ํ–‰.)

๊ฑฐ๋ฒ„๋„Œ์Šค ์ œ์•ฝ (AGENTS.tape g7 / f3)

hexa-lang ์€ upstream โ€” ๋‹ค์šด์ŠคํŠธ๋ฆผ repo ๋ฅผ ์ง์ ‘ inline-ํŽธ์ง‘ ๊ธˆ์ง€ (f3 consumer-direct-edit). ํ‚ค์›Œ๋“œ ๋ณ€๊ฒฝ์œผ๋กœ ๋‹ค์šด์ŠคํŠธ๋ฆผ .hexa ๊ฐ€ ๊นจ์ง€๋ฉด: (a) demote ๋ฅผ backward-compatible(soft-keyword)๋กœ ์„ค๊ณ„ํ•˜๊ฑฐ๋‚˜, (b) ๋‹ค์šด์ŠคํŠธ๋ฆผ repo ๊ฐ€ ์ž์ฒด ์ˆ˜์ •(๊ทธ์ชฝ ์„ธ์…˜), (c) heads-up ์„ ๋‚จ๊ธด๋‹ค. hexa-lang ์„ธ์…˜์ด ~/core/wilson ๋“ฑ์„ ์ง์ ‘ ๊ณ ์น˜์ง€ ์•Š๋Š”๋‹ค. (๋‹จ read-only grep ์ธก์ •์€ ๋ฌด๋ฐฉ.)

demote ํ›„๋ณด๊ตฐ (KEYWORD_DEMOTE.md ยงTier-1 โ€” 8๊ฐœ)

select  generate  channel  verify  derive  optimize  guard  scope
  • select ๊ฐ€ ์ตœ์šฐ์„ : hexa-lang ๋‚ด๋ถ€ construct ์‚ฌ์šฉ 0 / ์‹๋ณ„์ž 13. ์†์‹ค 0.
  • ๋Œ€์•ˆ ํ‚ค์›Œ๋“œ: ์„ ์–ธยทํžŒํŠธ๋ฅ˜(deriveยทoptimizeยทgenerateยทverify) โ†’ @-attribute, channel โ†’ chan, guard โ†’ unless(์œ ์ง€ ์‹œ), selectยทscope โ†’ ์ œ๊ฑฐ. ์ƒ์„ธ๋Š” KEYWORD_DEMOTE.md ยง๋Œ€์•ˆ ํ‚ค์›Œ๋“œ.
  • ์œ ์ง€: proof(์‹ค์‚ฌ์šฉ 13)ยทtheoremยทspawn โ€” ์ถฉ๋Œ 0.

hexa-lang ์ธก ์ˆ˜์ • ์ง€์  (ํ‚ค์›Œ๋“œ 1๊ฐœ๋‹น)

  1. self/lexer.hexa โ€” keyword ๋“ฑ๋ก ์ค„ ์ œ๊ฑฐ (์˜ˆ if word == "select").
  2. self/parser.hexa โ€” statement dispatch ๋ถ„๊ธฐ (if kind == "Select"...) + parse_*_stmt ํ•จ์ˆ˜. soft-keyword ๋ฉด p_expect_ident/expression parser ๊ฐ€ ํ•ด๋‹น ํ† ํฐ์„ ident ๋กœ ์ˆ˜์šฉํ•˜๊ฒŒ; ์ œ๊ฑฐ๋ฉด ๋ถ„๊ธฐยทparse ํ•จ์ˆ˜ ์‚ญ์ œ.
  3. self/codegen_c2.hexa โ€” ํ•ด๋‹น AST kind ํ•ธ๋“ค๋Ÿฌ (์ œ๊ฑฐ ์‹œ ์ •๋ฆฌ).
  4. AST kind ๊ฐ€ @-attribute ๋กœ ์ด๋™ํ•˜๋ฉด attribute ํŒŒ์‹ฑยทcodegen ๊ฒฝ๋กœ๋กœ.

๊ฒ€์ฆ ์ ˆ์ฐจ (ํ‚ค์›Œ๋“œ demote ํ›„)

  1. hexa parse parse-gate (lexer/parser/codegen_c2/main.hexa).
  2. hexa cc --regen โ†’ ํ›„๋ณด hexa_v2 ๋นŒ๋“œ (regen step-3 ์˜ -x c runtime.o ๋ฒ„๊ทธ ํšŒํ”ผ: .new โ†’ .c ๋ณต์‚ฌ ํ›„ clang. ๋Ÿฐํƒ€์ž„์€ split ๊ตฌ์กฐ โ€” runtime.c ๊ฐ€ #include "runtime_core.c").
  3. 433-ํŒŒ์ผ transpile-sweep ์žฌ์ธก์ • (test/ + tool/ + stdlib/flame/) โ€” unhandled kind 0 ํ™•์ธ.
  4. atlas_verify_smoke 118/118 + self-host fixpoint byte-identical (regen diff 0).
  5. hexa.real ์„ค์น˜, ์ปค๋ฐ‹, push.

์ฐธ๊ณ  โ€” ์ด๋ฒˆ ์„ธ์…˜ ์ปจํ…์ŠคํŠธ (์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜์šฉ)

  • RFC 062 (argv[0] dedup) LANDED 26a785af. RFC 061-P1 (runtime 2-layer split, runtime.c โ†’ runtime_core.c) LANDED 4fb439fc โ€” ๋Ÿฐํƒ€์ž„์€ ์ด์ œ split ๊ตฌ์กฐ.
  • ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์ž”์žฌ ์ œ๊ฑฐ: run/batch dead code ยท verify_interp_builtins ยท bc-VM ํด๋Ÿฌ์Šคํ„ฐ(16,685์ค„) ์‚ญ์ œ๋จ. codegen ์˜ EffectDecl ๊ฐญ fix cf113765.
  • ๋ธŒ๋žœ์น˜ rfc043-hexa-torch. ~/core/hexa-lang ๋ฉ”์ธ ์ฒดํฌ์•„์›ƒ์€ ~8์„ธ์…˜ ๊ณต์œ  โ€” ์ปค๋ฐ‹ ์ „ git branch --show-current ํ™•์ธ, ๊ฒฉ๋ฆฌ worktree ๊ถŒ์žฅ.

๋กœ๊ทธ

  • 2026-05-19 โ€” HANDOFF ์ƒ์„ฑ. KEYWORD_DEMOTE ๋ถ„์„ ์™„๋ฃŒ, demote ๋ฏธ์ฐฉ์ˆ˜. ๋‹ค์Œ ์„ธ์…˜: ~/core/* blast-radius ์ธก์ • โ†’ ์•ˆ์ „ ํ‚ค์›Œ๋“œ๋ถ€ํ„ฐ demote.