AGENTS.md@src/gnn/integration/meta_analysis · git:20260906.e62b9e9 · 2026-09-06 · sha256 5a2911d57a6b114e
AGENTS.md@src/gnn/integration/meta_analysis git:20260906.e62b9e9A
Immutable. This exact content is served forever at /api/v1/blob/5a2911d57a6b114e.
# Meta-Analysis Submodule — Agent Scaffolding
## Overview
The `meta_analysis` submodule within `integration/` provides automated analysis and
visualization of GNN pipeline parameter sweep outputs. It harvests runtime data, simulation
metrics (belief entropy, accuracy), and generates publication-grade scientific visualizations
and comprehensive markdown reports.
## Architecture
```
integration/meta_analysis/
├── __init__.py ← Entry point: run_meta_analysis() orchestrator
├── collector.py ← SweepDataCollector: harvests data from 12_execute_output
├── statistics.py ← compute_meta_statistics → meta_statistics.json
├── validator.py ← validate_sweep_records → sweep_validation.json
├── visualizer.py ← SweepVisualizer: matplotlib-based scientific plot generation
├── reporter.py ← SweepReporter: markdown report generation
├── AGENTS.md ← This file
└── SPEC.md ← Module specification
```
## Data Flow
```mermaid
graph LR
A[12_execute_output/summaries/execution_summary.json] --> C[SweepDataCollector]
B[12_execute_output/*/execution_logs/*_results.json] --> C
D[12_execute_output/*/simulation_data/simulation_results.json] --> C
C --> |SweepRecord list| Val[validator]
Val --> |sweep_validation.json| OUT3[meta_analysis output dir]
C --> |SweepRecord list| S[statistics]
S --> |meta_statistics.json| OUT3
C --> |SweepRecord list| V[SweepVisualizer]
C --> |SweepRecord list| R[SweepReporter]
V --> |PNG files| OUT[meta_analysis/visualizations/]
R --> |Markdown| OUT2[meta_analysis/meta_analysis_report.md]
```
## Generated Outputs
### Publication-Grade Visualizations
- **Scientific Theme**: High-contrast white background, bold typography, and thicker lines.
- **Statistical Annotation**: Power-law exponents ($\alpha$), correlation coefficients ($r$), and median lines.
- **Accessibility**: Standardized colors and clear legends for printed reports.
### Analytical Report
`meta_analysis_report.md` contains:
- **Sweep Configuration**: Grid geometry and framework matrix.
- **Validation summary**: Counts by severity with pointer to `sweep_validation.json`.
- **Aggregate statistics**: Short tables plus pointer to `meta_statistics.json`.
- **Step 3 serialization footprint**: When `../3_gnn_output/format_statistics.json` exists beside `12_execute_output`.
- **Performance Tables**: Runtime stats with automatic unit scaling (s/m).
- **Quality Metrics**: Simulation-derived accuracy and certainty (entropy) data.
- **Scaling Laws**: Empirical derivation of O(N^α) and O(T^β) laws.
- **Regression Data**: $R^2$ and $r$ values for performance-quality correlation.
### Machine-readable exports
Written next to `meta_analysis_report.md`:
| Artifact | Purpose |
|----------|---------|
| `sweep_validation.json` | Grid coverage, timestep mismatches vs `simulation_results.json`, benchmark coherence |
| `meta_statistics.json` | Per-framework runtime aggregates, best framework per (N,T), log-log slopes (schema_version) |
`run_meta_analysis` returns paths (`validation_json`, `statistics_json`) in addition to `records`, `plots`, and `report`.
## Data Model
### SweepRecord
```python
@dataclass
class SweepRecord:
model_name: str
framework: str
num_states: Optional[int] # N dimension
num_timesteps: Optional[int] # T dimension
execution_time: float # seconds
success: bool
timed_out: bool
final_accuracy: Optional[float]
mean_belief_entropy: Optional[float]
efe_trace: List[float]
vfe_trace: List[float]
model_params: Dict[str, Any]
```
## Usage
### Automatic (via pipeline)
```bash
python src/gnn/17_integration.py --target-dir input/gnn_files --output-dir output --verbose
```
### Programmatic
```python
from gnn.integration.meta_analysis import run_meta_analysis
results = run_meta_analysis(
execute_output_dir="output/12_execute_output",
output_dir="output/meta_analysis",
)
```
## Dependencies
- `matplotlib` (required for visualization)
- `numpy` (required for `SweepVisualizer` and `compute_meta_statistics`)
- Standard library only for collector, reporter, and validator
---
**Last Updated**: 2026-09-04
**Version**: 1.8.0 (annotations modernized; stdlib-only modules unchanged otherwise)