REQ-FUN-100

Configuration loaded as merge of global + per-project overrides; project keys win

ID
REQ-FUN-100
Category
Functional Requirements
Status
approved
Priority
P0
Created
2026-05-10T18:38:24.939Z
Approved
2026-05-10T18:38:56.805Z
Updated
2026-05-10T18:38:56.805Z

What

System SHALL load configuration as a merge of global config and per-project overrides, with project keys winning over global keys.

Why

Inspired by AoE; lets projects override system-wide defaults (lease TTL, worktree strategy, notification prefs) without fragmenting global rules. See arch_decision_config_merge memory.

How

Helper merge_configs(global_cfg, project_cfg) performs a top-level dict merge (nested dicts replaced wholesale, NOT deep-merged); storage in global_config and project_config tables with key TEXT, value JSONB; per-request cache.

Done when

A project setting overrides a global setting of the same key; non-overridden keys fall through to global; precedence is documented in agent_integration.md section 12; audit-logged on write.

Out of scope

Deep-merge of nested objects (deliberately top-level only).

established project management guidelines Mapping

Primary Knowledge Area
Integration Management
Secondary KAs
none
Primary Process Group
Planning
established project management guidelines Deliverable
Project Management Plan

Configuration merge (global + per-project) is Configuration Management policy.