agentprop 0.1.0a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. agentprop-0.1.0a1/.github/ISSUE_TEMPLATE/bug_report.md +33 -0
  2. agentprop-0.1.0a1/.github/ISSUE_TEMPLATE/feature_request.md +25 -0
  3. agentprop-0.1.0a1/.github/pull_request_template.md +20 -0
  4. agentprop-0.1.0a1/.github/workflows/ci.yml +25 -0
  5. agentprop-0.1.0a1/.github/workflows/publish.yml +95 -0
  6. agentprop-0.1.0a1/.gitignore +24 -0
  7. agentprop-0.1.0a1/CHANGELOG.md +48 -0
  8. agentprop-0.1.0a1/CONTRIBUTING.md +76 -0
  9. agentprop-0.1.0a1/LICENSE +155 -0
  10. agentprop-0.1.0a1/PKG-INFO +243 -0
  11. agentprop-0.1.0a1/README.md +210 -0
  12. agentprop-0.1.0a1/RELEASE_NOTES.md +46 -0
  13. agentprop-0.1.0a1/benchmarks/case_study_tasks.json +164 -0
  14. agentprop-0.1.0a1/benchmarks/manifest.md +115 -0
  15. agentprop-0.1.0a1/benchmarks/workflows/chain.json +150 -0
  16. agentprop-0.1.0a1/benchmarks/workflows/debate_judge.json +174 -0
  17. agentprop-0.1.0a1/benchmarks/workflows/dense_graph.json +356 -0
  18. agentprop-0.1.0a1/benchmarks/workflows/generic_dag.json +398 -0
  19. agentprop-0.1.0a1/benchmarks/workflows/hub_and_spoke_supervisor.json +224 -0
  20. agentprop-0.1.0a1/benchmarks/workflows/layered_pipeline.json +236 -0
  21. agentprop-0.1.0a1/benchmarks/workflows/planner_coder_tester_reviewer.json +148 -0
  22. agentprop-0.1.0a1/benchmarks/workflows/rag_pipeline.json +162 -0
  23. agentprop-0.1.0a1/benchmarks/workflows/random_directed_graph.json +252 -0
  24. agentprop-0.1.0a1/benchmarks/workflows/research_writer_verifier.json +162 -0
  25. agentprop-0.1.0a1/benchmarks/workflows/small_world_graph.json +444 -0
  26. agentprop-0.1.0a1/benchmarks/workflows/star.json +224 -0
  27. agentprop-0.1.0a1/benchmarks/workflows/tool_use_pipeline.json +174 -0
  28. agentprop-0.1.0a1/benchmarks/workflows/tree.json +494 -0
  29. agentprop-0.1.0a1/configs/experiment_suites/ml_core.json +85 -0
  30. agentprop-0.1.0a1/configs/sweeps/ml_rl_smoke.json +44 -0
  31. agentprop-0.1.0a1/docs/assets/agentprop-logo.png +0 -0
  32. agentprop-0.1.0a1/docs/coding_agents.md +143 -0
  33. agentprop-0.1.0a1/docs/deep_learning.md +161 -0
  34. agentprop-0.1.0a1/docs/framework_integrations.md +69 -0
  35. agentprop-0.1.0a1/docs/index.md +48 -0
  36. agentprop-0.1.0a1/docs/learned_propagation.md +64 -0
  37. agentprop-0.1.0a1/docs/quality_scoring.md +40 -0
  38. agentprop-0.1.0a1/docs/reinforcement_learning.md +89 -0
  39. agentprop-0.1.0a1/docs/research/case_study_protocol.md +183 -0
  40. agentprop-0.1.0a1/docs/research/literature_review.md +706 -0
  41. agentprop-0.1.0a1/docs/research/paper_outline.md +78 -0
  42. agentprop-0.1.0a1/docs/results/v1/README.md +22 -0
  43. agentprop-0.1.0a1/docs/results/v1/results.csv +211 -0
  44. agentprop-0.1.0a1/docs/results/v1/results.json +3362 -0
  45. agentprop-0.1.0a1/docs/results/v1/savings_by_algorithm.svg +55 -0
  46. agentprop-0.1.0a1/docs/routing_baseline_evaluation.md +37 -0
  47. agentprop-0.1.0a1/docs/routing_quality.md +79 -0
  48. agentprop-0.1.0a1/docs/trace_ingestion.md +45 -0
  49. agentprop-0.1.0a1/docs/tutorial.md +88 -0
  50. agentprop-0.1.0a1/docs/verifier_semantics.md +39 -0
  51. agentprop-0.1.0a1/docs/visualization.md +22 -0
  52. agentprop-0.1.0a1/docs/workflow_schema.md +77 -0
  53. agentprop-0.1.0a1/examples/expected_outputs.md +34 -0
  54. agentprop-0.1.0a1/examples/quickstart.py +24 -0
  55. agentprop-0.1.0a1/experiments/__init__.py +1 -0
  56. agentprop-0.1.0a1/experiments/analyze_case_study.py +334 -0
  57. agentprop-0.1.0a1/experiments/evaluate_ml_generalization.py +77 -0
  58. agentprop-0.1.0a1/experiments/evaluate_routing_baselines.py +538 -0
  59. agentprop-0.1.0a1/experiments/replay_rl_trajectory.py +85 -0
  60. agentprop-0.1.0a1/experiments/run_benchmark.py +143 -0
  61. agentprop-0.1.0a1/experiments/run_case_study.py +1059 -0
  62. agentprop-0.1.0a1/experiments/run_experiment_suite.py +174 -0
  63. agentprop-0.1.0a1/experiments/run_ml_rl_sweep.py +344 -0
  64. agentprop-0.1.0a1/experiments/run_rl_routing.py +216 -0
  65. agentprop-0.1.0a1/experiments/train_edge_pruning_scorer.py +96 -0
  66. agentprop-0.1.0a1/experiments/train_learned_propagation.py +50 -0
  67. agentprop-0.1.0a1/experiments/train_seed_scorer.py +141 -0
  68. agentprop-0.1.0a1/experiments/train_torch_gnn.py +100 -0
  69. agentprop-0.1.0a1/integrations/claude-code/agentprop-workflow-optimizer/SKILL.md +71 -0
  70. agentprop-0.1.0a1/integrations/claude-code/agentprop-workflow-optimizer/agents/openai.yaml +3 -0
  71. agentprop-0.1.0a1/integrations/codex/AGENTPROP.md +27 -0
  72. agentprop-0.1.0a1/pyproject.toml +79 -0
  73. agentprop-0.1.0a1/src/agentprop/__init__.py +5 -0
  74. agentprop-0.1.0a1/src/agentprop/algorithms/__init__.py +68 -0
  75. agentprop-0.1.0a1/src/agentprop/algorithms/bottlenecks.py +103 -0
  76. agentprop-0.1.0a1/src/agentprop/algorithms/observability.py +56 -0
  77. agentprop-0.1.0a1/src/agentprop/algorithms/pruning.py +26 -0
  78. agentprop-0.1.0a1/src/agentprop/algorithms/seed_selection.py +453 -0
  79. agentprop-0.1.0a1/src/agentprop/algorithms/verifier_placement.py +148 -0
  80. agentprop-0.1.0a1/src/agentprop/cli.py +610 -0
  81. agentprop-0.1.0a1/src/agentprop/core/__init__.py +15 -0
  82. agentprop-0.1.0a1/src/agentprop/core/graph.py +219 -0
  83. agentprop-0.1.0a1/src/agentprop/core/models.py +94 -0
  84. agentprop-0.1.0a1/src/agentprop/core/types.py +18 -0
  85. agentprop-0.1.0a1/src/agentprop/core/validation.py +140 -0
  86. agentprop-0.1.0a1/src/agentprop/dl/__init__.py +16 -0
  87. agentprop-0.1.0a1/src/agentprop/dl/encoders.py +39 -0
  88. agentprop-0.1.0a1/src/agentprop/dl/torch_gnn.py +508 -0
  89. agentprop-0.1.0a1/src/agentprop/evaluation/__init__.py +122 -0
  90. agentprop-0.1.0a1/src/agentprop/evaluation/artifacts.py +175 -0
  91. agentprop-0.1.0a1/src/agentprop/evaluation/llm_execution.py +198 -0
  92. agentprop-0.1.0a1/src/agentprop/evaluation/metrics.py +260 -0
  93. agentprop-0.1.0a1/src/agentprop/evaluation/pruning.py +86 -0
  94. agentprop-0.1.0a1/src/agentprop/evaluation/quality.py +157 -0
  95. agentprop-0.1.0a1/src/agentprop/evaluation/readiness.py +331 -0
  96. agentprop-0.1.0a1/src/agentprop/evaluation/reporting.py +565 -0
  97. agentprop-0.1.0a1/src/agentprop/evaluation/routing.py +235 -0
  98. agentprop-0.1.0a1/src/agentprop/evaluation/runner.py +152 -0
  99. agentprop-0.1.0a1/src/agentprop/evaluation/verification.py +212 -0
  100. agentprop-0.1.0a1/src/agentprop/integrations/__init__.py +55 -0
  101. agentprop-0.1.0a1/src/agentprop/integrations/agent_instructions.py +151 -0
  102. agentprop-0.1.0a1/src/agentprop/integrations/framework_adapters.py +630 -0
  103. agentprop-0.1.0a1/src/agentprop/integrations/mcp_server.py +197 -0
  104. agentprop-0.1.0a1/src/agentprop/integrations/trace_loader.py +131 -0
  105. agentprop-0.1.0a1/src/agentprop/ml/__init__.py +57 -0
  106. agentprop-0.1.0a1/src/agentprop/ml/checkpointing.py +184 -0
  107. agentprop-0.1.0a1/src/agentprop/ml/datasets.py +197 -0
  108. agentprop-0.1.0a1/src/agentprop/ml/features.py +96 -0
  109. agentprop-0.1.0a1/src/agentprop/ml/models.py +287 -0
  110. agentprop-0.1.0a1/src/agentprop/propagation/__init__.py +28 -0
  111. agentprop-0.1.0a1/src/agentprop/propagation/base.py +64 -0
  112. agentprop-0.1.0a1/src/agentprop/propagation/bootstrap_percolation.py +59 -0
  113. agentprop-0.1.0a1/src/agentprop/propagation/independent_cascade.py +112 -0
  114. agentprop-0.1.0a1/src/agentprop/propagation/learned.py +287 -0
  115. agentprop-0.1.0a1/src/agentprop/propagation/linear_threshold.py +64 -0
  116. agentprop-0.1.0a1/src/agentprop/propagation/randomized_zero_forcing.py +134 -0
  117. agentprop-0.1.0a1/src/agentprop/propagation/zero_forcing.py +64 -0
  118. agentprop-0.1.0a1/src/agentprop/rl/__init__.py +78 -0
  119. agentprop-0.1.0a1/src/agentprop/rl/bandit.py +76 -0
  120. agentprop-0.1.0a1/src/agentprop/rl/checkpointing.py +165 -0
  121. agentprop-0.1.0a1/src/agentprop/rl/env.py +406 -0
  122. agentprop-0.1.0a1/src/agentprop/rl/policies.py +31 -0
  123. agentprop-0.1.0a1/src/agentprop/rl/ppo.py +247 -0
  124. agentprop-0.1.0a1/src/agentprop/rl/q_learning.py +134 -0
  125. agentprop-0.1.0a1/src/agentprop/rl/reinforce.py +194 -0
  126. agentprop-0.1.0a1/src/agentprop/rl/rewards.py +85 -0
  127. agentprop-0.1.0a1/src/agentprop/rl/trajectory.py +125 -0
  128. agentprop-0.1.0a1/src/agentprop/visualization/__init__.py +5 -0
  129. agentprop-0.1.0a1/src/agentprop/visualization/dot.py +39 -0
  130. agentprop-0.1.0a1/src/agentprop/workflows/__init__.py +39 -0
  131. agentprop-0.1.0a1/src/agentprop/workflows/export.py +20 -0
  132. agentprop-0.1.0a1/src/agentprop/workflows/templates.py +355 -0
  133. agentprop-0.1.0a1/tests/test_agent_instructions.py +30 -0
  134. agentprop-0.1.0a1/tests/test_algorithms.py +131 -0
  135. agentprop-0.1.0a1/tests/test_artifacts.py +37 -0
  136. agentprop-0.1.0a1/tests/test_benchmark.py +53 -0
  137. agentprop-0.1.0a1/tests/test_cli.py +163 -0
  138. agentprop-0.1.0a1/tests/test_dl.py +92 -0
  139. agentprop-0.1.0a1/tests/test_experiments.py +734 -0
  140. agentprop-0.1.0a1/tests/test_graph.py +40 -0
  141. agentprop-0.1.0a1/tests/test_integrations.py +231 -0
  142. agentprop-0.1.0a1/tests/test_learned_propagation.py +53 -0
  143. agentprop-0.1.0a1/tests/test_llm_execution.py +76 -0
  144. agentprop-0.1.0a1/tests/test_mcp_server.py +48 -0
  145. agentprop-0.1.0a1/tests/test_metrics.py +91 -0
  146. agentprop-0.1.0a1/tests/test_ml.py +123 -0
  147. agentprop-0.1.0a1/tests/test_propagation.py +49 -0
  148. agentprop-0.1.0a1/tests/test_pruning_evaluation.py +23 -0
  149. agentprop-0.1.0a1/tests/test_quality.py +59 -0
  150. agentprop-0.1.0a1/tests/test_readiness.py +19 -0
  151. agentprop-0.1.0a1/tests/test_reporting.py +95 -0
  152. agentprop-0.1.0a1/tests/test_rl.py +286 -0
  153. agentprop-0.1.0a1/tests/test_validation.py +23 -0
  154. agentprop-0.1.0a1/tests/test_verification.py +58 -0
  155. agentprop-0.1.0a1/tests/test_visualization.py +10 -0
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a reproducible AgentProp issue
4
+ title: "[Bug]: "
5
+ labels: bug
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Summary
10
+
11
+ Describe the bug and the expected behavior.
12
+
13
+ ## Reproduction
14
+
15
+ ```bash
16
+ # commands, workflow JSON path, or experiment recipe
17
+ ```
18
+
19
+ ## Environment
20
+
21
+ - Python version:
22
+ - AgentProp version or commit:
23
+ - OS:
24
+ - Optional extras installed:
25
+
26
+ ## Artifacts
27
+
28
+ Attach or link any relevant `results.json`, `summary.json`, `registry.json`,
29
+ report, trace, or log output.
30
+
31
+ ## Notes
32
+
33
+ Add anything else that helps narrow the issue.
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: Feature request
3
+ about: Propose an algorithm, workflow integration, metric, or experiment recipe
4
+ title: "[Feature]: "
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Problem
10
+
11
+ What workflow, graph analysis, or experiment gap does this solve?
12
+
13
+ ## Proposed Shape
14
+
15
+ Describe the desired command, API, adapter, metric, or artifact.
16
+
17
+ ## Evidence Or Reference
18
+
19
+ Link papers, repos, traces, benchmark outputs, or workflow examples if relevant.
20
+
21
+ ## Acceptance Criteria
22
+
23
+ - [ ] The behavior is documented.
24
+ - [ ] The output is reproducible from a command or fixture.
25
+ - [ ] The change has tests or a clear reason tests are not applicable.
@@ -0,0 +1,20 @@
1
+ ## Summary
2
+
3
+ What changed and why?
4
+
5
+ ## Evidence
6
+
7
+ Commands, artifacts, or screenshots that support the change:
8
+
9
+ ```bash
10
+ ruff check .
11
+ mypy src
12
+ pytest
13
+ ```
14
+
15
+ ## Scope Check
16
+
17
+ - [ ] Core package remains lightweight.
18
+ - [ ] Optional ML/DL/RL dependencies stay optional.
19
+ - [ ] Claims are backed by saved artifacts or clearly marked as pending evidence.
20
+ - [ ] Docs were updated when commands, outputs, or public behavior changed.
@@ -0,0 +1,25 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main", "master"]
6
+ pull_request:
7
+
8
+ jobs:
9
+ test:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ - uses: actions/setup-python@v5
14
+ with:
15
+ python-version: "3.11"
16
+ - name: Install
17
+ run: |
18
+ python -m pip install --upgrade pip
19
+ python -m pip install -e ".[dev]"
20
+ - name: Lint
21
+ run: ruff check .
22
+ - name: Type check
23
+ run: mypy src
24
+ - name: Test
25
+ run: pytest
@@ -0,0 +1,95 @@
1
+ name: Publish Python Package
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ target:
7
+ description: "Package index to publish to"
8
+ required: true
9
+ default: "testpypi"
10
+ type: choice
11
+ options:
12
+ - testpypi
13
+ - pypi
14
+ - both
15
+ push:
16
+ tags:
17
+ - "v*"
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ jobs:
23
+ build:
24
+ name: Build and verify distribution
25
+ runs-on: ubuntu-latest
26
+ steps:
27
+ - uses: actions/checkout@v4
28
+ - uses: actions/setup-python@v5
29
+ with:
30
+ python-version: "3.11"
31
+ - name: Install build tools
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ python -m pip install build twine
35
+ - name: Install package for checks
36
+ run: python -m pip install -e ".[dev]"
37
+ - name: Lint
38
+ run: ruff check .
39
+ - name: Type check
40
+ run: mypy src
41
+ - name: Test
42
+ run: pytest
43
+ - name: Build
44
+ run: python -m build
45
+ - name: Check distribution metadata
46
+ run: twine check dist/*
47
+ - uses: actions/upload-artifact@v4
48
+ with:
49
+ name: python-package-distributions
50
+ path: dist/
51
+
52
+ publish-testpypi:
53
+ name: Publish to TestPyPI
54
+ needs: build
55
+ runs-on: ubuntu-latest
56
+ if: >-
57
+ github.event_name == 'push' ||
58
+ github.event.inputs.target == 'testpypi' ||
59
+ github.event.inputs.target == 'both'
60
+ environment:
61
+ name: testpypi
62
+ url: https://test.pypi.org/project/agentprop/
63
+ steps:
64
+ - uses: actions/download-artifact@v4
65
+ with:
66
+ name: python-package-distributions
67
+ path: dist/
68
+ - name: Publish to TestPyPI
69
+ uses: pypa/gh-action-pypi-publish@release/v1
70
+ with:
71
+ repository-url: https://test.pypi.org/legacy/
72
+ user: __token__
73
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
74
+
75
+ publish-pypi:
76
+ name: Publish to PyPI
77
+ needs: build
78
+ runs-on: ubuntu-latest
79
+ if: >-
80
+ github.event_name == 'push' ||
81
+ github.event.inputs.target == 'pypi' ||
82
+ github.event.inputs.target == 'both'
83
+ environment:
84
+ name: pypi
85
+ url: https://pypi.org/project/agentprop/
86
+ steps:
87
+ - uses: actions/download-artifact@v4
88
+ with:
89
+ name: python-package-distributions
90
+ path: dist/
91
+ - name: Publish to PyPI
92
+ uses: pypa/gh-action-pypi-publish@release/v1
93
+ with:
94
+ user: __token__
95
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,24 @@
1
+ .DS_Store
2
+ .ruff_cache/
3
+ .mypy_cache/
4
+ .pytest_cache/
5
+ .coverage
6
+ htmlcov/
7
+
8
+ .venv/
9
+ venv/
10
+ __pycache__/
11
+ *.py[cod]
12
+
13
+ dist/
14
+ build/
15
+ *.egg-info/
16
+
17
+ results/
18
+ reports/
19
+ *.csv
20
+ *.jsonl
21
+
22
+ !docs/results/
23
+ !docs/results/**
24
+ !docs/results/**/*.csv
@@ -0,0 +1,48 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0-alpha.1 - 2026-05-31
4
+
5
+ Initial AgentProp foundation:
6
+
7
+ - Directed weighted `AgentGraph` with JSON and NetworkX conversion.
8
+ - Workflow JSON validation.
9
+ - Propagation models:
10
+ - Independent Cascade
11
+ - Linear Threshold
12
+ - Bootstrap Percolation
13
+ - Randomized Zero Forcing
14
+ - deterministic Zero Forcing
15
+ - Training-free seed-selection baselines:
16
+ - random
17
+ - degree
18
+ - PageRank-style influence score
19
+ - betweenness
20
+ - greedy influence maximization
21
+ - CELF
22
+ - cost-aware greedy
23
+ - Bottleneck, pruning, and verifier-placement heuristics.
24
+ - Observability metrics and pruning evaluation.
25
+ - Broadcast vs optimized routing cost comparison.
26
+ - CLI commands:
27
+ - `agentprop analyze`
28
+ - `agentprop optimize`
29
+ - `agentprop benchmark`
30
+ - `agentprop report`
31
+ - Built-in workflow templates and benchmark fixtures.
32
+ - Markdown/JSON report generation.
33
+ - Lightweight ML foundations for seed-scoring experiments.
34
+ - Optional torch GNN seed scorers for GCN, GraphSAGE, and GAT.
35
+ - Lightweight sequential RL routing environment and Q-learning policy.
36
+ - Reproducible experiment scripts for benchmark, ML, and RL runs.
37
+ - Saved benchmark result table and first SVG plot.
38
+ - Literature review, case-study protocol, tutorial, and paper outline docs.
39
+
40
+ ## Unreleased
41
+
42
+ - Added role-critical and quality-aware seed selection.
43
+ - Added graded context allocation, compression calibration, routing-risk
44
+ annotations, and quality-aware report fields.
45
+ - Added context-sensitive verifier placement and a category-conditioned online
46
+ bandit for routing policy selection.
47
+ - Added isolated generated-code verification for real-routing harnesses.
48
+ - Updated project licensing to Apache-2.0 and cleaned public-facing docs.
@@ -0,0 +1,76 @@
1
+ # Contributing to AgentProp
2
+
3
+ AgentProp is early, but the contribution standard is intentionally high: every feature should make the framework more useful to developers and more defensible for research.
4
+
5
+ ## Development Setup
6
+
7
+ ```bash
8
+ python -m venv .venv
9
+ source .venv/bin/activate
10
+ python -m pip install -e ".[dev]"
11
+ pytest
12
+ ```
13
+
14
+ ## Quality Gates
15
+
16
+ Before opening a PR or pushing a release candidate:
17
+
18
+ ```bash
19
+ ruff check .
20
+ mypy src
21
+ pytest
22
+ ```
23
+
24
+ ## Contribution Workflow
25
+
26
+ - Contributors should open pull requests against `main`.
27
+ - Maintainers can push directly only for release hygiene, CI fixes, or small docs
28
+ updates; feature work should still go through review.
29
+ - Public claims must link to commands, saved artifacts, or clearly marked
30
+ limitations.
31
+ - New routing policies should report both cost and quality/risk evidence.
32
+
33
+ ## Design Principles
34
+
35
+ - Keep the core package lightweight.
36
+ - Make ML/DL/RL dependencies optional.
37
+ - Prefer clear graph contracts over ad hoc workflow assumptions.
38
+ - Every algorithm should be benchmarkable.
39
+ - Every benchmark should be reproducible.
40
+ - Avoid overclaiming zero forcing; treat it as one propagation model among several.
41
+ - Prefer quality-aware defaults when a workflow has context-sensitive roles.
42
+
43
+ ## Adding Algorithms
44
+
45
+ When adding a new algorithm:
46
+
47
+ - Put training-free methods in `src/agentprop/algorithms/`.
48
+ - Put propagation models in `src/agentprop/propagation/`.
49
+ - Add the method to the benchmark runner if it selects seeds or routes context.
50
+ - Add tests on at least one built-in workflow.
51
+ - Document what objective the method optimizes.
52
+ - Add routing-risk output if the method can reduce context to critical nodes.
53
+
54
+ ## Adding Workflow Fixtures
55
+
56
+ Workflow fixtures live in `benchmarks/workflows/`.
57
+
58
+ Each fixture should:
59
+
60
+ - Pass `AgentGraph.from_json`.
61
+ - Use supported `NodeType` values.
62
+ - Include non-negative token/message costs.
63
+ - Include reliability and error-rate assumptions when meaningful.
64
+ - Be summarized in `benchmarks/manifest.md`.
65
+
66
+ ## Research Contributions
67
+
68
+ Research-facing contributions should connect to at least one of:
69
+
70
+ - influence maximization
71
+ - graph propagation
72
+ - randomized zero forcing
73
+ - verifier placement
74
+ - topology pruning
75
+ - cost-quality evaluation
76
+ - GNN/RL routing policies
@@ -0,0 +1,155 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction, and
10
+ distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by the copyright
13
+ owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all other entities
16
+ that control, are controlled by, or are under common control with that entity.
17
+ For the purposes of this definition, "control" means (i) the power, direct or
18
+ indirect, to cause the direction or management of such entity, whether by
19
+ contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
20
+ outstanding shares, or (iii) beneficial ownership of such entity.
21
+
22
+ "You" (or "Your") shall mean an individual or Legal Entity exercising
23
+ permissions granted by this License.
24
+
25
+ "Source" form shall mean the preferred form for making modifications, including
26
+ but not limited to software source code, documentation source, and configuration
27
+ files.
28
+
29
+ "Object" form shall mean any form resulting from mechanical transformation or
30
+ translation of a Source form, including but not limited to compiled object code,
31
+ generated documentation, and conversions to other media types.
32
+
33
+ "Work" shall mean the work of authorship, whether in Source or Object form, made
34
+ available under the License, as indicated by a copyright notice that is included
35
+ in or attached to the work.
36
+
37
+ "Derivative Works" shall mean any work, whether in Source or Object form, that
38
+ is based on (or derived from) the Work and for which the editorial revisions,
39
+ annotations, elaborations, or other modifications represent, as a whole, an
40
+ original work of authorship. For the purposes of this License, Derivative Works
41
+ shall not include works that remain separable from, or merely link (or bind by
42
+ name) to the interfaces of, the Work and Derivative Works thereof.
43
+
44
+ "Contribution" shall mean any work of authorship, including the original version
45
+ of the Work and any modifications or additions to that Work or Derivative Works
46
+ thereof, that is intentionally submitted to Licensor for inclusion in the Work by
47
+ the copyright owner or by an individual or Legal Entity authorized to submit on
48
+ behalf of the copyright owner. For the purposes of this definition, "submitted"
49
+ means any form of electronic, verbal, or written communication sent to the
50
+ Licensor or its representatives, including but not limited to communication on
51
+ electronic mailing lists, source code control systems, and issue tracking systems
52
+ that are managed by, or on behalf of, the Licensor for the purpose of discussing
53
+ and improving the Work, but excluding communication that is conspicuously marked
54
+ or otherwise designated in writing by the copyright owner as "Not a
55
+ Contribution."
56
+
57
+ "Contributor" shall mean Licensor and any individual or Legal Entity on behalf
58
+ of whom a Contribution has been received by Licensor and subsequently
59
+ incorporated within the Work.
60
+
61
+ 2. Grant of Copyright License. Subject to the terms and conditions of this
62
+ License, each Contributor hereby grants to You a perpetual, worldwide,
63
+ non-exclusive, no-charge, royalty-free, irrevocable copyright license to
64
+ reproduce, prepare Derivative Works of, publicly display, publicly perform,
65
+ sublicense, and distribute the Work and such Derivative Works in Source or Object
66
+ form.
67
+
68
+ 3. Grant of Patent License. Subject to the terms and conditions of this License,
69
+ each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
70
+ no-charge, royalty-free, irrevocable patent license to make, have made, use,
71
+ offer to sell, sell, import, and otherwise transfer the Work, where such license
72
+ applies only to those patent claims licensable by such Contributor that are
73
+ necessarily infringed by their Contribution(s) alone or by combination of their
74
+ Contribution(s) with the Work to which such Contribution(s) was submitted. If You
75
+ institute patent litigation against any entity (including a cross-claim or
76
+ counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated
77
+ within the Work constitutes direct or contributory patent infringement, then any
78
+ patent licenses granted to You under this License for that Work shall terminate
79
+ as of the date such litigation is filed.
80
+
81
+ 4. Redistribution. You may reproduce and distribute copies of the Work or
82
+ Derivative Works thereof in any medium, with or without modifications, and in
83
+ Source or Object form, provided that You meet the following conditions:
84
+
85
+ (a) You must give any other recipients of the Work or Derivative Works a copy of
86
+ this License; and
87
+
88
+ (b) You must cause any modified files to carry prominent notices stating that You
89
+ changed the files; and
90
+
91
+ (c) You must retain, in the Source form of any Derivative Works that You
92
+ distribute, all copyright, patent, trademark, and attribution notices from the
93
+ Source form of the Work, excluding those notices that do not pertain to any part
94
+ of the Derivative Works; and
95
+
96
+ (d) If the Work includes a "NOTICE" text file as part of its distribution, then
97
+ any Derivative Works that You distribute must include a readable copy of the
98
+ attribution notices contained within such NOTICE file, excluding those notices
99
+ that do not pertain to any part of the Derivative Works, in at least one of the
100
+ following places: within a NOTICE text file distributed as part of the Derivative
101
+ Works; within the Source form or documentation, if provided along with the
102
+ Derivative Works; or within a display generated by the Derivative Works, if and
103
+ wherever such third-party notices normally appear. The contents of the NOTICE
104
+ file are for informational purposes only and do not modify the License. You may
105
+ add Your own attribution notices within Derivative Works that You distribute,
106
+ alongside or as an addendum to the NOTICE text from the Work, provided that such
107
+ additional attribution notices cannot be construed as modifying the License.
108
+
109
+ You may add Your own copyright statement to Your modifications and may provide
110
+ additional or different license terms and conditions for use, reproduction, or
111
+ distribution of Your modifications, or for any such Derivative Works as a whole,
112
+ provided Your use, reproduction, and distribution of the Work otherwise complies
113
+ with the conditions stated in this License.
114
+
115
+ 5. Submission of Contributions. Unless You explicitly state otherwise, any
116
+ Contribution intentionally submitted for inclusion in the Work by You to the
117
+ Licensor shall be under the terms and conditions of this License, without any
118
+ additional terms or conditions. Notwithstanding the above, nothing herein shall
119
+ supersede or modify the terms of any separate license agreement you may have
120
+ executed with Licensor regarding such Contributions.
121
+
122
+ 6. Trademarks. This License does not grant permission to use the trade names,
123
+ trademarks, service marks, or product names of the Licensor, except as required
124
+ for reasonable and customary use in describing the origin of the Work and
125
+ reproducing the content of the NOTICE file.
126
+
127
+ 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
128
+ writing, Licensor provides the Work (and each Contributor provides its
129
+ Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
130
+ either express or implied, including, without limitation, any warranties or
131
+ conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
132
+ PARTICULAR PURPOSE. You are solely responsible for determining the
133
+ appropriateness of using or redistributing the Work and assume any risks
134
+ associated with Your exercise of permissions under this License.
135
+
136
+ 8. Limitation of Liability. In no event and under no legal theory, whether in
137
+ tort (including negligence), contract, or otherwise, unless required by
138
+ applicable law (such as deliberate and grossly negligent acts) or agreed to in
139
+ writing, shall any Contributor be liable to You for damages, including any
140
+ direct, indirect, special, incidental, or consequential damages of any character
141
+ arising as a result of this License or out of the use or inability to use the
142
+ Work, even if such Contributor has been advised of the possibility of such
143
+ damages.
144
+
145
+ 9. Accepting Warranty or Additional Liability. While redistributing the Work or
146
+ Derivative Works thereof, You may choose to offer, and charge a fee for,
147
+ acceptance of support, warranty, indemnity, or other liability obligations and/or
148
+ rights consistent with this License. However, in accepting such obligations, You
149
+ may act only on Your own behalf and on Your sole responsibility, not on behalf of
150
+ any other Contributor, and only if You agree to indemnify, defend, and hold each
151
+ Contributor harmless for any liability incurred by, or claims asserted against,
152
+ such Contributor by reason of your accepting any such warranty or additional
153
+ liability.
154
+
155
+ END OF TERMS AND CONDITIONS