# Meta Theory

> Meta_Kim executable governance dispatcher. It classifies the run, loads only needed references, preserves foundational capabilities and runtime-native abilities, routes owner + weapon + dependency + runtime + OS + verification, and closes only with evidence, intent acceptance, and writeback decision.

- Skill: `kimyx0207/meta-theory` (Agent Skill, multi-file: 17 files)
- Install (CLI): `npx skillmds@latest add kimyx0207/meta-theory`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kimyx0207/meta-theory/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kimyx0207 (https://skillmd.com/u/kimyx0207)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kimyx0207/meta-theory

---

# Meta-Theory Dispatcher
## Purpose
Run Meta_Kim as an executable governance system, not a theory essay. The main thread locks intent, gathers evidence, chooses route, delegates bounded work, reviews, verifies, and synthesizes. It must not become a generic implementation worker for non-trivial work. Machine contract: `config/contracts/core-loop-contract.json` is the compact default-path contract for this skill. It binds ordinary durable work and explicit meta-theory shortcuts to `npm run meta:theory:run`, requires the eight-stage spine, and defines which gates block, warn, or stay progressive.
The default governed runner remains planned-only. When the maintainer explicitly supplies `--execute-stage-dag`, the P-117 bridge executes the existing `coreLoop.stageDagPacket` in read-only shadow mode through either `--stage-runner-runtime codex` or `--stage-runner-runtime claude`, with the P-118 kernel retaining durable node commits; `--resume-stage-dag` continues only the exact bound unfinished run. The ready-set executor defaults to native concurrency. `--stage-runner-orchestrator langgraph` may dynamically load an explicitly installed, currently tested `@langchain/langgraph@1.4.8` and use only its Functional API `entrypoint` plus `task`; it consumes the scheduler-selected ready set and may not define topology or persistence. Both runtimes keep the same graph, checkpoint, and local merge authority. A native terminal result proves invocation, while Review still owns semantic acceptance. Do not claim write execution, external effects, a runtime-specific graph, LangGraph checkpoint authority, or live OpenAI/Claude SDK adapters without credential-backed evidence. The process timeout is a safety fuse, never a task/token/cost budget.

## Global-First Owner Discovery

Discovery is **global-first, capability-first**: not project-local, not agent-name-first. The run searches the relevant sources — local canonical assets, capability indexes, global runtime homes, package scripts, MCP / runtime configs, and external discovery (`findskill` / `meta-scout`) — using the cached-inventory, project-light, stop-on-match policy in `config/contracts/core-loop-contract.json`. A reusable global owner that already matches the boundary wins over creating a project-local copy. Full source-by-source guidance lives in `references/global-owner-discovery.md`; it must not override the machine contract's stage order, full-scan triggers, or stage-internal parallel policy.

The dispatcher (main thread or `meta-conductor`) is the **single merge owner** of `dispatchEnvelopePacket.capabilityInventory`. Fetch may discover independent sources concurrently after Critical has closed its intent merge, but the inventory is merged once before Thinking closes the route. This is a main-flow step, not a hook. The inventory records which relevant sources were actually scanned, which owners were considered, why one was selected, and why any route-relevant source was skipped. Discovery without a recorded inventory is fake discovery and is rejected by Review on the same chain, not by a separate gate.

## Trigger
Activate from ordinary natural-language durable work, not only from command words. If the user asks to plan and start work, organize priorities, produce repair suggestions, build a verification checklist, fix a non-trivial issue, handle multi-file execution, run review/verification, or resolve subjective/taste-dependent quality, classify the entry and choose the governed route automatically. Explicit `/meta-theory`, `meta-theory`, or `元理论` mentions are maintainer shortcuts, not required human behavior.

At run start, show a concise human-readable reason for the route. If the 8-stage spine triggers, say briefly why governance is needed before execution. If the 11-phase business workflow triggers, say briefly why closure, feedback, evolution, or mirror tracking is needed. Keep this to short user-facing lines; do not dump packet names or internal reasoning.

## Path classification
- `fast_path`: read-only query, no mutation, no durable artifact. Output may be direct, but evidence claims still need source.
- `standard_path`: ordinary executable work. Preserve the 8-stage order and capability-first truth boundary, but use fitness-informed depth: concise inline Critical / Fetch / Thinking for clear low-risk work, conditional Review, required fresh Verification, and no dedicated Evolution dispatch without a durable trigger.
- `regulated_path`: governance, security, runtime, dependency, release, public-ready, or cross-platform work. Require full spine, Review, Meta-Review, Verification, and Evolution.

## Canonical spine
Critical -> Fetch -> Thinking -> Execution -> Review -> Meta-Review -> Verification -> Evolution.

You are the DISPATCHER, not the executor. Use Agent tool / `Agent(...)` dispatch only after Fetch evidence and Thinking owner resolution prove the route.

Fetch-first capability matching principle: Fetch gathers evidence, then Thinking performs capability match, never hardcoded agent-name matching. Gate 1: Clarity Check blocks unclear intent before Fetch. Gate 2: Dispatch-Not-Execute blocks self-execution and requires a named owner, weapon, and verification owner.

Decision information is responsibility-scoped. Fetch is not the only stage that creates user choice material. Critical decides which intent dimensions matter, Fetch decides which evidence changes routes, Thinking decides owner / weapon / dependency / runtime / lane options, Execution records route-changing discoveries, Review decides quality and revision trade-offs, Meta-Review decides claim standard, Verification decides truth state, and Evolution decides writeback or none-with-reason. The 11-phase business workflow, meta workflow phases, business lanes, capability route, owner/weapon/dependency choice, runtime/OS support, tool/provider selection, verification path, evolution writeback, and user interaction surface are also decision boundaries. Each boundary must collect information that matches its responsibility and explain how that information changes the user's choices; do not collapse all decision evidence into Fetch or Thinking.

## Architecture Type Pre-judgment

Important: Architecture Type Distinction. Meta Architecture means agent governance, collaboration relationships, and responsibility boundaries. Project Technical Architecture means code organization, tech stack, and design patterns; redirect that lane to an architect or backend-architect capability when the needed owner is technical implementation rather than Meta_Kim governance.

## Type-First Route Invariant

Before adding another checklist, hook rule, or validator gate, classify the route-critical type. The minimum axes are object type, evidence type, and ownership type. Unknown object type returns `null`, `capabilityGapPacket`, or `reference_only`; unknown evidence type must not be promoted from structural/validator pass into runtime truth; unknown ownership preserves or blocks instead of overwriting user-owned local state. This is a route-selection invariant for Fetch and Thinking, not a new stage or acceptance matrix.

## Dynamic Flow Selection

- Type A: prompt/reference/contract hardening.
- Type B: agent/skill/owner creation or upgrade.
- Type C: external capability, tool, MCP, dependency, or web evidence discovery.
- Type D: review, verification, rollback, public-ready, or warning closure.
- Type E: orchestration, planning files, business-flow, and cross-runtime release.

## Complexity Fan-out Trigger

Do not wait for the user to spell out agent names before recognizing complexity. Treat the run as fan-out eligible when any of these signals appear:

- explicit `/meta-theory`, `meta-theory`, `元理论`, natural-language governed work, `critical and fetch thinking and review`, `Critical Thinking -> Fetch -> Deep Thinking -> Review`, "并行", "多个 agent", "review + fix + verify", or equivalent wording
- 2+ independent files, runtimes, platforms, capability families, PR/issue lanes, research angles, product lanes, or verification lanes
- cross-runtime behavior, release/update/sync, hook/security/sandbox, PRD/contract/validator, or repeated same-type failure work
- user feedback that the current Meta_Kim route is slow, serial, missing agents, missing dynamic workflow, or repeatedly corrected

Fan-out eligibility is only an entry hint; `coreLoop.stageDagPacket` is the runtime authority for whether lanes are dependency-ready, resource-safe, permission-safe, and worth dispatching concurrently. Live host-agent dispatch also requires runtime authorization and a callable host surface. In every active stage, dispatch the maximal safe ready set up to active host capacity using that runtime adapter's native concurrency primitive. Do not silently serialize ready independent lanes, but do not require one universal batching shape across hosts: concurrency must be proved by the host's batched-call evidence or overlapping invocation intervals. For Codex, entering meta-theory / governed Meta_Kim execution is itself fan-out authorization when the stage DAG proves separable safe lanes; direct subagent/delegation/parallel-agent wording and structured governance-chain requests such as `Critical Thinking -> Fetch -> Deep Thinking -> Review` are examples of that authorization, not exclusive gates. Native choice is required for branch-changing route, scope, risk, or acceptance decisions, not as the mechanism that first permits safe parallelism. Direct user corrections such as "我要的是派发 / 并行 / 多 agent" are governed execution entries and direct fan-out authorization. If the host tool is unavailable, rejected, or unauthorized, record `subagentCapabilityStatus`, `degradationReason`, and `hostInvocationRequestPacket`; do not claim live fan-out, completion, or public-ready.
Visible owner binding rule: before any live host worker/subagent call, each lane must bind `ownerAgent`, `ownerSource`, `ownerBindingMode`, capability/loadout, `roleDisplayName`, `roleInstanceId`, `parallelGroup`, `mergeOwner`, and the runtime-specific invocation plan. Codex uses `ownerBindingMode=native_custom_agent` only when the active top-level `spawn_agent` schema exposes `agent_type` and the selected owner is a validated Codex TOML custom-agent definition; that request carries `nativeAgentType`, and only its successful result may be presented as invoked/completed. Otherwise Codex uses `ownerBindingMode=run_scoped_owner_contract`, keeps `nativeAgentType` null/absent, and carries the professional owner in the bounded message. A Markdown owner is never promoted to a Codex native custom agent merely because its name matches. Claude Code keeps its own native Agent/Task binding. The user-visible dispatch notice must show the professional owner separately from any `runtimeInstanceAlias`, and the same compact ledger must retain Agent, Skill, Command, MCP, runtime-tool, and Hook selected-versus-actual state plus next action. It must not say only "created N agents", "派 agent", or equivalent wording with no owner/capability binding. If no reusable owner or capability binding can be found, block or return to Thinking with `capabilityGapPacket` instead of spawning unnamed side agents.
## Stage map

| # | Stage | Action | Interaction |
|---|---|---|---|
| 1 | Critical | clarify intent first, lock user pain, value, success criteria, non-goals, permissions, and Architecture Type; for wishful or ambiguous input, enter Critical-Fetch intent loop: translate intent -> read context -> enrich intent -> present IntentCard for user confirmation (up to `criticalFetchLoopMax` rounds) | If a required intent dimension is missing and the answer changes route, scope, risk, or non-goal, set `choiceSurfaceState = critical_clarification_allowed` and ask before proceeding. Do not present execution options during Critical. Present an IntentCard after context-enriched intent translation; Codex and Claude Code must confirm through their native interactive choice surface, while compatibility runtimes may use a clearly labeled chat decision card fallback. |
| 2 | Fetch | gather online/web and local evidence, confirm the problem, list candidate solutions with sources, extract material claims, run targeted read-only baseline verification when it changes the route, discover retrieval capabilities, complete a multi-type capability inventory before Thinking, read every target file that may be changed, and build a change fact card before any file mutation | If evidence suggests multiple valid paths with different trade-offs, surface the options in the user's language before Thinking. If current external facts or third-party capability claims matter, `meta-scout` or an equivalent evidence owner must finish source-backed research before Thinking. |
| 3 | Thinking | determine needed execution capabilities across governance agents, execution agents, skills, scripts, commands, MCP capabilities/providers/tools, runtime tools, plugins/connectors, retrieval capabilities, dependency/external packages, and run-scoped workerTasks; match existing capabilities; create or upgrade only for gaps; bind the file delivery contract; plan DAG/parallel/serial lanes with `mergeOwner` | Present at least 2 candidate paths with a recommended default. Ask the user to confirm the chosen path before Execution. |
| 4 | Execution | run multi-agent work using the agents, skills, scripts, commands, MCP capabilities, runtime tools, plugins/connectors, retrieval capabilities, dependencies, and tools selected by Thinking artifacts | No interaction unless route-changing discovery occurs mid-execution — then pause and inform. |
| 5 | Review | meta-prism checks upstream Critical, Fetch, Thinking, and result quality | If review finds issues that require user preference (quality vs speed trade-off), ask before proceeding. |
| 6 | Meta-Review | meta-warden verifies Review standard and public-ready gate | No interaction. Internal governance check. |
| 7 | Verification | run real tests with fresh evidence and `verificationPacket.fixEvidence` | No interaction. Run checks and record evidence. |
| 8 | Evolution | after Warden approval, directly edit the target agent definition or SOUL.md for meta-agent lessons; execution-agent gaps use `capabilityGapPacket` + Type B pipeline | No interaction. Record writeback decision. |

Autonomous discovery rule: for natural-language durable work, Fetch starts capability discovery from the entry classification itself. The user must not need to say "Critical", "Fetch", "Thinking", "Review", agent, skill, MCP, command, or tool for Meta_Kim to search local/global agents, skills, commands, MCP providers, runtime tools, plugins, hooks, and verification owners. Native choice gates may pause branch-changing execution, but they must not be the mechanism that first reveals missing discovery.

### Parallelism Boundaries

The 8-stage spine is the canonical order and every transition is a merge barrier: no next-stage lane starts before the active stage's merge node closes. Inside each stage, independent support, execution, review, verification, or candidate-analysis lanes use maximal safe parallelism under DAG dependencies, resource locks, permissions, isolation, useful-work, and host-capacity limits. Critical keeps one intent authority; Thinking keeps one route/DAG authority; Execution keeps one merge owner; Review keeps one findings verdict; Meta-Review keeps one Warden verdict; Verification keeps one evidence/claim authority; Evolution keeps one candidate merge and one approved durable writer. The machine authority is `config/contracts/core-loop-contract.json`; `references/dev-governance.md` explains it without introducing Stage 0, fixed waves, or competing strict-serial stage rules.

## User Interaction

**MANDATORY**: Use the current runtime adapter's verified native choice surface at key decision points. Keep the canonical card contract platform-neutral; renderer-specific schemas and tool names belong in runtime references such as `runtime-claude.md` or `runtime-codex.md`, not in the generic contract. For Codex and Claude Code, required branch-changing decisions must use `request_user_input` or `AskUserQuestion`; if that native interactive surface is unavailable, empty, rejected, stripped, or not deferred to host UI, block before Execution and return to Critical/Thinking. Only compatibility runtimes may fall back to a localized chat decision card, and that fallback must not be reported as a Codex or Claude Code popup.

False native choice claim guard: do not write that a popup, panel, or native surface was shown, used, returned empty, timed out, failed, or selected an option unless the current runtime adapter has returned matching evidence. In Codex, that means a `request_user_input` answer or `nativeChoiceSurfaceBlocked`; in Claude Code, that means an `AskUserQuestion` answer, deferred `AskUserQuestion` evidence, or `nativeChoiceSurfaceBlocked`. Cursor, OpenClaw, and other compatibility runtimes may report a fallback only as fallback. If the tool is unavailable, say blocked or pending, not "the choice panel did not return". Use the risk-adaptive plan-challenge overlay for explicit `反证` / `帮我挑刺` / `压力测试` intent or evidence-backed actionable irreversible, high-cost, permission-sensitive, or materially contradictory work. It stays inside Critical -> Fetch -> Thinking -> Review: Fetch facts, ask one highest-impact user decision at a time, remain pending without trusted user evidence, continue from a validator-passing same-task prior run instead of restarting the questions, support continue/recommend/skip/summary/stop, keep understanding separate from the single scoped `executionAllowed` side-effect gate, suppress ritual questions, and close in chat. Full interaction, state, trust, locale, and rhythm contracts live in `references/dev-governance.md`, `references/spine-state.md`, and `references/rhythm-orchestration.md`.

### Choice Dialog Style

Every decision-impacting point inside the governed route MUST be confirmed with the user through an AskUserQuestion / request_user_input dialog. Plain-text questions are not a substitute.

Typical decision-impacting scenarios:

- Multi-path selection (candidate approaches, artifacts to persist, Owner / Weapon / Dependency combinations)
- Persistence layer and write-back target
- Change scope, rollback, and continue vs. stop

Dialog layout — three blocks:

- Left option list with `❯` selection cursor, index, recommended label, and short description
- Right unicode preview using `┌ ┐ └ ┘ │ ─ ┃ ━` borders to draw routing / evidence / comparison schematics
- Bottom Notes line: `Notes: press n to add notes`

The top of the dialog is free — no required step indicator.

Trigger stages: Critical / Fetch / Thinking / Review.

**When you MUST pop** — positive mandate: pop the native choice surface (Claude `AskUserQuestion` / Codex `request_user_input` / runtime equivalent) whenever Thinking produces two or more materially different viable routes, owners, or loadouts and the choice changes route, scope, risk, or acceptance. Present each option concretely (route + one-line cost/benefit); never silently pick on the user's behalf. This positive mandate outranks the anti-noise guardrails below when both seem to apply.

**When NOT to pop** — symmetric guardrail to keep the dialog from becoming UI decoration:

- Pure informational confirmation where any short reply (y/n, ok, continue) is equivalent
- Single-word answers already implied by the prior context
- Low-risk follow-ups chained inside the same decision (e.g., "which file?" right after "which path?")
- User has already expressed a clear, unambiguous direction in the same turn

If in doubt, prefer one consolidated dialog over a chain of small ones. Do not ritual-question every micro-step.

Preview example:

```text
┌─[Critical] Decision Point ──┐
│ ❯ 1. All three (Recommended)│
│   2. Canonical only         │
│   3. Capability only        │
├─────────────────────────────┤
│ ┌─────────────────────────┐ │
│ │ canonical/agents        │ │
│ │ config/capability       │ │
│ │ package.json scripts    │ │
│ │   ↓                     │ │
│ │ Three-layer evidence    │ │
│ └─────────────────────────┘ │
└─────────────────────────────┘
Notes: press n to add notes
```

## Global-First Project Bootstrap

Reusable capability assets are global by default. Agents, Commands, MCP providers/config, hooks, skills, prompts/rules, and reusable runtime tools must be discovered from the global runtime homes first and reused directly when their contract fits. A project directory is not a second copy of the universal Meta_Kim runtime; it is a place for project context, merged local config, cache/state, evidence, and project-specific capability overrides.

Project-local capability files are allowed only when Fetch and Thinking prove a project-specific customization, iteration innovation, or dedicated override that cannot be represented by global reuse plus project state. The proof must be recorded before writing any project-local agent, Command, MCP, hook, skill, prompt/rule, or runtime adapter file.

Default source chain:

```text
installed Meta_Kim package root
-> canonical/ and config/sync.json
-> global runtime homes and capability inventories
-> project .meta-kim/state/cache/overrides evidence
-> project-local capability files only after projectCustomizationPacket approval
```

Required behavior:

- Before creating project-local capability files, run capability discovery across global runtime homes, project inventories, package scripts, MCP/tool catalogs, and existing local config. Reusable global assets win over copying files into the project.
- Project bootstrap may write project context/config/state: managed `AGENTS.md` / `CLAUDE.md` blocks, additive MCP/settings merges, `graphify-out/`, and `.meta-kim/state|cache|backups|local.overrides.json`. These are not evidence that reusable capability assets should be copied into the project.
- A project-local capability write requires `projectCustomizationPacket` with `capabilityType`, `globalCandidateChecked`, `projectNeed`, `customizationReason`, `targetPath`, `mergePolicy`, `owner`, `verification`, and `rollback`. If any field is missing, return to Fetch or Thinking.
- Project-local capability files must use one of these policies: `copy_to_project_for_modification`, `create_project_local_capability`, or `already_project_local`. Directly reused global capabilities use `use_global_directly` and must not be copied.
- 项目内迭代或创新需要专用能力时，必须创建在对应 runtime 的原生项目目录，不要再包一层 `.meta_kim` 或 `.meta-kim` capability 目录：Claude Code 用 `.claude/agents/`、`.claude/skills/<skill>/`、`.claude/commands/`、`.claude/hooks/`；Codex 用 `.codex/agents/`、`.agents/skills/<skill>/`、`.codex/commands/`、`.codex/hooks.json` + `.codex/hooks/`；Cursor 用 `.cursor/agents/`、`.cursor/skills/<skill>/`、`.cursor/rules/`、`.cursor/hooks.json` + `.cursor/hooks/`；OpenClaw 用 `openclaw/workspaces/<agent>/`、`openclaw/skills/<skill>/`、`openclaw/openclaw.template.json`。
- MCP、settings、hooks JSON、OpenClaw template, and other runtime config files are always merge targets. Add missing project-specific entries, preserve user entries and credentials, and never overwrite the whole file to "make it clean".
- Project-local capability assets created by Meta_Kim must leave ownership evidence: either a manifest entry in `.meta-kim/state/default/project-bootstrap.json`, a managed block, or a small `PROJECT_CUSTOMIZATION.md` next to the asset that names the `projectCustomizationPacket`, owner, verification command, and rollback path.
- Install scope and run-time sedimentation are independent. `setup.mjs` lets the user choose global or project installation; later governed execution must still copy every newly created or project-iterated Agent, Skill, or Command into the current project's native runtime directory. Use `meta-kim project capability copy ... --mode create|iterate --apply` before modifying a global provider or accepting a staged new provider. Its independent `.meta-kim/state/default/project-capabilities.json` ownership record protects that project copy from later dependency/global updates. Direct global reuse with no iteration remains read-only and is not copied.
- A normal global install/update must also merge-refresh current, explicit, or saved projects that already have a valid Meta_Kim project-bootstrap manifest. This does not materialize a fresh project projection, change update topology, add another confirmation, or authorize cleanup. Cleanup stays explicit. Packed CLI project discovery uses the trusted caller cwd rather than the package-cache root.
- Before any project bootstrap plan, write, stale cleanup, or explicit redundancy cleanup, read `.meta-kim/state/default/project-capabilities.json`. Agent, Skill, and Command paths marked `runtime_sedimented_project_copy` or `preserve_project_copy` outrank bootstrap/install ownership and must remain byte-for-byte untouched.
- During update/bootstrap cleanup, remove stale project-local capability assets only when previous Meta_Kim manifest evidence proves ownership and the current plan no longer manages that path. Unknown project files, user-created files, credentials, and merge config files are preserved; empty runtime capability folders may be pruned after their last Meta_Kim-managed file is removed.
- Hooks are last-resort fuses, not the normal design path. If a spine gate, ECC/fact gate, or runtime hook blocks repeatedly, return to Thinking and select the required abstract check/output contract before execution; do not rely on hook denial loops as the way to discover the right output.
- If the target needs initialization, update, or a project-specific override, ask the user through Claude Code `AskUserQuestion` or Codex `request_user_input` before writing. Compatibility runtimes may show a localized decision card, but that is not Claude/Codex native proof.
- Apply only after confirmation or an explicit trusted-auto policy. The apply path must create a backup under `.meta-kim/backups/project-bootstrap/<timestamp>` before overwriting or merging existing files and must write `.meta-kim/state/default/project-bootstrap.json`.
- Preserve user-owned content: JSON configs use additive preserve-user-state merge; existing `AGENTS.md` and `CLAUDE.md` keep user text and receive or update only a Meta_Kim managed block; credentials, project trust state, local runtime state, and workspace state are never copied as project bootstrap files.
- Stale, readonly, permission-denied, or conflicting managed-block cases are not success. Record the blocker, show the next safe action, and do not claim project bootstrap pass until a fresh probe or apply result proves it.

**When to ask:**

| Stage | When to Ask | Example |
|---|---|---|
| Critical | Intent dimension missing, answer changes route/scope/risk/non-goal | "This could be a quick fix or a full rewrite. Which direction?" |
| Fetch | Evidence shows multiple paths with different trade-offs | "I found approach A (faster) and B (more thorough). Which?" |
| Thinking | Choosing between solution paths with different scope/cost | "Minimal fix: 2 hours. Ten-x shift: 2 days. Your call?" |
| Review | Issues found that need user preference to resolve | "Quality concern: rebuild or patch?" |

**Question format:**
- Use the active runtime-native maximum meaningful option count; Meta_Kim must not add a lower option cap of its own
- One recommended default labeled clearly
- User's language, not internal packet field names
- For Codex, inspect the active `request_user_input` schema and use its maximum accepted meaningful option count. If the active host exposes 2-3 options per question, use up to 3; if a future or different host exposes more, use that larger maximum. If semantic options exceed the active host maximum, show the strongest host-maximum set and record omitted alternatives instead of retrying an oversized payload unchanged.
- The native payload is a structured decision panel: preserve AI understanding, AI additions, Capability route, Candidate paths, expected result, advantages, disadvantages/risk, and verification impact when those fields affect the decision.
- Stop and wait — do not proceed until the user answers

**Do not ask:**
- Ritual questions or stage-by-stage confirmation spam
- Just because the work is read-only; ask only when read-only analysis still exposes route-changing choices
- Questions during Meta-Review, Verification, or Evolution (these are mechanical checks)

## Type A: Prompt / Reference / Contract Hardening

Dispatch to `meta-prism` for prompt executability review and `meta-warden` for final gate. The main thread is not the executor. Use Agent tool dispatch when the task has more than a direct query or >3 sentences of change. Output: reviewed contract diff, `workerResultPackets[].fileCompletionList`, workerExecutionEvidence, and verification evidence.

## Type B: Agent / Skill / Owner Creation Or Upgrade

Dispatch to `meta-genesis` for identity/prompt architecture, `meta-artisan` for capability loadout, then `meta-prism` and `meta-warden` for review. Optional: `meta-sentinel`, `meta-librarian`, `meta-conductor`. Existing owner wins; owner upgrade or project-local creation is allowed only when Fetch proves a gap. Execution-agent evolution uses this Type B pipeline, not direct edit.

## Type C: External Capability / Tool / Dependency Discovery

Fetch scans local capability index, runtime mirrors, local runtime inventory, MCP, package scripts, installed skills, global capabilities, `findskill`, external capability discovery, specialist ecosystem search such as everything-claude-code, and `meta-scout` external evidence. Optional owners: `meta-prism`, `meta-sentinel`, `meta-scout`. Use Agent tool dispatch only after Thinking binds an owner; the DISPATCHER does not execute discovery side effects. If no callable owner exists, return to Thinking with `capabilityGapPacket`; do not use temporary fallback.

## Type D: Review / Verification / Rollback / Public-Ready

Dispatch to `meta-prism` and `meta-warden`; optional `meta-scout`, `meta-sentinel`, `meta-chrysalis`. Stage 4 owner prohibition: never dispatch Type: general-purpose, runtime alias, or governance agent as implementation worker. Public-ready requires verification evidence, userGoalDone, warning classification, and Warden gate.

## Type E: Orchestration / Business Flow / Release

Dispatch to `meta-conductor` for dynamic business-flow blueprint and stage-DAG orchestration, then `meta-warden` for synthesis. Conductor must classify the user's natural-language intent, choose lanes by evidence and dependency signals, record omitted lanes with reasons, and derive stage-ready sets only after dependency, resource, permission, isolation, and merge boundaries are known. Native Claude Code Agent/Task or Codex `spawn_agent` is sufficient when the stage DAG and owner bindings are valid; `agent-teams-playbook` may be selected as an optional orchestration aid but is never a prerequisite for safe native fan-out. Size concurrent ready sets from the runtime's current capacity and the task DAG. Meta_Kim installs Codex with the visible resource-safe default `[agents].max_threads = 2`, preserves an explicit user override, and adds no hidden cap beyond that runtime configuration. Schedule the maximal safe subset instead of disabling all fan-out because one lane conflicts, and avoid role inflation. Use stop-on-match capability resolution: bind a qualified local/global Agent, Skill, Tool, Command, or MCP provider immediately, run external discovery only for a proven gap, and never relabel planned or selected capability as invoked without exact host evidence. Degraded mode requires a real host-surface, permission, isolation, resource, or owner gap.

The 11-phase business workflow must prove phase decisions, not only list phase names. `businessPhasePlanPacket` requires a trigger standard: every phase records whether it triggered, skipped, blocked, or waits; the phase decision must score at least 80 with quantitative signals, evidence references, and falsification checks. Accurate skips such as `revision` after a clean Review and waits such as `feedback` before user acceptance are valid only when the evidence explains them.

Card dealing must prove card decisions, not only list the deck. `cardPlanPacket` requires a deal accuracy standard: every card records whether it was dealt, suppressed, deferred, skipped, interrupted, or escalated; the decision must score at least 80 with quantitative signals, evidence references, and falsification checks. At run start and in the readable report, show a short card summary so the user sees why cards triggered without reading raw packets.

Routine Type E release work defaults to lightweight smoke when the change is low-risk prompt/docs/governance wording, changelog, or version metadata. Use `meta:release:smoke` plus `git diff --check`, then commit/tag/publish without upgrading unless risk or the user asks. Standard full-release Type E uses `meta:verify:all` for install/update, global sync, hooks, runtime matrix, provider registry, dependency compatibility, probes, package contents, security-sensitive behavior, or explicit full verification requests; a complete passing run permits an ordinary release. After a standard full release is published with its exact npm tgz asset, run `meta-kim release audit --tag <tag> --verification-report <report> --package-file <tgz> --require-exact`; keep every immutable attempt and attach the successful audit record to the Release. Exact promotion requires the uploaded tgz digest to match the byte-exact npm candidate installed and tested by that clean full gate; package name, version, or `package.json` alone are insufficient. A dirty or unavailable historical report may be indexed only as `published_artifacts_bound_verification_unbound` and must never be promoted. If the run uses local planning files and a local-private PRD, finish the stable Claude Code/Codex global update and read-only global check, then run `meta-kim release close --issue <P-NNN> --prd <repo-relative-private-prd>`. This explicit final step verifies the exact audit and appends an idempotent, interruption-recoverable release-fact block to existing planning files; it never publishes the PRD or creates a second queue. `meta:verify:live-certified` is a separate optional highest-assurance mode that appends private-attested external-observer exact-binding clean-room verification. Missing that attestation forbids only the `live-certified` claim and does not block a separately passing standard release. Detailed evidence chains live in `dev-governance.md`, `owner-resolution.md`, and `verification-evidence.md`. Validators, gates, and hooks are protection, not the engine; if they patch missing route evidence after the fact, return to Thinking before public-ready or release.

## Dispatch Self-Check
Before Execution, record the minimum Protocol-first Dispatch evidence: intent, Fetch evidence, a Thinking route, selected owner, owner loadout, memory strategy, Review standard, and the current `stageDagPacket`. Preferred compatibility views include `runHeader`, `dispatchBoard`, `businessFlowBlueprintPacket`, `agentBlueprintPacket`, `ownerDiscoveryPacket`, and Execution-stage `workerTaskPackets`, but hooks must not require every optional field before useful work can continue. `agentInvocationState`: `idle -> discovered -> matched -> requested -> dispatched -> returned/escalated`. `workerTaskPackets`, `parallelGroup`, and scheduler waves are derived Execution views of authoritative stage-DAG nodes; they must not become a second dependency or collision source. `ownerDiscoveryPacket` should list the relevant repo canonical owners, runtime mirror owners, project runtime agents, local global agents, and reusable skill/command/hook/rule/prompt/MCP/plugin/tool providers checked before a create or upgrade decision. Option Exploration is MANDATORY when materially different paths exist: compare ≥2 solution paths with Pros / Cons or Decision Record, or record `no_branching_choice` with evidence. Apply Skip-Level Self-Reflection Gate and Escalation Signals before dispatch.

## Fetch Evidence Inventory

Research -> Inventory -> Thinking Handoff. Fetch first records the question, source requirements, retrieval capability readiness, and multi-type capability inventory. Thinking determines needed execution capabilities after Fetch, matches existing capabilities, and creates or upgrades only for gaps. Fetch material claims include version, price, third-party, platform, current web state, dependency, provider, and tool assertions. If current facts matter, set `contentEvidencePacket.researchRequired = true`, run `researchCapabilityDiscovery`, and prefer `web_search`, `url_fetch`, `docs_lookup`, `browser_open`, `mcp_search`, or `plugin_search` before route design. Deep research must identify key information targets, run iterative query / read / update loops, record stop conditions, update `decisionImpactMap` when evidence changes owner/route/scope/risk/verification, and convert route-changing claims into `claimEvidenceCards` with source refs, counterevidence, confidence, and falsification status. If research is blocked, return `blocked` with `user_fallback` rather than guessing. Run command/script discovery by package.json script scan and npm run inventory. Apply DRY conflict detection: overlap detect, duplicate reject, and keep one owner per capability. Capability selection ROI = (Task Coverage x Usage Frequency) / (Context Cost + Learning Curve).

Global professional provider first: a governed route must prefer already-discovered professional capability providers over inventing temporary small agents. Global execution agents, skills, MCP providers/tools, commands, runtime tools, hooks, plugins, memory/graph providers, and dependency providers are candidate professional owners or weapons when their contracts fit the task. `workerTaskPacket` is only a run-scoped work order for a selected professional owner/loadout; it is not an agent, not a subagent identity, and not a durable provider. For explicit agent fan-out, each executable lane must bind a reusable execution-agent owner first; selected skills, commands, MCP tools, and runtime tools are loadout/dependency bindings and must not replace the lane's agent owner. A runtime worker instance is allowed only after this owner binding exists, and the visible dispatch surface must name the reused owner/capability before or alongside any host-created worker badge. Create or upgrade an execution agent only after Fetch proves no existing global or project provider can own the recurring responsibility class, and only through `GapDecision = create_agent` plus the Type B review path.

Fetch discovery minimum checklist: before Thinking, search at least these locations (even if results are empty):
- canonical sources and capability indexes: `canonical/agents/`, `canonical/skills/`, `canonical/runtime-assets/`, `config/capability-index/*.json`, and runtime capability-index mirrors
- Claude Code project and global inventories: `.claude/agents/`, `.claude/skills/`, `.claude/commands/`, `.claude/hooks/`, `.claude/settings.json`, `~/.claude/agents/`, `~/.claude/skills/`, `~/.claude/commands/`, `~/.claude/hooks/`, and `~/.claude/settings.json`
- Codex project and global inventories: `.codex/agents/`, `.agents/skills/`, `.codex/commands/`, `.codex/hooks/`, `.codex/hooks.json`, `.codex/config.toml`, `~/.codex/agents/`, `~/.codex/skills/`, `~/.codex/commands/`, `~/.codex/hooks/meta-kim/`, `~/.codex/hooks.json`, `~/.codex/config.toml`, and `~/.agents/skills/`
- Cursor project and global inventories: `.cursor/agents/`, `.cursor/skills/`, `.cursor/rules/`, `.cursor/prompts/`, `.cursor/hooks/`, `.cursor/hooks.json`, `.cursor/mcp.json`, `~/.cursor/agents/`, `~/.cursor/skills/`, `~/.cursor/rules/`, `~/.cursor/prompts/`, `~/.cursor/hooks/meta-kim/`, and `~/.cursor/hooks.json`

…(truncated)
