Delegation Manifest Template — Leaf-Mode Variant

← Back to Enforcement Layer delegation-manifest-template-leaf-mode.md

Delegation Manifest Template — Leaf-Mode Variant

Version: 1.0.0 Created: 2026-04-21 FR: FR-E3 (Leaf-Mode Delegation Contract) Author: Hone (Skill & Command Architect) Parent skill: skills/enforcement/delegation-manifest-template.md Q portability link: docs/plans/claude-surface-restructure/fr-i1-enforcement-portability-baseline.md §3.2 structural gap entries for delegation-manifest-template, showcase-website-routing, blueprint-routing, vf-disagreement-protocol, vf-challenger-coach


What Leaf-Mode Is

The standard delegation manifest assumes spawn capability: an orchestrator (V, Sage, Pax, or a lead command) can spawn specialist agents inline via the Agent tool or Task tool. Specialists receive a bounded work packet, do the work in their own context, and return results.

Managed Agents cannot spawn subagents. A Managed Agent runs as a cloud-side event-triggered worker. When it executes, it is the terminal node — there is no parent orchestrator to call back into, no sibling context to spawn, no CLI session running alongside. It is a leaf node in the delegation tree.

Leaf-mode is the variant of the delegation manifest that applies when spawn capability is absent. It defines what "delegation" means when the agent at hand cannot hand work off to a specialist inline.


The Core Substitution

Standard Manifest Leaf-Mode Variant
Agent detects work requiring specialist X Agent detects work requiring specialist X
Agent spawns X via Task/Agent tool Agent emits a handoff signal naming X as required operator
X executes in its own bounded context X picks up the work in the next CLI-side session
Agent's accountability outcome: complete Agent's accountability outcome: complete at handoff emission
Work is done by end of current session Work is done by a CLI-side agent on a different surface/session

The handoff signal is the delegation act. The leaf agent's job ends when the signal is persisted. The CLI-side agent's job begins when it reads the signal.


Handoff Signal Anatomy

Two signal mechanisms are available. Leaf agents select based on what is accessible in their Environment package.

Mechanism A: WCP Work Item (default for most Managed Agents)

When the leaf agent has access to WCP via a Custom Tool in its Environment package:

