# Generic biology lexicon — SHARED across all domains.
# Contains ONLY entries that apply to ANY biology field:
# AI-tells, fillers, hedging, voice, numbers, figures, sloppy patterns, claim strength.
# Domain-specific entries (species, stocks, balancers, nomenclature) belong in
# data/domains/<name>.yaml — never here.
#
# Use: loaded alongside a domain profile by src/domains.ts.

# === Verbs accepted in scientific writing ===
preferred_verbs:
  action_physics_biology:
    - measure
    - quantify
    - assess
    - score
    - determine
    - estimate
    - calculate
    - compute
  genetics_general:
    - cross
    - outcross
    - recombine
    - map
    - localize
    - integrate
    - rescue
  imaging_expression:
    - image
    - visualize
    - inspect
    - record
    - mount
  behavior_assay:
    - monitor
    - record
    - count
    - track
  analysis:
    - identify
    - characterize
    - compare
    - contrast
    - parse
  reporting_results:
    - find
    - observe
    - detect
    - reveal
    - show

# === Verbs that are AI-tells or community-taboos ===
# AI-tell verbs — recognisable LLM register, NOT ordinary scientific English.
# Corpus audit (24 pre-ChatGPT OA papers, 2018–2020): removed terms that fired
# repeatedly on genuine human science (has/have been shown to, is/are known to,
# elucidate, address the question, well-established boilerplate). Those are
# normal scholarly phrasing, not ChatGPT tells.
avoided_verbs:
  - "delve into"
  - "delve"
  - "navigate"
  - "shed light on"
  - "shed new light on"
  - "unravel"
  - "unravel the mysteries of"
  - "leverage"
  - "leverage the power of"
  - "uncover the mysteries"
  - "explore the complexities of"
  - "explore the intricate"
  - "tackle the challenge"
  - "revolutionize"
  - "transform our understanding"
  - "pave the way"
  - "open new avenues"
  - "drive innovation"
  # Formulaic "plays a … role" stack — kept: low corpus rate (≤2 docs) but strong AI cadence
  - "plays a crucial role in"
  - "plays a key role in"
  - "plays an essential role in"
  - "plays a critical role in"
  - "plays a vital role in"
  - "play a crucial role in"
  - "play a key role in"
  - "play an essential role in"
  - "plays a major role in"
  - "plays a central role in"
  - "plays an important role in"
  - "play a major role in"
  - "play a central role in"
  - "play an important role in"
  - "plays a significant role in"
  - "play a significant role in"
  # Added 2026-08 (owner targets / missing genuine tells; 0 hits on pre-ChatGPT corpus)
  - "underscore"
  - "underscores"
  - "underscored"
  - "underscoring"
  - "showcase"
  - "showcases"
  - "showcased"
  - "showcasing"

# === Nouns / adjectives that mark AI prose (not normal Methods/Results English) ===
# Removed after corpus audit (hit counts across 24 human papers):
#   better understanding (4 docs), a better understanding of (2), deeper understanding,
#   remain(s) poorly understood / unclear / elusive / largely unknown (standard intros),
#   open/long-standing/unresolved question, limited/our current understanding,
#   the underlying/precise/molecular mechanisms… (biology boilerplate),
#   remarkable, profound, novel approach/insights (ordinary scholarly vocabulary).
# Kept owner-named tells even if rare: landscape (1 hit), intricate (1), tapestry, realm…
avoided_nouns:
  - "intricacies"
  - "intricate"
  - "intricate network"
  - "tapestry"
  - "rich tapestry"
  - "the multifaceted nature of"
  - "multifaceted nature"
  - "multifaceted"
  - "multifaceted role"
  - "holistic"
  - "holistic approach"
  - "landscape"
  - "complex interplay"
  - "myriad of"
  - "myriad"
  - "a myriad of"
  - "burgeoning field"
  - "exciting frontier"
  - "realms of"
  - "realm"
  - "synergistic"
  - "cutting-edge"
  - "state-of-the-art"
  - "groundbreaking"
  - "unprecedented"
  - "revolutionary"
  - "a plethora of"
  - "plethora"
  - "an array of"
  - "a suite of"
  - "a host of"
  - "a wealth of"
  # Added 2026-08 — owner AI-tell vocabulary; 0 hits on pre-ChatGPT corpus
  - "testament"
  - "pivotal"
  - "nuanced"
  - "meticulous"
  - "paradigm shift"
  - "game-changer"
  - "treasure trove"
  - "beacon"

