From 093abcf4a198eb700fcdbe84036423c77288d4c7 Mon Sep 17 00:00:00 2001 From: Eric Garcia Date: Mon, 9 Feb 2026 17:05:17 -0500 Subject: [PATCH] feat: RFC 0054 Calibrated Alignment with Charter system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Major additions to RFC 0054: - Rename Ethos → Charter (CH prefix) for clarity - Charter rules get referenceable IDs (CH0001-R01, CH0001-R05) - Multi-domain support via charter_domains junction table - Lenses for per-domain tenet filtering with priority overrides - 3-character domain codes (FID, INV, REG) to avoid collisions - Human-readable artifacts for all DB entities - Cross-domain deliberation example (AI + Medical + Fiduciary) ID scheme: - PR{seq:04d} — Principles (global) - {code}-TN{seq:02d} — Tenets (domain-scoped) - {code}-LN{seq:02d} — Lenses (domain-scoped) - CH{seq:04d} — Charters (global) - {charter}-R{seq:02d} — Charter Rules - CN{seq:02d} — Constraints (dialogue-scoped) Expert usage: [TENSION T0003: challenges CH0001-R05] Co-Authored-By: Claude Opus 4.5 --- .../0054-calibrated-alignment-ethos.draft.md | 1213 +++++++++++++++++ 1 file changed, 1213 insertions(+) create mode 100644 .blue/docs/rfcs/0054-calibrated-alignment-ethos.draft.md diff --git a/.blue/docs/rfcs/0054-calibrated-alignment-ethos.draft.md b/.blue/docs/rfcs/0054-calibrated-alignment-ethos.draft.md new file mode 100644 index 0000000..98c728b --- /dev/null +++ b/.blue/docs/rfcs/0054-calibrated-alignment-ethos.draft.md @@ -0,0 +1,1213 @@ +# RFC 0054: Calibrated Alignment Dialogues — Ethos & Tenets + +| | | +|---|---| +| **Status** | Draft | +| **Date** | 2026-02-02 | +| **Depends On** | RFC 0051 (Global Perspective & Tension Tracking) | +| **Introduces** | `/charter` skill for authoring calibration rules | + +--- + +## Summary + +Introduce a hierarchical system of **Principles**, **Tenets**, and **Constraints** that calibrate alignment dialogues. These are synthesized into an **Ethos** — a coherent, conflict-free rule set that guides both experts and the Judge during deliberation. + +## Problem + +RFC 0051 defines "uncalibrated" alignment dialogues where: +- Experts argue freely without domain-specific guardrails +- The Judge scores based on general ALIGNMENT criteria +- No organizational policies or domain norms are enforced +- Question-specific requirements may be overlooked + +This works for exploratory discussions but fails for: +- **Regulated domains** (fiduciary duty, compliance, safety-critical) +- **Organizational alignment** (company values, investment mandates, design principles) +- **Repeatable processes** (consistent decision-making across similar questions) + +## Design + +### Hierarchy + +``` +┌─────────────────────────────────────────────────────────┐ +│ PRINCIPLES │ +│ (Universal, inter-domain) │ +│ "Evidence must be citable and verifiable" │ +│ "Conflicts of interest must be disclosed" │ +└─────────────────────────────────────────────────────────┘ + │ + │ inherit + ▼ +┌─────────────────────────────────────────────────────────┐ +│ TENETS │ +│ (Domain-specific) │ +│ Domain: "Fiduciary Investment Analysis" │ +│ "Fiduciary duty supersedes growth optimization" │ +│ "Income requirements take precedence over gains" │ +└─────────────────────────────────────────────────────────┘ + │ + │ contextualize + ▼ +┌─────────────────────────────────────────────────────────┐ +│ CONSTRAINTS │ +│ (Question-specific) │ +│ "The Acme Trust requires 4% annual income" │ +│ "Single-position exposure cannot exceed 25%" │ +│ "Execution window: 60-90 days post-refinancing" │ +└─────────────────────────────────────────────────────────┘ + │ + │ synthesize + ▼ +┌─────────────────────────────────────────────────────────┐ +│ ETHOS │ +│ (Synthesized, conflict-free rule set) │ +│ Applied to a specific dialogue │ +│ Injected into expert prompts + Judge protocol │ +└─────────────────────────────────────────────────────────┘ +``` + +### Definitions + +**Principle** — Universal truths that apply across all domains. These are foundational beliefs about how alignment dialogues should operate. Authored system-wide, rarely changed. + +**Tenet** — Domain-specific norms, preferences, and "the way we do things" within a particular field. A domain can inherit from multiple parent domains. Authored per organization/domain via `/charter` skill. + +**Constraint** — Situational requirements extracted from the specific question or context. May be authored via `/charter` skill or extracted by the Judge at dialogue creation. + +**Lens** — A named configuration within a domain that selects which tenets apply, optionally overriding priorities. Used for client-specific or assessment-type configurations. + +**Charter** — The synthesized, coherent combination of applicable principles + tenets (from one or more domains, each filtered by optional lens) + constraints for a specific dialogue. Redundancy removed, conflicts resolved, ready for injection. Supports cross-domain deliberation. + +### ID Scheme + +Calibration entities use two-letter prefixes to avoid collision with RFC 0051's single-letter IDs (P, R, T, E, C). Domain codes use 3 characters to avoid collisions. + +| Entity | Prefix | Format | Scope | Example | +|--------|--------|--------|-------|---------| +| **Principle** | `PR` | `PR{seq:04d}` | Global | PR0001, PR0002 | +| **Domain** | — | slug + `code` (3 chars) | Global | `fiduciary-investment` (code: `FID`) | +| **Tenet** | `TN` | `{code}-TN{seq:02d}` | Domain | FID-TN01, INV-TN03 | +| **Lens** | `LN` | `{code}-LN{seq:02d}` | Domain | FID-LN01, FID-LN02 | +| **Charter** | `CH` | `CH{seq:04d}` | Global | CH0001, CH0042 | +| **Charter Rule** | `R` | `{charter}-R{seq:02d}` | Charter | CH0001-R01, CH0001-R05 | +| **Constraint** | `CN` | `CN{seq:02d}` | Dialogue | CN01, CN02 | + +**Design rationale:** +- Two-letter prefixes avoid collision with 0051's P/R/T/E/C +- Domain codes use 3 characters to avoid inter-domain collisions +- Global entities (PR, CH) use 4-digit seq for scale +- Domain-scoped entities (TN, LN) include domain code for provenance +- Charter rules are scoped to their charter for clean expert references +- Dialogue-scoped entities (CN) use 2-digit seq like 0051 +- Domains keep slugs for human-readability, with short codes for namespacing + +**Cross-referencing:** +```markdown +[TENSION T0003: challenges CH0001-R05] +The income precedence rule (CH0001-R05, from FID-TN02) conflicts with +the growth mandate. Per CH0001-R01 (fiduciary primacy), I concede. +``` + +**Charter rules** have their own IDs for expert reference, while preserving linkage to their source (PR0001, FID-TN01, CN01). + +### Authoring via `/charter` Skill + +All calibration content is authored through the `/charter` skill, which provides: + +``` +/charter — Overview, list domains and principles +/charter domain — Create or view a domain +/charter tenet — Add/edit tenets for a domain +/charter lens — Create/edit lenses for a domain +/charter principle — View/propose system principles +/charter constraint — Add constraints to a dialogue +/charter synthesize [--lens ] — Generate charter for a dialogue +/charter review — Review and approve synthesized charter +``` + +**Skill workflow for domain creation:** + +``` +User: /charter domain "Fiduciary Investment Analysis" + +Claude: I'll help you define the "Fiduciary Investment Analysis" domain. + +**Parent domains** (inherit tenets from): +- [ ] Investment Analysis (general) +- [ ] Regulatory Compliance +- [ ] Risk Management + +**Core questions to establish tenets:** + +1. What is the primary obligation? (e.g., fiduciary duty to beneficiaries) +2. How should income vs growth be prioritized? +3. What concentration limits apply? +4. What documentation/audit requirements exist? + +Let's start with the primary obligation... +``` + +**Skill workflow for charter synthesis:** + +``` +User: /charter synthesize nvidia-investment-decision + +Claude: Synthesizing charter for dialogue "nvidia-investment-decision"... + +**Domain:** Fiduciary Investment Analysis +**Applicable Principles:** 3 +**Applicable Tenets:** 7 +**Extracted Constraints:** 4 + +**Conflict detected:** +- Tenet INV-TN03: "Maximize total return over 10-year horizon" +- Constraint CN01: "4% annual income requirement" + +**Resolution:** Income constraint takes precedence per FID-TN01 +("Fiduciary duty supersedes growth optimization") + +**Synthesized Charter (14 rules):** +[Preview of merged rules...] + +Approve this charter for the dialogue? [Yes / Edit / Reject] +``` + +### Schema + +```sql +-- ================================================================ +-- PRINCIPLES (universal, inter-domain) +-- ================================================================ +CREATE TABLE principles ( + principle_id TEXT PRIMARY KEY, -- PR0001, PR0002, ... + seq INT NOT NULL UNIQUE, -- auto-increment for ID generation + label TEXT NOT NULL, + description TEXT NOT NULL, + rationale TEXT, -- why this principle exists + status TEXT NOT NULL DEFAULT 'active', + created_at TEXT NOT NULL, + CHECK (status IN ('draft', 'active', 'deprecated')), + CHECK (principle_id = 'PR' || printf('%04d', seq)) +); + +-- Example principles +-- PR0001: "Evidence must be citable and verifiable" +-- PR0002: "Conflicts of interest must be disclosed" +-- PR0003: "Minority perspectives must be heard before convergence" + +-- ================================================================ +-- DOMAINS (categories of dialogue) +-- ================================================================ +CREATE TABLE domains ( + domain_id TEXT PRIMARY KEY, -- slug: "fiduciary-investment" + code TEXT NOT NULL UNIQUE, -- 3-char code: "FID" (uppercase) + label TEXT NOT NULL, + description TEXT NOT NULL, + parent_domains JSON, -- ["investment-analysis", "regulatory-compliance"] + status TEXT NOT NULL DEFAULT 'active', + created_at TEXT NOT NULL, + CHECK (status IN ('draft', 'active', 'deprecated')), + CHECK (length(code) = 3), + CHECK (code = upper(code)) +); + +-- ================================================================ +-- LENSES (tenet selection/override configurations within a domain) +-- ================================================================ +CREATE TABLE lenses ( + lens_id TEXT PRIMARY KEY, -- FID-LN01, FID-LN02, ... + domain_id TEXT NOT NULL, + seq INT NOT NULL, -- sequential within domain + label TEXT NOT NULL, -- "Conservative Income", "Acme Trust" + description TEXT NOT NULL, + + -- Tenet selection (all optional, applied in order: include → exclude → override) + include_tenets JSON, -- ["FID-TN01", "FID-TN02"] — whitelist (null = all) + exclude_tenets JSON, -- ["FID-TN05"] — blacklist (applied after include) + priority_overrides JSON, -- {"FID-TN02": 1000, "FID-TN04": 500} — override priorities + + status TEXT NOT NULL DEFAULT 'active', + created_at TEXT NOT NULL, + FOREIGN KEY (domain_id) REFERENCES domains(domain_id), + UNIQUE (domain_id, seq), + CHECK (status IN ('draft', 'active', 'deprecated')) +); +-- lens_id generated as: {domain.code}-LN{seq:02d} + +-- Example lenses for domain "fiduciary-investment" (code: FID) +-- FID-LN01: "Conservative Income" — include: TN01,TN02,TN04; exclude: TN05 +-- FID-LN02: "Growth Oriented" — include: TN01,TN03,TN05; priority_overrides: {TN03: 1000} +-- FID-LN03: "Acme Trust" — client-specific configuration + +-- ================================================================ +-- TENETS (domain-specific norms) +-- ================================================================ +CREATE TABLE tenets ( + tenet_id TEXT PRIMARY KEY, -- FID-TN01, INV-TN03, ... + domain_id TEXT NOT NULL, + seq INT NOT NULL, -- sequential within domain + label TEXT NOT NULL, + description TEXT NOT NULL, + priority INT NOT NULL DEFAULT 100, -- higher = more authoritative in conflicts + rationale TEXT, + status TEXT NOT NULL DEFAULT 'active', + created_at TEXT NOT NULL, + FOREIGN KEY (domain_id) REFERENCES domains(domain_id), + UNIQUE (domain_id, seq), + CHECK (status IN ('draft', 'active', 'deprecated')) +); +-- tenet_id generated as: {domain.code}-TN{seq:02d} + +-- Example tenets for domain "fiduciary-investment" (code: FID) +-- FID-TN01: "Fiduciary duty supersedes growth optimization" (priority: 1000) +-- FID-TN02: "Income requirements take precedence over capital gains" (priority: 900) +-- FID-TN03: "Concentration risk must be explicitly addressed" (priority: 800) + +-- ================================================================ +-- CONSTRAINTS (question-specific) +-- ================================================================ +CREATE TABLE constraints ( + constraint_id TEXT PRIMARY KEY, -- CN01, CN02, ... (dialogue-scoped) + dialogue_id TEXT NOT NULL, + seq INT NOT NULL, -- sequential within dialogue + label TEXT NOT NULL, + description TEXT NOT NULL, + source TEXT NOT NULL, -- 'extracted' | 'authored' + source_detail TEXT, -- e.g., "Section 4.2 of trust document" + priority INT NOT NULL DEFAULT 100, + created_at TEXT NOT NULL, + FOREIGN KEY (dialogue_id) REFERENCES dialogues(dialogue_id), + UNIQUE (dialogue_id, seq), + CHECK (source IN ('extracted', 'authored')), + CHECK (constraint_id = 'CN' || printf('%02d', seq)) +); + +-- Example constraints for nvidia-investment-decision +-- CN01: "Acme Trust requires 4% annual income distribution" +-- CN02: "Single-position exposure cannot exceed 25%" +-- CN03: "Execution window: 60-90 days post-refinancing" + +-- ================================================================ +-- CHARTERS (synthesized rule set for a dialogue) +-- ================================================================ +CREATE TABLE charters ( + charter_id TEXT PRIMARY KEY, -- CH0001, CH0002, ... + seq INT NOT NULL UNIQUE, -- auto-increment for ID generation + dialogue_id TEXT NOT NULL UNIQUE, -- one charter per dialogue + status TEXT NOT NULL DEFAULT 'draft', + synthesized_at TEXT NOT NULL, + approved_at TEXT, + approved_by TEXT, -- 'judge' or user identifier + + -- Synthesis metadata + principle_count INT NOT NULL, + tenet_count INT NOT NULL, + constraint_count INT NOT NULL, + conflict_count INT NOT NULL DEFAULT 0, + + FOREIGN KEY (dialogue_id) REFERENCES dialogues(dialogue_id), + CHECK (status IN ('draft', 'approved', 'rejected')), + CHECK (charter_id = 'CH' || printf('%04d', seq)) +); + +-- ================================================================ +-- CHARTER DOMAINS (multi-domain support with per-domain lenses) +-- ================================================================ +CREATE TABLE charter_domains ( + charter_id TEXT NOT NULL, + domain_id TEXT NOT NULL, + lens_id TEXT, -- optional: FID-LN01 (null = all domain tenets) + inclusion_order INT NOT NULL, -- order domains were added (affects rule ordering) + + PRIMARY KEY (charter_id, domain_id), + FOREIGN KEY (charter_id) REFERENCES charters(charter_id), + FOREIGN KEY (domain_id) REFERENCES domains(domain_id), + FOREIGN KEY (lens_id) REFERENCES lenses(lens_id) +); + +-- Example: Cross-domain charter for AI medical investment +-- CH0042 includes: +-- (FID, FID-LN03, 1) -- Fiduciary with Acme Trust lens +-- (MED, MED-LN01, 2) -- Medical Ethics with Patient Safety lens +-- (REG, null, 3) -- Regulatory Compliance, all tenets + +-- ================================================================ +-- CHARTER RULES (the actual synthesized rules) +-- ================================================================ +CREATE TABLE charter_rules ( + charter_id TEXT NOT NULL, + rule_id TEXT NOT NULL, -- CH0001-R01, CH0001-R02, ... + rule_seq INT NOT NULL, + source_type TEXT NOT NULL, -- 'principle' | 'tenet' | 'constraint' + source_id TEXT NOT NULL, -- PR0001, FID-TN01, CN01, etc. + source_domain TEXT, -- domain_id for tenets (null for principles/constraints) + label TEXT NOT NULL, + description TEXT NOT NULL, + priority INT NOT NULL, -- effective priority (may be overridden by lens) + + -- Conflict resolution (if this rule resulted from conflict) + supersedes JSON, -- [{"source_id": "INV-TN03", "reason": "..."}] + + PRIMARY KEY (charter_id, rule_seq), + FOREIGN KEY (charter_id) REFERENCES charters(charter_id), + CHECK (source_type IN ('principle', 'tenet', 'constraint')), + CHECK (rule_id = charter_id || '-R' || printf('%02d', rule_seq)) +); + +-- ================================================================ +-- CHARTER CONFLICTS (audit trail of detected conflicts during synthesis) +-- ================================================================ +CREATE TABLE charter_conflicts ( + charter_id TEXT NOT NULL, + conflict_seq INT NOT NULL, + rule_a_type TEXT NOT NULL, -- 'principle' | 'tenet' | 'constraint' + rule_a_id TEXT NOT NULL, -- PR0001, FID-TN01, CN01, etc. + rule_b_type TEXT NOT NULL, + rule_b_id TEXT NOT NULL, + conflict_type TEXT NOT NULL, -- 'contradiction' | 'redundancy' | 'ambiguity' + resolution TEXT NOT NULL, -- 'a_supersedes' | 'b_supersedes' | 'merged' | 'removed' + resolution_reason TEXT NOT NULL, + resolved_by TEXT NOT NULL, -- 'priority' | 'manual' | 'llm' + + PRIMARY KEY (charter_id, conflict_seq), + FOREIGN KEY (charter_id) REFERENCES charters(charter_id), + CHECK (conflict_type IN ('contradiction', 'redundancy', 'ambiguity')), + CHECK (resolution IN ('a_supersedes', 'b_supersedes', 'merged', 'removed')), + CHECK (resolved_by IN ('priority', 'manual', 'llm')) +); +-- Conflicts are audit records without their own IDs; experts raise tensions against rules +``` + +### Calibration Injection + +**Expert prompt injection:** + +When an expert receives their context (via `blue_dialogue_round_context`), calibrated dialogues include: + +```markdown +## Charter CH0001: Fiduciary Investment Analysis + +This dialogue operates under the following charter: + +### Principles (Universal) +- [CH0001-R01] Evidence must be citable and verifiable (from PR0001) +- [CH0001-R02] Conflicts of interest must be disclosed (from PR0002) +- [CH0001-R03] Minority perspectives must be heard (from PR0003) + +### Tenets (Domain: Fiduciary Investment Analysis, Lens: FID-LN03) +- [CH0001-R04] **[Priority 1000]** Fiduciary duty supersedes growth (from FID-TN01) +- [CH0001-R05] **[Priority 950]** Income takes precedence (from FID-TN02, lens override) +- [CH0001-R06] **[Priority 800]** Concentration risk addressed (from FID-TN03) + +### Constraints (This Dialogue) +- [CH0001-R07] Acme Trust requires 4% annual income (CN01) +- [CH0001-R08] Single-position exposure max 25% (CN02) +- [CH0001-R09] Execution window: 60-90 days (CN03) + +**Your arguments must be consistent with this charter.** If you believe a rule should be challenged, surface it as a [TENSION] with explicit reference to the rule ID (e.g., "challenges CH0001-R05"). +``` + +**Judge protocol injection:** + +The Judge receives calibration guidance: + +```markdown +## Calibration Scoring + +This is a **calibrated** dialogue under charter `CH0001`. + +**Scoring modifiers:** +- Arguments that violate charter rules without surfacing a tension: -2 per violation +- Arguments that explicitly address high-priority rules: +1 bonus +- Tensions that challenge charter rules (constructively): scored normally +- Evidence supporting charter compliance: +1 bonus + +**Validation:** +- All recommendations MUST address constraints CN01-CN03 +- Recommendations violating tenets require explicit tension acknowledgment +- Final verdict must confirm charter compliance or document exceptions + +**Conflict resolution authority:** +- Priority-based resolution is automatic +- Manual overrides require Judge justification in verdict +``` + +### Integration with RFC 0051 + +**Modified `dialogues` table:** + +```sql +ALTER TABLE dialogues ADD COLUMN calibrated BOOLEAN DEFAULT FALSE; +ALTER TABLE dialogues ADD COLUMN domain_id TEXT REFERENCES domains(domain_id); +ALTER TABLE dialogues ADD COLUMN charter_id TEXT REFERENCES charters(charter_id); +``` + +**Modified `blue_dialogue_create`:** + +```json +{ + "title": "NVIDIA Investment Analysis", + "calibrated": true, // NEW: enables charter injection + "domains": [ // NEW: one or more domains with optional lenses + { "domain": "fiduciary-investment", "lens": "FID-LN03" } + ], + "constraints": [ // NEW: question-specific constraints + "Acme Trust requires 4% annual income distribution", + "Single-position exposure cannot exceed 25%" + ], + "expert_pool": { ... } +} +``` + +**Cross-domain example:** + +```json +{ + "title": "AI Medical Investment Analysis", + "calibrated": true, + "domains": [ + { "domain": "fiduciary-investment", "lens": "FID-LN03" }, + { "domain": "medical-ethics", "lens": "MED-LN01" }, + { "domain": "regulatory-compliance", "lens": null } + ], + "constraints": [...], + "expert_pool": { ... } +} +``` + +If `calibrated: true`, the MCP server: +1. Looks up domain tenets +2. Extracts/validates constraints +3. Synthesizes charter +4. Returns charter for Judge review (or auto-approves if no conflicts) + +**Modified `blue_dialogue_round_context` response:** + +```json +{ + "dialogue": { ... }, + "calibration": { // NEW: only if calibrated + "charter_id": "CH0001", + "domains": [ // supports multiple domains + { "domain": "Fiduciary Investment Analysis", "code": "FID", "lens_id": "FID-LN03", "lens_label": "Acme Trust" } + ], + "rules": [ + { "rule_id": "CH0001-R01", "source_id": "PR0001", "type": "principle", "label": "Evidence must be citable", "priority": 100 }, + { "rule_id": "CH0001-R02", "source_id": "FID-TN01", "type": "tenet", "domain": "FID", "label": "Fiduciary duty supersedes growth", "priority": 1000 }, + { "rule_id": "CH0001-R03", "source_id": "CN01", "type": "constraint", "label": "4% annual income required", "priority": 500 } + ], + "prompt_injection": "## Charter: Fiduciary Investment Analysis\n\n..." + }, + "experts": { ... } +} +``` + +**Modified verdict schema:** + +```json +{ + "verdict_id": "final", + "charter_compliance": { // NEW: required for calibrated dialogues + "fully_compliant": false, + "exceptions": [ + { + "rule_id": "CN01", + "rule_label": "4% annual income required", + "exception_type": "partial", + "justification": "Options overlay achieves 3.2% with 0.8% deferred to Q2", + "approved_by": "judge" + } + ], + "violations": [] + } +} +``` + +### MCP Tools + +**New public tools:** + +| Tool | Purpose | +|------|---------| +| `blue_charter_domain_create` | Create a new domain with parent inheritance | +| `blue_charter_domain_get` | Get domain with all tenets and lenses | +| `blue_charter_tenet_add` | Add tenet to domain | +| `blue_charter_lens_create` | Create a lens within a domain | +| `blue_charter_lens_get` | Get lens with resolved tenet list | +| `blue_charter_synthesize` | Synthesize charter for a dialogue (optional lens_id) | +| `blue_charter_approve` | Approve synthesized charter | +| `blue_principle_list` | List all active principles | + +**Internal functions:** + +- `tenet_inherit` — Resolve tenet inheritance from parent domains +- `lens_apply` — Apply lens include/exclude/override to tenet list +- `conflict_detect` — Identify contradictions, redundancies, ambiguities +- `conflict_resolve` — Apply priority-based or LLM-assisted resolution +- `charter_render` — Generate markdown injection for prompts + +## Examples + +### Domain: Fiduciary Investment Analysis + +```yaml +domain: + id: fiduciary-investment + code: FID # 3-char code for tenet/lens namespacing + label: Fiduciary Investment Analysis + parents: + - investment-analysis # code: INV + - regulatory-compliance # code: REG + +tenets: + - id: FID-TN01 + label: Fiduciary primacy + description: Fiduciary duty to beneficiaries supersedes all other considerations including growth optimization + priority: 1000 + + - id: FID-TN02 + label: Income precedence + description: Income requirements take precedence over capital gains when mandated by governing documents + priority: 900 + + - id: FID-TN03 + label: Concentration awareness + description: Concentration risk must be explicitly addressed in any position recommendation + priority: 800 + + - id: FID-TN04 + label: Liquidity preservation + description: Maintain sufficient liquidity for distributions and unexpected obligations + priority: 700 + + - id: FID-TN05 + label: Documentation requirement + description: All investment decisions must be documented with rationale traceable to fiduciary duty + priority: 600 + +lenses: + - id: FID-LN01 + label: Conservative Income + description: Income-focused configuration for clients with distribution requirements + include_tenets: [FID-TN01, FID-TN02, FID-TN04] + exclude_tenets: [FID-TN05] + priority_overrides: + FID-TN02: 1000 # Elevate income precedence to highest priority + + - id: FID-LN02 + label: Growth Oriented + description: Growth-focused configuration for clients with long time horizons + include_tenets: [FID-TN01, FID-TN03, FID-TN05] + exclude_tenets: null + priority_overrides: + FID-TN03: 1000 # Elevate concentration awareness + + - id: FID-LN03 + label: Acme Trust + description: Client-specific configuration for Acme Trust requirements + include_tenets: [FID-TN01, FID-TN02, FID-TN04] + exclude_tenets: null + priority_overrides: + FID-TN02: 950 # Slightly below fiduciary primacy +``` + +### Synthesized Charter Example + +For dialogue "nvidia-investment-decision" (single domain): + +```yaml +charter: + id: CH0001 + dialogue: nvidia-investment-decision + status: approved + + # Multi-domain support: each domain can have its own lens + domains: + - domain: fiduciary-investment (FID) + lens: FID-LN03 # Acme Trust lens applied + + rules: + # Principles (inherited) + - rule_id: CH0001-R01 + type: principle + source_id: PR0001 + label: Evidence must be citable + priority: 100 + + - rule_id: CH0001-R02 + type: principle + source_id: PR0002 + label: Conflicts of interest must be disclosed + priority: 100 + + # Tenets (from domain, filtered by lens) + - rule_id: CH0001-R03 + type: tenet + source_id: FID-TN01 + source_domain: FID + label: Fiduciary primacy + priority: 1000 + + - rule_id: CH0001-R04 + type: tenet + source_id: FID-TN02 + source_domain: FID + label: Income precedence + priority: 950 # Overridden by lens FID-LN03 + + # Constraints (question-specific) + - rule_id: CH0001-R05 + type: constraint + source_id: CN01 + label: 4% annual income requirement + description: Acme Trust requires 4% annual income distribution per Section 4.2 + priority: 500 + + - rule_id: CH0001-R06 + type: constraint + source_id: CN02 + label: 25% concentration limit + description: Single-position exposure cannot exceed 25% of portfolio + priority: 500 + + conflicts_resolved: + - rule_a: { type: tenet, source_id: INV-TN03, label: "Maximize total return" } + rule_b: { type: constraint, source_id: CN01, label: "4% income requirement" } + resolution: b_supersedes + reason: "Per FID-TN02 (Income precedence), income requirements take precedence" + resolved_by: priority +``` + +### Cross-Domain Charter Example + +For dialogue "ai-medical-investment" (multiple domains): + +```yaml +charter: + id: CH0042 + dialogue: ai-medical-investment + status: approved + + # Cross-domain deliberation: AI + Medical + Fiduciary + domains: + - domain: fiduciary-investment (FID) + lens: FID-LN03 # Acme Trust lens + - domain: medical-ethics (MED) + lens: MED-LN01 # Patient Safety First lens + - domain: regulatory-compliance (REG) + lens: null # All tenets, no filtering + + rules: + # Principles apply to all domains + - rule_id: CH0042-R01 + type: principle + source_id: PR0001 + label: Evidence must be citable + priority: 100 + + # Tenets from multiple domains + - rule_id: CH0042-R02 + type: tenet + source_id: FID-TN01 + source_domain: FID + label: Fiduciary primacy + priority: 1000 + + - rule_id: CH0042-R03 + type: tenet + source_id: MED-TN01 + source_domain: MED + label: Patient safety paramount + priority: 1000 + + - rule_id: CH0042-R04 + type: tenet + source_id: REG-TN01 + source_domain: REG + label: Regulatory compliance required + priority: 900 + + # Cross-domain conflict resolved during synthesis + # (MED-TN03 "Minimize AI autonomy" vs FID-TN05 "Efficiency optimization") + + conflicts_resolved: + - rule_a: { type: tenet, source_id: MED-TN03, domain: MED } + rule_b: { type: tenet, source_id: FID-TN05, domain: FID } + resolution: a_supersedes + reason: "Patient safety (MED-TN01, priority 1000) governs AI autonomy decisions" + resolved_by: priority +``` + +## Migration Path + +### Phase 1: Schema +- [ ] Create `principles`, `domains`, `tenets`, `lenses`, `constraints` tables +- [ ] Create `charters`, `charter_domains`, `charter_rules`, `charter_conflicts` tables +- [ ] Add calibration columns to `dialogues` table + +### Phase 2: Core Principles +- [ ] Define initial system principles (PR0001-PR0010) +- [ ] Create principle review/approval workflow + +### Phase 3: `/charter` Skill +- [ ] Implement `/charter domain` command +- [ ] Implement `/charter tenet` command +- [ ] Implement `/charter synthesize` command +- [ ] Implement `/charter review` command + +### Phase 4: MCP Integration +- [ ] `blue_charter_domain_create` tool +- [ ] `blue_charter_synthesize` tool +- [ ] Modify `blue_dialogue_create` for calibrated dialogues +- [ ] Modify `blue_dialogue_round_context` to include calibration + +### Phase 5: Judge Protocol +- [ ] Calibration scoring modifiers +- [ ] Ethos compliance validation +- [ ] Exception documentation in verdicts + +## Human-Readable Artifacts + +**Principle:** Every entity in the database must have a corresponding human-readable artifact. The DB is the source of truth; artifacts are generated views for auditability. + +### Artifact Structure + +``` +.blue/ +├── calibration/ +│ ├── principles.md # All active principles +│ ├── domains/ +│ │ ├── index.md # Domain registry with inheritance graph +│ │ ├── fiduciary-investment.md +│ │ ├── investment-analysis.md +│ │ └── regulatory-compliance.md +│ ├── tenets/ +│ │ └── {domain-id}.tenets.md # All tenets for a domain +│ └── lenses/ +│ └── {domain-id}.lenses.md # All lenses for a domain + +{dialogue-output-dir}/ +├── charter.md # Synthesized charter for this dialogue +├── charter-conflicts.md # Conflict resolution audit trail +├── calibration-report.md # Final compliance report (post-verdict) +└── ... (existing dialogue artifacts) +``` + +### Artifact Formats + +**principles.md:** + +```markdown +# Blue Principles + +*Generated: 2026-02-02T14:30:00Z | Source: blue.db* + +## Active Principles + +### PR0001: Evidence Citability +**Status:** Active | **Created:** 2026-01-15 + +Evidence must be citable and verifiable. Claims without traceable sources +receive reduced weight in scoring. + +**Rationale:** Prevents speculation from dominating deliberation. + +--- + +### PR0002: Conflict Disclosure +**Status:** Active | **Created:** 2026-01-15 + +Conflicts of interest must be disclosed by experts before contributing +to relevant topics. + +**Rationale:** Transparency enables appropriate weight adjustment. + +--- + +### PR0003: Minority Voice +**Status:** Active | **Created:** 2026-01-15 + +Minority perspectives must be heard and addressed before convergence +can be declared. + +**Rationale:** Premature consensus loses valuable dissent. +``` + +**domains/{domain-id}.md:** + +```markdown +# Domain: Fiduciary Investment Analysis + +*Generated: 2026-02-02T14:30:00Z | Source: blue.db* + +| Field | Value | +|-------|-------| +| **ID** | `fiduciary-investment` | +| **Code** | `FID` | +| **Status** | Active | +| **Created** | 2026-01-20 | + +## Description + +Analysis framework for investment decisions where fiduciary duty to +beneficiaries is the primary obligation. + +## Inheritance + +``` +investment-analysis + │ + └──► fiduciary-investment ◄── regulatory-compliance +``` + +**Parents:** +- `investment-analysis` — General investment analysis tenets +- `regulatory-compliance` — Compliance and documentation requirements + +**Children:** (none) + +## Tenets (5) + +| ID | Label | Priority | Status | +|----|-------|----------|--------| +| FID-TN01 | Fiduciary primacy | 1000 | Active | +| FID-TN02 | Income precedence | 900 | Active | +| FID-TN03 | Concentration awareness | 800 | Active | +| FID-TN04 | Liquidity preservation | 700 | Active | +| FID-TN05 | Documentation requirement | 600 | Active | + +See: [fiduciary-investment.tenets.md](../tenets/fiduciary-investment.tenets.md) + +## Lenses (3) + +| ID | Label | Tenets | Overrides | +|----|-------|--------|-----------| +| FID-LN01 | Conservative Income | 3 (include) | 1 | +| FID-LN02 | Growth Oriented | 3 (include) | 1 | +| FID-LN03 | Acme Trust | 3 (include) | 1 | + +See: [fiduciary-investment.lenses.md](../lenses/fiduciary-investment.lenses.md) +``` + +**lenses/{domain-id}.lenses.md:** + +```markdown +# Lenses: Fiduciary Investment Analysis (FID) + +*Generated: 2026-02-02T14:30:00Z | Source: blue.db* + +## FID-LN01: Conservative Income +**Status:** Active + +Income-focused configuration for clients with distribution requirements. + +**Tenet Selection:** +- **Include:** FID-TN01, FID-TN02, FID-TN04 +- **Exclude:** FID-TN05 + +**Priority Overrides:** +| Tenet | Default | Override | +|-------|---------|----------| +| FID-TN02 | 900 | 1000 | + +--- + +## FID-LN02: Growth Oriented +**Status:** Active + +Growth-focused configuration for clients with long time horizons. + +**Tenet Selection:** +- **Include:** FID-TN01, FID-TN03, FID-TN05 +- **Exclude:** (none) + +**Priority Overrides:** +| Tenet | Default | Override | +|-------|---------|----------| +| FID-TN03 | 800 | 1000 | + +--- + +## FID-LN03: Acme Trust +**Status:** Active + +Client-specific configuration for Acme Trust requirements. + +**Tenet Selection:** +- **Include:** FID-TN01, FID-TN02, FID-TN04 +- **Exclude:** (none) + +**Priority Overrides:** +| Tenet | Default | Override | +|-------|---------|----------| +| FID-TN02 | 900 | 950 | +``` + +**tenets/{domain-id}.tenets.md:** + +```markdown +# Tenets: Fiduciary Investment Analysis + +*Generated: 2026-02-02T14:30:00Z | Source: blue.db* + +## FID-TN01: Fiduciary Primacy +**Priority:** 1000 (highest) | **Status:** Active + +Fiduciary duty to beneficiaries supersedes all other considerations +including growth optimization. + +**Rationale:** Legal and ethical obligation to beneficiaries is non-negotiable. + +--- + +## FID-TN02: Income Precedence +**Priority:** 900 | **Status:** Active + +Income requirements take precedence over capital gains when mandated +by governing documents. + +**Rationale:** Beneficiary needs often depend on predictable income streams. + +--- + +[... remaining tenets (FID-TN03 through FID-TN05) ...] +``` + +**{dialogue-dir}/charter.md:** + +```markdown +# Charter: nvidia-investment-decision + +*Generated: 2026-02-02T15:00:00Z | Source: blue.db* +*Charter ID: `CH0001` | Status: Approved* + +## Summary + +| Metric | Value | +|--------|-------| +| **Domains** | Fiduciary Investment Analysis (FID) | +| **Lenses** | FID-LN03: Acme Trust | +| **Principles** | 3 | +| **Tenets** | 5 (2 inherited, filtered by lens) | +| **Constraints** | 3 | +| **Total Rules** | 11 | +| **Conflicts Resolved** | 1 | + +## Domains + +| Domain | Code | Lens | +|--------|------|------| +| Fiduciary Investment Analysis | FID | FID-LN03 (Acme Trust) | + +## Rules + +### Principles (Universal) + +| Rule ID | Source | Label | Priority | +|---------|--------|-------|----------| +| CH0001-R01 | PR0001 | Evidence must be citable | 100 | +| CH0001-R02 | PR0002 | Conflicts of interest must be disclosed | 100 | +| CH0001-R03 | PR0003 | Minority perspectives must be heard | 100 | + +### Tenets (Domain + Inherited) + +| Rule ID | Source | Label | Priority | Domain | +|---------|--------|-------|----------|--------| +| CH0001-R04 | FID-TN01 | Fiduciary primacy | 1000 | FID | +| CH0001-R05 | FID-TN02 | Income precedence | 950 | FID (lens override) | +| CH0001-R06 | FID-TN03 | Concentration awareness | 800 | FID | +| CH0001-R07 | INV-TN01 | Risk-adjusted returns | 500 | INV (inherited) | +| CH0001-R08 | INV-TN02 | Diversification | 400 | INV (inherited) | + +### Constraints (This Dialogue) + +| Rule ID | Source | Label | Priority | Origin | +|---------|--------|-------|----------|--------| +| CH0001-R09 | CN01 | 4% annual income requirement | 500 | Section 4.2 of trust document | +| CH0001-R10 | CN02 | 25% concentration limit | 500 | Trust investment policy | +| CH0001-R11 | CN03 | 60-90 day execution window | 300 | Refinancing timeline | + +## Expert Prompt Injection + +The following calibration block is injected into expert prompts: + +``` +## Charter CH0001: Fiduciary Investment Analysis + +This dialogue operates under the following charter (11 rules): + +**Principles:** +- [CH0001-R01] Evidence must be citable and verifiable +- [CH0001-R02] Conflicts of interest must be disclosed +- [CH0001-R03] Minority perspectives must be heard before convergence + +**Tenets (by priority):** +- [CH0001-R04] [1000] Fiduciary duty supersedes growth optimization +- [CH0001-R05] [950] Income requirements take precedence over capital gains +- [CH0001-R06] [800] Concentration risk must be explicitly addressed +- [CH0001-R07] [500] Risk-adjusted returns guide position sizing +- [CH0001-R08] [400] Diversification reduces systematic risk + +**Constraints (this dialogue):** +- [CH0001-R09] Acme Trust requires 4% annual income distribution +- [CH0001-R10] Single-position exposure cannot exceed 25% +- [CH0001-R11] Execution window: 60-90 days post-refinancing + +Your arguments must be consistent with this charter. If you believe +a rule should be challenged, surface it as a [TENSION] referencing the rule ID +(e.g., "challenges CH0001-R05"). +``` +``` + +**{dialogue-dir}/charter-conflicts.md:** + +```markdown +# Ethos Conflicts: nvidia-investment-decision + +*Generated: 2026-02-02T15:00:00Z | Source: blue.db* + +## Summary + +| Metric | Value | +|--------|-------| +| **Conflicts Detected** | 1 | +| **Resolution Method** | Priority-based | +| **Manual Overrides** | 0 | + +## XC01: Growth vs Income + +**Detected:** 2026-02-02T14:58:00Z + +| Side | Type | ID | Label | Priority | +|------|------|----|-------|----------| +| A | Tenet | INV-TN03 | Maximize total return | 300 | +| B | Constraint | CN01 | 4% annual income requirement | 500 | + +**Conflict Type:** Contradiction + +**Analysis:** +INV-TN03 prioritizes total return (growth + income), while CN01 requires +specific income levels that may constrain growth-oriented strategies. + +**Resolution:** `B supersedes A` + +**Reason:** Per FID-TN02 (Income precedence, priority 900), income requirements +take precedence over capital gains when mandated by governing documents. + +**Resolved By:** Priority (automatic) + +--- + +*No manual overrides were required for this charter synthesis.* +``` + +**{dialogue-dir}/calibration-report.md:** + +```markdown +# Calibration Report: nvidia-investment-decision + +*Generated: 2026-02-02T18:00:00Z (post-verdict)* + +## Compliance Summary + +| Status | Count | Details | +|--------|-------|---------| +| **Fully Compliant** | 9 | Rules followed without exception | +| **Exceptions** | 1 | Documented deviation with justification | +| **Violations** | 0 | No unaddressed rule breaches | + +## Rule-by-Rule Compliance + +| Rule | Label | Status | Notes | +|------|-------|--------|-------| +| PR0001 | Evidence citability | ✅ Compliant | 47 evidence items cited | +| PR0002 | Conflict disclosure | ✅ Compliant | No conflicts identified | +| PR0003 | Minority voice | ✅ Compliant | Dissent addressed in R2 | +| FID-TN01 | Fiduciary primacy | ✅ Compliant | Central to verdict | +| FID-TN02 | Income precedence | ✅ Compliant | Options overlay addresses | +| FID-TN03 | Concentration awareness | ✅ Compliant | 18% position recommended | +| INV-TN01 | Risk-adjusted returns | ✅ Compliant | Sharpe ratio cited | +| INV-TN02 | Diversification | ✅ Compliant | Collar reduces single-stock risk | +| **CN01** | **4% income** | ⚠️ **Exception** | See below | +| CN02 | 25% concentration | ✅ Compliant | 18% < 25% | +| CN03 | Execution window | ✅ Compliant | 75-day plan | + +## Exception Details + +### CN01: 4% Annual Income Requirement + +**Exception Type:** Partial compliance + +**Actual:** 3.2% immediate + 0.8% deferred to Q2 + +**Justification:** +> Options overlay achieves 3.2% immediate yield. Remaining 0.8% is covered +> by deferred premium income from collar structure, payable in Q2 after +> refinancing completes. Total annual income meets 4% requirement. + +**Approved By:** Judge (in final verdict) + +**Verdict Reference:** V01 (final), condition #2 + +--- + +## Tensions Raised Against Ethos + +| Tension | Rule Challenged | Outcome | +|---------|-----------------|---------| +| T0003 | FID-TN03 (Concentration) | Resolved — 18% acceptable | +| T0007 | CN01 (4% income) | Resolved — Exception documented | + +--- + +*This report was generated automatically from dialogue artifacts and verdict.* +``` + +### Generation Triggers + +Artifacts are generated (or regenerated) when: + +| Event | Artifacts Updated | +|-------|-------------------| +| `blue_charter_domain_create` | `domains/index.md`, `domains/{id}.md` | +| `blue_charter_tenet_add` | `domains/{domain}.md`, `tenets/{domain}.tenets.md` | +| `blue_charter_lens_create` | `domains/{domain}.md`, `lenses/{domain}.lenses.md` | +| `blue_principle_create` | `principles.md` | +| `blue_charter_synthesize` | `{dialogue}/charter.md`, `{dialogue}/charter-conflicts.md` | +| `blue_dialogue_verdict` (final) | `{dialogue}/calibration-report.md` | + +### MCP Tool: `blue_charter_artifact_regenerate` + +Force regeneration of artifacts from DB: + +```json +{ + "scope": "all" | "principles" | "domain" | "dialogue", + "domain_id": "fiduciary-investment", // if scope=domain + "dialogue_id": "nvidia-investment" // if scope=dialogue +} +``` + +**Returns:** List of files written with paths and sizes. + +### Consistency Guarantees + +1. **DB is source of truth** — Artifacts are views, not authoritative +2. **Atomic generation** — All related artifacts update together +3. **Timestamp tracking** — Each artifact shows generation time and source +4. **Diff-friendly** — Markdown format enables git-based review +5. **Queryable** — Artifacts can be grep'd for human investigation + +## Open Questions + +1. **Principle governance**: Who can add/modify system principles? Requires RFC? +2. **Tenet versioning**: When tenets change, do existing dialogues keep old version? +3. **Cross-org tenets**: Can domains be shared across organizations? +4. **LLM conflict resolution**: How much autonomy for automated resolution vs manual review? +5. **Artifact sync**: Should artifacts be regenerated on every read, or only on write? + +--- + +*"Calibration is not constraint — it is clarity."*