---
type: Skill
okf_version: "0.1"
version: "2026-06-21-okf"
title: "sme-spawn-protocol"
tags: [pablo, skill, agent-readable]
timestamp: 2026-06-21T17:40:00Z
agent_readable: true
pablo_extension: true
name: sme-spawn-protocol
description: Use when FAS SME_DOMAIN_REF returns SME_NONE, a domain gap repeats or affects multiple projects, or Pablo needs to stage a governed proposal for a new SME department, cross-cutting liaison, or urgent SME pilot.
---

# SME Spawn Protocol

Task: T486-SME-SPAWN-PROTOCOL  
Nonce: 0531-T486-SSPA01  
Date: 2026-05-31  
Authority: CF-AUTH, Tier 2, docs-only  
Status: standing protocol proposal for recognizing and proposing new SME departments

## Boundary

This protocol lets Pablo recognize, stage, and propose new SME departments. It does not authorize live SME launch, source activation, live pulls, scoring, model-feed activation, methodology changes, project phase transitions, LSR writes, portfolio action, trading, or queue reprioritization. CF reviews proposals. Matthis authorizes department creation or structural changes.

## Clone-Provisioning Pointer

For any SME clone, agent-service, clone-spawning, sub-agent spawning, runtime-adjacent spawn, or service-adjacent clone work, load `skills/clone-provisioning/SKILL.md` first. That skill is the authoritative home for `CLONE_SPAWNING_SERVICE_SAFETY_GATE.v1`; complete its service safety gate before systemd, service wrapper, unit file, launch script, cron/dispatcher, or runtime-adjacent contact.

This pointer does not authorize live clone spawning, service changes, daemon reloads, restarts, cron edits, dispatcher edits, runtime config changes, source activation, scoring/model-feed use, portfolio action, or trading.

## BRAINSTORM_REQUIRED Gate

Run the callable brainstorm skill at `skills/brainstorm/SKILL.md` before emitting an `SME_SPAWN_PROPOSAL`, cross-cutting liaison proposal, urgent SME pilot request, new department design, or durable SME routing/process change.

BRAINSTORM_REQUIRED:
- SME_SPAWN_PROPOSAL
- cross_cutting_liaison proposal
- urgent_pilot request
- new SME department design
- reusable SME routing/process/schema change

BRAINSTORM_EXEMPT:
- logging one isolated SME_NONE item
- no-action rationale with no proposed system change
- routine SME_DOMAIN_REF intake

The brainstorm artifact does not authorize SME launch, live source activation, scoring/model-feed changes, methodology adoption, portfolio action, or trading.

## 1. TRIGGER CONDITIONS

Pablo should consider an SME spawn proposal when one or more of these trigger families appears.

```yaml
sme_spawn_trigger_conditions:
  subtopic_promotion_from_existing_sme:
    description: A subtopic inside an existing SME becomes large, recurring, and cross-project enough to require its own department or pilot.
    examples:
      - robotics grew out of GTES R-lane and Micro-Seismograph mechanism needs
      - biotech/healthcare events grew out of EventVoV and ForecastLedger event coverage gaps
    minimum_indicators:
      - at least 2 WATCH signals per month for 3 consecutive months
      - affects at least 2 active projects
      - source registry or expertise requirements exceed parent SME scope
    default_action: stage_spawn_proposal

  completely_new_domain_not_in_any_sme:
    description: A source review, FAS, project closeout, or external signal produces SME_DOMAIN_REF: SME_NONE because no existing department owns the mechanism.
    minimum_indicators:
      - domain gap blocks or degrades at least one active deliverable
      - domain gap repeats at least twice, or one occurrence affects at least 2 active projects
      - existing SMEs cannot cover the domain without losing source depth or creating misleading routing
    default_action: stage_spawn_proposal_or_FRICTION_PROPOSAL

  cross_cutting_domain:
    description: A recurring mechanism cuts across two or more SMEs but should not merge the parent departments.
    examples:
      - TRA as cross-SME protocol function
      - data-center power overlap between AI Compute and Energy/Grid
      - export-control overlap between AI Compute and Defense/Geopolitics
    minimum_indicators:
      - same phenomenon_id appears in 2 plus SMEs
      - lead/support ownership is unclear or produces duplicate routing
      - source lineage must be preserved across parent departments
    default_action: propose liaison_function_or_protocol_pilot_before_new_department

  urgent_fast_moving_domain:
    description: A domain becomes project-critical quickly enough that monthly or ad hoc coverage is insufficient.
    examples:
      - emergency regulatory regime
      - rapidly changing conflict/policy shock
      - market-structure or source-access disruption affecting active project gates
    minimum_indicators:
      - high or critical project relevance
      - active deliverable or gate would otherwise rely on stale coverage
      - CF confirms urgency; Matthis authorizes if Tier 1 structural effect exists
    default_action: stage_time_bounded_pilot_request
```

