ConductScience NOR Discrimination Index Calculator: method and validation record
The calculation behind ConductScience's free novel object recognition discrimination index calculator, with three worked examples that check it.
ConductScience
- Published
- September 28, 2026
- Version
- 1.0.0
- Files
- 11 release files
About this dataset
Overview
Method and validation record for the free NOR Discrimination Index Calculator at conductscience.com/tools/novel-object-recognition-calculator. From the time each animal explores the novel and the familiar object, the tool computes the discrimination index (N − F) / (N + F) and the preference index N / (N + F), with group means, SDs and SEMs. Three hand-worked examples, on the discrimination index of Ennaceur and Delacour (1988), cover a novel-object preference, a familiar-object preference, and an animal that explored neither object, which has no index. The record holds the calculation source files, the worked examples, a validation report with each file's SHA-256, and what changed on the tool page when the record was written.
Inspect before download
Data preview
cases.csv · first 3 rows
| id | title | source_type | expected | pass |
|---|---|---|---|---|
| hand-worked-novel-preference | An animal that spends three quarters of its exploration on the novel object | hand-worked | {"di":0.5,"pi":0.75} | true |
| hand-worked-familiar-preference | An animal that prefers the familiar object | hand-worked | {"di":-0.5,"pi":0.25} | true |
| edge-no-exploration | An animal that explored neither object | hand-worked | {"di":null,"pi":null} | true |
Read the columns
Data dictionary
cases.csvOne row per worked example.7 entries
| Name | Type | Units or values | Meaning |
|---|---|---|---|
| id | string | e.g. hand-worked-novel-preference | Case identifier; edge cases start with "edge-" |
| title | string | What the case checks | |
| source_type | string | hand-worked | Where the expected answer comes from: published, hand-worked, analytic or cross-check |
| citation | string | Source of the method or the expected answer | |
| locator | string | Section, formula or table of the source that the case relies on | |
| expected | JSON object | null: not computable | Expected outputs as JSON; null means not computable |
| pass | boolean | true, false | true when every expected output matched the engine within the stated tolerance |
cases.json
The worked examples in full: inputs, expected outputs, tolerances, source passage and the arithmetic behind each expected answer.
validation-report.json
The engine's output for every case, pass or fail, with the byte count and SHA-256 of each calculation and harness file.
engine/behavioral/nor-metrics.ts
Calculation source (MIT). Discrimination index (N − F) / (N + F) and preference index N / (N + F).
engine/behavioral/types.ts
Calculation source (MIT). Shared types, and group statistics that leave out values that are not computable.
engine/pilot-tools.ts
Harness source (MIT). Slugs of the ten tools with validation records; the check accepts only these.
engine/validation/run.ts
Harness source (MIT). Runs one case: passes its inputs to the tool's adapter and compares each output with the expected value within the tolerance.
engine/validation/tools/novel-object-recognition-calculator.ts
Harness source (MIT). Adapter from a case's inputs to this tool's calculation, returning the outputs the cases check.
engine/validation/types.ts
Harness source (MIT). Types for cases, tolerances and results.
Files
tool-novel-object-recognition-calculator-record-1.0.0.zip
12.1 kBComplete frozen release: 15 source-manifest files plus MANIFEST.json.
SHA-256 5881b13cca0a43766eb86c05a74402b1779ac442eec66820242b65799fd78c26
cases.csv
1.3 kBThe worked examples, one row each: what the case checks, the source of the expected answer, the expected outputs and whether the engine matched them.
SHA-256 c03c31a65afaffcdbca550916799000c37c815ee3fa49abe70b0ed118b167d35
cases.json
2.2 kBThe worked examples in full: inputs, expected outputs, tolerances, source passage and the arithmetic behind each expected answer.
SHA-256 38a081088e2566fb59edcf53705461c9aabed02a60abcb3dcdcb372eed2f1f55
validation-report.json
1.8 kBThe engine's output for every case, pass or fail, with the byte count and SHA-256 of each calculation and harness file.
SHA-256 db48d8939628188feab9d86f24bcfab46acad93f19e66bdded254ea45d3826a6
data_dictionary.csv
472 bytesColumns of cases.csv.
SHA-256 96b57ee5185ffcccc5397d98673c42bbc53ff77cc7f676fe5789ef04a7648090
README.md
1.7 kBWhat the tool computes, the files, and how to cite the record.
SHA-256 9e50156521f399a644d3e407d991de5f03ed9752224c981743302f38fa98d126
METHODS.md
1.9 kBFormulas, input rules, conventions, references and what changed on the tool page.
SHA-256 2c64a4d36ffca3f26586f6bf26d3eafdd8782730e88f8debfa4914ad25b9a822
MANIFEST.json
2.3 kBByte count and SHA-256 for every file in the source release.
SHA-256 dccfa7341f85ebbdade4aa6388e4059f9bc31c2a83a881bb04739566a076535c
CITATION.cff
431 bytesCitation metadata.
SHA-256 544469fb387aea0ada95c784d33a663bdff716133b4c998f9e9f56545ee2c4e1
LICENSE
1.3 kBMIT License for the calculation source files; CC BY 4.0 for everything else.
SHA-256 d2dca2297cc985f3577b9376fbf5a72231ac88be401776098486f6d1e8a4d87a
deposit-receipt.json
3.0 kBConductScience verification and packaging receipt.
SHA-256 6dd526a0a096a8a932ffffb5e8f3ee0c764bd1d9b339483dba4e0b426a190f83
How it was made
Methods
- 1
Worked examples: each of the three cases gives its inputs, the expected outputs, the source and passage behind the expected answer, and the arithmetic. Expected answers are worked by hand from the published method, or from the tool's own rule where METHODS.md labels it a convention. Cases whose ids start with edge- test inputs at the limits of the method.
- 2
Check: each case was run in Node.js 24 through the tool's calculation source files, and every output was compared with its expected value, exactly or within the tolerance the case states. All three cases pass (validation-report.json), and ConductScience's test suite runs the same cases whenever the tool changes.
- 3
Fingerprint: the validation report gives the byte count and SHA-256 of each calculation file and of the files that ran the check, and engine/ holds those files, so anyone can rerun the cases and tell whether a later version of the calculation differs from this one.
Version history
Version 1.0.0 · current
Published September 28, 2026 from source tag v1.0.0 at commit e6a43fb01cbe.