# I25 config three-way-sync allowlist
# ─────────────────────────────────────────────────────────────────────────────
# FORMAT:
#   Tier-1 lines: KEY reason=<category>
#   Tier-2 lines: KEY  (no reason= required, see GRANDFATHERED marker below)
#   Lines starting with # are comments.  Blank lines ignored.
#
# Two tiers:
#   TIER-1  Intentional env-only: secrets, infra-wiring, container paths.
#           Each entry MUST carry reason=<category>.  Valid categories:
#             secret              — credentials/tokens, never persist to yaml
#             infra-wiring        — URL/path differs per deploy target
#             bootstrap-path      — chicken-and-egg (yaml file location itself)
#             deployment-flag     — context marker, not user config
#             downstream-process  — env for a forked subprocess, not yadgar Python
#             dead-env-pending-removal:vX.Y.Z  — cleanup target in named version
#
#   TIER-2  Grandfathered backlog: pre-existing drift between Settings fields
#           and the yaml/registry surfaces as of v5.7.10.
#           These are tracked here so I25 blocks NEW gaps (ratchet), not the
#           existing ones.  Follow-up PRs (v5.7.11+) reduce this list.
#           See docs/contracts/ARCHITECTURE_INVARIANTS.md §I25 for the backfill plan.
#
# To remove an entry from the backlog: add the missing yaml/registry entry,
# then delete the line here.  I25 will enforce the new coverage going forward.
# ─────────────────────────────────────────────────────────────────────────────

# ── TIER-1: Intentional env-only (reason= required) ──────────────────────────
YADGAR_MCP_AUTH_TOKEN reason=secret
YADGAR_DB_USER reason=secret
YADGAR_DB_PASS reason=secret
YADGAR_DB_URL reason=infra-wiring
YADGAR_EMBED_URL reason=infra-wiring
YADGAR_IN_CONTAINER reason=deployment-flag
YADGAR_DATA_DIR reason=bootstrap-path
YADGAR_CONFIG_FILE reason=bootstrap-path

# === GRANDFATHERED: Tier-2 backlog (no reason= required, drain in future trains) ===
# Source: v5.7.10 three-way-sync audit (2026-05-27).
# Backfill target: v5.7.11+ (docs/PLAN_V5_7_X_CONFIG_KNOB_BACKFILL.md).
YADGAR_LOG_FILE_BACKUP_COUNT
YADGAR_LOG_FILE_MAX_BYTES
YADGAR_LOG_FILE_PATH
YADGAR_LOG_RATE_LIMIT_BURST
YADGAR_LOG_RATE_LIMIT_ENABLED
YADGAR_LOG_RATE_LIMIT_TOKENS_PER_SEC
YADGAR_REINJECTION_ENABLED
YADGAR_REINJECTION_MAX_RESULTS
YADGAR_VIZ_HEALTH_REFRESH_SEC

