PyPI project
actaclad-plumbline
4 indexed releases ยท newest sdist 0.0.2 with 311 indexed members
Files in 0.0.2 actaclad_plumbline-0.0.2.tar.gz
- benchmark/corpus/agent_idiomatic.py
- benchmark/corpus/agent_interactive.py
- benchmark/corpus/agt001_uncapped.py
- benchmark/corpus/agt008_autogen.py
- benchmark/corpus/cost001_uncapped.py
- benchmark/corpus/idiomatic.py
- benchmark/corpus/mcp001_auth.py
- benchmark/corpus/mcp003_scopes.py
- benchmark/corpus/mdl_reasoning.py
- benchmark/corpus/out001_unguarded.py
- benchmark/corpus/prm003_system.py
- benchmark/corpus/res001_disabled.py
- benchmark/corpus/res002_no_retries.py
- benchmark/corpus/res005_swallowed.py
- benchmark/corpus/res010_stream.py
- benchmark/corpus/sec002_eval.py
- benchmark/corpus/sec003_shell.py
- benchmark/corpus/sec004_secret.py
- benchmark/corpus/sec005_sql.py
- benchmark/corpus/sec006_xss.py
- benchmark/corpus/sec_safe.py
- benchmark/corpus/tool001_crewai.py
- benchmark/corpus/tool001_langchain.py
- benchmark/corpus/zz_harness.py
- fixtures/PLB-AGT-001/bad_crewai_uncapped.py
- fixtures/PLB-AGT-001/bad_handrolled_loop.py
- fixtures/PLB-AGT-001/bad_langchain_uncapped.py
- fixtures/PLB-AGT-001/good_handrolled_capped.py
- fixtures/PLB-AGT-001/good_interactive_repl.py
- fixtures/PLB-AGT-001/good_langchain_default.py
- fixtures/PLB-AGT-002/bad_no_termination.py
- fixtures/PLB-AGT-002/good_for_loop.py
- fixtures/PLB-AGT-002/good_goal_break.py
- fixtures/PLB-AGT-008/bad_no_bound.py
- fixtures/PLB-AGT-008/good_max_turns.py
- fixtures/PLB-AGT-008/good_not_autogen.py
- fixtures/PLB-AGT-008/good_termination.py
- fixtures/PLB-COST-001/bad_no_max_tokens.py
- fixtures/PLB-COST-001/good_max_completion_tokens.py
- fixtures/PLB-COST-001/good_max_tokens_set.py
- fixtures/PLB-COST-001/good_unknown_kwargs.py
- fixtures/PLB-EVAL-001/bad_no_evals/agent.py
- fixtures/PLB-EVAL-001/bad_no_evals/test_utils.py
- fixtures/PLB-EVAL-001/good_package_layout/myapp/__init__.py
- fixtures/PLB-EVAL-001/good_package_layout/myapp/agent.py
- fixtures/PLB-EVAL-001/good_package_layout/tests/test_agent.py
- fixtures/PLB-EVAL-001/good_with_evals/agent.py
- fixtures/PLB-EVAL-001/good_with_evals/tests/test_agent.py
- fixtures/PLB-EVAL-001/good_with_framework/agent.py
- fixtures/PLB-EVAL-001/good_with_framework/eval_summarize.py
- fixtures/PLB-EVAL-003/bad_ci_no_evals/agent.py
- fixtures/PLB-EVAL-003/good_ci_runs_rye/agent.py
- fixtures/PLB-EVAL-003/good_ci_runs_tests/agent.py
- fixtures/PLB-EVAL-003/good_no_ci/agent.py
- fixtures/PLB-GOV-001/bad_pii_prompt.py
- fixtures/PLB-GOV-001/good_redacted.py
- fixtures/PLB-GOV-002/bad_log_response.py
- fixtures/PLB-GOV-002/good_log_metadata.py
- fixtures/PLB-MCP-001/bad_remote_no_auth.py
- fixtures/PLB-MCP-001/good_loopback_bound.py
- fixtures/PLB-MCP-001/good_remote_with_auth.py
- fixtures/PLB-MCP-001/good_stdio_local.py
- fixtures/PLB-MCP-003/bad_omnibus_scope.py
- fixtures/PLB-MCP-003/bad_wildcard_scope.py
- fixtures/PLB-MCP-003/good_minimal_scopes.py
- fixtures/PLB-MDL-001/bad_scattered/classifier.py
- fixtures/PLB-MDL-001/bad_scattered/summarizer.py
- fixtures/PLB-MDL-001/good_centralized/classifier.py
- fixtures/PLB-MDL-001/good_centralized/config.py
- fixtures/PLB-MDL-001/good_centralized/summarizer.py
- fixtures/PLB-MDL-001/good_single_module/app.py
- fixtures/PLB-MDL-002/bad_deprecated_snapshot.py
- fixtures/PLB-MDL-002/bad_deprecated_via_variable.py
- fixtures/PLB-MDL-002/good_current_model.py
- fixtures/PLB-MDL-003/bad_high_temp_tool_call.py
- fixtures/PLB-MDL-003/good_high_temp_no_tools.py
- fixtures/PLB-MDL-003/good_low_temp_tool_call.py
- fixtures/PLB-MDL-006/bad_claude_opus_top_p.py
- fixtures/PLB-MDL-006/bad_o3_temperature.py
- fixtures/PLB-MDL-006/good_gpt4o_temperature.py
- fixtures/PLB-MDL-006/good_o3_no_sampling.py
- fixtures/PLB-MDL-007/bad_budget_ge_maxtokens.py
- fixtures/PLB-MDL-007/bad_budget_too_small.py
- fixtures/PLB-MDL-007/good_budget_dynamic.py
- fixtures/PLB-MDL-007/good_budget_ok.py
- fixtures/PLB-MDL-008/bad_o3_max_tokens.py
- fixtures/PLB-MDL-008/good_claude_max_tokens.py
- fixtures/PLB-MDL-008/good_gpt4o_max_tokens.py
- fixtures/PLB-MDL-008/good_o3_max_completion_tokens.py
- fixtures/PLB-OBS-001/bad_no_tracing/agent.py
- fixtures/PLB-OBS-001/good_with_tracing/agent.py
- fixtures/PLB-OUT-001/bad_parse_direct.py
- fixtures/PLB-OUT-001/bad_unguarded_parse.py
- fixtures/PLB-OUT-001/good_guarded_parse.py
- fixtures/PLB-OUT-001/good_not_llm_output.py
- fixtures/PLB-OUT-002/bad_equality_branch.py
- fixtures/PLB-OUT-002/good_empty_guard.py
- fixtures/PLB-OUT-002/good_membership_validation.py
- fixtures/PLB-OUT-002/good_structured_dispatch.py
- fixtures/PLB-PRM-003/bad_openai_no_system.py
- fixtures/PLB-PRM-003/good_anthropic_system_kwarg.py
- fixtures/PLB-PRM-003/good_opaque_messages.py
- fixtures/PLB-PRM-003/good_openai_with_system.py
- fixtures/PLB-RES-001/bad_call_timeout_disabled.py
- fixtures/PLB-RES-001/bad_client_timeout_disabled.py
- fixtures/PLB-RES-001/good_call_timeout.py
- fixtures/PLB-RES-001/good_client_timeout.py
- fixtures/PLB-RES-001/good_sdk_default.py
- fixtures/PLB-RES-001/good_unknown_timeout.py
- fixtures/PLB-RES-002/bad_call_no_retries.py
- fixtures/PLB-RES-002/bad_client_no_retries.py
- fixtures/PLB-RES-002/good_default_retries.py
- fixtures/PLB-RES-002/good_explicit_retries.py
- fixtures/PLB-RES-005/bad_bare_except.py
- fixtures/PLB-RES-005/bad_broad_except_pass.py
- fixtures/PLB-RES-005/good_logs_and_returns.py
- fixtures/PLB-RES-005/good_specific_reraise.py
- fixtures/PLB-RES-010/bad_stream_assigned.py
- fixtures/PLB-RES-010/good_openai_responses_stream_with.py
- fixtures/PLB-RES-010/good_stream_with.py
- fixtures/PLB-SEC-002/bad_eval_llm_output.py
- fixtures/PLB-SEC-002/good_eval_constant.py
- fixtures/PLB-SEC-002/good_safe_dispatch.py
- fixtures/PLB-SEC-003/bad_shell_llm.py
- fixtures/PLB-SEC-003/good_argv_list.py
- fixtures/PLB-SEC-004/bad_hardcoded_key.py
- fixtures/PLB-SEC-004/good_env_and_placeholders.py
- fixtures/PLB-SEC-004/good_overloaded_token_names.py
- fixtures/PLB-SEC-004/good_sentinels_and_fakes.py
- fixtures/PLB-SEC-004/good_test_fakes.py
- fixtures/PLB-SEC-005/bad_sql_fstring.py
- fixtures/PLB-SEC-005/good_non_sql_execute.py
- fixtures/PLB-SEC-005/good_parameterized.py
- fixtures/PLB-SEC-006/bad_render_template_string.py
- fixtures/PLB-SEC-006/good_autoescaped.py
- fixtures/PLB-SEC-007/bad_ssrf_url.py
- fixtures/PLB-SEC-007/good_constant_url.py
- fixtures/PLB-TOOL-001/bad_crewai_no_schema.py
- fixtures/PLB-TOOL-001/bad_crewai_untyped.py
- fixtures/PLB-TOOL-001/bad_langchain_untyped.py
- fixtures/PLB-TOOL-001/good_crewai_basetool.py
- fixtures/PLB-TOOL-001/good_crewai_init_schema.py
- fixtures/PLB-TOOL-001/good_crewai_typed_run.py
- fixtures/PLB-TOOL-001/good_generic_wrapper.py
- fixtures/PLB-TOOL-001/good_langchain_typed.py
- fixtures/PLB-TOOL-003/bad_langchain_unguarded_http.py
- fixtures/PLB-TOOL-003/good_langchain_guarded_http.py
- fixtures/PLB-TOOL-003/good_pure_computation.py
- src/plumbline/__init__.py
- src/plumbline/adapters/__init__.py
- src/plumbline/adapters/base.py
- src/plumbline/adapters/crewai.py
- src/plumbline/adapters/gemini.py
- src/plumbline/adapters/langchain.py
- src/plumbline/adapters/litellm.py
- src/plumbline/adapters/openai_sdk.py
- src/plumbline/baseline.py
- src/plumbline/benchmark.py
- src/plumbline/cli.py
- src/plumbline/config.py
- src/plumbline/core/__init__.py
- src/plumbline/core/ast_layer.py
- src/plumbline/core/derive.py
- src/plumbline/core/evidence.py
- src/plumbline/core/taint.py
- src/plumbline/core/values.py
- src/plumbline/data/__init__.py
- src/plumbline/data/deprecated_models.py
- src/plumbline/data/reasoning_models.py
- src/plumbline/engine.py
- src/plumbline/enrichment.py
- src/plumbline/model.py
- src/plumbline/reporters/__init__.py
- src/plumbline/reporters/cli.py
- src/plumbline/reporters/html.py
- src/plumbline/reporters/json.py
- src/plumbline/reporters/sarif.py
- src/plumbline/rules/__init__.py
- src/plumbline/rules/_ast_helpers.py
- src/plumbline/rules/_harness_evidence.py
- src/plumbline/rules/_sinks.py
- src/plumbline/rules/_taint_flow.py
- src/plumbline/rules/agt/__init__.py
- src/plumbline/rules/agt/plb_agt_001.py
- src/plumbline/rules/agt/plb_agt_002.py
- src/plumbline/rules/agt/plb_agt_008.py
- src/plumbline/rules/base.py
- src/plumbline/rules/cost/__init__.py
- src/plumbline/rules/cost/plb_cost_001.py
- src/plumbline/rules/eval/__init__.py
- src/plumbline/rules/eval/plb_eval_001.py
- src/plumbline/rules/eval/plb_eval_003.py
- src/plumbline/rules/gov/__init__.py
- src/plumbline/rules/gov/plb_gov_001.py
- src/plumbline/rules/gov/plb_gov_002.py
- src/plumbline/rules/mcp/__init__.py
- src/plumbline/rules/mcp/plb_mcp_001.py
- src/plumbline/rules/mcp/plb_mcp_003.py
- src/plumbline/rules/mdl/__init__.py
- src/plumbline/rules/mdl/plb_mdl_001.py
- src/plumbline/rules/mdl/plb_mdl_002.py
- src/plumbline/rules/mdl/plb_mdl_003.py
- src/plumbline/rules/mdl/plb_mdl_006.py
- src/plumbline/rules/mdl/plb_mdl_007.py
- src/plumbline/rules/mdl/plb_mdl_008.py
- src/plumbline/rules/obs/__init__.py
- src/plumbline/rules/obs/plb_obs_001.py
- src/plumbline/rules/out/__init__.py
- src/plumbline/rules/out/plb_out_001.py
- src/plumbline/rules/out/plb_out_002.py
- src/plumbline/rules/prm/__init__.py
- src/plumbline/rules/prm/plb_prm_003.py
- src/plumbline/rules/res/__init__.py
- src/plumbline/rules/res/plb_res_001.py
- src/plumbline/rules/res/plb_res_002.py
- src/plumbline/rules/res/plb_res_005.py
- src/plumbline/rules/res/plb_res_010.py
- src/plumbline/rules/sec/__init__.py
- src/plumbline/rules/sec/plb_sec_002.py
- src/plumbline/rules/sec/plb_sec_003.py
- src/plumbline/rules/sec/plb_sec_004.py
- src/plumbline/rules/sec/plb_sec_005.py
- src/plumbline/rules/sec/plb_sec_006.py
- src/plumbline/rules/sec/plb_sec_007.py
- src/plumbline/rules/tool/__init__.py
- src/plumbline/rules/tool/plb_tool_001.py
- src/plumbline/rules/tool/plb_tool_003.py
- src/plumbline/scoring/__init__.py
- src/plumbline/scoring/pillars.py
- src/plumbline/scoring/readiness.py
- src/plumbline/skills/__init__.py
- src/plumbline/skills/export.py
- tests/__init__.py
- tests/adapters/__init__.py
- tests/adapters/test_crewai.py
- tests/adapters/test_gemini.py
- tests/adapters/test_langchain.py
- tests/adapters/test_litellm.py
- tests/adapters/test_openai_sdk.py
- tests/core/__init__.py
- tests/core/test_ast_layer.py
- tests/core/test_derive.py
- tests/core/test_taint.py
- tests/core/test_values.py
- tests/reporters/__init__.py
- tests/reporters/test_html.py
- tests/reporters/test_json.py
- tests/reporters/test_sarif.py
- tests/rules/__init__.py
- tests/rules/_harness.py
- tests/rules/agt/__init__.py
- tests/rules/agt/test_plb_agt_001.py
- tests/rules/agt/test_plb_agt_002.py
- tests/rules/agt/test_plb_agt_008.py
- tests/rules/cost/__init__.py
- tests/rules/cost/test_plb_cost_001.py
- tests/rules/eval/__init__.py
- tests/rules/eval/test_plb_eval_001.py
- tests/rules/eval/test_plb_eval_003.py
- tests/rules/gov/__init__.py
- tests/rules/gov/test_plb_gov_001.py
- tests/rules/gov/test_plb_gov_002.py
- tests/rules/mcp/__init__.py
- tests/rules/mcp/test_plb_mcp_001.py
- tests/rules/mcp/test_plb_mcp_003.py
- tests/rules/mdl/__init__.py
- tests/rules/mdl/test_plb_mdl_001.py
- tests/rules/mdl/test_plb_mdl_002.py
- tests/rules/mdl/test_plb_mdl_003.py
- tests/rules/mdl/test_plb_mdl_006.py
- tests/rules/mdl/test_plb_mdl_007.py
- tests/rules/mdl/test_plb_mdl_008.py
- tests/rules/obs/__init__.py
- tests/rules/obs/test_plb_obs_001.py
- tests/rules/out/__init__.py
- tests/rules/out/test_plb_out_001.py
- tests/rules/out/test_plb_out_002.py
- tests/rules/prm/__init__.py
- tests/rules/prm/test_plb_prm_003.py
- tests/rules/res/__init__.py
- tests/rules/res/test_plb_res_001.py
- tests/rules/res/test_plb_res_002.py
- tests/rules/res/test_plb_res_005.py
- tests/rules/res/test_plb_res_010.py
- tests/rules/sec/__init__.py
- tests/rules/sec/test_plb_sec_002.py
- tests/rules/sec/test_plb_sec_003.py
- tests/rules/sec/test_plb_sec_004.py
- tests/rules/sec/test_plb_sec_005.py
- tests/rules/sec/test_plb_sec_006.py
- tests/rules/sec/test_plb_sec_007.py
- tests/rules/test_base.py
- tests/rules/test_fixtures_meta.py
- tests/rules/tool/__init__.py
- tests/rules/tool/test_plb_tool_001.py
- tests/rules/tool/test_plb_tool_003.py
- tests/skills/__init__.py
- tests/skills/test_export.py
- tests/test_baseline.py
- tests/test_benchmark.py
- tests/test_cli.py
- tests/test_config.py
- tests/test_cross_module.py
- tests/test_dogfood.py
- tests/test_engine.py
- tests/test_enrichment.py
- tests/test_model.py
- tests/test_performance.py
- tests/test_robustness.py
- tests/test_scoring.py
- tests/test_suppressions.py