nx_perceptual_dataset.nx
buildroot/runtime/nx_perceptual_dataset.nx
about
nx_perceptual_dataset.nx -- paired (signal, species, behavioral metric) store.
module: nishi-core.perception.perceptual_dataset
depends: nishi-core.perception.profile + nishi-core.perception.provenance_curve_store +
nishi-core.io.syscalls
disk_kb: 5
capability: PERCEPTION
wired_status: PARTIAL_WIRED
MISSING_CAPABILITIES:
- ENTRY_SERIALIZATION (JSONL append-only log + indexed read)
- PROVENANCE_LINK_CHAIN (per-entry hash chain back to source signal +
calibration + species profile)
- LICENSE_TAG_VALIDATION (CC0 / CC-BY / family-private filter at write)
- QUERY_BY_PROFILE (return all entries for a given species/breed profile)
- QUERY_BY_BEHAVIOR_RANGE (return entries where engagement metric falls
within bounds; needed by nx_perceptual_judge training)
license_tier: PUBLIC_NISHI_SUBSTRATE
genealogy_id: feedback-multi-species-perceptual-substrate-not-anthropocentric_2026 +
feedback-substrate-primitives-meta-not-one-off_2026 +
reference-ingest-citation-and-license-discipline +
macaulay_library_cornell_lab +
xeno_canto_community
Per cardinal [[feedback-multi-species-perceptual-substrate-not-anthropocentric]]:
THIS primitive stores paired (signal, species, behavioral-engagement)
tuples that train nx_perceptual_judge to predict whether a given signal
would be classified as "real" by a given species' perceptual system.
Customer Zero entries: founder's Vizslas during the NISHI_DOG_PERCEPTUAL_TEST
behavioral A/B sessions. Each trial produces one entry:
- signal_hash: content-hash of the rendered .wav stimulus
- species_profile: e.g., NX_PERCEPT_DOG_VIZSLA
- stimulus_condition: TV_QUALITY / PREY_SPEC / PREY_SPEC_PLUS_SCENT / SILENCE_CONTROL
- behavioral_metrics: orientation_latency_ms, approach_distance_cm,
time_on_speaker_s, ear_position_score, tail_position_score,
head_cock_count, vocalization_flag
- provenance_chain: hash of the rig calibration curve + source sample
license + session metadata
dependencies 3 imports · 6 importers
imports: nx_syscalls.nxnx_perceptual_profile.nxnx_provenance_curve_store.nx
imported by: nx_codec_perceptual_grader.nxnx_daemon_health_audit.nxnx_external_reach_probe.nxnx_load_test_harness.nxnx_message_spam_detector.nxnx_video_pose_coder.nx
structs
| 133 | struct NxPdsBehavioralMetrics |
consts
| 48 | const NX_PDS_ENTRY_TRIAL: i64 = 1 // behavioral trial result |
| 49 | const NX_PDS_ENTRY_CALIBRATION: i64 = 2 // rig calibration session |
| 50 | const NX_PDS_ENTRY_SAMPLE: i64 = 3 // source recording (prey/conspecific) |
| 51 | const NX_PDS_ENTRY_VALIDATION: i64 = 4 // judge cross-validation result |
| 52 | const NX_PDS_ENTRY_DRIFT_OBSERVATION: i64 = 5 // drift-monitor finding |
| 68 | const NX_PDS_COND_SILENCE_CONTROL: i64 = 1 |
| 69 | const NX_PDS_COND_TV_QUALITY: i64 = 2 // 44.1 kHz AAC, low-pass at 18 kHz |
| 70 | const NX_PDS_COND_PREY_SPEC_AUDIO: i64 = 3 // 192 kHz 24-bit, prey-spec rendered |
| 71 | const NX_PDS_COND_PREY_SPEC_PLUS_SCENT: i64 = 4 |
| 72 | const NX_PDS_COND_REAL_STIMULUS: i64 = 5 // live prey present (gold-standard) |
| 73 | const NX_PDS_COND_USER_DEFINED: i64 = 6 |
| 90 | const NX_PDS_LICENSE_CC0: i64 = 1 |
| 91 | const NX_PDS_LICENSE_CC_BY_4_0: i64 = 2 |
| 92 | const NX_PDS_LICENSE_US_GOV: i64 = 3 // PD-USGov |
| 93 | const NX_PDS_LICENSE_OGL: i64 = 4 // UK Open Government |
| 94 | const NX_PDS_LICENSE_FAMILY_PRIVATE: i64 = 5 // founder's-own-dog data |
| 95 | const NX_PDS_LICENSE_RESEARCH_INSTITUTION: i64 = 6 // partner-lab data, terms attached |
| 109 | const NX_PDS_OK: i64 = 0 |
| 110 | const NX_PDS_FAIL_BAD_KIND: i64 = 1 |
| 111 | const NX_PDS_FAIL_BAD_PROFILE: i64 = 2 |
| 112 | const NX_PDS_FAIL_LICENSE_MISSING: i64 = 3 |
| 113 | const NX_PDS_FAIL_LICENSE_REFUSED: i64 = 4 // SA / NC / proprietary |
| 114 | const NX_PDS_FAIL_PROVENANCE_BROKEN: i64 = 5 |
| 115 | const NX_PDS_FAIL_DEPENDENCY_MISSING: i64 = 6 // PARTIAL_WIRED default |
functions
| 54 | func nx_pds_entry_kind_name(k: i64) -> *u8 |
| 75 | func nx_pds_cond_name(c: i64) -> *u8 |
| 97 | func nx_pds_license_name(l: i64) -> *u8 |
| 117 | func nx_pds_verdict_name(v: i64) -> *u8 |
| 150 | func nx_pds_write_trial(signal_hash_ptr: *u8, signal_hash_len: i64, calls 1: nx_perceptual_profile_is_valid |
| 169 | func nx_pds_write_sample(sample_hash_ptr: *u8, sample_hash_len: i64, calls 1: nx_perceptual_profile_is_valid |
| 185 | func nx_pds_query_count_for_profile(profile: i64) -> i64 calls 1: nx_perceptual_profile_is_valid |
| 192 | func nx_pds_get_last_verdict() -> i64 |