# ── TIER-2: Grandfathered backlog (registry gaps only — not yaml gaps) ────────
# These have yaml entries but no _REGISTRY ConfigEntry yet.
# Same backfill target: v5.7.11+.
YADGAR_ACTION_STREAM_COLD_THRESHOLD
YADGAR_ACTION_STREAM_ENABLED
YADGAR_ADVERSARIAL_DETECTION_ENABLED
YADGAR_ADVERSARIAL_DIVERSITY_ENFORCEMENT
YADGAR_ADVERSARIAL_MIN_CONFIDENCE
YADGAR_ADVERSARIAL_SCORE_GAP_THRESHOLD
YADGAR_BELIEF_HIGH_CONFIDENCE_BOOST
YADGAR_CANDIDATE_POOL_MULTIPLIER
YADGAR_CAUSAL_THRESHOLD
YADGAR_CLUSTER_SIMILARITY_THRESHOLD
YADGAR_CODE_KEYWORDS
YADGAR_COGNITIVE_LOAD_LIMIT
YADGAR_COLD_THRESHOLD
YADGAR_COMBMNZ_ENABLED
YADGAR_COMET_MIN_CONFIDENCE
YADGAR_COMET_MODEL
YADGAR_COMET_NUM_BEAMS
YADGAR_COMET_QUERY_EXPANSION_ENABLED
YADGAR_COMET_RELATIONS
YADGAR_COMET_TOP_K_PER_RELATION
YADGAR_COMPARISON_DUAL_SEARCH_ENABLED
YADGAR_COMPARISON_TOP_K_PER_OPTION
YADGAR_CONCEPTNET_ENRICHMENT_ENABLED
YADGAR_CONCEPTNET_MAX_TERMS
YADGAR_CONCEPTNET_MIN_EDGE_WEIGHT
YADGAR_CONCEPTNET_RELATIONS
YADGAR_CONTEXTUAL_PREFIX_ENABLED
YADGAR_CRDT_AGENT_ID
YADGAR_CROSS_ENCODER_ENABLED
YADGAR_CROSS_ENCODER_MODEL
YADGAR_CROSS_ENCODER_TOP_K
YADGAR_CROSS_ENCODER_WEIGHT
YADGAR_CURATION_SIMILARITY_THRESHOLD
YADGAR_DECAY_FACTOR
YADGAR_DECISION_AUTO_PROTECT
YADGAR_DERIVED_BELIEFS_ENABLED
YADGAR_DOC2QUERY_ENRICHMENT_ENABLED
YADGAR_DOC2QUERY_MODEL
YADGAR_DOC2QUERY_NUM_QUERIES
YADGAR_DREAM_REPLAY_PAIRS
YADGAR_EMOTIONAL_DECAY_RESISTANCE
YADGAR_ENRICHMENT_MIN_CONTENT_LENGTH
YADGAR_EXCITABILITY_BOOST
YADGAR_EXCITABILITY_HALF_LIFE_HOURS
YADGAR_FPA_SIMILARITY_THRESHOLD
YADGAR_FUSION_METHOD
YADGAR_FUSION_NORM
YADGAR_GRAPH_ENTITY_MIN_LENGTH
YADGAR_GRAPH_MAX_HOPS
YADGAR_GRAPH_MIN_EDGE_WEIGHT
YADGAR_GRAPH_SPREADING_DECAY
YADGAR_GRAPH_SPREADING_MAX_DEPTH
YADGAR_GTE_RERANKER_ENABLED
YADGAR_GTE_RERANKER_FALLBACK_TO_FLASHRANK
YADGAR_GTE_RERANKER_MAX_LENGTH
YADGAR_GTE_RERANKER_MODEL
YADGAR_HOT_THRESHOLD
YADGAR_IMPORTANCE_DECAY_FACTOR
YADGAR_INDEX_ENRICHMENT_ENABLED
YADGAR_LOGIC_ENRICHMENT_ENABLED
YADGAR_MAX_EPISODE_TOKENS
YADGAR_MICRO_CHECKPOINT_COOLDOWN
YADGAR_MICRO_CHECKPOINT_ENABLED
YADGAR_MULTI_PASSAGE_CLUSTER_OVERLAP_THRESHOLD
YADGAR_MULTI_PASSAGE_MAX_CLUSTER_SIZE
YADGAR_MULTI_PASSAGE_RERANKING_ENABLED
YADGAR_NARRATIVE_INTERVAL_HOURS
YADGAR_NLI_MODEL
YADGAR_NLI_ONLY_FOR_OPEN_DOMAIN
YADGAR_NLI_RERANKING_ENABLED
YADGAR_NLI_WEIGHT
YADGAR_NUM_ASTROCYTE_PROCESSES
YADGAR_OVERLAP_TOKENS
YADGAR_PPR_DAMPING
YADGAR_PPR_ITERATIONS
YADGAR_PROFILE_CONFIDENCE_DIRECT
YADGAR_PROFILE_CONFIDENCE_INFERRED
YADGAR_PROFILE_EXTRACTION_ENABLED
YADGAR_PROFILE_SUMMARY_ENABLED
YADGAR_PROJECT_CONTEXT_MIN_HEAT
YADGAR_QUERY_EXPANSION_ENABLED
YADGAR_QUERY_ROUTING_ENABLED
YADGAR_RELATIONAL_KEYWORDS
YADGAR_REPLAY_ANCHOR_HEAT
YADGAR_REPLAY_CHECKPOINT_AUTO_INTERVAL
YADGAR_REPLAY_MAX_RESTORE_MEMORIES
YADGAR_RERANKER_ENABLED
YADGAR_RERANKER_TOP_K
YADGAR_SESSION_COHERENCE_BONUS
YADGAR_SESSION_COHERENCE_WINDOW_HOURS
YADGAR_SURPRISE_BOOST
YADGAR_SYNAPTIC_BOOST
YADGAR_SYNAPTIC_WINDOW_MINUTES
YADGAR_TEMPORAL_KEYWORDS
YADGAR_TEMPORAL_RETRIEVAL_ENABLED
YADGAR_WRITE_GATE_CONTINUITY_DISCOUNT
YADGAR_WRITE_GATE_CONTINUITY_WINDOW
YADGAR_WRITE_GATE_THRESHOLD
YADGAR_WRRF_CANDIDATE_MULTIPLIER
YADGAR_WRRF_FTS_WEIGHT
YADGAR_WRRF_PPR_WEIGHT
YADGAR_WRRF_SPREADING_WEIGHT
YADGAR_WRRF_VECTOR_WEIGHT
