research/Person

15,536 records · yaml · accepts undeclared fields

Fields

FieldTypeRequiredMeaning
slug string matching /^[a-z0-9][a-z0-9-]*$/ required Unique record identity; also the filename and the person page URL segment.
stub exactly true optional Marks a thin record: hidden from default listings and search, but still served at its own URL.
renderings list of object (additional keys allowed) required Generated human-facing pages built from this record; regenerate them rather than editing them.
    ↳ path non-empty string optional On-disk location of the generated page, omitted when it is rendered on demand.
    ↳ published string required Public URL where the generated page is served.
    ↳ kind non-empty string required Which kind of generated page this is.
provenance object (additional keys allowed) required How this record was captured, including caveats that must survive into its renderings.
    ↳ summary non-empty string optional Summary of how this record was captured.
    ↳ caveats list of any shape (not yet constrained by the schema) optional Numbered caveats that must survive into renderings.
edges list of object (additional keys allowed) required Typed links from this person to other Person records, such as coauthors.
    ↳ name non-empty string required Display name of the entity at the far end of this link.
    ↳ openalexId non-empty string optional OpenAlex identifier that disambiguates the linked entity.
    ↳ kind non-empty string required What kind of relationship this link represents.
    ↳ provenance any shape (not yet constrained by the schema) optional How this link was established.
name non-empty string required Display name of this person.
headline non-empty string required One-line description of who this person is.
ids object (additional keys allowed) required External database identifiers for this person, keyed by source, used to disambiguate rather than by name.
    ↳ provenance object (additional keys allowed) OR list of object (additional keys allowed) required Pointer to how these external identifiers were looked up and confirmed.
        ↳ form 1 object (additional keys allowed) required
            ↳ via non-empty string required Skill or tool that fetched the referenced payload.
            ↳ holds non-empty string required Plain-language description of what the payload contains.
        ↳ form 2 list of object (additional keys allowed) required
            ↳ via non-empty string required Skill or tool that fetched the referenced payload.
            ↳ holds non-empty string required Plain-language description of what the payload contains.
papers object (additional keys allowed) required Pointer to every paper by this person, as a raw fetched payload; the curated subset lives as separate Paper records found by querying their authors.
    ↳ via non-empty string required Skill or tool that fetched the referenced payload.
    ↳ cacheKey non-empty string optional lib-cache key holding the full fetched response.
    ↳ runDir non-empty string optional lib-runs directory holding the call and its provenance records.
    ↳ command non-empty string optional Command that produced the referenced payload.
    ↳ holds non-empty string required Plain-language description of what the payload contains.
met object (additional keys allowed) required Skill-owned meeting log; the only place this information is recorded.
    ↳ status boolean required Whether the user has met this person.
    ↳ events list of any shape (not yet constrained by the schema) required One entry per meeting with this person, recording when, where, and what happened.
why object (additional keys allowed) required Why this person matters to the user, with supporting evidence.
    ↳ thesis non-empty string required One to two sentences stating why this person matters to the user.
    ↳ evidence list of any shape (not yet constrained by the schema) required Individual facts that support the thesis.
roles list of any shape (not yet constrained by the schema) required Hypothesized roles this person plays relative to the user's research (e.g. potential collaborator or mentor).
interest_timeline list of any shape (not yet constrained by the schema) required This person's research interests over their career, organized era by era with time as the primary axis.
connection_degrees list of any shape (not yet constrained by the schema) required How many hops of coauthorship or collaboration separate this person from people the user already knows.
footprint object (additional keys allowed) required Legacy catch-all for this person's public presence; superseded by the dedicated sessions field for talks.
sessions list of any shape (not yet constrained by the schema) required Talks this person has attended or given, the single store for both.
credentials object (additional keys allowed) optional Verification status of this person's external research credentials, such as arXiv endorsement or reviewer standing.
followups any shape (not yet constrained by the schema) optional Outstanding follow-up actions related to this person, such as a promised email.
self exactly true optional Marks this record as the user's own canonical Person record.

Rules

Defects

Checked 200 of 15,536 records (the per-store cap is 200), so this is a sample, not a whole-store verdict.

