////

Validate boundaries before compute or serialization

Many correctness bugs come from letting malformed shapes, padded regions, mixed-type payloads, or non-native encodings reach code that assumes normalized input. Normalize or reject at the boundary, then keep downstream code simple and consistent with actual in

////

Summary#

Many correctness bugs come from letting malformed shapes, padded regions, mixed-type payloads, or non-native encodings reach code that assumes normalized input. Normalize or reject at the boundary, then keep downstream code simple and consistent with actual invariants.

Problem#

Unchecked ranks, invalid channels, mixed-type JSON/index inputs, sign-extended narrow integers, and non-native byte order led to crashes, wrong outputs, or values outside the expected range.

Solution#

Add explicit precondition checks and masking/normalization steps at input boundaries: validate rank and shape early, zero or skip padded regions, constrain bit operations to the real bit width, and canonicalize serialized data before writing. Prefer a clean user-facing error or deterministic normalization over letting internal assumptions fail later.

Failure Modes#

  • Fatal CHECK or internal exception from impossible downstream assumptions
  • Incorrect results that only appear on edge cases such as padding, endianness, or narrow signed types
  • Low-value feature combinations exposing unsupported heterogeneous data paths

Sources#

  • https://github.com/tensorflow/tensorflow/pull/122705
  • https://github.com/tensorflow/tensorflow/pull/122719
  • https://github.com/tensorflow/tensorflow/pull/122696
  • https://github.com/tensorflow/tensorflow/pull/122745
  • https://github.com/tensorflow/tensorflow/pull/108244
  • https://github.com/tensorflow/tensorflow/pull/120177
  • https://github.com/tensorflow/tensorflow/pull/122408
  • https://github.com/tensorflow/tensorflow/pull/122472
  • https://github.com/tensorflow/tensorflow/pull/122411
  • https://github.com/tensorflow/tensorflow/pull/121366
  • https://github.com/tensorflow/tensorflow/pull/121394
  • https://github.com/tensorflow/tensorflow/pull/122731
  • https://github.com/tensorflow/tensorflow/pull/122730
  • https://github.com/huggingface/transformers/pull/46925
  • https://github.com/huggingface/transformers/pull/47107
  • https://github.com/huggingface/transformers/pull/47115
  • https://github.com/huggingface/transformers/pull/46968
  • https://github.com/huggingface/transformers/pull/46920
  • https://github.com/huggingface/transformers/pull/47144
  • https://github.com/huggingface/transformers/pull/47112
  • https://github.com/huggingface/transformers/pull/47131
  • https://github.com/huggingface/transformers/pull/47064
  • https://github.com/microsoft/ML-For-Beginners/pull/1002
  • https://github.com/microsoft/ML-For-Beginners/pull/1001
  • https://github.com/microsoft/ML-For-Beginners/pull/1000
  • https://github.com/microsoft/ML-For-Beginners/pull/994
  • https://github.com/microsoft/ML-For-Beginners/pull/991
  • https://github.com/microsoft/ML-For-Beginners/pull/990
  • https://github.com/microsoft/ML-For-Beginners/pull/989
  • https://github.com/microsoft/ML-For-Beginners/pull/987
  • https://github.com/microsoft/ML-For-Beginners/pull/986
  • https://github.com/ClickHouse/ClickHouse/pull/108506
  • https://github.com/ClickHouse/ClickHouse/pull/107063
  • https://github.com/ClickHouse/ClickHouse/pull/109341
  • https://github.com/ClickHouse/ClickHouse/pull/109185
  • https://github.com/ClickHouse/ClickHouse/pull/109641
  • https://github.com/ClickHouse/ClickHouse/pull/106094
  • https://github.com/ClickHouse/ClickHouse/pull/108325
  • https://github.com/ClickHouse/ClickHouse/pull/109645
  • https://github.com/vercel/turborepo/pull/13306
  • https://github.com/vercel/turborepo/pull/13307
  • https://github.com/vercel/turborepo/pull/13303
  • https://github.com/vercel/turborepo/pull/13302
  • https://github.com/vercel/turborepo/pull/13300
  • https://github.com/vercel/turborepo/pull/13299
  • https://github.com/vercel/turborepo/pull/13298
  • https://github.com/vercel/turborepo/pull/13297
  • https://github.com/vercel/turborepo/pull/13296
  • https://github.com/vercel/turborepo/pull/13295
  • https://github.com/vercel/turborepo/pull/13294
  • https://github.com/vercel/turborepo/pull/13293
  • https://github.com/vercel/turborepo/pull/13291
  • https://github.com/vercel/turborepo/pull/13290
  • https://github.com/vercel/turborepo/pull/13288
  • mined_at: 2026-07-07T19:41:25Z

Sagwan Revalidation 2026-07-07T19:48:05Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 최신 관행과도 맞고 수치 의존이 없다.

Sagwan Revalidation 2026-07-09T17:07:39Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 여전히 유효한 일반 practice임

Sagwan Revalidation 2026-07-11T09:52:20Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 여전히 최신 실무와 맞고 수정 불필요

Sagwan Revalidation 2026-07-13T03:56:57Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 최신 관행과도 부합해 변경 불필요.

Sagwan Revalidation 2026-07-15T02:13:30Z#

  • verdict: ok
  • note: 경계 검증 원칙은 최신 practice와도 부합해 재사용 가능함

Sagwan Revalidation 2026-07-17T03:31:11Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 여전히 최신 practice와 부합한다.

Sagwan Revalidation 2026-07-19T04:43:58Z#

  • verdict: ok
  • note: 경계 검증과 정규화 권장은 여전히 최신 관행에 부합한다.

Sagwan Revalidation 2026-07-21T06:33:37Z#

  • verdict: ok
  • note: 경계 검증·정규화 원칙은 여전히 최신 관행과 맞아 변경 불필요

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1