chrisw wrote: ↑Mon Jul 13, 2026 12:57 pm
You owe all the chess computer community and especially the CODA author a full apology, in particular for your wild and false personal accusations of theft, dishonour and deceit.
Somehow you manage to take the moral high-ground, while being in the amoral position where IP does not exist. Interesting.
For someone accusing me of making things personal, you are making this awfully personal. I would ask that you stop doing that, as it is inappropriate.
I am disappointing, yet no surprised, to see you hand wave my entire previous post, on a simple fact of ChatGPT vs Claude. The problems at hand are inherent to LLMs. Anthropic might do a better job of concealing their illegal training, but they still in fact did train everything illegally.
I'm going to adopt your position, that the LLM can do no wrong.
Here is a Claude analysis of Coda in relation to Reckless, on the topic of potential copy-right violations.
Code: Select all
# Code taken verbatim / near-verbatim from Reckless into coda
**Context first:** coda is GPLv3, Reckless is **AGPLv3** (more restrictive — attribution alone doesn't satisfy it). Coda is *aware* of this: `coda/docs/license_compliance_review_2026-07-11.md` admits several items, and git history shows a remediation trail (`216fb66`, `2baaf0c`, `d819d2a`, `984b80b` "remove/redact reproduced AGPL-licensed engine code", `c6c518b` "soften literal-equivalence wording", `ad4fc74`/`eb92686` "clean-room AVX2 setwise"). So the current tree is a *post-cleanup* state — yet copied code still remains, and in one case the cleanup added a "clean-room" comment that the code does not support.
## VERBATIM (identical logic + non-obvious constants)
**1. Threat-index encoding — `src/threats.rs:452-491, 588-721` ← Reckless `nnue/accumulator/threats/threat_index.rs:6-117`**
The `PiecePair` struct, its `new()`/`base()`, and the tables are byte-identical bar renames. Same non-forced magic constants (`0x3FFFFFFF`, `0x80FFFFFF`), same shift positions (30/31), same `below << 30` tie-break, same `PIECE_INTERACTION_MAP` and `PIECE_TARGET_COUNT = [6,10,8,8,10,8]`. Coda's comment even says "same tie-break as Reckless." This is the strongest single match — and it sits in a file whose header claims independent implementation.
**2. NNUE king-bucket table — `src/nnue.rs:367-376` (`RECKLESS_BUCKETS_FLAT`) ← Reckless `nnue.rs:102-111` (`INPUT_BUCKETS_LAYOUT`)**
All 64 values identical; the array is even *named* after its source and the comment cites `Reckless/src/nnue.rs:71-80`. Duplicated again in a test at `nnue.rs:7098-7107`. Still present (coda's doc says it stays until the next network ships). The sibling `RECKLESS_OUTPUT_BUCKETS_LAYOUT` (widths 9/4/4/3/3/3/3/4 = Reckless `OUTPUT_BUCKETS_LAYOUT`) was removed from src but is documented in `experiments.md`.
## NEAR-VERBATIM (same code, renamed vars / re-expressed constants)
**3. AVX2 slider kernels — `src/setwise.rs:171-313` ← Reckless `setwise.rs:52-137`**
Same Kogge-Stone occluded-fill with identical signed-shift constant templates (`-9,-7,7,9 / -18,-14,14,18 / -36,-28,28,36` for bishops; `-8,-1,1,8 / …` for rooks), identical doubling sequence, and an identical `fold4_or`/`fold_to_bitboard`. **This directly contradicts the "clean-room re-derivation" claim at `setwise.rs:14-21`.**
**4. VNNI dot-product primitives — `src/nnue_simd.rs:70-110` ← Reckless `nnue/simd/avx512.rs:77-100`**
`dpbusd` / `double_dpbusd` — same names, same VNNI/non-VNNI split, same bodies. Comment admits "Pattern modelled on Reckless's nnue/simd/ module."
**5. SEE swap loop — `src/see.rs` ← Reckless `board/see.rs`**
The core recurrence `balance = -balance - 1 - value` (see.rs:141) is verbatim; the whole prologue + x-ray refresh loop tracks Reckless line-for-line with renamed constants.
**6. `score_from_tt` mate/TB sanitizing — `src/tt.rs:668-693` ← Reckless `transposition.rs:309-345`**, plus `is_win/is_loss/is_decisive` helpers. Same two-branch 50-move-rule downgrade logic; comment quotes Reckless's expressions.
**7. `RawThreatDelta` packing — `src/threats.rs:1106-1128`** — comment states "same field order as Reckless's ThreatDelta"; same 5-field u32 layout.
## Idea-level only (credited, not copied text)
History-gravity formula, escape/offense move bonuses (~6000), threat-accumulator stack structure, `push_threats` decomposition, LMR correction terms (reseeded at half), TT replacement policy. These are shared Stockfish-family idioms that coda openly attributes.
## Genuinely independent (checked, clean)
Board/movegen/bitboards/types, **zobrist keys** (different seed & algorithm), cuckoo (actively divergent), search/eval/UCI/threadpool/time (all different constants and structure), tablebase (pure-Rust `shakmaty` vs Reckless's Fathom FFI), and **bench position lists don't overlap** — a notable negative.
## Bottom line
The clearest copying is **data tables** (#1 threat-index, #2 bucket layout) and **SIMD kernels** (#3, #4), with **#5 SEE** and **#6 TT** as near-verbatim logic. Items #1, #3, and #4 are the most significant because they live in files that claim independent/clean-room derivation while the code says otherwise. Because Reckless is AGPLv3, these can't be resolved by attribution — they need genuine re-derivation or removal, which is exactly what coda's own compliance doc commits to (but hasn't fully completed in this tree).
Here is a Claude analysis of Coda in relation to Viridithas, on the topic of potential copy-right violations.
Code: Select all
# Code taken verbatim / near-verbatim from Viridithas into coda
**License note up front:** Viridithas is **AGPL-3.0** — the *same* restrictive class as Reckless. But coda's `license_compliance_review_2026-07-11.md` explicitly calls Reckless "the single AGPLv3 source" and never mentions Viridithas. That's a real gap, because there is one genuine AGPL problem here that the review doesn't cover.
Unlike the Reckless comparison, the copying is **narrow and concentrated in one subsystem**: time management. Everything else is independent or shared-Stockfish idiom.
## The real finding: Time management is a port of Viridithas `timemgmt.rs`
Coda's TM (in `src/search.rs`, roughly `compute_tm_budgets` ~2420-2629 and the dynamic-factor block ~3612-3800) lifts Viridithas's constant set and core formulas. Coda's own comments say so ("Constants verbatim from Viridithas", "Verbatim from Viridithas"). Concretely:
| What | coda `search.rs` | viridithas `timemgmt.rs` | Class |
|---|---|---|---|
| Window/factor constant set `600, 46, 73, 94, 24` | 2483-2491 | 18-25 | **VERBATIM** |
| `compute_time_windows` formula (`clock/divisor + inc·frac/100`, `.min(max)·73/100`, `clamp(2, moves_to_go)`) | 2514-2573 | 98-130 | **NEAR-VERBATIM** |
| Best-move stability table `[_, 1.20, 0.90, 0.80, 0.75]` (4 of 5 identical; coda changed only index 0) | 3658-3660 | 359-367 | **NEAR-VERBATIM** |
| Fail-low multiplier `1.0 + 0.34·min(2,n)` | 3668 | 404-405, 440 | **VERBATIM** |
| Forced-move multipliers `0.386 / 0.627` | 3674-3678 | 20-21 | **VERBATIM** |
| Subtree-size multiplier `(1.62 − frac)·1.4` | 3697-3698 | 370-371 | **VERBATIM constants** |
| Forced-move detector margins/gates `170/400`, `8/12`, reduced-depth verify | 3571-3585 | search.rs 1720-1731 + 324-352 | NEAR-VERBATIM / STRUCTURAL |
Coda layers its own branches on top (no-inc ceilings, phase damping, ponder bump, cross-thread agreement, score-trend), so it's a *port with modifications*, not a byte copy — but the constants and window/factor math are Viridithas's. Git corroborates: `e0ec5e1 "TM Phase 13: wholesale Viridithas-shape redesign"`. **Because Viridithas is AGPL-3.0 (its `timemgmt.rs` even carries the SPDX AGPL header), this is the same license problem coda flagged for Reckless — but it was never remediated or even acknowledged.**
Claude claims that Coda contains verbatim code from Viridithas + Reckless ( AGPLv3 according to Claude ).
In fact, Coda's own source code claims it took code from Viridithas... So yeah, Coda is in violation of licenses.
Do I win a prize now?