No defects in the 200 record(s) checked.

Example record

/Users/eshao/.config/mnt/data/research-biography/people/arvind-narayanan.yaml

# Canonical person record. See _template.yaml for the Person schema and shared pointer grammar.
# This record remains canonical; references/arvind-narayanan.md is a generated rendering.
# FORMAT RULES: records are SINGLE-DOCUMENT spec YAML - never add Markdown
# frontmatter (`---`/`published:` mdd stamps split the stream and break
# yaml.safe_load consumers; browsing is the research-records viewer's job).
# Quote any scalar containing ": " anywhere, and quote any flow-sequence scalar
# containing a comma, e.g.
# works: [{title: "Netflix-Prize de-anonymization", venue: "IEEE S&P"}] - unquoted
# inner commas split into mangled list items.
# PROJECTION OVER DUPLICATION (research-loop Structured Data First): facts that came
# through query-openalex/query-arxiv already live in full under lib-cache/lib-runs, so
# this record stores field-level POINTERS + only the extracted fields a biography view
# needs, plus family-owned facts (met:, roles:) that exist nowhere upstream. It never
# re-stores whole API responses; the lists below are projections, re-derivable through their field pointers.
# Schema (minimal v0 - extend as later biographies demand, never silently):
#   slug, name, headline: identity
#   ids: {openalex, orcid, ...}  - stable external identifiers
#   POINTER SHAPE: {via, cacheKey?, runDir?, url?, command?, holds}. A `runId` key is BANNED -
#     runDir already carries the run identity. Per-field provenance may be a SINGLE pointer
#     OR a LIST of pointers; both are legal wherever a pointer is accepted.
#   field provenance: mappings/lists on the fields they support; there is no envelope `sources:` list
#   papers: pointer to the complete projected works collection
#   met: {status: bool, events: [{when, where, what, confidence?, note?, provenance?}]}  - FAMILY-OWNED;
#     canonical event key order is when/where/what/confidence/note/provenance. `where` is the bare place;
#     inference qualifiers belong in `confidence` + `note`, never inside `where`.
#     Networking view is a query over this, not a second store.
#   why: {thesis: 1-2 sentences, evidence: [{date?, claim, source?}]}  - FAMILY-OWNED; the thesis is the
#     claim about why this person matters, and each evidence row is one fact supporting it. `date` is
#     present when the claim is a dated public act and absent when it is a standing property of the record.
#   roles: [{role, confidence, note}]  - FAMILY-OWNED hypothesis list (critic/reader/collaborator/lineage-node)
#   interest_timeline: [{era, span, summary, works: [{title, year?, venue?, citations?, note?, paperSlug?}], provenance}]
#     - field-backed PROJECTION; TIME is the primary axis. `paperSlug` links a $research-reader PaperRecord
#     when one exists. A works row may NAME a talk as career narrative but MUST NOT restate its venue or
#     date - sessions: is the single store for those.
#   edges: [{name, openalexId, kind, works_total?, works_recent?, provenance}]  - field-backed PROJECTION; typed graph substrate
#   connection_degrees: [{name, openalexId, maxDegree, outcome, provenance, caveat?}]  - FAMILY-OWNED resolved links to already-biographied people
#   footprint: {homepage, x, substack, book, openalex, key_posts}  - public sources (web, not query-*).
#     Talks and keynotes live in sessions:, never here.
#   sessions: [{conf, session, kind, media, transcript, note?, provenance?}]  - the SINGLE store for
#     attended and given talks. `kind` is keynote|talk|poster|workshop. `media` and `transcript` are
#     structured refs {status: linked|pending, sessionId?} into $conf-talks; a linked ref renders as
#     https://w.sh/media/<sessionId>.
#   renderings: [{path, published, kind}]  - generated human-facing surfaces; regenerate after record edits, never hand-edit
#   provenance: {summary, caveats: [{n, text}]}  - current evidence and numbered caveats only
#     (namesake merges, unconfirmed dates); never tool-fix or migration history

slug: arvind-narayanan
name: Arvind Narayanan
headline: Professor of CS, Princeton; Director of CITP; co-author of AI Snake Oil

