agentinputlab 0.1.0a1__py3-none-any.whl
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.
- agentinputlab/__init__.py +28 -0
- agentinputlab/algorithms/__init__.py +6 -0
- agentinputlab/algorithms/acquire/__init__.py +145 -0
- agentinputlab/algorithms/acquire/adaptive_rag/__init__.py +43 -0
- agentinputlab/algorithms/acquire/adaptive_rag/replay.py +367 -0
- agentinputlab/algorithms/acquire/adaptive_rag/runtime.py +1202 -0
- agentinputlab/algorithms/acquire/adaptive_rag_common_support.py +542 -0
- agentinputlab/algorithms/acquire/hyde.py +296 -0
- agentinputlab/algorithms/acquire/hyde_controlled.py +200 -0
- agentinputlab/algorithms/acquire/hyde_external.py +148 -0
- agentinputlab/algorithms/acquire/ircot.py +28 -0
- agentinputlab/algorithms/acquire/ircot_common_support.py +478 -0
- agentinputlab/algorithms/acquire/ircot_native.py +355 -0
- agentinputlab/algorithms/acquire/ircot_replay.py +327 -0
- agentinputlab/algorithms/acquire/qrag/__init__.py +79 -0
- agentinputlab/algorithms/acquire/qrag/bridge.py +828 -0
- agentinputlab/algorithms/acquire/qrag/common_support.py +891 -0
- agentinputlab/algorithms/acquire/qrag/native_axis.py +71 -0
- agentinputlab/algorithms/acquire/qrag/reader_adapter.py +139 -0
- agentinputlab/algorithms/acquire/r2ag/__init__.py +57 -0
- agentinputlab/algorithms/acquire/r2ag/bridge.py +1312 -0
- agentinputlab/algorithms/acquire/r2ag/common_support.py +1029 -0
- agentinputlab/algorithms/acquire/r2ag/socket_runtime.py +255 -0
- agentinputlab/algorithms/clarify/__init__.py +61 -0
- agentinputlab/algorithms/clarify/_structured.py +64 -0
- agentinputlab/algorithms/clarify/active_task_disambiguation.py +371 -0
- agentinputlab/algorithms/clarify/ask_or_assume/__init__.py +17 -0
- agentinputlab/algorithms/clarify/ask_or_assume/monitor.py +410 -0
- agentinputlab/algorithms/clarify/future_turns.py +379 -0
- agentinputlab/algorithms/clarify/udcs.py +255 -0
- agentinputlab/algorithms/clarify/udcs_deterministic.py +196 -0
- agentinputlab/algorithms/curate/__init__.py +65 -0
- agentinputlab/algorithms/curate/acon/__init__.py +27 -0
- agentinputlab/algorithms/curate/acon/common.py +284 -0
- agentinputlab/algorithms/curate/acon/common_support.py +136 -0
- agentinputlab/algorithms/curate/acon/history_bridge.py +309 -0
- agentinputlab/algorithms/curate/acon/observation_bridge.py +290 -0
- agentinputlab/algorithms/curate/llmlingua/__init__.py +30 -0
- agentinputlab/algorithms/curate/llmlingua/adapters.py +537 -0
- agentinputlab/algorithms/curate/llmlingua/budget.py +48 -0
- agentinputlab/algorithms/curate/llmlingua/controlled.py +175 -0
- agentinputlab/algorithms/curate/llmlingua/multilingual.py +105 -0
- agentinputlab/algorithms/curate/llmlingua/span_map.py +167 -0
- agentinputlab/algorithms/curate/recomp/__init__.py +47 -0
- agentinputlab/algorithms/curate/recomp/external.py +1129 -0
- agentinputlab/algorithms/curate/recomp/selective.py +304 -0
- agentinputlab/algorithms/decompose/__init__.py +107 -0
- agentinputlab/algorithms/decompose/decomp/__init__.py +53 -0
- agentinputlab/algorithms/decompose/decomp/common_support.py +478 -0
- agentinputlab/algorithms/decompose/decomp/planner_component.py +199 -0
- agentinputlab/algorithms/decompose/decomp/worker_bridge.py +416 -0
- agentinputlab/algorithms/decompose/llm_compiler/__init__.py +35 -0
- agentinputlab/algorithms/decompose/llm_compiler/bridge.py +520 -0
- agentinputlab/algorithms/decompose/llm_compiler/common_support.py +504 -0
- agentinputlab/algorithms/decompose/plan_and_budget/__init__.py +43 -0
- agentinputlab/algorithms/decompose/plan_and_budget/cached_soft_budget.py +362 -0
- agentinputlab/algorithms/decompose/plan_and_budget/decomposer_component.py +107 -0
- agentinputlab/algorithms/decompose/plan_and_budget/full.py +205 -0
- agentinputlab/algorithms/decompose/plan_and_budget/hard_cap.py +246 -0
- agentinputlab/algorithms/decompose/plan_and_budget/regenerated_soft_budget.py +448 -0
- agentinputlab/algorithms/decompose/plan_and_solve/__init__.py +33 -0
- agentinputlab/algorithms/decompose/plan_and_solve/plan_component.py +192 -0
- agentinputlab/algorithms/decompose/plan_and_solve/ps_prompt.py +127 -0
- agentinputlab/algorithms/decompose/self_ask/__init__.py +27 -0
- agentinputlab/algorithms/decompose/self_ask/loop.py +362 -0
- agentinputlab/algorithms/decompose/self_ask/planner_component.py +117 -0
- agentinputlab/algorithms/reformulate/__init__.py +85 -0
- agentinputlab/algorithms/reformulate/infocqr/__init__.py +40 -0
- agentinputlab/algorithms/reformulate/infocqr/cache_replay.py +362 -0
- agentinputlab/algorithms/reformulate/infocqr/external.py +675 -0
- agentinputlab/algorithms/reformulate/infocqr/student.py +189 -0
- agentinputlab/algorithms/reformulate/query2doc/__init__.py +42 -0
- agentinputlab/algorithms/reformulate/query2doc/controlled_live.py +190 -0
- agentinputlab/algorithms/reformulate/query2doc/models.py +95 -0
- agentinputlab/algorithms/reformulate/query2doc/official_cached.py +335 -0
- agentinputlab/algorithms/reformulate/query2doc/querygym_bridge.py +223 -0
- agentinputlab/algorithms/reformulate/query2doc/querygym_runtime.py +326 -0
- agentinputlab/algorithms/reformulate/reformer/__init__.py +23 -0
- agentinputlab/algorithms/reformulate/reformer/external.py +417 -0
- agentinputlab/algorithms/reformulate/rrr.py +696 -0
- agentinputlab/annotation/__init__.py +5 -0
- agentinputlab/annotation/independent.py +428 -0
- agentinputlab/annotation/server.py +233 -0
- agentinputlab/annotation/static/app.js +121 -0
- agentinputlab/annotation/static/index.html +60 -0
- agentinputlab/annotation/static/review.css +2 -0
- agentinputlab/annotation/static/review.html +10 -0
- agentinputlab/annotation/static/review.js +11 -0
- agentinputlab/annotation/static/styles.css +55 -0
- agentinputlab/annotation/store.py +444 -0
- agentinputlab/api.py +368 -0
- agentinputlab/artifacts/__init__.py +15 -0
- agentinputlab/artifacts/json_file.py +104 -0
- agentinputlab/artifacts/manifest.py +98 -0
- agentinputlab/artifacts/store.py +157 -0
- agentinputlab/backends/__init__.py +98 -0
- agentinputlab/backends/embedding/__init__.py +25 -0
- agentinputlab/backends/embedding/base.py +145 -0
- agentinputlab/backends/embedding/callable.py +75 -0
- agentinputlab/backends/embedding/replay.py +129 -0
- agentinputlab/backends/llm/__init__.py +31 -0
- agentinputlab/backends/llm/base.py +149 -0
- agentinputlab/backends/llm/callable.py +108 -0
- agentinputlab/backends/llm/decomp_completion.py +88 -0
- agentinputlab/backends/llm/final_content_stop.py +72 -0
- agentinputlab/backends/llm/gpt_oss_final_channel.py +84 -0
- agentinputlab/backends/llm/openai_compatible.py +332 -0
- agentinputlab/backends/llm/transformers.py +171 -0
- agentinputlab/backends/retrieval/__init__.py +35 -0
- agentinputlab/backends/retrieval/base.py +50 -0
- agentinputlab/backends/retrieval/dense.py +777 -0
- agentinputlab/backends/retrieval/memory.py +119 -0
- agentinputlab/backends/retrieval/sqlite_fts.py +155 -0
- agentinputlab/backends/user/__init__.py +15 -0
- agentinputlab/backends/user/base.py +66 -0
- agentinputlab/backends/user/callable.py +54 -0
- agentinputlab/backends/user/replay.py +89 -0
- agentinputlab/backends/vector.py +38 -0
- agentinputlab/benchmarks/__init__.py +246 -0
- agentinputlab/benchmarks/acquisition.py +106 -0
- agentinputlab/benchmarks/ale.py +540 -0
- agentinputlab/benchmarks/appworld_ul.py +669 -0
- agentinputlab/benchmarks/assets.py +226 -0
- agentinputlab/benchmarks/base.py +68 -0
- agentinputlab/benchmarks/beir_archive.py +235 -0
- agentinputlab/benchmarks/beir_sample.py +269 -0
- agentinputlab/benchmarks/bfcl_native.py +245 -0
- agentinputlab/benchmarks/bfcl_v3.py +607 -0
- agentinputlab/benchmarks/cache.py +218 -0
- agentinputlab/benchmarks/clariq.py +203 -0
- agentinputlab/benchmarks/data/registry.json +321 -0
- agentinputlab/benchmarks/data/smoke_assets.json +511 -0
- agentinputlab/benchmarks/data/statebench_v0_8_1_task_ids.json +475 -0
- agentinputlab/benchmarks/data/toolsandbox_165848b_scenario_names.json +1 -0
- agentinputlab/benchmarks/execution.py +1111 -0
- agentinputlab/benchmarks/interactive.py +257 -0
- agentinputlab/benchmarks/ir_query.py +204 -0
- agentinputlab/benchmarks/longbench.py +203 -0
- agentinputlab/benchmarks/paired_replay.py +479 -0
- agentinputlab/benchmarks/preprocess.py +2313 -0
- agentinputlab/benchmarks/production.py +236 -0
- agentinputlab/benchmarks/qa.py +963 -0
- agentinputlab/benchmarks/registry.py +110 -0
- agentinputlab/benchmarks/retrieval.py +459 -0
- agentinputlab/benchmarks/runtime.py +509 -0
- agentinputlab/benchmarks/statebench.py +938 -0
- agentinputlab/benchmarks/tau3.py +725 -0
- agentinputlab/benchmarks/toolsandbox.py +626 -0
- agentinputlab/benchmarks/trec_dl_sample.py +263 -0
- agentinputlab/campaign.py +654 -0
- agentinputlab/campaign_runner.py +953 -0
- agentinputlab/cli/__init__.py +6 -0
- agentinputlab/cli/main.py +933 -0
- agentinputlab/connectors/__init__.py +46 -0
- agentinputlab/connectors/knowledge/__init__.py +4 -0
- agentinputlab/connectors/tools/__init__.py +30 -0
- agentinputlab/connectors/tools/base.py +57 -0
- agentinputlab/connectors/tools/mcp.py +222 -0
- agentinputlab/connectors/tools/memory.py +41 -0
- agentinputlab/connectors/tools/openapi.py +695 -0
- agentinputlab/connectors/tools/schema.py +102 -0
- agentinputlab/contracts/__init__.py +91 -0
- agentinputlab/contracts/availability.py +24 -0
- agentinputlab/contracts/dependency.py +58 -0
- agentinputlab/contracts/enums.py +82 -0
- agentinputlab/contracts/errors.py +63 -0
- agentinputlab/contracts/evidence.py +43 -0
- agentinputlab/contracts/intent.py +110 -0
- agentinputlab/contracts/lifecycle.py +164 -0
- agentinputlab/contracts/patch.py +167 -0
- agentinputlab/contracts/serialization.py +93 -0
- agentinputlab/contracts/state.py +127 -0
- agentinputlab/contracts/trace.py +59 -0
- agentinputlab/contracts/worker.py +42 -0
- agentinputlab/core/__init__.py +7 -0
- agentinputlab/data/__init__.py +32 -0
- agentinputlab/data/checksums.py +9 -0
- agentinputlab/data/downloader.py +235 -0
- agentinputlab/data/http.py +171 -0
- agentinputlab/data/index.py +21 -0
- agentinputlab/data/overlap.py +28 -0
- agentinputlab/data/preprocess.py +32 -0
- agentinputlab/data/storage.py +57 -0
- agentinputlab/data/trec_sample.py +427 -0
- agentinputlab/evaluation/__init__.py +5 -0
- agentinputlab/evaluation/outcomes.py +32 -0
- agentinputlab/experiments/__init__.py +278 -0
- agentinputlab/experiments/analysis.py +981 -0
- agentinputlab/experiments/artifacts.py +687 -0
- agentinputlab/experiments/automatic_measurement.py +678 -0
- agentinputlab/experiments/auxiliary_matrix.py +203 -0
- agentinputlab/experiments/bindings.py +430 -0
- agentinputlab/experiments/blueprints.py +147 -0
- agentinputlab/experiments/builders/__init__.py +45 -0
- agentinputlab/experiments/builders/executable_external_payload.py +423 -0
- agentinputlab/experiments/builders/external_process_arena.py +1018 -0
- agentinputlab/experiments/builders/registry_intervention.py +463 -0
- agentinputlab/experiments/cli.py +158 -0
- agentinputlab/experiments/controls.py +340 -0
- agentinputlab/experiments/driver_guard.py +205 -0
- agentinputlab/experiments/drivers/__init__.py +89 -0
- agentinputlab/experiments/drivers/external_arena.py +2908 -0
- agentinputlab/experiments/drivers/method_process.py +662 -0
- agentinputlab/experiments/drivers/parity_process.py +1484 -0
- agentinputlab/experiments/drivers/static_production.py +1574 -0
- agentinputlab/experiments/executor.py +448 -0
- agentinputlab/experiments/loader.py +605 -0
- agentinputlab/experiments/measurement.py +675 -0
- agentinputlab/experiments/paper_analysis.py +1818 -0
- agentinputlab/experiments/parity_identity.py +605 -0
- agentinputlab/experiments/plan.py +277 -0
- agentinputlab/experiments/production_builders.py +3739 -0
- agentinputlab/experiments/readiness.py +432 -0
- agentinputlab/experiments/schema.py +514 -0
- agentinputlab/experiments/secrets.py +177 -0
- agentinputlab/experiments/stateful_analysis.py +1738 -0
- agentinputlab/experiments/transfer_analysis.py +1316 -0
- agentinputlab/experiments/unseen_analysis.py +1025 -0
- agentinputlab/integrations/__init__.py +1 -0
- agentinputlab/integrations/action_space/__init__.py +1 -0
- agentinputlab/integrations/external_workers/__init__.py +76 -0
- agentinputlab/integrations/external_workers/ace.py +431 -0
- agentinputlab/integrations/external_workers/base.py +181 -0
- agentinputlab/integrations/external_workers/decomp_live.py +249 -0
- agentinputlab/integrations/external_workers/decomp_planner.py +30 -0
- agentinputlab/integrations/external_workers/infocqr_student.py +280 -0
- agentinputlab/integrations/external_workers/ircot.py +576 -0
- agentinputlab/integrations/external_workers/llmcompiler_live.py +360 -0
- agentinputlab/integrations/external_workers/longllmlingua.py +162 -0
- agentinputlab/integrations/external_workers/method.py +314 -0
- agentinputlab/integrations/external_workers/process.py +678 -0
- agentinputlab/integrations/external_workers/supervisor.py +1071 -0
- agentinputlab/integrations/full_architecture/__init__.py +1 -0
- agentinputlab/integrations/full_architecture/hyde.py +212 -0
- agentinputlab/integrations/full_architecture/plan_and_budget.py +188 -0
- agentinputlab/integrations/live_history.py +222 -0
- agentinputlab/integrations/prompt_optimization/__init__.py +1 -0
- agentinputlab/integrations/training/__init__.py +1 -0
- agentinputlab/metrics/__init__.py +50 -0
- agentinputlab/metrics/catalog.py +313 -0
- agentinputlab/metrics/harm.py +95 -0
- agentinputlab/metrics/paired.py +40 -0
- agentinputlab/metrics/qa.py +76 -0
- agentinputlab/metrics/text.py +33 -0
- agentinputlab/metrics/third_party.py +161 -0
- agentinputlab/models/__init__.py +4 -0
- agentinputlab/observability/__init__.py +56 -0
- agentinputlab/observability/budget.py +316 -0
- agentinputlab/observability/instrumentation.py +754 -0
- agentinputlab/observability/models.py +403 -0
- agentinputlab/observability/monitor.py +380 -0
- agentinputlab/optimizers/__init__.py +1 -0
- agentinputlab/optimizers/clarify/__init__.py +12 -0
- agentinputlab/optimizers/context/__init__.py +22 -0
- agentinputlab/optimizers/decompose/__init__.py +64 -0
- agentinputlab/optimizers/evidence/__init__.py +22 -0
- agentinputlab/optimizers/rewrite/__init__.py +30 -0
- agentinputlab/parity/__init__.py +5 -0
- agentinputlab/parity/base.py +206 -0
- agentinputlab/production_campaign.py +763 -0
- agentinputlab/py.typed +1 -0
- agentinputlab/recipes/__init__.py +333 -0
- agentinputlab/recipes/ace.py +418 -0
- agentinputlab/recipes/ace_bfcl.py +273 -0
- agentinputlab/recipes/ace_common_support.py +169 -0
- agentinputlab/recipes/ace_native_plan.py +322 -0
- agentinputlab/recipes/ace_online.py +711 -0
- agentinputlab/recipes/ace_retrieval.py +330 -0
- agentinputlab/recipes/ace_statebench.py +382 -0
- agentinputlab/recipes/ace_tau.py +463 -0
- agentinputlab/recipes/ace_toolsandbox.py +432 -0
- agentinputlab/recipes/acon_guideline.py +22 -0
- agentinputlab/recipes/adaptive_rag.py +822 -0
- agentinputlab/recipes/llmlingua2_inference.py +146 -0
- agentinputlab/recipes/llmlingua2_training.py +796 -0
- agentinputlab/recipes/mce.py +1486 -0
- agentinputlab/recipes/mce_final.py +335 -0
- agentinputlab/recipes/mce_text_fit.py +499 -0
- agentinputlab/recipes/mce_text_only.py +298 -0
- agentinputlab/recipes/qrag.py +729 -0
- agentinputlab/recipes/qrag_inference.py +364 -0
- agentinputlab/recipes/r2ag_features.py +236 -0
- agentinputlab/recipes/r2ag_inference.py +503 -0
- agentinputlab/recipes/r2ag_training.py +948 -0
- agentinputlab/recipes/recomp_abstractive.py +592 -0
- agentinputlab/recipes/recomp_extractive.py +525 -0
- agentinputlab/recipes/reformer.py +17 -0
- agentinputlab/recipes/rqrag.py +1516 -0
- agentinputlab/recipes/rqrag_common_support.py +193 -0
- agentinputlab/recipes/rqrag_completion.py +147 -0
- agentinputlab/recipes/skillopt.py +462 -0
- agentinputlab/recipes/skillopt_common_support.py +154 -0
- agentinputlab/recipes/skillopt_environment.py +165 -0
- agentinputlab/recipes/skillopt_environment_cli.py +5 -0
- agentinputlab/recipes/skillopt_retrieval.py +188 -0
- agentinputlab/recipes/smartsearch.py +897 -0
- agentinputlab/recipes/smartsearch_curriculum.py +283 -0
- agentinputlab/recipes/smartsearch_grpo_contracts.py +58 -0
- agentinputlab/recipes/smartsearch_grpo_data.py +314 -0
- agentinputlab/recipes/smartsearch_grpo_meter.py +324 -0
- agentinputlab/recipes/smartsearch_grpo_prefix.py +144 -0
- agentinputlab/recipes/smartsearch_grpo_rollout.py +119 -0
- agentinputlab/recipes/smartsearch_grpo_tools.py +364 -0
- agentinputlab/recipes/smartsearch_grpo_training.py +305 -0
- agentinputlab/recipes/smartsearch_grpo_transport.py +248 -0
- agentinputlab/recipes/smartsearch_grpo_worker.py +364 -0
- agentinputlab/recipes/smartsearch_inference.py +524 -0
- agentinputlab/recipes/smartsearch_native_data.py +172 -0
- agentinputlab/recipes/smartsearch_policy.py +616 -0
- agentinputlab/recipes/smartsearch_policy_worker.py +9 -0
- agentinputlab/recipes/smartsearch_sampling.py +232 -0
- agentinputlab/recipes/smartsearch_teacher.py +203 -0
- agentinputlab/recipes/smartsearch_training.py +265 -0
- agentinputlab/registry/__init__.py +46 -0
- agentinputlab/registry/beta.py +727 -0
- agentinputlab/registry/data/algorithms.json +1959 -0
- agentinputlab/registry/data/auxiliary_method_profiles.json +34 -0
- agentinputlab/registry/loader.py +100 -0
- agentinputlab/registry/result_manifest.py +184 -0
- agentinputlab/registry/runtime.py +195 -0
- agentinputlab/registry/schema.py +449 -0
- agentinputlab/runner/__init__.py +30 -0
- agentinputlab/runner/balance.py +248 -0
- agentinputlab/runner/cache.py +135 -0
- agentinputlab/runner/composite.py +130 -0
- agentinputlab/runner/engine.py +285 -0
- agentinputlab/runner/runtime_guard.py +268 -0
- agentinputlab/runner/worker.py +80 -0
- agentinputlab/runtime_bootstrap.py +288 -0
- agentinputlab/selectors/__init__.py +196 -0
- agentinputlab/selectors/advanced.py +1514 -0
- agentinputlab/selectors/artifacts.py +1087 -0
- agentinputlab/selectors/base.py +112 -0
- agentinputlab/selectors/campaigns.py +1893 -0
- agentinputlab/selectors/catalog.py +86 -0
- agentinputlab/selectors/discovery.py +1860 -0
- agentinputlab/selectors/evaluation.py +1348 -0
- agentinputlab/selectors/features.py +383 -0
- agentinputlab/selectors/learned.py +502 -0
- agentinputlab/selectors/no_op.py +28 -0
- agentinputlab/selectors/outcome_table.py +475 -0
- agentinputlab/selectors/producer.py +853 -0
- agentinputlab/selectors/rules.py +109 -0
- agentinputlab/selectors/runtime.py +420 -0
- agentinputlab/studies/__init__.py +16 -0
- agentinputlab/studies/design.py +165 -0
- agentinputlab/studies/paired.py +322 -0
- agentinputlab/studio/__init__.py +6 -0
- agentinputlab/studio/campaigns.py +819 -0
- agentinputlab/studio/engine.py +1408 -0
- agentinputlab/studio/model_backends.py +425 -0
- agentinputlab/studio/prepared.py +410 -0
- agentinputlab/studio/server.py +613 -0
- agentinputlab/studio/static/app.js +397 -0
- agentinputlab/studio/static/campaigns.html +175 -0
- agentinputlab/studio/static/campaigns.js +426 -0
- agentinputlab/studio/static/index.html +192 -0
- agentinputlab/studio/static/result.html +103 -0
- agentinputlab/studio/static/result.js +273 -0
- agentinputlab/studio/static/styles.css +467 -0
- agentinputlab-0.1.0a1.data/data/share/agentinputlab/CITATION.cff +22 -0
- agentinputlab-0.1.0a1.dist-info/METADATA +392 -0
- agentinputlab-0.1.0a1.dist-info/RECORD +469 -0
- agentinputlab-0.1.0a1.dist-info/WHEEL +5 -0
- agentinputlab-0.1.0a1.dist-info/entry_points.txt +6 -0
- agentinputlab-0.1.0a1.dist-info/licenses/LICENSE +21 -0
- agentinputlab-0.1.0a1.dist-info/licenses/NOTICE +31 -0
- agentinputlab-0.1.0a1.dist-info/licenses/THIRD_PARTY_NOTICES.md +94 -0
- agentinputlab-0.1.0a1.dist-info/top_level.txt +2 -0
- workers/README.md +94 -0
- workers/ace/README.md +261 -0
- workers/ace/__init__.py +1 -0
- workers/ace/compatibility_manifest.json +39 -0
- workers/ace/driver.py +1682 -0
- workers/acon/README.md +215 -0
- workers/acon/__init__.py +5 -0
- workers/acon/compatibility_manifest.json +93 -0
- workers/acon/driver.py +1859 -0
- workers/acon/fitted.py +395 -0
- workers/acon/guideline.py +470 -0
- workers/acon/guideline_source_manifest.json +20 -0
- workers/adaptive_rag/README.md +96 -0
- workers/adaptive_rag/__init__.py +15 -0
- workers/adaptive_rag/compatibility_manifest.json +61 -0
- workers/adaptive_rag/driver.py +1470 -0
- workers/adaptive_rag/fixture_runtime.py +163 -0
- workers/adaptive_rag/runtime.py +252 -0
- workers/ask_or_assume/README.md +124 -0
- workers/ask_or_assume/__init__.py +1 -0
- workers/ask_or_assume/compatibility_manifest.json +36 -0
- workers/ask_or_assume/driver.py +1227 -0
- workers/decomp/README.md +133 -0
- workers/decomp/UPSTREAM_LICENSE.Apache-2.0.txt +201 -0
- workers/decomp/__init__.py +5 -0
- workers/decomp/compatibility_manifest.json +205 -0
- workers/decomp/driver.py +1015 -0
- workers/decomp/live.py +137 -0
- workers/decomp/runtime.py +231 -0
- workers/infocqr/README.md +106 -0
- workers/infocqr/__init__.py +1 -0
- workers/infocqr/compatibility_manifest.json +84 -0
- workers/infocqr/driver.py +1766 -0
- workers/ircot/README.md +167 -0
- workers/ircot/__init__.py +7 -0
- workers/ircot/compatibility_manifest.json +121 -0
- workers/ircot/controlled.py +457 -0
- workers/ircot/driver.py +1373 -0
- workers/ircot/fixture_bindings.json +39 -0
- workers/ircot/fixture_config.json +48 -0
- workers/ircot/fixture_prompt.txt +2 -0
- workers/ircot/native_qa.py +398 -0
- workers/ircot/qa_compatibility_manifest.json +57 -0
- workers/ircot/runtime.py +97 -0
- workers/llmcompiler/README.md +160 -0
- workers/llmcompiler/__init__.py +1 -0
- workers/llmcompiler/compatibility_manifest.json +45 -0
- workers/llmcompiler/driver.py +1514 -0
- workers/llmcompiler/export_prompts.py +74 -0
- workers/llmcompiler/live.py +174 -0
- workers/llmcompiler/patch_manifest.json +147 -0
- workers/mce/README.md +198 -0
- workers/mce/__init__.py +29 -0
- workers/mce/compatibility_manifest.json +115 -0
- workers/mce/driver.py +2585 -0
- workers/mce/final_eval.py +173 -0
- workers/official_arenas/README.md +25 -0
- workers/official_arenas/__init__.py +1 -0
- workers/official_arenas/capture_records.py +110 -0
- workers/official_arenas/driver.py +619 -0
- workers/official_arenas/protocol.py +334 -0
- workers/official_arenas/providers/__init__.py +1 -0
- workers/official_arenas/providers/_live_history.py +228 -0
- workers/official_arenas/providers/_message_compat.py +77 -0
- workers/official_arenas/providers/appworld_ul.py +196 -0
- workers/official_arenas/providers/fixture.py +112 -0
- workers/official_arenas/providers/statebench.py +960 -0
- workers/official_arenas/providers/tau3.py +1672 -0
- workers/official_arenas/providers/tau_retail.py +586 -0
- workers/official_arenas/providers/toolsandbox.py +1321 -0
- workers/official_arenas/providers/tooltalk.py +699 -0
- workers/official_arenas/retail_capture.py +188 -0
- workers/official_arenas/retail_driver.py +275 -0
- workers/qrag/README.md +172 -0
- workers/qrag/__init__.py +1 -0
- workers/qrag/compatibility_manifest.json +64 -0
- workers/qrag/driver.py +673 -0
- workers/r2ag/README.md +154 -0
- workers/r2ag/__init__.py +5 -0
- workers/r2ag/compatibility_manifest.json +55 -0
- workers/r2ag/driver.py +1287 -0
- workers/r2ag/feature_schema.json +8 -0
- workers/r2ag/runtime.py +589 -0
- workers/recomp/README.md +120 -0
- workers/recomp/__init__.py +1 -0
- workers/recomp/compatibility_manifest.json +43 -0
- workers/recomp/driver.py +1653 -0
- workers/reformer/README.md +125 -0
- workers/reformer/__init__.py +1 -0
- workers/reformer/compatibility_manifest.json +68 -0
- workers/reformer/driver.py +1459 -0
- workers/reformer/induction.py +457 -0
- workers/rrr/README.md +126 -0
- workers/rrr/__init__.py +1 -0
- workers/rrr/compatibility_manifest.json +57 -0
- workers/rrr/driver.py +1133 -0
- workers/smartsearch/README.md +331 -0
- workers/smartsearch/__init__.py +1 -0
- workers/smartsearch/compatibility_manifest.json +41 -0
- workers/smartsearch/driver.py +1643 -0
workers/ircot/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Pinned IRCoT worker
|
|
2
|
+
|
|
3
|
+
This directory adapts the Apache-2.0 IRCoT repository at commit
|
|
4
|
+
`3c1820f698eea5eeddb4fba3c56b64c961e063e4` to AgentInputLab's existing
|
|
5
|
+
`IRCoTControlledWorker` contract. The upstream
|
|
6
|
+
`BestFirstDecomposer.find_answer_decomp` controller remains responsible for
|
|
7
|
+
the initial retrieval → CoT generation → exit check → follow-up retrieval
|
|
8
|
+
loop. AgentInputLab only applies bounded controls, freezes external bindings
|
|
9
|
+
for the test profile, observes controller transitions, and validates the
|
|
10
|
+
resulting trajectory.
|
|
11
|
+
|
|
12
|
+
## Identity profiles
|
|
13
|
+
|
|
14
|
+
- `fixture.tiny.frozen.v1` is a manifest-locked `controlled_fixture`. It runs
|
|
15
|
+
the real upstream IRCoT loop against the local, checksum-pinned prompt,
|
|
16
|
+
retriever responses, and generator responses. It is deterministic, offline,
|
|
17
|
+
and may be called in-process through `PinnedIRCoTWorker`.
|
|
18
|
+
- `upstream.hotpotqa.codex.v1` and
|
|
19
|
+
`upstream.hotpotqa.flan_t5_xxl.v1` are `upstream_native` identities. They
|
|
20
|
+
retain the pinned upstream HotpotQA config/prompt and require exact
|
|
21
|
+
generator, retriever, corpus, and index attestations. They must run in the
|
|
22
|
+
isolated JSONL process; the in-process adapter fails with
|
|
23
|
+
`ISOLATION_REQUIRED`.
|
|
24
|
+
|
|
25
|
+
The historical clients do not expose complete token telemetry through the
|
|
26
|
+
original generator interface. Their JSONL execution currently rejects with
|
|
27
|
+
`TOKEN_USAGE_OBSERVER_REQUIRED` before any model request, rather than reporting
|
|
28
|
+
unobserved token counts as zero. Source/identity inspection remains available.
|
|
29
|
+
|
|
30
|
+
The fixture identity must not be reported as an upstream-native reproduction.
|
|
31
|
+
Both identities, the upstream commit, manifest/config/prompt hashes, binding
|
|
32
|
+
attestation, driver hash, and runtime-adapter hash are exposed in the worker
|
|
33
|
+
fingerprint.
|
|
34
|
+
|
|
35
|
+
## Fail-closed compatibility gate
|
|
36
|
+
|
|
37
|
+
`compatibility_manifest.json` pins the upstream license and every source file
|
|
38
|
+
used by the adapter. The driver rejects a wrong commit, dirty checkout,
|
|
39
|
+
changed license/source/config/prompt/bindings, an unlisted profile, or an
|
|
40
|
+
unattested production binding before execution.
|
|
41
|
+
|
|
42
|
+
The historical upstream environment also needs optional packages and model
|
|
43
|
+
assets that are deliberately not hidden by the adapter. Identity inspection
|
|
44
|
+
reports `full_api_status=dependency_missing:<package>` when the complete
|
|
45
|
+
upstream API cannot import. A production call returns a structured
|
|
46
|
+
`DEPENDENCY_MISSING` response (for example when `_jsonnet` is absent) rather
|
|
47
|
+
than substituting another implementation. The frozen fixture supplies only
|
|
48
|
+
small compatibility shims needed to execute its offline trajectory; these do
|
|
49
|
+
not apply to an upstream-native profile.
|
|
50
|
+
|
|
51
|
+
Production endpoints and fingerprint hashes come only from the environment
|
|
52
|
+
keys named in the manifest. Request JSON cannot provide a path, module,
|
|
53
|
+
command, endpoint, or credential, and fingerprints containing credential
|
|
54
|
+
fields are rejected.
|
|
55
|
+
|
|
56
|
+
## Usage
|
|
57
|
+
|
|
58
|
+
For the offline bridge fixture, point the runtime at an exact pinned checkout:
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
from pathlib import Path
|
|
62
|
+
|
|
63
|
+
from workers.ircot import PinnedIRCoTWorker
|
|
64
|
+
|
|
65
|
+
worker = PinnedIRCoTWorker(
|
|
66
|
+
environment={
|
|
67
|
+
"AGENTINPUTLAB_UPSTREAM_ROOT": str(Path("/path/to/pinned/ircot")),
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Pass `worker` to `IRCoTControlledWorker`; its `call_controlled` method accepts
|
|
73
|
+
the bridge's immutable `IRCoTWorkerRequest` directly.
|
|
74
|
+
|
|
75
|
+
For a production profile, start one JSONL worker process with its environment
|
|
76
|
+
prepared outside the request boundary:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
AGENTINPUTLAB_UPSTREAM_ROOT=/path/to/pinned/ircot \
|
|
80
|
+
AGENTINPUTLAB_IRCOT_PROFILE=upstream.hotpotqa.codex.v1 \
|
|
81
|
+
python -m workers.ircot.driver
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Use AgentInputLab's `JsonLineSubprocessWorker` as the client for that process.
|
|
85
|
+
The production environment must additionally provide the exact index and
|
|
86
|
+
binding hashes plus the model/retriever settings named by the selected
|
|
87
|
+
manifest profile. Secrets belong only in the isolated process environment;
|
|
88
|
+
they must never be included in request JSON or in a public fingerprint.
|
|
89
|
+
|
|
90
|
+
## Startup-bound controlled reader transfer
|
|
91
|
+
|
|
92
|
+
`PinnedIRCoTControlledRuntime` binds a toolkit backend, retriever, actual GPT-2
|
|
93
|
+
tokenizer and dependency fingerprints once at process startup. It executes the
|
|
94
|
+
pinned HotpotQA Codex configuration through the original
|
|
95
|
+
`build_decomposer_and_models` and `BestFirstDecomposer.find_answer_decomp`, with
|
|
96
|
+
the original retrieval, CoT sentence and exit participants. Native prompt
|
|
97
|
+
selection/fitting, spaCy sentence parsing, query preprocessing, deduplication
|
|
98
|
+
and exit decisions are preserved. The generator and retriever are controlled
|
|
99
|
+
replacements, so this is **not** historical Codex/Elasticsearch result parity.
|
|
100
|
+
It is also distinct from the one-pass common-support adapter.
|
|
101
|
+
|
|
102
|
+
Run each worker in its own process with an explicit private `HOME` equal to
|
|
103
|
+
`cache_home`; upstream import-time caches then cannot touch research caches.
|
|
104
|
+
The mounted source must remain at the manifest-pinned commit with a clean tree.
|
|
105
|
+
Provide real native dependencies, the native `en_core_web_sm` package, and a
|
|
106
|
+
hash-closed GPT-2 tokenizer; there are no fixture dependency shims or implicit
|
|
107
|
+
asset downloads in this adapter. Those startup fingerprints describe supplied
|
|
108
|
+
artifacts; they do not establish authorship, license clearance or real-model
|
|
109
|
+
acceptance merely by being present.
|
|
110
|
+
|
|
111
|
+
Use an isolated **Python 3.10** environment and install `agentinputlab[ircot]`.
|
|
112
|
+
This legacy worker extra pins spaCy 3.4.1 and Transformers 4.24.0; it is not a
|
|
113
|
+
promise that this optional environment supports every Python version supported
|
|
114
|
+
by the dependency-light toolkit core. It is separate from the ACE/LLMCompiler
|
|
115
|
+
environments, whose native client versions differ. The controlled reader is a
|
|
116
|
+
remote backend, so this extra does not install Torch or backbone weights. Mount
|
|
117
|
+
the matching `en_core_web_sm` 3.4.1 pipeline, GPT-2 tokenizer files and NLTK
|
|
118
|
+
English stopwords separately, recording their sources/checksums. No corpus or
|
|
119
|
+
model-weight download is triggered by importing the controlled adapter.
|
|
120
|
+
|
|
121
|
+
```python
|
|
122
|
+
from workers.ircot import PinnedIRCoTControlledRuntime
|
|
123
|
+
from agentinputlab.algorithms.acquire.ircot import IRCoTControlledWorker, IRCoTControls
|
|
124
|
+
|
|
125
|
+
worker = PinnedIRCoTControlledRuntime(
|
|
126
|
+
source_root=pinned_checkout, backend=backend, retriever=retriever,
|
|
127
|
+
tokenizer=gpt2_tokenizer, tokenizer_fingerprint=trusted_tokenizer_manifest,
|
|
128
|
+
dependency_fingerprint=native_dependency_manifest,
|
|
129
|
+
corpus_revision=corpus_sha256, index_revision=index_sha256,
|
|
130
|
+
cache_home=private_worker_home, seed=17,
|
|
131
|
+
max_model_calls=7, max_output_tokens=3584, per_call_output_tokens=512,
|
|
132
|
+
)
|
|
133
|
+
method = IRCoTControlledWorker(
|
|
134
|
+
client=worker, corpus_revision=corpus_sha256, index_revision=index_sha256,
|
|
135
|
+
prompt_hash=worker.fingerprint()["prompt_sha256"],
|
|
136
|
+
controls=IRCoTControls(max_steps=7, max_output_tokens=3584),
|
|
137
|
+
)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
This example reserves a separate downstream call/output allowance within an
|
|
141
|
+
overall eight-call/4096-output-token application budget. The caller must debit
|
|
142
|
+
both stages; the worker does not make the final downstream prediction. Generation
|
|
143
|
+
seeds are startup `seed + call_index`, not a request-selected seed. For reasoning
|
|
144
|
+
backends, explicitly choose `FinalContentStopBackend` to apply the native logical
|
|
145
|
+
newline stop to final content while charging all provider-generated tokens.
|
|
146
|
+
No retry, answer extraction call, or reasoning-to-final promotion is added.
|
|
147
|
+
|
|
148
|
+
Each response retains native controller events, exact actual generation and
|
|
149
|
+
retrieval records, and provider-observed tokens. If a transport fails without
|
|
150
|
+
usage, the error response marks `usage_is_complete=false` and records the number
|
|
151
|
+
of unknown-usage attempts separately; reported token sums are observed lower
|
|
152
|
+
bounds, not claims of zero consumption. Callers must preserve those error fields
|
|
153
|
+
and raw records. Default CPU/GPU counters are not measured compute costs.
|
|
154
|
+
|
|
155
|
+
## Verification
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
python -m pytest -q \
|
|
159
|
+
tests/unit/test_ircot_worker.py \
|
|
160
|
+
tests/workers/test_ircot_worker_driver.py
|
|
161
|
+
python -m ruff check workers/ircot tests/workers/test_ircot_worker_driver.py
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
The worker test builds a fake pinned checkout for hermetic bridge E2E coverage.
|
|
165
|
+
When `/private/tmp/agentinputlab-upstreams/ircot` is available, it additionally
|
|
166
|
+
checks the real pinned checkout's API and executes the frozen fixture through
|
|
167
|
+
the original upstream loop.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"""Pinned IRCoT worker and direct WorkerClient adapter."""
|
|
2
|
+
|
|
3
|
+
from .controlled import PinnedIRCoTControlledRuntime
|
|
4
|
+
from .native_qa import PinnedIRCoTNativeQARuntime
|
|
5
|
+
from .runtime import PinnedIRCoTWorker
|
|
6
|
+
|
|
7
|
+
__all__ = ["PinnedIRCoTControlledRuntime", "PinnedIRCoTNativeQARuntime", "PinnedIRCoTWorker"]
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "agentinputlab.ircot.compatibility.v1",
|
|
3
|
+
"upstream": {
|
|
4
|
+
"repository": "https://github.com/StonyBrookNLP/ircot",
|
|
5
|
+
"commit": "3c1820f698eea5eeddb4fba3c56b64c961e063e4",
|
|
6
|
+
"license_spdx": "Apache-2.0",
|
|
7
|
+
"license_sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
|
|
8
|
+
"require_clean_checkout": true
|
|
9
|
+
},
|
|
10
|
+
"source_files": {
|
|
11
|
+
"commaqa/inference/configurable_inference.py": "6d19f148ef0637707d1dd481e604944144eb296754c88429706a514b111db54d",
|
|
12
|
+
"commaqa/inference/constants.py": "4482a7eb15e107e72f364b7357a8963662a063a730aa3861a6b51e3018d99570",
|
|
13
|
+
"commaqa/inference/data_instances.py": "018a4addbb5d6fb81c76af049e1ae1e50ac227ab48ee7a69a9cb453b00ff6317",
|
|
14
|
+
"commaqa/inference/ircot.py": "a2233cbdae107e80cd383993edadc43c2491d2360a878b05a97dfa66a0b0eebf",
|
|
15
|
+
"commaqa/inference/model_search.py": "c22ddb376bd165a0872da11fa0310cda8c25e00c62d9efa3e47cd36371889558",
|
|
16
|
+
"commaqa/inference/prompt_reader.py": "910b6e971edd00460a570260d669128163965f2f61fe230db64be055131d311e"
|
|
17
|
+
},
|
|
18
|
+
"allowed_model_names": [
|
|
19
|
+
"retrieve_and_reset_paragraphs",
|
|
20
|
+
"step_by_step_cot_gen",
|
|
21
|
+
"step_by_step_exit_controller"
|
|
22
|
+
],
|
|
23
|
+
"profiles": {
|
|
24
|
+
"fixture.tiny.frozen.v1": {
|
|
25
|
+
"identity_kind": "controlled_fixture",
|
|
26
|
+
"config_scope": "worker",
|
|
27
|
+
"config_path": "fixture_config.json",
|
|
28
|
+
"config_sha256": "67cd9ed5011bd06b4f5b636a7e13c68095dd0f5c9d3482b1c0fba74ad63a9891",
|
|
29
|
+
"prompt_scope": "worker",
|
|
30
|
+
"prompt_path": "fixture_prompt.txt",
|
|
31
|
+
"prompt_sha256": "ec8cb750660f2bc7ed8718673e0a865582d273710ad6e44ee6403ffcec1753cb",
|
|
32
|
+
"bindings_scope": "worker",
|
|
33
|
+
"bindings_path": "fixture_bindings.json",
|
|
34
|
+
"bindings_sha256": "daa93b132cea7cdcf88cdf70c0bb6827a75dd39732ceb9d13bf4bba2867bcfbb",
|
|
35
|
+
"corpus_revision": "fixture-corpus-v1",
|
|
36
|
+
"index_revision": "fixture-index-v1",
|
|
37
|
+
"binding_attestation": "fixture_identity_only",
|
|
38
|
+
"config_ext_vars": {}
|
|
39
|
+
},
|
|
40
|
+
"upstream.hotpotqa.codex.v1": {
|
|
41
|
+
"identity_kind": "upstream_native",
|
|
42
|
+
"config_scope": "upstream",
|
|
43
|
+
"config_path": "base_configs/ircot_codex_hotpotqa.jsonnet",
|
|
44
|
+
"config_sha256": "36cdb0023d1f59266486c463a53bb4546a2364114672db8e83faac0a6d3645e3",
|
|
45
|
+
"prompt_scope": "upstream",
|
|
46
|
+
"prompt_path": "prompts/hotpotqa/gold_with_2_distractors_context_cot_qa_codex.txt",
|
|
47
|
+
"prompt_sha256": "af56b51582a5fdbebf5a5d50ab95cefcb95d92986cf820774ccbaa897a71552f",
|
|
48
|
+
"corpus_revision": "hotpotqa",
|
|
49
|
+
"index_revision_env": "AGENTINPUTLAB_IRCOT_INDEX_REVISION",
|
|
50
|
+
"binding_attestation": "exact_fingerprint_hashes_from_environment",
|
|
51
|
+
"generator_fingerprint_sha256_env": "AGENTINPUTLAB_IRCOT_GENERATOR_FINGERPRINT_SHA256",
|
|
52
|
+
"retriever_fingerprint_sha256_env": "AGENTINPUTLAB_IRCOT_RETRIEVER_FINGERPRINT_SHA256",
|
|
53
|
+
"config_ext_vars": {
|
|
54
|
+
"RETRIEVER_HOST": "AGENTINPUTLAB_IRCOT_RETRIEVER_HOST",
|
|
55
|
+
"RETRIEVER_PORT": "AGENTINPUTLAB_IRCOT_RETRIEVER_PORT"
|
|
56
|
+
},
|
|
57
|
+
"required_runtime_env": [
|
|
58
|
+
"OPENAI_API_KEY"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"upstream.hotpotqa.flan_t5_xxl.v1": {
|
|
62
|
+
"identity_kind": "upstream_native",
|
|
63
|
+
"config_scope": "upstream",
|
|
64
|
+
"config_path": "base_configs/ircot_flan_t5_xxl_hotpotqa.jsonnet",
|
|
65
|
+
"config_sha256": "a2bb710cf7de45b3f148ee8eac9c7b7a09aa84979375219c48f8caf44fd6c9ac",
|
|
66
|
+
"prompt_scope": "upstream",
|
|
67
|
+
"prompt_path": "prompts/hotpotqa/gold_with_2_distractors_context_cot_qa_flan_t5.txt",
|
|
68
|
+
"prompt_sha256": "bcc08b7b4d2158b625be0825d5852d5ca013e65832882056931b93d322055db1",
|
|
69
|
+
"corpus_revision": "hotpotqa",
|
|
70
|
+
"index_revision_env": "AGENTINPUTLAB_IRCOT_INDEX_REVISION",
|
|
71
|
+
"binding_attestation": "exact_fingerprint_hashes_from_environment",
|
|
72
|
+
"generator_fingerprint_sha256_env": "AGENTINPUTLAB_IRCOT_GENERATOR_FINGERPRINT_SHA256",
|
|
73
|
+
"retriever_fingerprint_sha256_env": "AGENTINPUTLAB_IRCOT_RETRIEVER_FINGERPRINT_SHA256",
|
|
74
|
+
"config_ext_vars": {
|
|
75
|
+
"RETRIEVER_HOST": "AGENTINPUTLAB_IRCOT_RETRIEVER_HOST",
|
|
76
|
+
"RETRIEVER_PORT": "AGENTINPUTLAB_IRCOT_RETRIEVER_PORT"
|
|
77
|
+
},
|
|
78
|
+
"required_runtime_env": [
|
|
79
|
+
"LLM_SERVER_HOST",
|
|
80
|
+
"LLM_SERVER_PORT"
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"patches": [
|
|
85
|
+
{
|
|
86
|
+
"id": "controlled_limits_v1",
|
|
87
|
+
"upstream_symbols": [
|
|
88
|
+
"RetrieveAndResetParagraphsParticipant",
|
|
89
|
+
"StepByStepCOTGenParticipant",
|
|
90
|
+
"StepByStepExitControllerParticipant"
|
|
91
|
+
],
|
|
92
|
+
"kind": "configuration_compatibility_patch",
|
|
93
|
+
"changes": [
|
|
94
|
+
"cap per-round retrieval, total active documents, reasoning sentences, and per-call generation",
|
|
95
|
+
"map replace_each_step to upstream cumulate_titles=false",
|
|
96
|
+
"reject deduplicate=false because the pinned upstream always de-duplicates"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"id": "controller_trace_v1",
|
|
101
|
+
"upstream_symbol": "BestFirstDecomposer.find_answer_decomp",
|
|
102
|
+
"kind": "non_mutating_observability_wrapper",
|
|
103
|
+
"changes": [
|
|
104
|
+
"leave upstream best-first loop unchanged",
|
|
105
|
+
"snapshot controller inputs and outputs to reconstruct retrieval/CoT trajectory",
|
|
106
|
+
"capture accepted upstream retrieval responses without changing participant decisions"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "binding_gate_v1",
|
|
111
|
+
"upstream_symbol": "configurable_inference.load_config",
|
|
112
|
+
"kind": "security_patch",
|
|
113
|
+
"changes": [
|
|
114
|
+
"load only checksum-pinned config and prompt artifacts",
|
|
115
|
+
"read production endpoints only from manifest-named worker environment keys",
|
|
116
|
+
"require exact generator/retriever fingerprint hashes for upstream-native profiles",
|
|
117
|
+
"never accept request-controlled paths, imports, endpoints, commands, or credentials"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|