# === Filler / bumper words — DELETE on sight ===
# Scoring + rewrite lists. Corpus audit removed ordinary academic adverbs that
# dominated false positives on human papers (counts = total hits / docs hit):
#   very 20/7, rather 18/10, indeed 10/7, interestingly 6/6, clearly 5/3,
#   importantly 5/2, notably 3/3, essentially 3/2, as expected 3/3, of course 2/1,
#   quite/somewhat/remarkably/crucially/surprisingly 1 each.
# Kept only empty-padding / chatty intensifiers that are rare in formal science
# and common in LLM blog register.
filler_words:
  adverbs_to_remove:
    - "literally"
    - "really"
    - "obviously"
  phrase_openers_to_remove:
    # Formulaic AI/chat openers — kept. Removed normal paper cadence after audit:
    #   Notably, In conclusion, To summarize, In summary, We believe, We hypothesize that,
    #   As mentioned earlier, As discussed above, Historically, In recent years
    #   (and self-promo single-words "novel"/"groundbreaking" — see below).
    - "It is important to note that"
    - "It is worth noting that"
    - "It should be noted that"
    - "Of note,"
    - "It is interesting that"
    - "Fascinatingly,"
    - "This paper aims to"
    - "As is well known,"
    - "It has long been known that"
    - "With the advent of"
    - "In the post-genomic era,"
    - "In the era of"
    - "Driven by the rapid development of"
    - "Spurred by"
    - "Motivated by"
    - "Inspired by nature,"
    - "Let's dive in"
    - "Let us delve"
    - "Let's explore"
    - "Imagine a world where"
    - "Picture this:"
    - "In today's rapidly evolving"
  phrase_connectors_to_rephrase:
    "in order to": "to"
    "due to the fact that": "because"
    "in spite of the fact that": "although"
    "with regard to": "for"
    "in the event that": "if"
    "a large number of": "many"
    "the majority of": "most"
    "at this point in time": "now"
    "is able to": "can"

# === Sentence-level tells ===
sentence_tells:
  overused_cleft:
    - "It is ... that ..."
    - "What is ... is ..."
  ai_signature_openers:
    - "Imagine a world where"
    - "Picture this:"
    - "Buckle up"
    - "Let's dive in"
    - "Let us delve"
    - "Let's explore"
    - "We are excited to"
    - "We are thrilled to"
    - "We're excited to present"
    - "In today's rapidly evolving"
  appositive_stack_overflow:
    pattern: "robust, comprehensive, and systematic"
    pattern_replacement: "systematic"

# === Anti-intensifiers / AI-tell adjectives ===
adjective_intensifiers_to_avoid:
  - "crucial"
  - "critical"
  - "essential"
  - "vital"
  - "remarkable"
  - "profound"
  - "novel"
  - "unprecedented"
  - "pivotal"
  - "groundbreaking"
  - "innovative"

# === Anti-self-promotion openers ===
# Merged into phrase_openers for scoring/rewrite. Corpus audit: "to our knowledge"
# (4 docs), "novel" (5 docs as bare substring), "for the first time" (1) are
# normal scientific claims language — NOT AI tells. Keep only the hype word that
# is rare in careful science writing.
self_promotion_openers_to_remove:
  - "groundbreaking"

# === Numbers / statistics policy ===
statistics:
  p_value_format:
    - "p<0.05"
    - "p<0.01"
    - "p<0.001"
    - "p=0.013"
    - "ns"
  ci_format:
    - "95% CI [a, b]"
    - "99% CI [a, b]"
  effect_size:
    required_when: "every p-value reported"
    types:
      - "Cohen's d"
      - "Hedges' g"
      - "Pearson's r"
      - "R²"
      - "η²"
  n_required:
    body: "always (n=X per group, n=X replicates)"
    figure_legend: "always"
  multiple_testing:
    methods:
      - "Bonferroni"
      - "Bonferroni-Holm"
      - "Benjamini-Hochberg (FDR)"
    mention_required_when: ">5 comparisons per figure"

# === Hedging calibration ===
hedging:
  introduction:
    assertiveness: "high"
    allowed:
      - "we hypothesized"
      - "we predicted"
      - "we asked whether"
    avoided:
      - "we speculated"
      - "one might wonder"
      - "it is tempting to speculate"
  methods:
    assertiveness: "highest"
    no_hedging: true
  results:
    assertiveness: "high — state findings directly"
    required_format:
      - "We found that X."
      - "X was reduced by Y% (n=Z, p=W)."
      - "Of the N animals examined, M showed phenotype."
    avoided:
      - "Our results may suggest"
      - "might indicate"
      - "could potentially reflect"
  discussion:
    interpretation_paragraph: "moderate hedging"
    speculation_paragraph_final: "explicit hedging allowed"
    required_format:
      - "These results are consistent with..."
      - "We propose that..."
      - "An alternative explanation is..."
    avoided:
      - "Our findings prove that..."
      - "We demonstrate that... (unless truly demonstrated with replicates)"