ids:
  openalex: A5058102069
  orcid: 0000-0001-7176-4479
  provenance:
    via: query-openalex
    cacheKey: "authors:arvind narayanan:5"
    runDir: runs/query-openalex/2026-07-28
    holds: author disambiguation search result and lib-runs records for the capture session

papers:
  via: query-openalex
  cacheKey: "works-by-author:A5058102069"
  runDir: runs/query-openalex/2026-07-28
  holds: complete 174-work collection with venues, years, citations, and coauthors

met:
  status: false
  events: []

why:
  thesis: >-
    The most publicly credible skeptic of exactly the two things research-blog Entry #1 is about:
    AI-text detectors deployed as accusation machines, and AI writing quality. Our duel's results
    empirically bound both of his claims (surface tells removable without moving detection; detection
    orthogonal to semantic depth), which makes him the natural first reader for the entry: someone who
    has thought hard about the same detector from the other side.
  evidence:
    - date: 2025-12-09
      claim: >-
        Ran false-positive math against Pangram specifically - the same detector our prose hill-climb
        holds out as its referee oracle - arguing a 1-in-10,000 FPR still falsely flags 5-10% of
        students across a college career.
      source: https://x.com/random_walker/status/1998407244438819149
    - date: 2026-03-06
      claim: >-
        Posted the "hollowness" thesis: the real sign of AI writing is not surface tells but polished
        prose around mundane ideas, diagnosed by whether a second read impresses less.
      source: https://x.com/random_walker/status/2029898822327890231
    - date: 2026-07-27
      claim: >-
        Ran his own attempt to write past Pangram, failed against a hardened detector (>0.99, no
        gradient), and publicly conceded.
      source: https://x.com/random_walker/status/2081713721785631202
    - date: 2026-07-27
      claim: >-
        Named the lever his agent never found - stop whole-span rewriting, because it resamples the
        LLM distribution - which is exactly our campaign's finding.
      source: https://x.com/random_walker/status/2081713721785631202

roles:
  - role: critic-reader
    confidence: high
    note: intended recipient of the Entry #1 outreach; his concession + hollowness threads are the entry's contrast
  - role: lineage-node
    confidence: confirmed
    note: his agent-evaluation-rigor line (AI Agents That Matter, CORE-Bench, Holistic Agent Leaderboard, REFORMS) is upstream of interest area 6
  - role: collaborator
    confidence: speculative
    note: agent-benchmark-rigor agenda overlaps our usage-survival methodology; no concrete hook yet

interest_timeline:
  - era: privacy-and-de-anonymization
    span: 2005-2016
    summary: de-anonymization, web tracking, crypto
    works:
      - {title: Netflix-Prize de-anonymization, year: 2008, venue: "IEEE S&P", citations: 2.3k}
      - {title: De-anonymizing Social Networks, year: 2009}
      - {title: Bitcoin SoK, year: 2015}
      - {title: Online Tracking, year: 2016}
    provenance: &openalex_works
      via: query-openalex
      cacheKey: "works-by-author:A5058102069"
      runDir: runs/query-openalex/2026-07-28
      holds: complete 174-work collection with venues, years, citations, and coauthors
  - era: algorithmic-society
    span: 2017-2021
    summary: bias in ML, dark patterns; AI snake oil talk goes viral (2019)
    works:
      - {title: Semantics derived from language corpora contain human-like biases, year: 2017, venue: Science, citations: 2.8k, note: his most-cited work}
      - {title: Dark Patterns at Scale, year: 2019}
    provenance: *openalex_works
  - era: ml-science-rigor
    span: 2022-2024
    summary: reproducibility/leakage in ML-based science; AI Snake Oil book
    works:
      - {title: Leakage and the reproducibility crisis, year: 2023, venue: Patterns}
      - {title: REF

Where it lives

Declared in/Users/eshao/.config/mnt/mdr/skills/research-records/assets/schemas/person.ts
BindingpersonDataStore
Directory/Users/eshao/.config/mnt/data/research-biography/people
Files*.yaml