`SME_DOMAIN_REF: SME_NONE` is the main operational trigger. One isolated SME_NONE item may be logged without proposing a new department. Repeated SME_NONE results, project-blocking SME_NONE results, or SME_NONE results affecting two or more projects must trigger a proposal or a documented no-action rationale.

## 2. PROPOSAL FORMAT

Every proposed SME spawn must use this schema.

```yaml
SME_SPAWN_PROPOSAL:
  proposal_id: SME-SPAWN-YYYYMMDD-###
  domain_name: string
  proposed_department_slug: sme-domain-slug
  proposal_type: subtopic_promotion|new_domain|cross_cutting_liaison|urgent_pilot
  scope:
    covered_domain: []
    explicit_exclusions: []
    handoff_rules: []
  triggering_signals:
    - source_item_id: string|null
      trigger_surface: FAS|SME_DOMAIN_REF|PROJECT_CROSS_REF|LSR|SME_WORK_REQUEST|portfolio_closeout|CF_direct|other
      phenomenon_id: string|null
      signal_summary: string
      evidence_tier: media|secondary|primary_proxy|primary|audited|mixed|governance_protocol_design
      source_independence_flag: independent|same_lineage|unknown
      same_lineage_caution: true|false
  affected_projects:
    - project: GTES|VoV|EventVoV|ForecastLedger|Seismograph|Micro-Seismograph|Infrastructure|Other
      decision_point: string
      relevance: low|medium|high|critical
      current_owner_gap: string
  why_existing_SMEs_insufficient:
    - existing_sme: string
      insufficiency: source_depth|domain_expertise|routing_conflict|cadence_mismatch|source_registry_gap|methodology_gap|authority_gap
      explanation: string
  recommended_cadence: event_driven|weekly|monthly_rotating|quarterly|pilot_only|liaison_on_trigger
  source_load_estimate:
    expected_source_count_initial: integer
    expected_source_count_steady_state: integer
    freshness_pressure: low|medium|high
    source_activation_needed: none|possible_CF_review|likely_Matthis_auth
    commentary_load: low|medium|high
  recommended_initial_artifact: SKILL.md|protocol_function|routing_matrix_amendment|source_registry_only|FRICTION_PROPOSAL
  authority_required: CF_review|Matthis_auth
  forbidden_actions:
    - no_live_source_activation
    - no_scoring
    - no_model_feed_activation
    - no_methodology_change
    - no_phase_transition
    - no_portfolio_or_trading_action
  proposed_by: Pablo
  status: staged|CF_review|Matthis_authorized|rejected|built|verified|live
```

Short proposal rule: if the proposal is only a light FRICTION note, Pablo may emit a compact version, but it must still include `domain_name`, `triggering_signals`, `affected_projects`, `why_existing_SMEs_insufficient`, `recommended_cadence`, and `authority_required`.

## 3. DESIGN SCAFFOLD

Every standalone SME department must be built from:

```yaml
required_base_template:
  artifact: docs/governance/sme-skill-template-2026-05-31.md
  task_origin: T484-SME-SKILL-TEMPLATE
  required_sections:
    - DOMAIN SCOPE
    - SUBTOPIC TREE
    - SOURCE REGISTRY
    - INFORMATION CHANNEL HOOKS
    - SCHEDULED SWEEP PROTOCOL
    - EVENT-DRIVEN SME_DOMAIN_REF INTAKE
    - SME_WORK_REQUEST HANDLING
    - PHENOMENON_ID + SOURCE_INDEPENDENCE_FLAG
    - LSR + T456 INTEGRATION
    - MANDATORY FAS 8 DIMENSIONS + PORTFOLIO-MANAGER CLOSEOUT
    - COVERAGE_EXCLUSIONS
    - SELF-DEVELOPMENT LOOP
```

Design standards:

