Repository Analysis

antoinezambelli/forge

A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows

43.0 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of antoinezambelli/forge, a Python project with 2,171 GitHub stars. SynthScan v2.0 examined 56,087 lines of code across 169 source files, recording 1788 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 43.0 places this repository in the Strong AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

43.0
Adjusted Score
43.0
Raw Score
100%
Time Factor
2026-07-10
Last Push
2.2K
Stars
Python
Language
56.1K
Lines of Code
169
Files
1.8K
Pattern Hits
2026-07-14
Scan Date
0.06
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 10MEDIUM 302LOW 1476

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1788 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1119 hits · 1032 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_argument_transformation.py55 def test_list_transactions_unknown_quarter_returns_empty(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py61 def test_get_approved_vendors_returns_canonical_six(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py71 def test_get_vendor_details_resolves_acme_alias(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py78 def test_get_vendor_details_acme_corp_lists_alias(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py83 def test_get_vendor_details_unknown_vendor_returns_not_found(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py89 def test_currency_convert_eur_to_usd_uses_fixed_rate(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py97 def test_currency_convert_under_threshold_eur(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py104 def test_currency_convert_unsupported_pair(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py110 def test_categorize_expense_is_distractor_no_audit_info(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py117 def test_lookup_transaction_redundant_helper(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py123 def test_lookup_transaction_unknown_id(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py127 def test_submit_audit_report_acks_inputs(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py156 def test_alt_format_no_comma_no_dollar_passes(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py166 def test_skip_currency_conversion_fails(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py174 def test_case_mismatch_over_flag_fails(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py183 def test_strict_gt_threshold_fails(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py190 def test_wrong_top_vendor_fails(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py195 def test_missing_one_id_fails(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py213 def test_lambda_scenario_terminal_is_submit_audit_report(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py216 def test_lambda_scenario_required_steps(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py221 def test_lambda_scenario_iteration_budget(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py225 def test_lambda_scenario_tags(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py251 def test_list_transactions_wrong_quarter_no_state(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py257 def test_get_approved_vendors_records_state(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py263 def test_get_vendor_details_acme_alias_records_state(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py269 def test_currency_convert_eur_records_state(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py275 def test_currency_convert_usd_to_eur_does_not_record_eur_flag(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py282 def test_submit_audit_report_records_args(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py389 def test_lambda_in_all_scenarios(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py394 def test_stateful_in_all_scenarios(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py297 def test_validate_state_requires_full_reasoning_path(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py319 def test_validate_state_false_when_skipped_currency_convert(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py333 def test_validate_state_false_when_skipped_vendor_details(self) -> None:CODE
LOWtests/unit/test_argument_transformation.py348 def test_validate_state_false_when_wrong_args_submitted(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py91 async def test_returns_text_response(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py101 async def test_missing_choices_raises_backend_error(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py111 async def test_null_content_returns_empty_text(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py121 async def test_malformed_tool_args_kept_as_raw_args(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py455 def test_bearer_header_set_when_key_provided(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py461 def test_no_auth_header_when_no_key(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py465 def test_base_url_trailing_slash_stripped(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py475 async def test_yields_text_deltas_and_final(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py828 def test_recommended_sampling_off_is_silent_for_unknown_model(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py838 def test_recommended_sampling_on_raises_for_unknown_model(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py143 async def test_malformed_tool_args_kept_even_with_assistant_text(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py164 async def test_malformed_among_several_kept_per_call(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py186 async def test_dict_tool_args_accepted(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py205 async def test_formats_tools_in_request(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py220 async def test_request_body_structure(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py235 async def test_posts_to_chat_completions(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py257 async def test_http_error_raises_backend_error(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py266 async def test_structured_reasoning_field_captured(self, field) -> None:CODE
LOWtests/unit/test_openai_compat_client.py287 async def test_extracts_think_tags_from_content_with_tool_call(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py307 async def test_reasoning_field_preferred_over_content_tags(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py326 async def test_content_preamble_not_treated_as_reasoning(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py348 async def test_think_tags_stripped_from_text_response(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py363 async def test_plain_preamble_text_response_survives(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py378 async def test_reasoning_attached_to_first_tool_call_only(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py399 async def test_empty_string_structured_field_falls_through_to_tags(self) -> None:CODE
LOWtests/unit/test_openai_compat_client.py420 async def test_non_string_reasoning_field_raises(self) -> None:CODE
1059 more matches not shown…
Decorative Section Separators275 hits · 916 pts
SeverityFileLineSnippetContext
MEDIUMtests/conftest.py12# ── Shared LLM client double ─────────────────────────────────────COMMENT
MEDIUMtests/unit/test_argument_transformation.py206# ── Scenario shape ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_argument_transformation.py230# ── Stateful backend ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_argument_transformation.py385# ── Scenario registered in ALL_SCENARIOS ────────────────────────COMMENT
MEDIUMtests/unit/test_argument_transformation.py30# ── Lambda tool callables ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_argument_transformation.py138# ── Validator ───────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py451# ── auth ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py470# ── send_stream ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py848# ── instance sampling flows into request body ────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py62# ── send ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py774# ── constructor ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py877# ── passthrough + inbound_anthropic_body ─────────────────────────COMMENT
MEDIUMtests/unit/test_openai_compat_client.py950# ── aclose ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_inconsistent_api_recovery.py32# ── Lambda tool callables ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_inconsistent_api_recovery.py249# ── Scenario shape ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_inconsistent_api_recovery.py280# ── Stateful backend ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_inconsistent_api_recovery.py364# ── Stateful validate_state ─────────────────────────────────────COMMENT
MEDIUMtests/unit/test_inconsistent_api_recovery.py205# ── Validator (lambda) ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_ollama_client.py766# ── outbound message normalization (#111 / #115) ─────────────────COMMENT
MEDIUMtests/unit/test_ollama_client.py877# ── get_context_length + set_num_ctx ─────────────────────────────COMMENT
MEDIUMtests/unit/test_ollama_client.py49# ── send ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_ollama_client.py397# ── send_stream ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_ollama_client.py962# ── format_tool ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_auth.py84# ── relocate_credential ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_auth.py130# ── resolve_inbound_credential ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_auth.py165# ── handler threading ────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_auth.py25# ── extract_inbound_credential ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_anthropic_client.py44# ── _convert_tools ───────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_anthropic_client.py84# ── _convert_messages ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_anthropic_client.py357# ── _parse_response ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_anthropic_client.py412# ── Usage reporting (slot-keyed last_usage) ──────────────────────COMMENT
MEDIUMtests/unit/test_anthropic_client.py450# ── Prompt caching (static tools+system breakpoint) ──────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1220# ── _apply_sampling ──────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1386# ── _extract_think_tags ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1951# ── Issue #121: Path.stem truncates dotted model names ─────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py162# ── send — native mode ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py644# ── send — prompt mode ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py734# ── get_context_length ───────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py774# ── discover_backend_metadata (deferred discovery) ───────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py853# ── send_stream ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1027 # ── send_stream — malformed-500 rescue (streaming twins) ──────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1202# ── mode ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1285# ── _merge_consecutive ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1462# ── think flag behavior — sync ────────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1631# ── think flag behavior — stream ──────────────────────────────────COMMENT
MEDIUMtests/unit/test_llamafile_client.py1726# ── slot_id ────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_templates.py25# ── build_tool_prompt ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_templates.py80# ── extract_tool_call ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_templates.py166# ── rescue_tool_call ────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_templates.py238# ── Qwen Coder XML format ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py22# ── check(): response validation ─────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py129# ── check(): step enforcement ────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py165# ── record() ─────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py201# ── CheckResult dataclass ────────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py217# ── Imports ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py232# ── Custom retry nudge ───────────────────────────────────────COMMENT
MEDIUMtests/unit/test_guardrails.py9# ── Helpers ──────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_path1.py24# ── ProxyServer construction validation ──────────────────────COMMENT
MEDIUMtests/unit/test_proxy_path1.py77# ── AnthropicClient verbatim path ────────────────────────────COMMENT
MEDIUMtests/unit/test_proxy_path1.py165# ── AnthropicClient base_url ─────────────────────────────────COMMENT
215 more matches not shown…
Unused Imports225 hits · 185 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py3CODE
LOWtests/unit/test_argument_transformation.py13CODE
LOWtests/unit/test_argument_transformation.py15CODE
LOWtests/unit/test_openai_compat_client.py11CODE
LOWtests/unit/test_response_validator.py6CODE
LOWtests/unit/test_step_enforcer.py3CODE
LOWtests/unit/test_inconsistent_api_recovery.py13CODE
LOWtests/unit/test_inconsistent_api_recovery.py25CODE
LOWtests/unit/test_ollama_client.py13CODE
LOWtests/unit/test_anthropic_client.py7CODE
LOWtests/unit/test_anthropic_client.py17CODE
LOWtests/unit/test_llamafile_client.py12CODE
LOWtests/unit/test_clients_base.py3CODE
LOWtests/unit/test_proxy_path1.py13CODE
LOWtests/unit/test_proxy_path1.py20CODE
LOWtests/unit/test_data_gap_recovery_extended.py12CODE
LOWtests/unit/test_data_gap_recovery_extended.py14CODE
LOWtests/unit/test_workflow.py4CODE
LOWtests/unit/test_workflow.py4CODE
LOWtests/unit/test_server.py3CODE
LOWtests/unit/test_server.py8CODE
LOWtests/unit/test_server.py15CODE
LOWtests/unit/test_slot_worker.py3CODE
LOWtests/unit/test_slot_worker.py6CODE
LOWtests/unit/test_slot_worker.py8CODE
LOWtests/unit/test_slot_worker.py14CODE
LOWtests/unit/test_slot_worker.py389CODE
LOWtests/unit/test_runner.py3CODE
LOWtests/unit/test_runner.py6CODE
LOWtests/unit/test_runner.py10CODE
LOWtests/unit/test_eval_budget.py3CODE
LOWtests/unit/test_eval_budget.py6CODE
LOWtests/unit/test_eval_budget.py8CODE
LOWtests/unit/test_eval_budget.py14CODE
LOWtests/unit/test_proxy_proxy.py9CODE
LOWtests/unit/test_batch_eval_resume.py9CODE
LOWtests/unit/test_client_auth.py15CODE
LOWtests/unit/test_respond_tool.py3CODE
LOWtests/unit/test_respond_tool.py4CODE
LOWtests/unit/test_respond_tool.py4CODE
LOWtests/unit/test_respond_tool.py4CODE
LOWtests/unit/test_respond_tool.py6CODE
LOWtests/unit/test_respond_tool.py6CODE
LOWtests/unit/test_respond_tool.py13CODE
LOWtests/unit/test_strategies.py4CODE
LOWtests/unit/test_grounded_synthesis.py12CODE
LOWtests/unit/test_grounded_synthesis.py23CODE
LOWtests/eval/metrics.py3CODE
LOWtests/eval/batch_eval.py11CODE
LOWtests/eval/batch_eval.py17CODE
LOWtests/eval/batch_eval.py28CODE
LOWtests/eval/ablation.py3CODE
LOWtests/eval/significance.py15CODE
LOWtests/eval/eval_runner.py3CODE
LOWtests/eval/eval_runner.py12CODE
LOWtests/eval/eval_runner.py18CODE
LOWtests/eval/report.py17CODE
LOWtests/eval/scenarios/_base.py3CODE
LOWtests/eval/scenarios/_stateful_plumbing.py3CODE
LOWtests/eval/scenarios/_model_reasoning.py10CODE
165 more matches not shown…
Modern AI Meta-Vocabulary24 hits · 66 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml74 # Integration-only: lifecycle orchestration requiring real backends/threads.COMMENT
MEDIUMREADME.md3[![PyPI](https://img.shields.io/pypi/v/forge-guardrails.svg)](https://pypi.org/project/forge-guardrails/)CODE
MEDIUMREADME.md15- **Not a coding harness.** Forge is domain-agnostic. If you're building a coding agent (or already using one like opencCODE
MEDIUMREADME.md129Drop-in proxy that sits between any client and a local model server, speaking both the OpenAI chat-completions API and tCODE
MEDIUMREADME.md251 runner.py # WorkflowRunner — the agentic loopCODE
MEDIUMCONTRIBUTING.md74### Adding or modifying guardrailsCOMMENT
MEDIUMtests/unit/test_openai_compat_client.py422 # it into replayable chain-of-thought.COMMENT
MEDIUMtests/unit/test_openai_compat_client.py728 # never repr-coerced into chain-of-thought.COMMENT
MEDIUMtests/unit/test_proxy_handler.py274# ── With tools → guardrails ─────────────────────────────────COMMENT
MEDIUMtests/eval/report.py1350 ("## Full Ablation — which guardrails do the work?", lambda rp: rp == "ablation.md"),CODE
MEDIUMtests/eval/scenarios/_model_reasoning.py569# guardrails-vs-bare ablation: bare runs hit the first error andCOMMENT
MEDIUMdocs/USER_GUIDE.md109### Mode 3: Middleware (composable guardrails)COMMENT
MEDIUMdocs/WORKFLOW.md447└── reasoning: str | None # chain-of-thought (thinking models)CODE
MEDIUMdocs/EVAL_GUIDE.md84# Ablation — bare (all guardrails off)COMMENT
MEDIUMdocs/decisions/MULTI_MODEL_ROUTING.md166# Consumer orchestration codeCOMMENT
MEDIUMsrc/forge/clients/vllm.py520 # would silently mis-size the context window. No entry, no budget:COMMENT
MEDIUMsrc/forge/clients/sampling_defaults.py171 # explicit chain of thought). Card recommends temperature=0.2, top_k=80, repetition_penalty=1.05COMMENT
MEDIUMsrc/forge/clients/openai_compat.py381 # chain-of-thought.COMMENT
MEDIUMsrc/forge/proxy/handler.py335 # in tool-calling mode where guardrails apply. The respond call isCOMMENT
MEDIUMsrc/forge/proxy/handler.py349 # No tools → plain chat completion, no guardrails needed.COMMENT
MEDIUMsrc/forge/proxy/handler.py370 # Set up guardrailsCOMMENT
MEDIUMsrc/forge/proxy/handler.py394 # error. The client's own agentic loop can decide what to do.COMMENT
MEDIUMsrc/forge/proxy/proxy.py321 # guardrails wrap its inference loop like any other client.COMMENT
MEDIUMsrc/forge/proxy/proxy.py323 # (forge-guardrails[anthropic]). Only Path 1 needs it, soCOMMENT
Deep Nesting32 hits · 30 pts
SeverityFileLineSnippetContext
LOWtests/eval/metrics.py260CODE
LOWtests/eval/batch_eval.py589CODE
LOWtests/eval/batch_eval.py672CODE
LOWtests/eval/significance.py91CODE
LOWtests/eval/eval_runner.py234CODE
LOWtests/eval/eval_runner.py405CODE
LOWtests/eval/report.py317CODE
LOWtests/eval/report.py789CODE
LOWscripts/run_ablation.py102CODE
LOWscripts/migrate_eval_jsonl_gguf_identity.py100CODE
LOWsrc/forge/server.py545CODE
LOWsrc/forge/server.py505CODE
LOWsrc/forge/clients/llamafile.py207CODE
LOWsrc/forge/clients/llamafile.py250CODE
LOWsrc/forge/clients/anthropic.py240CODE
LOWsrc/forge/clients/anthropic.py528CODE
LOWsrc/forge/clients/ollama.py29CODE
LOWsrc/forge/clients/ollama.py381CODE
LOWsrc/forge/clients/base.py179CODE
LOWsrc/forge/context/strategies.py204CODE
LOWsrc/forge/core/steps.py53CODE
LOWsrc/forge/core/runner.py88CODE
LOWsrc/forge/core/workflow.py68CODE
LOWsrc/forge/proxy/server.py143CODE
LOWsrc/forge/proxy/server.py359CODE
LOWsrc/forge/proxy/proxy.py306CODE
LOWsrc/forge/proxy/convert.py17CODE
LOWsrc/forge/proxy/convert_anthropic.py20CODE
LOWsrc/forge/prompts/templates.py12CODE
LOWsrc/forge/prompts/templates.py55CODE
LOWsrc/forge/prompts/templates.py185CODE
LOWsrc/forge/prompts/templates.py238CODE
Structural Annotation Overuse16 hits · 28 pts
SeverityFileLineSnippetContext
LOWtests/eval/scenarios/_compaction_chain.py532 # Step 1: patient MRN (not in user message)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py534 # Step 3: lab values (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py536 # Step 4: imaging findings (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py538 # Step 5: specialist (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py540 # Step 6: medication concern (only from tool result)COMMENT
LOWdocs/decisions/003-thinking-label-ux.md64### Step 1: Add `_resolve_reasoning()` to OllamaClientCOMMENT
LOWdocs/decisions/003-thinking-label-ux.md86### Step 2: Use it in `send()` (batch path)COMMENT
LOWdocs/decisions/003-thinking-label-ux.md102### Step 3: Use it in `_iter_stream()` (streaming path)COMMENT
LOWdocs/decisions/003-thinking-label-ux.md124### Step 4: Add unit testsCOMMENT
LOWdocs/decisions/003-thinking-label-ux.md187### Step 5: Update README roadmapCOMMENT
LOWdocs/decisions/004-async-on-chunk.md75### Step 1: Change type signatureCOMMENT
LOWdocs/decisions/004-async-on-chunk.md91### Step 2: Await the callback in `_send_streaming()`COMMENT
LOWdocs/decisions/004-async-on-chunk.md107### Step 3: Update `_make_runner` helper type hintCOMMENT
LOWdocs/decisions/004-async-on-chunk.md127### Step 4: Update the testCOMMENT
LOWdocs/decisions/004-async-on-chunk.md171### Step 5: Update docstringCOMMENT
LOWdocs/decisions/004-async-on-chunk.md180### Step 6: Update README roadmapCOMMENT
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHsrc/forge/server.py348Resolve the ContextManager budget for the given mode. Args: mode: The budget mode to use. STRING
HIGHsrc/forge/server.py397Start server with the specified budget mode and return the resolved budget. Handles the mode-specific startup dSTRING
HIGHsrc/forge/clients/sampling_defaults.py235Apply the recommended-sampling policy for ``model``. Called by client constructors at instantiation time. The four-STRING
HIGHsrc/forge/core/inference.py186Send messages to the LLM with compaction, folding, validation, and retry. Retries are handled internally — the callSTRING
HIGHsrc/forge/core/slot_worker.py65Submit a workflow for execution and wait for the result. Args: workflow: The workflow to execute. STRING
Fake / Example Data18 hits · 22 pts
SeverityFileLineSnippetContext
LOWtests/unit/test_argument_transformation.py64 "Acme Corp", "Globex Industries", "Initech Systems",CODE
LOWtests/unit/test_argument_transformation.py79 out = self._call("get_vendor_details", vendor_name="Acme Corp")CODE
LOWtests/unit/test_argument_transformation.py260 assert "Acme Corp" in outCODE
LOWtests/unit/test_inconsistent_api_recovery.py43 assert "Acme Corp" in outCODE
LOWtests/unit/test_inconsistent_api_recovery.py298 assert "Acme Corp" in outCODE
LOWtests/eval/scenarios/_base.py15 placeholder_field: str = Field(description="placeholder")CODE
LOWtests/eval/scenarios/_base.py49 spec=ToolSpec(name=terminal_tool, description="placeholder",CODE
LOWtests/eval/scenarios/_base.py56 spec=ToolSpec(name=s, description="placeholder",CODE
LOWtests/eval/scenarios/_base.py64 description="placeholder",CODE
LOWtests/eval/scenarios/_model_reasoning.py300# approved 'Acme Corp'. Literal string compare over-flags it;COMMENT
LOWtests/eval/scenarios/_model_reasoning.py313 "Acme Corp",CODE
LOWtests/eval/scenarios/_model_reasoning.py326 ("TX-1002", "2024-10-12", "Acme Corp", 12000, "USD", False), # approvedCODE
LOWtests/eval/scenarios/_model_reasoning.py377 if name == "Acme Corp":CODE
LOWtests/eval/scenarios/_model_reasoning.py621 (12345, "Acme Corp"),CODE
LOWtests/eval/scenarios/_stateful_model_reasoning.py368 "Acme Corp",CODE
LOWtests/eval/scenarios/_stateful_model_reasoning.py378 ("TX-1002", "2024-10-12", "Acme Corp", 12000, "USD"),CODE
LOWtests/eval/scenarios/_stateful_model_reasoning.py441 if name == "Acme Corp":CODE
LOWtests/eval/scenarios/_stateful_model_reasoning.py681 (12345, "Acme Corp"),CODE
Cross-File Repetition4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHsrc/forge/clients/vllm.py0per-call headers to apply, enforcing the one-credential rule. returns the dict to pass as httpx ``headers=`` (merged oveSTRING
HIGHsrc/forge/clients/llamafile.py0per-call headers to apply, enforcing the one-credential rule. returns the dict to pass as httpx ``headers=`` (merged oveSTRING
HIGHsrc/forge/clients/openai_compat.py0per-call headers to apply, enforcing the one-credential rule. returns the dict to pass as httpx ``headers=`` (merged oveSTRING
HIGHsrc/forge/clients/ollama.py0per-call headers to apply, enforcing the one-credential rule. returns the dict to pass as httpx ``headers=`` (merged oveSTRING
Excessive Try-Catch Wrapping17 hits · 18 pts
SeverityFileLineSnippetContext
LOWtests/eval/batch_eval.py562 except Exception:CODE
LOWtests/eval/batch_eval.py581 except Exception as exc:CODE
LOWtests/eval/eval_runner.py320 except Exception as exc:CODE
LOWtests/eval/eval_runner.py330 except Exception as exc:CODE
LOWtests/eval/eval_runner.py369 except Exception as exc:CODE
LOWtests/eval/eval_runner.py666 except Exception as exc:CODE
LOWdocs/ARCHITECTURE.md27except Exception:CODE
LOWscripts/integration_test_proxy.py375 except Exception as exc:CODE
LOWscripts/run_ablation.py170 except Exception as e:CODE
LOWsrc/forge/core/runner.py345 except Exception as exc:CODE
LOWsrc/forge/core/slot_worker.py137 except Exception as exc:CODE
LOWsrc/forge/proxy/server.py137 except Exception as exc:CODE
LOWsrc/forge/proxy/server.py208 except Exception:CODE
LOWsrc/forge/proxy/server.py212 except Exception:CODE
LOWsrc/forge/proxy/server.py218 except Exception:CODE
LOWsrc/forge/proxy/server.py356 except Exception as exc:CODE
LOWsrc/forge/proxy/server.py445 except Exception as exc:CODE
Modern Structural Boilerplate14 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/eval/scenarios/__init__.py81__all__ = [CODE
LOWscripts/integration_test_proxy.py71def _setup_logging() -> None:CODE
LOWsrc/forge/__init__.py75__all__ = [CODE
LOWsrc/forge/clients/vllm.py157 def _set_model_identity(self, wire_id: str | Path) -> None:CODE
LOWsrc/forge/clients/__init__.py14__all__ = [CODE
LOWsrc/forge/clients/ollama.py444 def set_num_ctx(self, num_ctx: int | None) -> None:CODE
LOWsrc/forge/tools/__init__.py9__all__ = [CODE
LOWsrc/forge/context/__init__.py19__all__ = [CODE
LOWsrc/forge/context/hardware.py21logger = logging.getLogger(__name__)CODE
LOWsrc/forge/context/manager.py93 def update_token_count(self, total_tokens: int) -> None:CODE
LOWsrc/forge/core/__init__.py3__all__ = ["WorkflowRunner"]CODE
LOWsrc/forge/guardrails/__init__.py19__all__ = [CODE
LOWsrc/forge/proxy/__init__.py5__all__ = ["ProxyServer"]CODE
LOWsrc/forge/prompts/__init__.py6__all__ = [CODE
AI Structural Patterns14 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/eval/batch_eval.py672CODE
LOWsrc/forge/server.py545CODE
LOWsrc/forge/server.py73CODE
LOWsrc/forge/server.py382CODE
LOWsrc/forge/clients/vllm.py58CODE
LOWsrc/forge/clients/llamafile.py324CODE
LOWsrc/forge/clients/openai_compat.py53CODE
LOWsrc/forge/clients/anthropic.py105CODE
LOWsrc/forge/clients/ollama.py98CODE
LOWsrc/forge/core/runner.py34CODE
LOWsrc/forge/core/inference.py165CODE
LOWsrc/forge/proxy/server.py58CODE
LOWsrc/forge/proxy/handler.py198CODE
LOWsrc/forge/proxy/proxy.py60CODE
Over-Commented Block15 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/eval/scenarios/_model_reasoning.py61 top_vendor: str = Field(description="Vendor of the single largest flagged transaction")COMMENT
LOWtests/eval/scenarios/_model_reasoning.py281 tags=["advanced_reasoning", "reasoning", "model_quality"],COMMENT
LOWtests/eval/scenarios/_model_reasoning.py561COMMENT
LOWtests/eval/scenarios/_model_reasoning.py881 "txn_count (int)."COMMENT
LOWtests/eval/scenarios/_model_reasoning.py901# Sarah Chen — top-decile attractor; BLOCKER: Stripe non-competeCOMMENT
LOWexamples/foreign_loop.py141# The respond tool eliminates this ambiguity: the model callsCOMMENT
LOWsrc/forge/clients/sampling_defaults.py101 "Mistral-Small-4-119B-2603-UD-Q4_K_M": {"temperature": 0.7, "chat_template_kwargs": {"reasoning_effort": "high"}}, COMMENT
LOWsrc/forge/clients/sampling_defaults.py121 # T=1.0, top_p=0.95 across all tasks. Coding-agent serving guidance also adds force_nonempty_contentCOMMENT
LOWsrc/forge/clients/sampling_defaults.py161 "Ministral-3-8B-Reasoning-2512-Q4_K_M": {"temperature": 0.7}, # https://huggingface.co/mistralai/Ministral-3-8B-ReCOMMENT
LOWsrc/forge/clients/llamafile.py41# ``*.gguf``/``*.llamafile`` files, but it silently truncates BARE dottedCOMMENT
LOWsrc/forge/clients/anthropic.py121 self._tool_choice = tool_choice # "auto", "any", or None (default=auto)COMMENT
LOWsrc/forge/clients/anthropic.py141 # One credential per request. ``static_auth`` reflects an explicitlyCOMMENT
LOWsrc/forge/guardrails/nudge.py41COMMENT
LOWsrc/forge/proxy/handler.py301 # ADR-015.COMMENT
LOWsrc/forge/proxy/proxy.py381COMMENT
Verbosity Indicators5 hits · 11 pts
SeverityFileLineSnippetContext
LOWtests/eval/scenarios/_compaction_chain.py532 # Step 1: patient MRN (not in user message)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py534 # Step 3: lab values (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py536 # Step 4: imaging findings (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py538 # Step 5: specialist (only from tool result)COMMENT
LOWtests/eval/scenarios/_compaction_chain.py540 # Step 6: medication concern (only from tool result)COMMENT
AI Slop Vocabulary2 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml75 # Covered by eval harness runs, not unit tests.COMMENT
MEDIUMtests/unit/test_proxy_auth.py43 # The proxy lowercases keys, but be robust to mixed case anyway.COMMENT
Self-Referential Comments1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/test_server.py239 # Create a fake llamafile runtime in tmp_pathCOMMENT
Cross-Language Confusion1 hit · 2 pts
SeverityFileLineSnippetContext
HIGHsrc/forge/prompts/nudges.py69 args content (e.g. an empty string, null, a list, or a primitiveSTRING
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWexamples/foreign_loop.py175 # Check if the model called respond -- extract the messageCOMMENT