WCP item created with:
  namespace: CHRISC
  title: "[leaf-agent codename] → [required operator codename]: [one-line work description]"
  description: |
    Surface: Managed Agents (leaf-mode)
    Source agent: [codename]
    Required operator: [codename]
    Work packet: [specific data, context, or artifact path the operator needs]
    Trigger: [what the leaf agent detected that requires this work]
    Accountability note: [leaf-agent's outcome ID] satisfied by this handoff; [operator codename] outcome becomes active on pickup
  tags: ["leaf-mode-handoff", "[leaf-agent codename]", "[required operator codename]"]

The CLI-side agent reads wcp_list at session start, finds the handoff item, executes the work, and closes the WCP item on completion.

Mechanism B: HubSpot Custom Event (for agents whose Environment includes the HubSpot Custom Tool)

When the leaf agent has the HubSpot Custom Tool available and the work is relationship/signal-class:

Custom Event emitted:
  event type: pe40810431_{leaf-agent codename}_{work class}_handoff_needed
  event body:
    required_operator: [codename]
    work_packet: [data or artifact reference]
    trigger_detail: [what was detected]
    leaf_outcome_id: [e.g., sentinel-1]
    handoff_timestamp: [ISO 8601]

Klaxon monitors the Custom Event stream. When it detects a *_handoff_needed event, it surfaces it in the alert queue. The CLI-side operator (V, Sage, or the named specialist) picks it up on the next session.

Which to Use

Condition Mechanism
Work is operational (structural update, file edit, command fix) WCP item
Work is relationship or signal class (Sentinel, Vigil detections) HubSpot Custom Event
Environment has no WCP or HubSpot Custom Tool Append to a known monitoring file (e.g., data/leaf-mode-queue.jsonl) that a CLI agent reads on session start

Accountability Boundary (Critical)

In standard mode, accountability transfers: the agent spawns a specialist and the specialist is accountable for the specialist's outcome.

In leaf-mode, accountability is split at the handoff boundary:

  • Leaf agent: accountable for detecting the condition requiring specialist work AND emitting a correct, complete, persisted handoff signal. The leaf agent's accountability outcome is satisfied when the handoff is verifiably persisted (WCP item created, Custom Event emitted, or queue entry written).

  • CLI-side specialist: accountable for executing the work described in the handoff signal. The specialist's accountability outcome activates on pickup and satisfies on completion.

The leaf agent is NOT accountable for whether the CLI-side agent picks up the work or when. That latency is a surface architecture constraint, not a failure of the leaf agent.

This matters for Q's drift-audit: A leaf agent that emitted a valid, complete handoff signal for every detected condition has met its FR-G1 accountability outcome, regardless of whether the downstream work has been completed by the time Q audits. Q audits the handoff log, not the downstream completion.


Worked Examples — 5 Affected Skills

1. delegation-manifest-template

Standard behavior: Agent detects a task requiring specialist work, spawns specialist via Task/Agent tool, specialist executes in own context.

Leaf-mode substitution:

Scenario: Sentinel (Managed Agent) detects that a contract review is needed for a practitioner relationship. Writ handles legal review — but Writ is CLI-only and cannot be spawned from Sentinel's Managed Agent session.

Sentinel leaf-mode action:
  1. Detects condition: contract language received from [practitioner], review required
  2. Cannot spawn Writ → emit WCP handoff item:
       title: "sentinel → writ: contract review needed for [practitioner name]"
       description:
         Required operator: writ
         Work packet: contract text attached to HubSpot Contact [ID], or path in clients/{slug}/contracts/
         Trigger: Sentinel detected incoming contract language in monitored signal stream
         Accountability: sentinel-1 satisfied at this handoff; writ accountability activates on pickup
       tags: ["leaf-mode-handoff", "sentinel", "writ"]
  3. Sentinel's session ends. sentinel-1 outcome is met.
  4. Next CLI session: V or the session orchestrator reads wcp_list, finds the handoff,
     spawns Writ via Task(subagent_type: "writ") with the work packet.
  5. Writ completes review. WCP item closed.

Alternatively, if Sentinel can emit HubSpot Custom Events:

Custom Event: pe40810431_sentinel_legal_review_needed
  required_operator: writ
  practitioner_contact_id: [HubSpot ID]
  contract_path: clients/{slug}/contracts/{file}
  trigger: relationship signal — contract document detected in signal stream
Klaxon surfaces the event → CLI session picks up → Writ spawned → review complete.

2. showcase-website-routing

Standard behavior: Any agent needing a public page built spawns Showcase via Task/Agent tool with the spec and design requirements.

Leaf-mode substitution:

Scenario: Vigil (Managed Agent) determines that the website's Office Hours archive page needs updating with new session data.

Vigil leaf-mode action:
  1. Detects condition: 3 new Office Hours sessions indexed; archive page content is stale
  2. Cannot spawn Showcase → emit WCP handoff item:
       title: "vigil → showcase: office hours archive page update needed"
       description:
         Required operator: showcase
         Work packet: session data summary [inline or reference to data/leaf-mode-queue.jsonl],
                      target page: apps/website/src/pages/office-hours/archive.astro,
                      new sessions: [list or Upstash query that returns them]
         Trigger: Vigil detected N new indexed sessions with no corresponding page update
         Accountability: vigil-[N] satisfied at this handoff; showcase accountability activates on pickup
       tags: ["leaf-mode-handoff", "vigil", "showcase"]
  3. CLI session reads WCP, spawns Showcase with the spec from the WCP item.
  4. Showcase builds/updates the page, commits, deploys.

Rule preserved: Work whose output is a visitor-facing page still routes to Showcase. Leaf-mode does not change the routing destination — it changes the mechanism from inline spawn to WCP-mediated deferred spawn.


3. blueprint-routing

Standard behavior: Any agent needing diagram output spawns Blueprint via Task/Agent tool with node/edge data and layout hint. Blueprint returns Mermaid block or Cytoscape.js HTML.

Leaf-mode substitution:

Scenario: Sentinel (Managed Agent) needs a dependency graph of the current signal classes it monitors to include in its accountability evidence.

Sentinel leaf-mode action:
  1. Identifies need: accountability verification for sentinel-1 requires a signal-class
     dependency graph (per the verification field in accountability-field-template.md)
  2. Cannot spawn Blueprint → emit WCP handoff item:
       title: "sentinel → blueprint: signal-class dependency graph needed"
       description:
         Required operator: blueprint
         Work packet: node list (4 signal classes: session_recency_breach, touchpoint_silence,
                      task_aging, engagement_gap), edge list (detection flow to Custom Event output),
                      layout hint: left-to-right hierarchical,
                      output format: Mermaid flowchart (to embed in sentinel AGENT.md)
         Trigger: accountability audit requires visual evidence of signal coverage
         Output destination: agents/relationship-sentinel/AGENT.md diagram section
       tags: ["leaf-mode-handoff", "sentinel", "blueprint"]
  3. CLI session reads WCP, spawns Blueprint with the spec.
  4. Blueprint returns Mermaid block. CLI agent embeds in AGENT.md.

Rule preserved: Blueprint is still the diagram specialist. Leaf-mode does not grant any Managed Agent the right to produce Mermaid inline. The WCP item is the routing mechanism, not a bypass.


4. vf-disagreement-protocol

Standard behavior: When two agents reach conflicting conclusions, one agent logs the disagreement to memory/shared-context.md, the other reads it, and resolution proceeds through the multi-step protocol (evidence comparison, lens-difference analysis, Advisory Committee escalation if needed). This requires shared context access and multi-agent coordination.

Leaf-mode substitution:

A Managed Agent cannot participate in a live disagreement resolution. It has no shared-context write access (unless the Environment ships a memory snapshot), no sibling context to challenge, and no mechanism to convene a resolution forum.

Leaf-mode disagreement behavior:
  1. Leaf agent reaches conclusion X on topic T.
  2. Leaf agent's Environment contains a prior intelligence entry (from memory snapshot or
     persisted signal) showing a CLI-side agent reached conclusion Y on the same topic T.
  3. Leaf agent detects the conflict: X ≠ Y.
  4. Leaf agent DOES NOT:
       - Silently adopt Y (sycophantic capitulation)
       - Silently override Y (authority bypass)
       - Produce output pretending there is no conflict
  5. Leaf agent DOES:
       a. Tag its output as [DISAGREEMENT-PENDING]:
            "Conclusion: X. Note: prior intelligence in [source] shows Y on [topic T].
             Disagreement signal emitted to CLI resolution queue. Output class: draft
             until CLI-side resolution completes."
       b. Emit WCP handoff item:
              title: "[leaf codename] disagreement signal: [topic T]"
              description:
                Required operator: [the agent or leader whose Y conclusion conflicts]
                OR V (if no specific agent owns Y) for resolution routing
                Leaf conclusion: X
                Conflicting entry: [source reference, value Y]
                Resolution need: evidence comparison or Advisory Committee escalation
                Output tagged: [leaf codename]-[session-id]-draft — do not act on until resolved
              tags: ["leaf-mode-handoff", "disagreement", leaf-codename]
  6. The CLI-side resolution session reads the WCP item, runs vf-disagreement-protocol,
     and resolves. Resolution outcome updates shared-context. The leaf output's
     [DISAGREEMENT-PENDING] tag is cleared by the CLI agent after resolution.

