Skip to content

test(c-host): a real C host receives ML_ST_OVERFLOW — and the checked-arithmetic slice closes (§9-70) - #336

Merged
xzawed merged 3 commits into
mainfrom
feat/checked-arithmetic-host
Sep 26, 2026
Merged

xzawed merged 3 commits into
mainfrom
feat/checked-arithmetic-host

Conversation

@xzawed

@xzawed xzawed commented Sep 26, 2026

Copy link
Copy Markdown
Owner

SPEC-checked-arithmetic §6 작업 2 — 슬라이스를 닫는다. 선행: #333 SPEC · #334 구현 · #335 Q17. 관련: D17, DP-O1~O9.

무엇이 바뀌나

  • 수용 E — 실제 C 호스트(hosts/c-host/host.c): boxes_checked(INT32_MIN, -1) → ML_ST_OVERFLOW(out 그대로) — 바로 위 무한 boxes(INT32_MIN, -1)은 여전히 wrap한다. basket_total의 줄 합 INT32_MAX × 2 → ML_ST_OVERFLOW(전에는 status 0에 -2 — 실험 스위치를 끈 probe로 측정). 예제를 바꾸지 않아 지문 불변.
  • 수용 I — 626행 재측정(기록, 가드 아님): 구현으로 빌드한 mlprobe로 다시 돌렸다. §9-69.2 표의 A+as 값(101 · 60 · 9 · 43)과 같다. 스크래치 행 파일과 다른 25행은 전부 첫 시험이 계측하지 않은 [T]!·string! 본문이고 표는 이미 그것을 셌다. SPEC이 예상한 유일한 차이(%는 wrapping_rem, DP-O5)는 한 행도 바꾸지 않았다.
  • 크기(§5): .text +0~+155바이트(체크가 있는 8개 모듈), discount.dll(무한만) 그대로.
  • 슬라이스 닫기: SPEC 기록 배너·상태, 색인 ✅, 후보 목록에서 제거(i64로 좁힘).
  • 세션 마감: docs/history/9-70.md, HISTORY 스텁, ▶ 항목 (4), 항목 (3)은 start-block-051.md로 바이트 그대로, STATUS §7에 한 줄(심기 결과는 --no-fail-fast로 읽는다).

근거 (E2)

  • 전체 게이트 MATHLESS_GATE_D=require MATHLESS_GATE_FPC=require MATHLESS_GATE_FPC_HOST=require cargo test --workspace --locked — exit 0, 79개 바이너리, 건너뜀 없음. GATE_D_OK에서 새 검사 3줄 ok.
  • fmt · clippy -D warnings · doc_claims 50/50.

Grok 2차 검증 (한 번에 주장 하나)

  1. host.c 검사 ↔ 예제 본문(!, 도달하는 연산, 전의 -2) — CONFIRMED
  2. start-block-051.md ↔ STATUS에서 지운 블록 — CONFIRMED(SHA-256 동일)
  3. 기록 ↔ §9-69·SPEC·색인 — DISCREPANCY: "기타 18" 이 저장소 안 표에 없었다(실험 집계에만) → 표가 칸마다 비교 대상을 적게 고침(77efcca) → 재검증 CONFIRMED

🤖 Generated with Claude Code

xzawed and others added 3 commits September 26, 2026 15:23
…ody (SPEC-checked-arithmetic acceptance E)

boxes_checked(INT32_MIN, -1) returns ML_ST_OVERFLOW beside the infallible boxes(), which still
wraps; an overflowing basket line total is ML_ST_OVERFLOW where it used to answer -2 with
status 0. Both leave the out-param untouched. No example changes, so no fingerprint moves.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- 9-70.md: the three PRs; the 626-row re-measure with the merged implementation
  reproduces §9-69.2's A+as column exactly (101/60/9/43), and the 25 rows that differ
  from the scratch row files are the [T]!/string! bodies the first probe missed, which
  the table already counted; the only designed difference (% keeps wrapping_rem)
  changes no row. Acceptance E on the real C host, .text size before/after, two plants
  that were wrong before they were right, Grok rounds, the NUL-byte slip.
- SPEC: closed banner and status; §5 size measured; §6 both tasks in.
- slices/README: row ✅, candidate note narrowed to i64.
- STATUS ▶: entry (4); entry (3) moves byte-identical to start-block-051.md; §7 gains
  one line — read a plant's result with --no-fail-fast.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Grok verify: "기타 18" was in no in-repo table — the experiment's tally held it, §9-69.2's
table did not. The row now says which source each of the six counts matches.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@xzawed

xzawed commented Sep 26, 2026

Copy link
Copy Markdown
Owner Author

⚠️ AI 리뷰가 완전 검증되지 않음 — 기본값이 적용됐습니다(비활성/API 키 없음/빈 diff). AI 배점은 측정값이 아니므로 총점을 부분 점수로 보세요.

🔵 SCAManager 분석 결과

총점: 89/100 (등급 B)

점수 상세

항목 점수 만점
커밋 메시지 13 15
코드 품질 25 25
보안 20 20
구현 방향성 (AI) 21 25
테스트 10 15

@xzawed
xzawed merged commit 921c7d6 into main Sep 26, 2026
2 checks passed
@xzawed
xzawed deleted the feat/checked-arithmetic-host branch September 26, 2026 06:47
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