The review flagged four mechanism changes shipped without note registration: - Log ledgers start one byte below the budget (outer-array envelope reservation) and the constructor floors maxLogBytes at 62 (the smallest budget that can serialize its own truncation marker plus the envelope). - die_if_cpu_exhausted restores SIG_DFL before unblocking a program-masked SIGXCPU, so a trap+mask program cannot run a re-masking handler at the unblock. - ast.parse passes filename="<model>" so parse-time syntax diagnostics share the compile/runtime source label. Decision and Testing (en + zh) now record all four with their fail-before cases (exact-limit, budget rejection, syntax label, SIGXCPU-mask, trap+mask); pairing re-recorded and consistent. |
||
|---|---|---|
| .. | ||
| notes | ||
| skills | ||