What this preserves: Signal quality is not lost. The leaf agent's conclusion is preserved. The conflict is surfaced to the system, not swallowed. The output is correctly downgraded to draft-class until the disagreement resolves.

What is explicitly NOT permitted: A leaf agent may not silently drop its conclusion because a prior entry exists. That is capitulation-by-architecture. The [DISAGREEMENT-PENDING] tag and WCP emission are mandatory when a conflict is detected.


5. vf-challenger-coach

Standard behavior: When an agent's conclusion is challenged (by a human or another agent), the agent applies the four core rules: hold position until shown wrong, disagree on record, challenge the premise, flow preservation. This assumes a back-and-forth conversational exchange.

Leaf-mode substitution:

A Managed Agent is event-triggered and non-conversational. There is no human in the loop during execution who can challenge a conclusion in real time. The challenger-coach protocol applies in a degenerate form.

Leaf-mode challenger-coach behavior:

  At output time (before emitting results or handoff signals):
  1. Leaf agent scans its own output for any conclusion that:
       a. Contradicts a persisted prior assessment in its Environment (memory snapshot
          or prior session data)
       b. Would be challenged by the standard vf-challenger-coach four-rule audit
          (is it grounded? is there new evidence? is the premise of any prior claim sound?)
  2. If a potential challenge is detected:
       a. The leaf agent performs the challenge internally — it is both challenger and
          responder. It asks: "What is the new evidence for this conclusion? Is it grounded?"
       b. If the conclusion survives internal challenge: output is tagged [leaf-mode].
       c. If the conclusion does NOT survive internal challenge: the agent revises it,
          then tags the revision as [leaf-mode-corrected] with a one-line note on what changed.
  3. ALL leaf-mode output is tagged [leaf-mode] regardless of whether a challenge was detected.
     This is the automatic draft-class marker. A CLI session applies challenger-coach review
     before any leaf-mode output is acted upon operationally.

The [leaf-mode] tag contract:

[leaf-mode] = "This output was produced by a Managed Agent in a non-conversational,
               no-subagent-spawn session. It has passed the agent's internal self-review
               but has NOT passed CLI-side challenger-coach review. Status: draft-class.
               Required: a CLI-side agent must apply vf-challenger-coach.md review before
               this output becomes operational intelligence."

[leaf-mode-corrected] additionally signals: "The agent's internal challenge identified a revision. The final output here has been updated from the first-pass conclusion. Revision note appended."

What this preserves: Sycophantic capitulation (folding to a prior entry without evidence) is still blocked — the leaf agent's internal challenge process guards against it. The output's draft-class marking ensures that the reduced review quality of a non-conversational session is visible to any consumer.

CLI-side responsibility: When a CLI session encounters [leaf-mode] tagged output, it MUST apply vf-challenger-coach.md review before treating the output as operational. This is the completion step for the leaf-mode enforcement chain.