# === First person / voice ===
voice:
  introduction:
    can_use: limited
    preferred_pattern: "Here, we ..."
    avoid_patterns:
      - "We believe..."
      - "We think..."
      - "We feel..."
  methods:
    first_person_we: true
    passive_ok: true
  results:
    first_person_we: true
    recommended: true
    passive_ok: false
  discussion:
    first_person_we: true
    recommended: true
  conclusion_optional: true

# === Figure / table references ===
figures:
  reference_style:
    - "Figure 1A shows..."
    - "Figure 1B,C"
    - "(Figure 1A)"
    - "as shown in Figure 1"
  avoid:
    - "As can be seen in Figure 1"
    - "From Figure 1, it can be seen that"
    - "It is evident from Figure 1 that"
    - "Looking at Figure 1, we can see"

# === Citation style ===
citations:
  inline_format:
    - "(Author, Year)"
    - "Author et al. (Year)"
    - "Author and Author (Year)"
  when_no_citation_yet:
    action: "mark [CITATION NEEDED: <topic>]"
    never_invent: true

# === Sloppy human writing patterns ===
sloppy_patterns:
  vague_quantifiers:
    - "a few"
    - "several"
    - "many"
    - "some"
    - "a subset of"
    - "the majority of"
    - "a portion of"
  vague_time:
    - "shortly after"
    - "after a while"
    - "at some point"
    - "in due course"
    - "over time"
  vague_location:
    - "in the brain"
    - "in the CNS"
    - "throughout the animal"
  causal_overclaim:
    - "causes"
    - "is responsible for"
    - "drives"
    - "is the key regulator of"
    - "is essential for"
    - "is indispensable for"
    - "is solely responsible for"
    - "is the major determinant of"
    - "is the primary driver of"
  correlation_causation_conflation:
    - "regulates"
    - "controls"
    - "determines"
    - "directs"
    - "governs"
    - "specifies"
  passive_overuse:
    - "was observed"
    - "were seen"
    - "was detected"
    - "were found"
    - "it was noted that"
  hedge_overuse_in_results:
    - "may suggest"
    - "could indicate"
    - "might reflect"
    - "potentially"
    - "possibly"
    - "conceivably"

# === Claim strength policy ===
claim_strength:
  grades:
    strong_observation:
      requires:
        - "p < 0.01"
        - "n >= 30 per group"
        - ">= 3 biological replicates"
        - "effect size reported"
        - "95% CI reported"
      allowed_verbs: ["show", "demonstrate", "establish", "prove"]
    observation:
      requires:
        - "p < 0.05"
        - "n >= 15 per group"
        - ">= 2 biological replicates"
      allowed_verbs: ["find", "observe", "report", "identify"]
    preliminary:
      requires:
        - "p < 0.05"
        - "n < 15 per group OR only 1 replicate"
      allowed_verbs: ["observe tentatively", "report preliminary evidence"]
      required_qualifier: "(preliminary; requires replication)"
    speculative:
      requires: []
      allowed_verbs: ["hypothesize", "propose", "speculate"]
      required_qualifier: "(speculative; no supporting data shown)"
  overclaim_verbs_in_results:
    - "demonstrate"
    - "prove"
    - "establish"
    - "show definitively"
    - "confirm"
  underclaim_verbs_in_results:
    - "might suggest"
    - "could potentially"
    - "may possibly"
  error_reporting:
    rule: "report SD for descriptive variability; SEM only for precision of mean estimate"
    never: "SEM for error bars on individual data points (misleading)"

# === AI-tell detection thresholds ===
# Density-based AI-tell scoring (per 1000 words), not absolute counts.
# Measured on 24 pre-ChatGPT OA papers after lexicon prune: human weighted density
# is typically 0–1.5 /1k (most papers 0). Absolute counts previously maxed the
# 0.55-weight component on every long human paper (e.g. 42 hits → rewrite-mandatory).
# safe/caution thresholds are therefore on the per-1k density scale.
# emdash_overuse_threshold: weight applied when em-dash density exceeds
# emdash_density_max_per_1k (human corpus: 22/24 papers had 0 em-dashes; two
# papers had 5–6 absolute → still low density). Owner target: fire on overuse.
ai_tell_scoring:
  weights:
    avoided_verb_hit: 1.0
    avoided_noun_hit: 1.0
    filler_adverb_hit: 1.5
    ai_opener_hit: 3.0
    emdash_overuse_threshold: 2.0
    sentence_length_uniformity: 1.0
  # Em-dashes per 1000 words above this count as overuse (scoreText density path).
  # 2.0/1k ≈ more than one em-dash every 500 words — above human sci rate (≈0).
  emdash_density_max_per_1k: 2.0
  thresholds:
    # Density units: weighted hits per 1000 words.
    # After prune, human band ≈ 0–2; AI adversarial probes with stacked tells ≈ 15–40+.
    safe_max: 2.0
    caution_max: 5.0