- No placeholder SKILL.md files may be installed.
- Every source registry must contain named sources, access method, freshness rule, quality tier, same-lineage handling, and project-specific resolver paths.
- Every SME must name explicit exclusions and handoff rules.
- Monthly rotating pilot is the default for new departments unless CF/Matthis authorizes a faster cadence.
- Cross-cutting domains should default to liaison/protocol pilots before becoming departments, preserving parent SME source depth.
- A new SME may stage phenomenon_id candidates, but T472/CF confirmation is required before automated dedup/upsert paths.

### 8D. SME-SPAWN-VALIDATION v1
Before invoking, designing, or proposing an SME spawn, urgent SME pilot, cross-cutting SME liaison, or new SME department workflow, complete these checks before the spawn/proposal decision is treated as valid:

1. Confirm the expected model tier and the model tier actually used for the SME or SME-like subinvocation.
2. Confirm the subinvocation output conforms to the requested schema before using it as evidence.
3. Declare the corpus/source mutation gate in the prompt, including that no corpus/source mutation may be applied without separate CF/Matthis authority.

On output intake, verify the returned content against the declared model tier, schema, corpus/source mutation boundary, and CF gate declaration. A spawn/proposal decision passes this hook only when `tier_match=true`, `output_schema_conformant=true`, `corpus_mutations_applied=none`, and `cf_gate_declared_in_prompt=true`.

```yaml
SME_SPAWN_VALIDATION.v1:
  sme_class:
  model_tier_expected:
  model_tier_used:
  tier_match: true|false
  output_schema_conformant: true|false
  corpus_mutations_proposed: none|list
  corpus_mutations_applied: none|list
  cf_gate_declared_in_prompt: true|false
```

This hook does not authorize SME launch, model-slot changes, corpus/source mutation, cron/runtime/dist changes, scoring/model-feed use, portfolio action, or trading.

## 4. AUTHORIZATION PATH

```yaml
authorization_path:
  step_1_detect:
    owner: Pablo
    allowed_actions:
      - detect SME_NONE or repeated domain gap
      - classify affected projects
      - stage proposal
      - include repair-engine option when blocker-related
    forbidden_actions:
      - creating live department without CF/Matthis path
      - starting deep research
      - activating sources
      - changing routing, scoring, methodology, phase, or portfolio state

  step_2_stage_proposal:
    owner: Pablo
    output: SME_SPAWN_PROPOSAL
    status: staged
    authority: autonomous_docs_only

  step_3_CF_review:
    owner: CF
    decisions: [reject, request_revision, approve_docs_only_design, escalate_to_Matthis]
    required_when: [source_sweep_requested, queue_materiality_exists, routing_matrix_or_template_changes_needed]

  step_4_Matthis_authorization:
    owner: Matthis
    required_when:
      - new department creation
      - department split/merge/retirement
      - cadence materially affects queue load
      - methodology, phase gate, scoring, source activation, portfolio, or trading implications exist

  step_5_build_skill:
    owner: Pablo
    allowed_after: explicit CF_AUTH or Matthis_AUTH
    output: populated SME SKILL.md from T484 template
    boundary: docs_only_unless_separately_authorized

  step_6_CF_verify:
    owner: CF
    checks:
      - all 12 sections populated
      - no placeholders
      - real source registry
      - FAS 8 dimensions present
      - coverage_exclusions present
      - authority boundaries correct

  step_7_live:
    owner: CF_or_Matthis_as_applicable
    meaning: SME can be used for scheduled or event-driven governed work at approved cadence
```

## 5. SOUL INTEGRATION

Pablo should treat SME domain gaps as repair-relevant when they block evidence, denominator construction, source coverage, project routing, or phase readiness.

Repair-engine awareness hook:

```yaml
pablo_repair_engine_awareness:
  trigger: FAS.SME_DOMAIN_REF.target_sme == SME_NONE
  required_check: Does this represent a domain gap that blocks or weakens the project, source review, LSR, or routing decision?
  if_single_low_relevance_gap:
    action: record SME_NONE rationale; no spawn proposal required
  if_repeated_or_project_material_gap:
    action: include SME_SPAWN_PROPOSAL or FRICTION_PROPOSAL as one repair candidate
  if_gap_affects_2_plus_projects:
    action: stage SME_SPAWN_PROPOSAL for CF review
  forbidden:
    - auto-creating SME department
    - auto-launching source sweep
    - treating SME spawn proposal as implementation authority
```