What Leaf-Mode Does NOT Change

Rule Still Applies
Forbidden language (leads, funnel, etc.) Yes — all language enforcement is prompt-level; applies in leaf-mode
Ledger gateway for HubSpot writes Yes — the leaf agent does NOT write HubSpot directly; it emits a handoff to Ledger (via WCP or Custom Event). Ledger executes on CLI.
Canon gateway for Sanity writes Same as Ledger — emit handoff, Canon executes on CLI
vf-platform-context mental model Yes — loaded via Environment package system prompt
vf-self-correction Yes — internal self-correction still applies; leaf-mode is not a license to skip self-audit
Model tier classification Yes — the leaf agent runs at its assigned tier regardless of surface
Accountability field (FR-G1) Yes — the leaf agent's outcomes remain auditable; satisfaction criteria is handoff emission, not downstream completion

Closure Conditions (Structural Gaps This Variant Closes)

The 5 enforcement skills previously rated G (Gap) in the Managed Agents column of the FR-I1 matrix (§3.2) are unblocked by this variant:

Skill FR-I1 Row Previous Rating Closes By
delegation-manifest-template 16 G — full delegation chain assumes spawn Leaf-mode substitution defined in this document
showcase-website-routing 14 G — routing to Showcase requires spawn WCP-mediated deferred spawn documented in §Worked Example 2
blueprint-routing 15 G — routing to Blueprint requires spawn WCP-mediated deferred spawn documented in §Worked Example 3
vf-disagreement-protocol 11 G — requires multi-agent orchestration Disagreement signal + [DISAGREEMENT-PENDING] tag documented in §Worked Example 4
vf-challenger-coach 12 G — requires challenger/responder exchange Internal self-challenge + [leaf-mode] draft tag documented in §Worked Example 5

Rating change: These 5 cells should move from G to P (Partial) when FR-E3 is accepted. They reach E (Enforced) when:

  1. The Environment package (FR-C2) ships with this skill bundled.
  2. The first Managed Agent (Sentinel or Vigil) executes and demonstrates the handoff emission + draft-tag pattern in a real session.
  3. Q confirms observed behavior matches the contract described here and updates the FR-I1 matrix.

Integration With Other Enforcement Skills

Leaf Agent Execution
    │
    ▼
Detect condition requiring specialist work or disagreement
    │
    ├─→ Specialist work needed (routing decision):
    │       → showcase-website-routing: still routes to Showcase, via WCP
    │       → blueprint-routing: still routes to Blueprint, via WCP
    │       → delegation-manifest-template: still delegates, via WCP not inline spawn
    │       → ledger/canon writes: still gate-controlled, via WCP to CLI-side Ledger/Canon
    │
    ├─→ Disagreement detected:
    │       → vf-disagreement-protocol leaf-mode: tag [DISAGREEMENT-PENDING] + WCP item
    │
    ├─→ Output ready:
    │       → vf-challenger-coach leaf-mode: internal self-challenge → tag [leaf-mode]
    │
    └─→ Emit persisted signal (WCP item or HubSpot Custom Event)
            Leaf agent accountability outcome = SATISFIED
            CLI-side agent accountability = ACTIVATED on signal pickup

Skill Loading in Leaf-Mode Sessions

Leaf agents running in Managed Agents cannot load skill files via Read tool calls to the CLI filesystem. Skill content must be in the Environment package (FR-C2) as system-prompt inclusions.

Required Environment bundle for leaf-mode compliance:

skills/enforcement/delegation-manifest-template-leaf-mode.md  (this file)
skills/enforcement/vf-platform-context.md
skills/enforcement/vf-self-correction.md
skills/enforcement/vf-challenger-coach.md
skills/enforcement/vf-disagreement-protocol.md
skills/enforcement/accountability-field-template.md

Aegis owns the bundle sync (FR-C2 dependency). When any file in the above list changes in the monorepo, the Environment bundle must be updated before the next Managed Agent deployment cycle.


Summary: What Changes When This Skill Is Active

  1. Delegation — WCP items replace inline agent spawns. The destination agent is still named; the routing rule is still honored; only the mechanism changes.
  2. Disagreement — [DISAGREEMENT-PENDING] tag replaces the live disagreement protocol. Signal quality is preserved. Draft-class marking prevents premature action on unresolved conflicts.
  3. Challenger-coach review — Internal self-challenge replaces the live conversational exchange. [leaf-mode] tag mandates CLI-side review before operational use.
  4. Accountability — Satisfaction boundary moves from "work done" to "handoff persisted." Q audits the handoff log, not downstream completion.
  5. Everything else — Language enforcement, gateway routing, model tiering, platform context — unchanged. Leaf-mode is a delegation mechanism variant, not an enforcement exemption.