Skip to content

Meta Programming

Meta Programming — mvp.meta_programming

Cluster: Code Intelligence | Type: component | MCP Tools: 56

Overview

AST-based code analysis, transformation, and generation engine supporting parse, rename, extract, and generate operations for functions, classes, and dataclasses.

When to use:

  • Automated code refactoring and renaming
  • Generating boilerplate code (functions, classes, dataclasses)
  • Analysing code structure and extracting function signatures

Example:

from mvp.meta_programming import MetaProgrammingBlock, CodeInput

block = MetaProgrammingBlock(name="mp")
result = block.infer(CodeInput(source="def add(a, b): return a + b", op="analyze"))
# result.ok → True; result.value → CodeOutput with functions, classes, imports

Works well with: cegis, formal_methods, adapt_healing

Production Safety Notes

meta_programming is suitable for local MCP pilots, trusted developer workflows, syntax checks, code summaries, scaffold generation, and assisted refactoring. It should be treated as a code-intelligence assistant, not as a hardened hosted execution boundary.

Remaining production caveats:

  • run_code executes Python in a subprocess with timeouts and output caps. That is useful for trusted local demos and developer workflows, but it is not a container, VM, seccomp jail, or multi-tenant sandbox. Do not expose run_code for arbitrary untrusted customer code in a hosted service without an outer isolation layer, filesystem/network restrictions, per-request quotas, and audit logging. Runtime output exposes restricted_prepass_applied; when it is false, no AST-level RestrictedPython pre-pass was applied.
  • Generated and refactored code is heuristic. Operations such as refactor, rename, transform_functional, generate_tests, and self_heal can produce useful drafts, but outputs must be reviewed and verified with tests before being committed or described as semantically guaranteed.
  • The component directory currently includes a large vendored v0.0.148 source code snapshot. Check packaging, Docker context, license notices, and install artifacts before deployment so the snapshot does not bloat MCP installs or expose unnecessary third-party code.
  • fetch_docs depends on Context7/MCP tooling, external network access, and monthly quota. Demo flows should handle missing SDKs, npx failures, offline environments, cache misses, and quota exhaustion with clear fallback messages.

For first-customer launch, prefer the local/trusted MCP path: analyze, generate, scan, and suggest patches; then require syntax checks, security_scan, tests, and human review before execution or merge.

Public API

MetaProgrammingBlock(AIBlock[CodeInput, CodeOutput, None])

AST-based code intelligence block.

Field Type Default
name str 'meta_programming'
resource_bounds ResourceBounds \| None None
usage ResourceUsage field(default_factory=ResourceUsage)

Methods:

infer(data: CodeInput) -> Result[CodeOutput]

CodeInput(BaseModel)

Input for MetaProgrammingBlock.

Field Type Default
source str required
op Literal['parse', 'analyze', 'transform', 'generate', 'extract_functions', 'rename', 'format', 'capabilities'] required
params dict[str, Any] Field(default_factory=dict)

FunctionSignature(BaseModel)

Metadata about a function found during analysis.

Field Type Default
name str required
args list[str] required
has_docstring bool required
lineno int required

CodeOutput(BaseModel)

Output from MetaProgrammingBlock.

Field Type Default
source str required
ast_dump str ''
functions list[FunctionSignature] Field(default_factory=list)
classes list[str] Field(default_factory=list)
imports list[str] Field(default_factory=list)
metadata dict[str, Any] Field(default_factory=dict)
degraded bool False
degradation_reason str \| None None
completion_state CompletionState 'qualified-draft'
warning_card str \| None None
evidence dict[str, Any] Field(default_factory=dict)
confidence float 0.0
verify_commands list[str] Field(default_factory=list)
changed_scope list[str] Field(default_factory=list)
commit_ready bool False

Methods:

commit_ready_assessment() -> bool

Whether the output would be commit-ready given an external verifier.

Functions

ast_generalize(source: str) -> dict[str, Any]

Lift numeric constants to parameters; extend the first function's signature.

MCP Tools

Operation Source
verified meta_mcp
qualified-draft meta_mcp
blocked-escalated meta_mcp
parse meta_mcp
analyze meta_mcp
extract_functions meta_mcp
detect_patterns meta_mcp
type_infer meta_mcp
generate_function meta_mcp
generate_class meta_mcp
generate_dataclass meta_mcp
generate_from_pattern meta_mcp
nl_to_code meta_mcp
rename meta_mcp
refactor meta_mcp
compose_functions meta_mcp
transform_functional meta_mcp
to_pseudocode meta_mcp
explain meta_mcp
identify_library meta_mcp
search_library meta_mcp
generate_tests meta_mcp
generate_property_tests meta_mcp
generate_bdd_spec meta_mcp
generate_finetune_data meta_mcp
trace_annotate meta_mcp
debug_analyze meta_mcp
add_logging meta_mcp
profile_code meta_mcp
generate_docstring meta_mcp
generate_module_docs meta_mcp
classify_grammar meta_mcp
parse_grammar meta_mcp
verify_logic meta_mcp
detect_deps meta_mcp
generate_requirements meta_mcp
security_scan meta_mcp
lib_to_mcp meta_mcp
decompose meta_mcp
orchestrate meta_mcp
build_context meta_mcp
self_heal meta_mcp
code_tree meta_mcp
generate_ci meta_mcp
info meta_mcp
summarize meta_mcp
analyze_quality meta_mcp
generate_docs meta_mcp
analyze_project meta_mcp
call_graph meta_mcp
import_graph meta_mcp
runtime_profile meta_mcp
run_code meta_mcp
fetch_docs meta_mcp
rename_in_project meta_mcp
list_patterns meta_mcp