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_codeexecutes 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 exposerun_codefor arbitrary untrusted customer code in a hosted service without an outer isolation layer, filesystem/network restrictions, per-request quotas, and audit logging. Runtime output exposesrestricted_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, andself_healcan 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 codesnapshot. 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_docsdepends on Context7/MCP tooling, external network access, and monthly quota. Demo flows should handle missing SDKs,npxfailures, 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 |