This hook is reflected in `skills/pablo-repair-engine/SKILL.md`: after every FAS `SME_DOMAIN_REF: SME_NONE` result, Pablo must ask whether the issue is a domain-gap repair surface and stage a proposal when the threshold is met.

## Required Closeout Checks

```yaml
FAS_RESULT:
  METHODOLOGY:
    adjacent_action_found: true
    action: Adds a governed path for domain-gap recognition without weakening project methodology.
    no_action_rationale: null
  TOOLING:
    adjacent_action_found: true
    action: Future validators can check SME_SPAWN_PROPOSAL fields before CF review.
    no_action_rationale: null
  GOVERNANCE:
    adjacent_action_found: true
    action: Separates Pablo staging, CF review, and Matthis department authorization.
    no_action_rationale: null
  MARKET_STRUCTURE:
    adjacent_action_found: false
    action: null
    no_action_rationale: Protocol is domain-governance infrastructure, not a market signal.
  SOURCE_DISCOVERY:
    adjacent_action_found: true
    action: Repeated source-owner gaps become proposal candidates rather than silent omissions.
    no_action_rationale: null
  WATCH_CROSS_REF:
    adjacent_action_found: true
    action: WATCH candidates with no SME owner can trigger SME spawn review.
    no_action_rationale: null
  PROJECT_CROSS_REF:
    adjacent_action_found: true
    action: Cross-project domain gaps raise priority for CF review.
    no_action_rationale: null
  SME_DOMAIN_REF:
    adjacent_action_found: true
    action: SME_NONE becomes an explicit spawn-protocol trigger when repeated or material.
    no_action_rationale: null
  evidence_tier: governance_protocol_design
  challenge_pass: pass_docs_only_no_live_spawn
  same_lineage_caution: false
  source_independence_flag: unknown
  forbidden_actions:
    - no_live_SME_launch
    - no_source_activation
    - no_scoring
    - no_methodology_change
    - no_phase_transition
    - no_portfolio_or_trading_action
  no_action_rationale: Implementation and live launch require separate CF/Matthis authorization.
```

```yaml
portfolio_manager_closeout:
  LSR_ENTRY_updates: none
  thesis_lifecycle_recommendations: none
  dissent_status: No portfolio effect; governance protocol only.
  error_budget_status: Improves source/domain coverage discipline by making SME_NONE explicit.
  opportunity_cost: Low; reduces future hidden domain-gap cost.
  portfolio_position_summary: no capital, trading, scoring, methodology, or phase action authorized
  open_SME_WORK_REQUESTS: []
  closed_SME_WORK_REQUESTS: []
  forbidden_actions_confirmed:
    - no_live_SME_launch
    - no_source_activation
    - no_automated_routing_change
    - no_portfolio_or_trading_action
```

## PABLO-DONE Closeout Marker

```yaml
PABLO_DONE:
  task: T486-SME-SPAWN-PROTOCOL
  nonce: 0531-T486-SSPA01
  artifact: docs/governance/sme/sme-spawn-protocol.md
  docs_only_boundary: held
  repair_engine_awareness_hook_required: true
  live_SME_launch: false
  source_activation: false
```

## Large Artifact Drive Relay (T894)

For any report, manifest, routing manifest, analysis manifest, JSON/JSONL/CSV bundle, transcript-derived artifact, weekly report, audit output, or other deliverable over roughly `5000` characters, follow `docs/governance/large-artifact-drive-relay-protocol-2026-06-07.md` before `PABLO-DONE`.

Required behavior:

1. Write the local artifact and compute SHA-256.
2. Upload every review-critical large artifact to Google Drive `CF-Pablo-Relay` with `scripts/gdrive_relay_upload.py`.
3. Emit `[CF-DOC-READY: <filename> | drive-url: <webViewLink> | local-sha: <sha256>]` to Discord or the current CF-visible relay surface.
4. Include Drive URL or Drive file ID plus local SHA in `PABLO-DONE`. Gist may be included as secondary redundancy, but Gist-only is not sufficient for large deliverables unless CF/Matthis explicitly waives Drive relay.
5. If Drive upload fails, emit `[PABLO-BLOCKED: large-artifact-drive-relay - <cause> | artifact: <path> | local-sha: <sha256>]` and do not claim large-artifact DONE until Drive succeeds or CF/Matthis waives the requirement.

This relay rule does not authorize source activation, scoring, signal/model-feed changes, portfolio/trading action, runtime changes, or cron mutation.
