AI Slop Code RIsk Monitor

Observal/Observal

Observal is self-hosted registry for your coding agent extensions with a built in insight engine. Setup Observal, define the scope and share your Skills, MCPs and Agents with your peers.

35.9 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Observal/Observal, a Python project with 4,353 GitHub stars. SynthScan examined 413,138 lines of code across 1519 source files, recording 9920 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 35.9 (High pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

35.9
Adjusted Signal
35.9
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
4.4K
Stars
Python
Language
413.1K
Lines of Code
1.5K
Files
9.9K
Pattern Hits
2026-10-12
Scan Date
0.19
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 54.5/100 · HIGH

Can maintainers explain intent, assumptions, and trade-offs? 6720 finding(s).

Hallucinated Dependency & Supply Chain Risk 12.6/100 · LOW

Are imports declared and package/API names verified? 855 finding(s).

Agent Over-Engineering Ratio 78.7/100 · CRITICAL

Are wrappers, guards, and repeated structures necessary? 8519 finding(s).

PR Review Velocity Impact 84.0/100 · CRITICAL

Which changes need focused human review? 9920 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 1HIGH 282MEDIUM 1909LOW 7728

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 9920 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators1775 hits · 5910 pts
SeverityFileLineSnippetContext
MEDIUMinstall-server.sh25# ── Helpers ──────────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh35# ── Parse arguments ──────────────────────────────────────────COMMENT
MEDIUM⚡install-server.sh105# ── Pre-flight ───────────────────────────────────────────────COMMENT
MEDIUM⚡install-server.sh111# ── Resolve version ──────────────────────────────────────────COMMENT
MEDIUM⚡install-server.sh121# ── Download ─────────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh139# ── Stage and preserve previous package ────────────────────COMMENT
MEDIUMinstall-server.sh208# ── Run setup and restore on ordinary failure ───────────────COMMENT
MEDIUM⚡.pre-commit-config.yaml10 # ── Python ─────────────────────────────────────────────COMMENT
MEDIUM⚡.pre-commit-config.yaml18 # ── YAML / TOML / JSON ────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml42 # ── Secrets / .env guard ───────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml51 # ── Alembic migrations ─────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml62 # ── SPDX copyright update ──────────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml73 # ── Docker ─────────────────────────────────────────────COMMENT
MEDIUMinstall.sh22# ── Helpers ──────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh32# ── Parse arguments ──────────────────────────────────────────COMMENT
MEDIUMinstall.sh86# ── Detect platform ──────────────────────────────────────────COMMENT
MEDIUMinstall.sh108# ── Resolve version ──────────────────────────────────────────COMMENT
MEDIUMinstall.sh122# ── Download and verify ──────────────────────────────────────COMMENT
MEDIUMinstall.sh160# ── Install ──────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh172# ── Write install metadata ──────────────────────────────────COMMENT
MEDIUMpyproject.toml73# ── Ruff ─────────────────────────────────────────────────COMMENT
MEDIUMpyproject.toml120# ── Pytest ───────────────────────────────────────────────COMMENT
MEDIUMpyproject.toml126# ── Bandit ───────────────────────────────────────────────COMMENT
MEDIUM⚡infra/terraform/deploy.sh6# ================================COMMENT
MEDIUM⚡infra/terraform/deploy.sh17# ── Output formatting ────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh38# ── Help ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh52# ── Banner ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh58# ── Tier Selection ───────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh88# ── Pre-flight: Terraform ────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh115# ── Pre-flight: AWS credentials ──────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh132# ── terraform.tfvars setup ───────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh160# ── Validation loop ──────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh319# ── Summary ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh328# ── Apply ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh404# ── Post-apply ───────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh442# ── Final output ─────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh13# ── Read Terraform outputs ───────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh34# ── Helper: run command on instance via SSM ──────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh82# ── Wait for SSM agent to come online ────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh102# ── Wait for startup script to finish ────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh118# ── Deploy server package (pre-built images from GHCR) ───────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh125# ── Configure .env ───────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh150# ── Configure TLS (if domain set) ───────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh157# ── Pull and start (pre-built images — fast) ────────────────────────────────COMMENT
MEDIUMinfra/terraform/aws-ec2/deploy.sh174# ── Health check ─────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf28# ── Network ────────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf42# ── DNS / TLS ──────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf56# ── Container images ──────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf76# ── Cloud Run (api) ───────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf102# ── Cloud Run (web) ───────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf128# ── Cloud Run (worker) ────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf154# ── Data tier (ClickHouse on GCE) ─────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf168# ── Cloud SQL ─────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf192# ── Memorystore Redis ─────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf210# ── Application config ────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf249# ── Backups ───────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/cloud-run.tf24# ── API service ───────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/cloud-run.tf165# ── Web service ───────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/cloud-run.tf209# ── Worker service ────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/cloud-run.tf292# ── Init job (migrations) ─────────────────────────────────────────────────COMMENT
1715 more matches not shown…
Hyper-Verbose Identifiers6118 hits · 5554 pts
SeverityFileLineSnippetContext
LOWconftest.py16def _isolated_registry_lockfile(tmp_path, monkeypatch):CODE
LOWobserval_cli/skill_folder.py382def detect_destination_collisions(CODE
LOWobserval_cli/cmd_team.py383def approve_visibility_request(CODE
LOWobserval_cli/cmd_team.py404def reject_visibility_request(CODE
LOWobserval_cli/cmd_agent.py271def _validate_agent_definition(data: dict, *, operation: str) -> dict:CODE
LOWobserval_cli/cmd_agent.py1416def _components_from_capabilities(since: str, *, operation: str) -> tuple[list[dict], list[str], list[str]]:CODE
LOWobserval_cli/cmd_share.py61def discover_repository_agents(directory: str = ".") -> tuple[Path, list[dict]]:CODE
LOWobserval_cli/lockfile.py555def agent_entry_is_registry_backed(entry: dict | None) -> bool:CODE
LOWobserval_cli/config.py146def migrate_shimmed_mcp_configs(home: Path | None = None, cwd: Path | None = None) -> list[Path]:CODE
LOWobserval_cli/client.py327def resolve_registry_reference(item_type: str, reference: str) -> str:CODE
LOWobserval_cli/client.py711def get_registered_agents_only() -> bool:CODE
LOWobserval_cli/client.py734def get_registered_agent_names() -> set[str]:CODE
LOWobserval_cli/cmd_pull.py269def _component_input_definitions(listing: dict, field: str, kind: str, component: str) -> list[dict]:CODE
LOWobserval_cli/cmd_pull.py620def _rewrite_kiro_agent_profile(content: dict, agent_id: str | None = None) -> dict:CODE
LOWobserval_cli/cmd_pull.py676def _rewrite_copilot_cli_hooks(content: dict, agent_id: str | None = None) -> dict:CODE
LOWobserval_cli/cmd_pull.py794def _reports_written_sessions(paths: list[str]) -> bool:CODE
LOWobserval_cli/cmd_pull.py1245def rewrite_observal_interpreter(value):CODE
LOWobserval_cli/cmd_pull.py1278def _preflight_existing_managed_skill_paths(CODE
LOWobserval_cli/cmd_pull.py1424def _record_managed_agent_component(CODE
LOWobserval_cli/cmd_pull.py1523def _restore_prior_managed_agent_entry(CODE
LOWobserval_cli/cmd_pull.py1565def _rollback_managed_agent_folders(applied: list[tuple[dict, dict]]) -> list[str]:CODE
LOWobserval_cli/cmd_pull.py1597def _rollback_managed_agent_state(CODE
LOWobserval_cli/cmd_doctor.py217def _check_observal_skill_missing() -> list[str]:CODE
LOWobserval_cli/cmd_mcp.py102def _configure_env_vars_interactive(detected: list[dict]) -> list[dict]:CODE
LOWobserval_cli/cmd_mcp.py293def _parse_server_json_manifest(cfg: dict) -> dict | None:CODE
LOWobserval_cli/cmd_mcp.py1079def _install_input_definitions(listing: dict, field: str, kind: str) -> list[dict]:CODE
LOWobserval_cli/lockfile_reconcile.py81def plan_lockfile_reconciliation() -> LockfileReconciliation:CODE
LOW⚡observal_cli/cmd_auth.py1561def _generate_initial_layer_snapshot():CODE
LOWobserval_cli/cmd_auth.py235def _ensure_cli_matches_server(server_url: str) -> None:CODE
LOWobserval_cli/cmd_auth.py1582def _install_or_check_pi_extension():CODE
LOWobserval_cli/cmd_insights.py364def _render_what_they_work_on(title: str, data: dict):CODE
LOWobserval_cli/cmd_insights.py378def _render_interaction_style(title: str, data: dict):CODE
LOWobserval_cli/cmd_insights.py485def _render_registry_match_note(summary: dict | None):CODE
LOWobserval_cli/cmd_insights.py619def _render_version_comparison(title: str, data: dict):CODE
LOWobserval_cli/cmd_archive.py31def _require_confirmation_bypass(output: OutputMode, yes: bool, operation: str) -> None:CODE
LOWobserval_cli/cmd_server.py595def _get_current_server_version(compose_dir: Path) -> str:CODE
LOWobserval_cli/layer.py467def _get_observal_managed_files(lockfile_data: dict, harness: str, project_dir: str | None) -> set[str]:CODE
LOWobserval_cli/cmd_skill.py1294def _protect_legacy_skill_install(CODE
LOWobserval_cli/cmd_skill.py1536def install_skill_registry_direct(CODE
LOWobserval_cli/version_check.py307def fetch_available_server_images() -> list[str]:CODE
LOWobserval_cli/version_check.py358def verify_server_image_exists(version: str) -> bool:CODE
LOW⚡observal_cli/version_check.py546def check_version_compatibility(server_url: str) -> None:CODE
LOWobserval_cli/cmd_transfer.py25def add_transfer_owner_command(app: typer.Typer, entity_type: str) -> None:CODE
LOWobserval_cli/cmd_migrate.py141def _warn_clickhouse_cleartext(url: str, output: OutputMode) -> None:CODE
LOWobserval_cli/main.py118def _migrate_legacy_mcp_configs() -> None:CODE
LOWobserval_cli/pi_extension.py208def _is_observal_local_install(home: Path | None = None) -> bool:CODE
LOWobserval_cli/skill_installer.py109def _remove_antigravity_legacy_files(source_dir: Path, skill_file: Path) -> None:CODE
LOWobserval_cli/skill_installer.py137def _is_unchanged_bundled_copy(source_dir: Path, skill_file: Path) -> bool:CODE
LOWobserval_cli/skill_installer.py200def _reconcile_observal_skills(home: Path, *, install_missing: bool) -> tuple[list[str], list[str]]:CODE
LOWobserval_cli/skill_installer.py245def missing_observal_skill_harnesses(home: Path | None = None) -> list[str]:CODE
LOWobserval_cli/discovery/normalize.py50def canonicalize_python_package_name(name: str) -> str:CODE
LOWobserval_cli/discovery/normalize.py87def _split_python_requirement(requirement: str) -> tuple[str, str | None, str | None] | None:CODE
LOWobserval_cli/discovery/normalize.py176def extract_mcp_launch_metadata(config: Mapping[str, object]) -> McpLaunchMetadata:CODE
LOWobserval_cli/discovery/redact.py275def sanitize_diagnostic_message(message: object) -> str:CODE
LOW⚡observal_cli/tests/test_public_access.py12def test_anonymous_read_defaults_to_public_server():CODE
LOW⚡observal_cli/tests/test_public_access.py21def test_token_without_server_does_not_fall_back_to_public_instance():CODE
LOW⚡observal_cli/tests/test_public_access.py27def test_optional_client_omits_authorization_header():CODE
LOWobserval_cli/tests/test_public_access.py45def test_optional_client_uses_token_when_available():CODE
LOWobserval_cli/tests/test_public_access.py60def test_post_public_uses_optional_auth_client():CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py9def test_listings_render_the_bare_name_over_an_at_handle():CODE
6058 more matches not shown…
Empty Error Handlers165 hits · 825 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/upgrade_executor.py257except OSError:CODE
HIGHobserval_cli/skill_folder.py540except OSError:CODE
HIGHobserval_cli/lockfile.py682except Exception:CODE
HIGHobserval_cli/lockfile.py769except OSError:CODE
HIGHobserval_cli/telemetry_buffer.py103except OSError:CODE
HIGHobserval_cli/render.py247except (ValueError, TypeError):CODE
HIGHobserval_cli/cmd_ops.py760except ValueError:CODE
HIGHobserval_cli/cmd_ops.py2072except InvalidVersion:CODE
HIGHobserval_cli/cmd_ops.py2219except InvalidVersion:CODE
HIGHobserval_cli/client.py367except ValueError:CODE
HIGHobserval_cli/client.py380except Exception:CODE
HIGHobserval_cli/client.py752except Exception:CODE
HIGHobserval_cli/client.py775except Exception:CODE
HIGHobserval_cli/sandbox_runner.py154except Exception:CODE
HIGHobserval_cli/sandbox_runner.py203except OSError:CODE
HIGHobserval_cli/cmd_auth.py539except (httpx.HTTPError, ValueError, TypeError):CODE
HIGHobserval_cli/cmd_auth.py901except Exception:CODE
HIGHobserval_cli/cmd_auth.py1503except (SystemExit, typer.Exit, typer.Abort):CODE
HIGHobserval_cli/cmd_auth.py1557except Exception:CODE
HIGHobserval_cli/cmd_auth.py1571except Exception:CODE
HIGHobserval_cli/cmd_auth.py1736except Exception:CODE
HIGHobserval_cli/cmd_auth.py1758except Exception:CODE
HIGHobserval_cli/cmd_auth.py1782except Exception:CODE
HIGHobserval_cli/cmd_auth.py1834except Exception:CODE
HIGHobserval_cli/cmd_auth.py1536except (KeyError, NotSupportedError):CODE
HIGHobserval_cli/layer.py314except OSError:CODE
HIGHobserval_cli/layer.py541except (OSError, json.JSONDecodeError):CODE
HIGHobserval_cli/layer.py551except (OSError, json.JSONDecodeError):CODE
HIGHobserval_cli/layer.py570except OSError:CODE
HIGHobserval_cli/version_check.py125except (FileNotFoundError, subprocess.TimeoutExpired, OSError):CODE
HIGHobserval_cli/cmd_scan.py351except Exception:CODE
HIGHobserval_cli/cmd_scan.py197except NotSupportedError:CODE
HIGHobserval_cli/cmd_scan.py300except Exception:CODE
HIGHobserval_cli/cmd_scan.py307except Exception:CODE
HIGHobserval_cli/cmd_scan.py314except Exception:CODE
HIGHobserval_cli/skill_installer.py288except (OSError, _json.JSONDecodeError):CODE
HIGHobserval_cli/harness_specs/antigravity_hooks_spec.py77except Exception:CODE
HIGHobserval_cli/harness_specs/goose_hooks_spec.py76except Exception:CODE
HIGHobserval_cli/harness_specs/claude_code_hooks_spec.py42except Exception:CODE
HIGHobserval_cli/harness_specs/copilot_cli_hooks_spec.py42except Exception:CODE
HIGHobserval_cli/harness_specs/codex_hooks_spec.py33except Exception:CODE
HIGHobserval_cli/harness_specs/kiro_hooks_spec.py54except Exception:CODE
HIGHobserval_cli/server/backup.py222except (subprocess.TimeoutExpired, ValueError, OSError):CODE
HIGHobserval_cli/server/updater.py88except (json.JSONDecodeError, KeyError):CODE
HIGHobserval_cli/server/orchestrator.py63except (OSError, ValueError):CODE
HIGHobserval_cli/server/orchestrator.py350except httpx.ConnectError:CODE
HIGHobserval_cli/server/orchestrator.py373except (ProcessLookupError, ValueError):CODE
HIGHobserval_cli/server/orchestrator.py450except (ProcessLookupError, ValueError):CODE
HIGHobserval_cli/server/orchestrator.py575except (ProcessLookupError, ValueError):CODE
HIGHobserval_cli/server/orchestrator.py636except (httpx.ConnectError, httpx.ReadTimeout):CODE
HIGHobserval_cli/server/orchestrator.py790except Exception:CODE
HIGHobserval_cli/shared/utils.py82except Exception:CODE
HIGHobserval_cli/shared/utils.py100except Exception:CODE
HIGHobserval_cli/delegation/local.py261except subprocess.TimeoutExpired:CODE
HIGHobserval_cli/delegation/mcp_server.py245except KeyboardInterrupt:CODE
HIGHobserval_cli/harness/goose.py424except OSError:CODE
HIGHobserval_cli/harness/goose.py443except OSError:CODE
HIGHobserval_cli/harness/copilot_cli.py201except (json.JSONDecodeError, OSError):CODE
HIGHobserval_cli/harness/copilot_cli.py244except OSError:CODE
HIGHobserval_cli/harness/copilot_cli.py277except OSError:CODE
105 more matches not shown…
Unused Imports688 hits · 606 pts
SeverityFileLineSnippetContext
LOWconftest.py10CODE
LOWtools/release.py6CODE
LOWobserval_cli/upgrade_executor.py9CODE
LOWobserval_cli/project_lock.py16CODE
LOWobserval_cli/cmd_recommend.py11CODE
LOWobserval_cli/cmd_mcp_sync.py6CODE
LOWobserval_cli/cmd_inbox.py6CODE
LOWobserval_cli/skill_folder.py23CODE
LOWobserval_cli/cmd_team.py6CODE
LOWobserval_cli/cmd_discover.py25CODE
LOWobserval_cli/cmd_support.py12CODE
LOWobserval_cli/cmd_hook.py7CODE
LOWobserval_cli/cmd_agent.py12CODE
LOWobserval_cli/cmd_share.py7CODE
LOWobserval_cli/lockfile.py18CODE
LOWobserval_cli/cmd_delegate.py11CODE
LOWobserval_cli/install_detector.py6CODE
LOWobserval_cli/audit.py9CODE
LOWobserval_cli/branding.py6CODE
LOWobserval_cli/cmd_bulk.py6CODE
LOWobserval_cli/telemetry_buffer.py10CODE
LOWobserval_cli/render.py8CODE
LOWobserval_cli/cmd_api.py6CODE
LOWobserval_cli/cmd_ops.py10CODE
LOWobserval_cli/cmd_component.py6CODE
LOWobserval_cli/cmd_reconcile_cli.py6CODE
LOWobserval_cli/cmd_pull.py14CODE
LOWobserval_cli/constants.py16CODE
LOWobserval_cli/analyzer.py6CODE
LOWobserval_cli/sandbox_runner.py9CODE
LOWobserval_cli/cmd_mcp.py11CODE
LOWobserval_cli/features.py17CODE
LOWobserval_cli/error_context.py9CODE
LOWobserval_cli/upgrade_lock.py10CODE
LOWobserval_cli/lockfile_reconcile.py6CODE
LOWobserval_cli/cmd_prompt.py10CODE
LOWobserval_cli/prompts.py12CODE
LOWobserval_cli/cmd_auth.py18CODE
LOWobserval_cli/cmd_insights.py6CODE
LOWobserval_cli/cmd_archive.py6CODE
LOWobserval_cli/cmd_models.py8CODE
LOWobserval_cli/cmd_outdated.py7CODE
LOWobserval_cli/model_catalog.py8CODE
LOWobserval_cli/cmd_server.py11CODE
LOWobserval_cli/cmd_co_authors.py6CODE
LOWobserval_cli/sandbox_mcp.py19CODE
LOWobserval_cli/managed_skill.py11CODE
LOWobserval_cli/layer.py15CODE
LOWobserval_cli/optic.py16CODE
LOWobserval_cli/cmd_skill.py10CODE
LOWobserval_cli/cmd_sandbox.py9CODE
LOWobserval_cli/version_check.py19CODE
LOWobserval_cli/errors.py6CODE
LOWobserval_cli/cmd_a2a.py7CODE
LOWobserval_cli/cmd_scan.py15CODE
LOWobserval_cli/cmd_transfer.py6CODE
LOWobserval_cli/cmd_migrate.py15CODE
LOWobserval_cli/cmd_migrate.py53CODE
LOWobserval_cli/cmd_migrate.py101CODE
LOWobserval_cli/capability_lock.py20CODE
628 more matches not shown…
Cross-Language Confusion89 hits · 406 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/server/updater.py222 " If the server is running, restart it: [cyan]observal server stop && observal server start[/cyan]"CODE
HIGHtests/test_observal_skill.py19 cd observal-server && uv run --with typer --with rich --with loguru \\STRING
HIGHtests/test_pi_session_parser.py25MODEL_CHANGE = '{"type":"model_change","id":"d6ec41d1","parentId":null,"timestamp":"2026-05-24T09:04:17.964Z","provider"CODE
HIGHtests/test_observal_skill_sync.py9 cd observal-server && uv run --with typer --with rich --with loguru \\STRING
HIGHtests/test_opencode_session_delivery.py93assert.equal(state.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py105assert.equal(repair.pending, null);STRING
HIGH⚡tests/test_opencode_session_delivery.py147 if (!options.method || options.method === "GET") {STRING
HIGH⚡tests/test_opencode_session_delivery.py152 ingestPayloads.push(payload);STRING
HIGH⚡tests/test_opencode_session_delivery.py154 if (repairFinalOnce && payload.final) {STRING
HIGHtests/test_opencode_session_delivery.py177assert.equal(delivery.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py187assert.equal(recovered.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py201assert.equal(large.pending, null);STRING
HIGH⚡tests/test_managed_skill.py141 ('{"lock_version": 2, "registries": {"https://example.org": null}}', "Invalid machine lockfile structure"),CODE
HIGH⚡tests/test_managed_skill.py143 '{"lock_version": 2, "registries": {"https://example.org": {"harnesses": {"pi": {"standalone": [null]}}}}}',CODE
HIGH⚡tests/test_claude_code_session_parser.py23{"parentUuid":"user-1","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg-1","type":"message","role":"asCODE
HIGH⚡tests/test_claude_code_session_parser.py24{"parentUuid":"assistant-1","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg-1","type":"message","roleCODE
HIGH⚡tests/test_claude_code_session_parser.py26{"parentUuid":"user-2","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg-2","type":"message","role":"asCODE
HIGHtests/test_historical_component_columns_postgres.py70 "SELECT column_name, data_type || CASE WHEN character_maximum_length IS NOT NULL "CODE
HIGHtests/test_dynamic_settings.py243 AsyncMock(side_effect=["", "", "YES", "off", " alpha, beta ,, gamma ", "", "one | two || three"]),CODE
HIGHtests/test_migration_frontend.py9 cd web && pnpm testSTRING
HIGHtests/test_server_updater.py472 " If the server is running, restart it: [cyan]observal server stop && observal server start[/cyan]",CODE
HIGHobserval-server/tests/test_exec_dashboard.py8Run with: cd observal-server && pytest tests/test_exec_dashboard.py -vSTRING
HIGHobserval-server/schemas/skill.py107 raise ValueError("extra_files cannot be null; use [] to clear")CODE
HIGH…l-server/alembic/versions/019_team_listing_restrict.py8null, and every member except the original submitter lost access. The applicationSTRING
HIGHobserval-server/services/component_version_extras.py245 raise HTTPException(status_code=422, detail="extra_files cannot be null; use [] to clear")CODE
HIGHobserval-server/services/insights/html_export.py632 for(var ch of checks){{lines.push(ch.dataset.addition);lines.push('')}}CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py31 if (!existsSync(CONFIG_PATH)) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py33 const token = cfg.api_key || cfg.access_token;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py34 if (!cfg.server_url || !token || !cfg.user_id) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py37 return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py46 return url.toString().replace(/\\/$/, "");CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py52 if (!config || !existsSync(LOCKFILE_PATH)) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py54 return data.registries?.[registryKey(config.server_url)] || null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py56 return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py61 if (!agentName || BUILTIN_AGENTS.has(agentName)) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py61 if (!agentName || BUILTIN_AGENTS.has(agentName)) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py63 if (!Array.isArray(agents)) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py64 const matches = agents.filter((agent) => agent?.name === agentName || agent?.id === agentName);CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py65 if (matches.length === 0) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py70 if (!chosen?.id) return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py71 return { id: chosen.id, version: chosen.version || null };CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py71 return { id: chosen.id, version: chosen.version || null };CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py199 return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py204 return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py209 return null;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py306 const info = msg.info || msg;CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py311 content.push({ type: "text", text: part.text || "" });CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py313 content.push({ type: "tool_use", id: part.toolInvocationId || part.id || "", name: part.toolName || part.name ||CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py313 content.push({ type: "tool_use", id: part.toolInvocationId || part.id || "", name: part.toolName || part.name ||CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py315 content.push({ type: "tool_result", tool_use_id: part.toolInvocationId || part.tool_use_id || "", content: part.CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py315 content.push({ type: "tool_result", tool_use_id: part.toolInvocationId || part.tool_use_id || "", content: part.CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py317 content.push({ type: "thinking", thinking: part.text || part.thinking || "" });CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py317 content.push({ type: "thinking", thinking: part.text || part.thinking || "" });CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py322 if (info.createdAt && typeof info.createdAt === "string") { ts = info.createdAt; }CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py323 else if (info.time && typeof info.time === "object" && info.time.created) { ts = new Date(info.time.created).toISOStCODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py324 else if (info.time && typeof info.time === "string") { ts = info.time; }CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py325 else if (info.timestamp && typeof info.timestamp === "string") { ts = info.timestamp; }CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py330 parentUuid: info.parentID || info.parentId || "",CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py331 message: { role, content, model: info.modelID || info.model || "" },CODE
HIGH⚡…erval-shared/observal_shared/opencode_plugin_source.py333 if (info.tokens || info.usage) {CODE
29 more matches not shown…
AI Slop Vocabulary114 hits · 375 pts
SeverityFileLineSnippetContext
MEDIUMobserval_cli/cmd_agent.py1608 # Optional per-harness model overrides, e.g. {"kiro": "claude-haiku-4-5"}.COMMENT
MEDIUMobserval_cli/lockfile.py244 # Local names become harness config keys and on-disk names, where a dot readsCOMMENT
MEDIUMobserval_cli/lockfile.py740 # We don't know which harness was used, default to claude-codeCOMMENT
MEDIUM⚡observal_cli/render.py179# ── harness tag rendering ────────────────────────────────────COMMENT
MEDIUMobserval_cli/cmd_pull.py1221 # validates the candidate against the harness registry and fallsCOMMENT
MEDIUMobserval_cli/cmd_pull.py2692 # Run required harness registration before recording the pull as installed.COMMENT
MEDIUMobserval_cli/cmd_doctor.py1329 # no usable Kiro agents - otherwise the harness emits no telemetry at all.COMMENT
MEDIUM⚡observal_cli/constants.py25# ── harness / client names (hyphen-canonical) ───────────────────COMMENT
MEDIUM⚡observal_cli/constants.py29# ── harness feature capabilities ──────────────────────────────────COMMENT
MEDIUMobserval_cli/cmd_mcp.py748 # MCP servers are harness-agnostic - config generation handles all harnesses.COMMENT
MEDIUMobserval_cli/managed_skill.py557 # One level up, so a crash can never leave a SKILL.md where a harness scans for skills, unless thatCOMMENT
MEDIUM⚡observal_cli/layer.py40# Per-harness file discovery configurationCOMMENT
MEDIUM⚡observal_cli/layer.py43# Maps harness name → dict of scope → list of (base_dir, glob_patterns)COMMENT
MEDIUM⚡observal_cli/layer.py480# Multi-harness layer hash computationCOMMENT
MEDIUMobserval_cli/layer.py424 # Safety cap: max 200 files per manifest. If an harness config dirCOMMENT
MEDIUMobserval_cli/layer.py519 # Prefix with harness name for uniqueness across harnessesCOMMENT
MEDIUMobserval_cli/layer.py625 # Flatten local snapshot (structured by harness)COMMENT
MEDIUMobserval_cli/layer.py751 # Build lookup of actual file hashes for this harnessCOMMENT
MEDIUMobserval_cli/cmd_skill.py1517# User-scope skill directories per harness (global install locations)COMMENT
MEDIUMobserval_cli/cmd_scan.py36# ── harness home directory paths (for status display) ────────────────COMMENT
MEDIUMobserval_cli/cmd_scan.py99 # Validate harness filterCOMMENT
MEDIUMobserval_cli/cmd_scan.py180 # Determine status for this harnessCOMMENT
MEDIUMobserval_cli/capability_lock.py42MODE_NEXT_SESSION = "next-session" # harness config written, effective after restartCODE
MEDIUM⚡observal_cli/tests/test_cmd_auth.py630# ── post-login harness detection ───────────────────────────────COMMENT
MEDIUMobserval_cli/tests/test_cmd_scan.py83 # The harness detection table should list kiroCOMMENT
MEDIUMobserval_cli/tests/test_cmd_scan.py109 # Claude Code entry — should NOT appear under --harness kiroCOMMENT
MEDIUMobserval_cli/server/orchestrator.py746 # Install harness hooks for telemetry (non-interactive)COMMENT
MEDIUMobserval_cli/delegation/local.py76 env["OBSERVAL_AGENT_VERSION"] = str(m["version"]) # read by harness extensions that attribute sessionsCODE
MEDIUMobserval_cli/delegation/local.py293 # Some harness CLIs exit 0 after an auth or quota error, printing only toCOMMENT
MEDIUM⚡observal_cli/sessions/base.py938 # Prefer a harness-scoped match, but fall back to an unscoped UUIDCOMMENT
MEDIUM⚡observal_cli/sessions/base.py939 # lookup. A UUID is globally unique, and the harness recorded at pullCOMMENT
MEDIUM⚡observal_cli/sessions/base.py942 # defaults harness to "claude-code" when a caller sets payload["harness"]COMMENT
MEDIUMobserval_cli/sessions/base.py725# harness creates the transcript.COMMENT
MEDIUMobserval_cli/sessions/base.py813# Per-session layer_hash cache: avoids re-scanning harness dirs on every chunkCOMMENT
MEDIUM⚡tests/test_harness_registry.py102# These values were verified against harness docs or adapter code when theyCOMMENT
MEDIUM⚡tests/test_harness_registry.py103# were recorded (see the per-harness comments in harness_registry.py). ACOMMENT
MEDIUMtests/conftest.py10# harness config directories when they are imported, so a test that forgets toCOMMENT
MEDIUMtests/conftest.py12# harness settings. Set before anything imports observal_cli.COMMENT
MEDIUM⚡tests/test_copilot_integration.py91 # Test that an unknown harness raises KeyError (not silently falls through)COMMENT
MEDIUM⚡tests/test_copilot_integration.py476 # Agent is stored only under the 'copilot' harness key.COMMENT
MEDIUM⚡tests/test_copilot_integration.py483 # harness reported by the push payload differs from the lockfile keyCOMMENT
MEDIUM⚡tests/test_copilot_integration.py485 # build_payload's default harness also differsCOMMENT
MEDIUM⚡tests/test_harness_config_e2e.py464# 3. harness COMPATIBILITY WARNINGSCOMMENT
MEDIUM⚡tests/test_harness_config_e2e.py669# 8. PULL — Full CLI flow (E2E per harness)COMMENT
MEDIUM⚡tests/test_harness_config_e2e.py911# 9. CROSS-CUTTING — format correctness per harness specCOMMENT
MEDIUM⚡tests/test_harness_config_e2e.py977# 10. DOCTOR — Copilot harness config checksCOMMENT
MEDIUM⚡tests/test_harness_config_e2e.py1086# 13. DOCTOR — OpenCode harness config checksCOMMENT
MEDIUMtests/test_harness_config_e2e.py8"""Comprehensive end-to-end tests for issue #434: first-class harness support.STRING
MEDIUM⚡tests/test_skill_install_contract_fixture.py259 return # These adapters have no user-scoped Agent profile in the harness registry.CODE
MEDIUM⚡tests/test_skill_install_contract_fixture.py263 # The pull client requires exactly one component naming the bundle and its destination, for every harness.COMMENT
MEDIUMtests/test_skill_cross_mode.py199 # A no-write request avoids touching a harness, but still exercisesCOMMENT
MEDIUMtests/test_antigravity_sessions.py205# ── Server harness adapter ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/test_managed_skill.py686 assert stage.parent == target.parent.parent # never inside the directory a harness scans for skillsCODE
MEDIUMtests/test_a2a_registry.py567 assert json.dumps(entry) # serialisable into every harness config formatCODE
MEDIUM⚡observal-server/tests/test_agent_versions_api.py738# 5. harness config endpointCOMMENT
MEDIUMobserval-server/tests/test_agent_versions_api.py773 ver.harness_configs = {} # no cached config for requested harnessCODE
MEDIUM⚡observal-server/models/agent.py46 # Per-harness model overrides: {"claude-code": "claude-sonnet-4-5", "kiro": "claude-opus-4-5", ...}COMMENT
MEDIUM⚡observal-server/models/agent.py47 # Empty dict means "use model_name as the default for every harness that accepts a model choice".COMMENT
MEDIUM⚡observal-server/models/agent.py48 # Missing key for an harness that accepts a choice means "emit auto sentinel".COMMENT
MEDIUM⚡observal-server/schemas/constants.py32# ── harness / client names (hyphen-canonical) ───────────────────COMMENT
54 more matches not shown…
Excessive Try-Catch Wrapping365 hits · 348 pts
SeverityFileLineSnippetContext
LOWinfra/terraform/deploy.sh239except Exception:CODE
LOWinfra/terraform/aws/deploy.sh178except Exception:CODE
LOWtools/release.py637 except Exception:STRING
LOWtools/release.py867 except Exception:STRING
LOWobserval_cli/skill_folder.py352 except Exception as e:CODE
LOWobserval_cli/skill_folder.py533 except Exception as e:CODE
LOWobserval_cli/cmd_discover.py134 except Exception:CODE
LOWobserval_cli/cmd_support.py140 except Exception as exc:CODE
LOWobserval_cli/cmd_support.py194 except Exception:CODE
LOW⚡observal_cli/cmd_support.py217 except Exception:CODE
LOWobserval_cli/cmd_support.py386 except Exception as exc:CODE
MEDIUMobserval_cli/cmd_support.py212def _get_cli_version() -> str:CODE
LOWobserval_cli/lockfile.py300 except Exception as exc:CODE
LOWobserval_cli/lockfile.py682 except Exception:CODE
LOWobserval_cli/audit.py62 except Exception as e:CODE
MEDIUMobserval_cli/audit.py50def _send():CODE
LOWobserval_cli/render.py87 except Exception:CODE
LOWobserval_cli/cmd_ops.py1962 except Exception as error:CODE
LOWobserval_cli/client.py42 except Exception:CODE
LOWobserval_cli/client.py258 except Exception:CODE
LOWobserval_cli/client.py380 except Exception:CODE
LOWobserval_cli/client.py730 except Exception:CODE
LOWobserval_cli/client.py752 except Exception:CODE
LOWobserval_cli/client.py775 except Exception:CODE
LOWobserval_cli/client.py791 except Exception:CODE
LOWobserval_cli/client.py807 except Exception:CODE
LOWobserval_cli/client.py817 except Exception:CODE
LOWobserval_cli/cmd_doctor.py154 except Exception as error:CODE
LOWobserval_cli/cmd_doctor.py250 except Exception as e:CODE
LOWobserval_cli/cmd_doctor.py321 except Exception:CODE
LOWobserval_cli/cmd_doctor.py918 except Exception as exc:CODE
LOWobserval_cli/analyzer.py132 except Exception:CODE
LOW⚡observal_cli/sandbox_runner.py147 except Exception as e:CODE
MEDIUM⚡observal_cli/sandbox_runner.py148 print(f"Error: {e}", file=sys.stderr)CODE
LOW⚡observal_cli/sandbox_runner.py154 except Exception:CODE
LOW⚡observal_cli/cmd_auth.py1557 except Exception:CODE
LOW⚡observal_cli/cmd_auth.py1571 except Exception:CODE
LOWobserval_cli/cmd_auth.py254 except Exception:CODE
LOWobserval_cli/cmd_auth.py361 except Exception as error:CODE
LOWobserval_cli/cmd_auth.py743 except Exception as error:CODE
LOWobserval_cli/cmd_auth.py882 except Exception:CODE
LOWobserval_cli/cmd_auth.py901 except Exception:CODE
LOWobserval_cli/cmd_auth.py1119 except Exception:CODE
LOWobserval_cli/cmd_auth.py1505 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1612 except Exception as exc:CODE
LOWobserval_cli/cmd_auth.py1638 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1661 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1684 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1707 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1736 except Exception:CODE
LOWobserval_cli/cmd_auth.py1758 except Exception:CODE
LOWobserval_cli/cmd_auth.py1782 except Exception:CODE
LOWobserval_cli/cmd_auth.py1815 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py1834 except Exception:CODE
LOWobserval_cli/cmd_insights.py73 except Exception:CODE
LOWobserval_cli/cmd_server.py55 except Exception as error:CODE
LOWobserval_cli/sandbox_mcp.py263 except Exception as e:CODE
LOWobserval_cli/managed_skill.py678 except Exception as exc:CODE
LOWobserval_cli/managed_skill.py716 except Exception as recovery_error:CODE
LOWobserval_cli/managed_skill.py726 except Exception as recovery_error:CODE
305 more matches not shown…
Deep Nesting262 hits · 222 pts
SeverityFileLineSnippetContext
LOWtools/release.py881CODE
LOWobserval_cli/upgrade_executor.py33CODE
LOWobserval_cli/upgrade_executor.py166CODE
LOWobserval_cli/skill_folder.py382CODE
LOWobserval_cli/skill_folder.py441CODE
LOWobserval_cli/cmd_support.py225CODE
LOWobserval_cli/cmd_hook.py99CODE
LOWobserval_cli/cmd_agent.py1831CODE
LOWobserval_cli/lockfile.py392CODE
LOWobserval_cli/lockfile.py504CODE
LOWobserval_cli/lockfile.py660CODE
LOWobserval_cli/cmd_ops.py1843CODE
LOWobserval_cli/cmd_reconcile_cli.py36CODE
LOWobserval_cli/cmd_reconcile_cli.py154CODE
LOWobserval_cli/cmd_pull.py177CODE
LOWobserval_cli/cmd_pull.py288CODE
LOWobserval_cli/cmd_pull.py367CODE
LOWobserval_cli/cmd_pull.py437CODE
LOWobserval_cli/cmd_pull.py537CODE
LOWobserval_cli/cmd_pull.py715CODE
LOWobserval_cli/cmd_pull.py1162CODE
LOWobserval_cli/cmd_pull.py1565CODE
LOWobserval_cli/cmd_pull.py1625CODE
LOWobserval_cli/cmd_pull.py2094CODE
LOWobserval_cli/cmd_pull.py2096CODE
LOWobserval_cli/cmd_doctor.py95CODE
LOWobserval_cli/cmd_doctor.py254CODE
LOWobserval_cli/cmd_doctor.py305CODE
LOWobserval_cli/cmd_doctor.py393CODE
LOWobserval_cli/cmd_doctor.py434CODE
LOWobserval_cli/cmd_doctor.py549CODE
LOWobserval_cli/cmd_doctor.py793CODE
LOWobserval_cli/cmd_doctor.py852CODE
LOWobserval_cli/cmd_doctor.py982CODE
LOWobserval_cli/cmd_doctor.py1027CODE
LOWobserval_cli/cmd_doctor.py1283CODE
LOWobserval_cli/cmd_doctor.py1479CODE
LOWobserval_cli/cmd_doctor.py1518CODE
LOWobserval_cli/sandbox_runner.py248CODE
LOWobserval_cli/cmd_mcp.py293CODE
LOWobserval_cli/cmd_mcp.py359CODE
LOWobserval_cli/cmd_mcp.py462CODE
LOWobserval_cli/cmd_mcp.py513CODE
LOWobserval_cli/cmd_mcp.py1099CODE
LOWobserval_cli/cmd_mcp.py1589CODE
LOWobserval_cli/upgrade_lock.py30CODE
LOWobserval_cli/lockfile_reconcile.py46CODE
LOWobserval_cli/lockfile_reconcile.py81CODE
LOWobserval_cli/cmd_auth.py285CODE
LOWobserval_cli/cmd_auth.py1007CODE
LOWobserval_cli/cmd_auth.py1582CODE
LOWobserval_cli/cmd_insights.py665CODE
LOWobserval_cli/cmd_outdated.py26CODE
LOWobserval_cli/cmd_outdated.py28CODE
LOWobserval_cli/cmd_server.py354CODE
LOWobserval_cli/cmd_server.py595CODE
LOWobserval_cli/cmd_server.py621CODE
LOWobserval_cli/cmd_server.py669CODE
LOWobserval_cli/cmd_server.py911CODE
LOWobserval_cli/sandbox_mcp.py78CODE
202 more matches not shown…
Fake / Example Data77 hits · 94 pts
SeverityFileLineSnippetContext
LOWCHANGELOG.md831- fix reuse-lint and dependency-audit for fake-key fixture ([de356e7](https://github.com/Observal/Observal/commit/de356eCODE
LOWCHANGELOG.md2151- add secret_scanning.yml paths-ignore for fake-key test fixtures ([54faf17](https://github.com/Observal/Observal/commitCODE
LOW⚡.pre-commit-config.yaml25 # Keep the pre-generated fake-key fixture byte-identical; staging itsCOMMENT
LOWweb/src/pages/user/traces/index.tsx95// ── Search query parser (Discord-style: platform:kiro user:"John Doe") ───────COMMENT
LOW⚡tests/test_cli_errors.py934 url = "https://fake-user:fake-password@registry.example.test:8443/api/v1/items"CODE
LOW⚡tests/test_cli_errors.py943 assert "fake-user" not in debug_callsCODE
LOW⚡tests/test_google_oauth.py151 fake_user = MagicMock()CODE
LOW⚡tests/test_google_oauth.py152 fake_user.id = "u-1"CODE
LOW⚡tests/test_google_oauth.py153 fake_user.email = "alice@acme.com"CODE
LOW⚡tests/test_google_oauth.py154 fake_user.role = MagicMock(value="user")CODE
LOW⚡tests/test_google_oauth.py156 provision_mock = AsyncMock(return_value=fake_user)CODE
LOWtests/test_demo_accounts.py17def _make_user(role=UserRole.user, is_demo=False, email="test@test.com"):CODE
LOWtests/test_cli_doctor_commands.py279 {"access_token": "placeholder", "server_url": "https://server.test"},CODE
LOW⚡tests/test_saml.py814 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOW⚡tests/test_saml.py819 mock_user.email = "user@example.com"CODE
LOW⚡tests/test_saml.py825 mock_user.sso_subject_id = "user@example.com"CODE
LOW⚡tests/test_saml.py1200 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOW⚡tests/test_saml.py1205 mock_user.email = "user@example.com"CODE
LOW⚡tests/test_saml.py1211 mock_user.sso_subject_id = "user@example.com"CODE
LOW⚡tests/test_saml.py1291 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOW⚡tests/test_saml.py1296 mock_user.email = "user@example.com"CODE
LOW⚡tests/test_saml.py1302 mock_user.sso_subject_id = "user@example.com"CODE
LOW⚡tests/test_sec028_sso_guards.py43 "email": "admin@example.com",CODE
LOWtests/test_sec028_sso_guards.py91 "email": "admin@example.com",CODE
LOWtests/test_retention_endpoints.py18 user.email = "admin@example.com"CODE
LOW⚡tests/test_device_auth.py566 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py398 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py428 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py466 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py503 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_sec006_password_policy.py221 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_audit_logging.py117 actor_email="admin@example.com",CODE
LOWtests/test_audit_logging.py157 actor_email="admin@example.com",CODE
LOWtests/test_audit_logging.py220 "actor_email": "admin@example.com",CODE
LOWtests/test_audit_logging.py254 assert result[0]["actor_email"] == "admin@example.com"CODE
LOWtests/test_audit_logging.py289 "actor_email": "admin@example.com",CODE
LOWtests/test_audit_logging.py311 actor="admin@example.com",CODE
LOWtests/test_audit_logging.py328 assert params_arg["param_actor"] == "admin@example.com"CODE
LOW⚡tests/test_auth2_security.py248 headers={"Authorization": "Bearer fake-token"},CODE
LOW⚡tests/test_auth2_security.py325 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py138 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py165 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py193 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py221 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py278 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_auth2_security.py301 headers={"Authorization": "Bearer fake-token"},CODE
LOW⚡tests/test_saml_scim_integration.py35 result = parse_scim_filter('userName eq "user@example.com"')CODE
LOW⚡tests/test_saml_scim_integration.py39 assert result.value == "user@example.com"CODE
LOW⚡tests/test_saml_scim_integration.py98 result = parse_scim_filter(' userName eq "user@example.com" ')CODE
LOW⚡tests/test_saml_scim_integration.py102 assert result.value == "user@example.com"CODE
LOW⚡tests/test_saml_scim_integration.py107 result = parse_scim_filter('userName EQ "user@example.com"')CODE
LOW⚡tests/test_admin_sso_routes.py509 _config(idp_entity_id="", sp_private_key_enc="", external_sp_private_key="external-fake-key")CODE
LOW⚡tests/test_admin_sso_routes.py514 sso._required_field_check(_config(sp_private_key_enc="", external_sp_private_key="external-fake-key")) is NoneCODE
LOW⚡tests/test_auth_route_coverage.py287 await auth.init_admin(InitRequest(email="admin@example.com", name="Admin"), initialized)CODE
LOW⚡tests/test_auth_route_coverage.py293 await auth.init_admin(InitRequest(email="admin@example.com", name="Admin"), invalid_name)CODE
LOW⚡tests/test_auth_route_coverage.py300 await auth.init_admin(InitRequest(email="admin@example.com", name="Admin"), conflict)CODE
LOWtests/test_auth_route_coverage.py313 InitRequest(email="admin@example.com", name="Admin", password="Valid1!Password"), freshCODE
LOWtests/test_git_mirror.py33 subprocess.run(["git", "config", "user.email", "test@test.com"], cwd=str(path), capture_output=True, check=True)CODE
LOWtests/test_docker_detection.py362 "JIRA_EMAIL": "user@example.com",CODE
LOW⚡tests/test_github_oauth.py158 fake_user = MagicMock()CODE
17 more matches not shown…
Structural Annotation Overuse57 hits · 94 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_device_auth.py544 # Step 1: CLI requests device authorizationCOMMENT
LOW⚡tests/test_device_auth.py551 # Step 2: CLI polls -- should get authorization_pendingCOMMENT
LOW⚡tests/test_device_auth.py562 # Step 3: User confirms in browserCOMMENT
LOW⚡tests/test_device_auth.py570 # Step 4: CLI polls again -- should get tokensCOMMENT
LOWtests/test_device_auth.py586 # Step 5: Polling again should return expired_token (keys cleaned up)COMMENT
LOW⚡observal-server/api/routes/auth.py627 # Step 1: exchange the authorization code for tokens.COMMENT
LOW⚡observal-server/api/routes/auth.py738 # Step 5: user lookup / JIT.COMMENT
LOW⚡observal-server/api/routes/auth.py812 # Step 6: persist SSO groups (best-effort, never blocks login).COMMENT
LOW⚡observal-server/api/routes/auth.py820 # Step 7: issue tokens + commit.COMMENT
LOW⚡observal-server/api/routes/auth.py833 # Step 8: hand off via short-lived code in Redis.COMMENT
LOWobserval-server/api/routes/auth.py655 # Step 2: extract userinfo (merged ID-token + /userinfo claims by authlib).COMMENT
LOWobserval-server/api/routes/auth.py671 # Step 3: required email claim.COMMENT
LOWobserval-server/api/routes/auth.py689 # Step 4: name + groups (non-fatal absences are 'skip').COMMENT
LOW⚡observal-server/api/routes/sso_saml.py516 # Step 1: decrypt SP signing key.COMMENT
LOW⚡observal-server/api/routes/sso_saml.py533 # Step 2: process the Response (signature, audience, conditions).COMMENT
LOW⚡observal-server/api/routes/sso_saml.py658 # Step 4: extract NameID + attributes.COMMENT
LOW⚡observal-server/api/routes/sso_saml.py720 # Step 5: user lookup / JIT (real-login mode).COMMENT
LOW⚡observal-server/api/routes/sso_saml.py814 # Step 6: issue tokens + commit.COMMENT
LOWobserval-server/api/routes/sso_saml.py595 # Step 3: replay protection.COMMENT
LOWobserval-server/services/user_profile.py204 # Step 1: user -> sessions, via the table that indexes user_id.COMMENT
LOWobserval-server/services/user_profile.py232 # Step 2: sessions -> tool usage, keyed on the indexed session_id column.COMMENT
LOWobserval-server/services/user_profile.py261 # Step 3: file extensions -> languages, from tool-call previews.COMMENT
LOWdocs/adding-a-harness.md42## Step 1: Research the harnessCOMMENT
LOWdocs/adding-a-harness.md72## Step 2: Add Harness Registry EntryCOMMENT
LOWdocs/adding-a-harness.md157## Step 3: Create CLI Adapter (Scanning)COMMENT
LOWdocs/adding-a-harness.md329## Step 4: Create Server-Side Config Generator (Install)COMMENT
LOWdocs/adding-a-harness.md367## Step 5: Create Hook SpecCOMMENT
LOWdocs/adding-a-harness.md409## Step 6: Add the Session Source Adapter and Parser (required)COMMENT
LOWdocs/adding-a-harness.md436## Step 7: Configure the Shared Session HookCOMMENT
LOWdocs/adding-a-harness.md446## Step 8: Register EverythingCOMMENT
LOWdocs/adding-a-harness.md465## Step 9: TestsCOMMENT
LOWdocs/adding-a-harness.md539## Step 10: VerifyCOMMENT
LOWdocs/self-hosting/okta-setup.md47### Step 1 - Sign in to the Okta Admin ConsoleCOMMENT
LOWdocs/self-hosting/okta-setup.md57### Step 2 - Create the OIDC applicationCOMMENT
LOWdocs/self-hosting/okta-setup.md107### Step 3 - Configure application sign-on settings (optional but recommended)COMMENT
LOWdocs/self-hosting/okta-setup.md120### Step 4 - Create groups (teams / departments)COMMENT
LOWdocs/self-hosting/okta-setup.md141### Step 5 - Create people (users)COMMENT
LOWdocs/self-hosting/okta-setup.md161### Step 6 - Add people to groupsCOMMENT
LOWdocs/self-hosting/okta-setup.md177### Step 7 - Assign groups to the Observal applicationCOMMENT
LOWdocs/self-hosting/okta-setup.md194### Step 8 - Authentication policies (MFA and sign-on rules)COMMENT
LOWdocs/self-hosting/okta-setup.md222### Step 9 - Authorization server: `groups` scope and claimCOMMENT
LOWdocs/self-hosting/okta-setup.md267### Step 10 - Trust and client authentication (verify defaults)COMMENT
LOWdocs/self-hosting/okta-setup.md285### Step 11 - Set OAuth in the SSO tabCOMMENT
LOWdocs/self-hosting/okta-setup.md305### Step 12 - Set Frontend URL in Settings (must match Okta)COMMENT
LOWdocs/self-hosting/okta-setup.md323### Step 13 - Confirm SSO is enabled on the serverCOMMENT
LOWdocs/self-hosting/okta-setup.md341### Step 14 - Test SSO login (first user)COMMENT
LOWdocs/self-hosting/okta-setup.md364### Step 15 - Verify groups syncedCOMMENT
LOWdocs/self-hosting/okta-setup.md374### Step 16 - Promote the customer admin (required)COMMENT
LOWdocs/self-hosting/okta-setup.md386### Step 17 - Optional: lock to SSO onlyCOMMENT
LOWdocs/self-hosting/single-node-deploy.md79## Step 1: Provision the VMCOMMENT
LOWdocs/self-hosting/single-node-deploy.md99## Step 2: Install DockerCOMMENT
LOWdocs/self-hosting/single-node-deploy.md116## Step 3: Clone and configureCOMMENT
LOWdocs/self-hosting/single-node-deploy.md152## Step 4: Set up TLSCOMMENT
LOWdocs/self-hosting/single-node-deploy.md200## Step 5: Start the stackCOMMENT
LOWdocs/self-hosting/single-node-deploy.md226## Step 6: Survive rebootsCOMMENT
LOWdocs/self-hosting/single-node-deploy.md243## Step 7: Set up automated backupsCOMMENT
LOWdocs/self-hosting/single-node-deploy.md290## Step 8: First loginCOMMENT
Cross-File Repetition18 hits · 90 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/harness_specs/claude_code_hooks_spec.py0return python command with pythonpath set if needed.STRING
HIGHobserval_cli/harness_specs/codex_hooks_spec.py0return python command with pythonpath set if needed.STRING
HIGHobserval_cli/harness_specs/kiro_hooks_spec.py0return python command with pythonpath set if needed.STRING
HIGHtests/test_review_route_coverage.py0these routes run on a mocked session; the lock service has its own tests.STRING
HIGHtests/test_team_publishing.py0these routes run on a mocked session; the lock service has its own tests.STRING
HIGHtests/test_agent_review.py0these routes run on a mocked session; the lock service has its own tests.STRING
HIGHtests/test_draft_workflow.py0these routes run on a mocked session; the lock service has its own tests.STRING
HIGHtests/test_registry_types.py0compile a statement to a single-line sql string with bind values inlined.STRING
HIGHtests/test_dashboard_leaderboard.py0compile a statement to a single-line sql string with bind values inlined.STRING
HIGHtests/test_sec009_team_visibility.py0compile a statement to a single-line sql string with bind values inlined.STRING
HIGHtests/test_sec027_registry_sc.py0return a magicmock that looks like an agent orm instance.STRING
HIGHtests/test_agent_review.py0return a magicmock that looks like an agent orm instance.STRING
HIGHtests/test_draft_workflow.py0return a magicmock that looks like an agent orm instance.STRING
HIGHobserval-server/api/routes/skill.py0refuse teamspace or visibility changes sent to the draft update route. visibility has exactly one authoritative path, paSTRING
HIGHobserval-server/api/routes/hook.py0refuse teamspace or visibility changes sent to the draft update route. visibility has exactly one authoritative path, paSTRING
HIGHobserval-server/api/routes/sandbox.py0refuse teamspace or visibility changes sent to the draft update route. visibility has exactly one authoritative path, paSTRING
HIGHobserval-server/api/routes/mcp.py0refuse teamspace or visibility changes sent to the draft update route. visibility has exactly one authoritative path, paSTRING
HIGHobserval-server/api/routes/prompt.py0refuse teamspace or visibility changes sent to the draft update route. visibility has exactly one authoritative path, paSTRING
Docstring Block Structure10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/skill_folder.py194Validate a complete skill folder bundle from server response. Args: bundle: Raw bundle dict from server (stSTRING
HIGHobserval_cli/skill_folder.py448Install a validated bundle atomically with rollback support. Args: bundle: Validated bundle to install STRING
HIGHobserval_cli/skill_folder.py626Capture an immutable snapshot of a skill directory. Reads all regular files, validates paths, and prepares content STRING
HIGHobserval_cli/upgrade_lock.py31Acquire an upgrade lock for the given scope. Args: scope: Lock scope identifier (e.g., "cli", "server"). STRING
HIGHobserval_cli/server/backup.py28Create a pre-upgrade backup of PostgreSQL + ClickHouse. Args: compose_dir: Directory containing docker-compSTRING
HIGHobserval_cli/harness/protocol.py222Scan the user's home directory for this harness's configuration. Args: home: Override home directorSTRING
HIGHobserval_cli/harness/protocol.py253Scan a project directory for this harness's configuration. Args: project_dir: The project root to sSTRING
HIGHobserval_cli/harness/protocol.py292Generate hook configuration for telemetry collection. Args: observal_url: The Observal server URL. STRING
HIGHobserval_cli/harness/protocol.py308Detect whether Observal hooks are already installed. Args: config_dir: harness-specific config direSTRING
HIGHobserval-server/services/skill_validator.py218Fetch SKILL.md and validate its frontmatter. Args: git_url: Repository URL (GitHub or generic git host). STRING
AI Structural Patterns56 hits · 44 pts
SeverityFileLineSnippetContext
LOWobserval_cli/cmd_inbox.py219CODE
LOWobserval_cli/cmd_inbox.py254CODE
LOWobserval_cli/cmd_hook.py99CODE
LOWobserval_cli/cmd_agent.py347CODE
LOWobserval_cli/cmd_agent.py902CODE
LOWobserval_cli/cmd_agent.py1148CODE
LOWobserval_cli/cmd_agent.py1454CODE
LOWobserval_cli/cmd_agent.py1831CODE
LOWobserval_cli/lockfile.py304CODE
LOWobserval_cli/lockfile.py411CODE
LOWobserval_cli/cmd_ops.py400CODE
LOWobserval_cli/cmd_ops.py1154CODE
LOWobserval_cli/cmd_ops.py1431CODE
LOWobserval_cli/cmd_ops.py1505CODE
LOWobserval_cli/cmd_component.py65CODE
LOWobserval_cli/cmd_pull.py2096CODE
LOWobserval_cli/cmd_mcp.py1301CODE
LOWobserval_cli/cmd_mcp.py1389CODE
LOWobserval_cli/cmd_mcp.py1505CODE
LOWobserval_cli/cmd_mcp.py1589CODE
LOWobserval_cli/cmd_prompt.py56CODE
LOWobserval_cli/cmd_prompt.py412CODE
LOWobserval_cli/cmd_auth.py285CODE
LOWobserval_cli/cmd_skill.py239CODE
LOWobserval_cli/cmd_skill.py828CODE
LOWobserval_cli/cmd_skill.py1596CODE
LOWobserval_cli/cmd_skill.py1663CODE
LOWobserval_cli/cmd_skill.py1768CODE
LOWobserval_cli/cmd_skill.py1854CODE
LOWobserval_cli/cmd_skill.py2218CODE
LOWobserval_cli/cmd_sandbox.py77CODE
LOWobserval_cli/cmd_sandbox.py407CODE
LOWobserval_cli/capability_lock.py120CODE
LOWobserval_cli/discovery/normalize.py363CODE
LOWobserval_cli/sessions/base.py474CODE
LOWtests/test_agent_crud_routes.py84CODE
LOWtests/test_skill_routes.py74CODE
LOWtests/test_mcp_routes.py74CODE
LOWtests/discovery_support.py86CODE
LOWobserval-server/api/routes/skill.py250CODE
LOWobserval-server/api/routes/sessions.py84CODE
LOWobserval-server/api/routes/hook.py124CODE
LOWobserval-server/api/routes/review.py1363CODE
LOWobserval-server/api/routes/dashboard.py542CODE
LOWobserval-server/api/routes/sandbox.py116CODE
LOWobserval-server/api/routes/mcp.py225CODE
LOWobserval-server/api/routes/inbox.py130CODE
LOWobserval-server/api/routes/prompt.py116CODE
LOWobserval-server/api/routes/audit_log.py61CODE
LOWobserval-server/api/routes/audit_log.py144CODE
LOWobserval-server/api/routes/agent/helpers.py98CODE
LOWobserval-server/api/routes/agent/crud.py251CODE
LOWobserval-server/services/model_display.py55CODE
LOWobserval-server/services/insights/generator.py47CODE
LOWobserval-server/services/harness/__init__.py170CODE
LOWobserval-server/services/audit/event_handlers.py44CODE
Verbosity Indicators22 hits · 41 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_device_auth.py544 # Step 1: CLI requests device authorizationCOMMENT
LOW⚡tests/test_device_auth.py551 # Step 2: CLI polls -- should get authorization_pendingCOMMENT
LOW⚡tests/test_device_auth.py562 # Step 3: User confirms in browserCOMMENT
LOW⚡tests/test_device_auth.py570 # Step 4: CLI polls again -- should get tokensCOMMENT
LOWtests/test_device_auth.py586 # Step 5: Polling again should return expired_token (keys cleaned up)COMMENT
LOW⚡observal-server/api/routes/auth.py627 # Step 1: exchange the authorization code for tokens.COMMENT
LOW⚡observal-server/api/routes/auth.py738 # Step 5: user lookup / JIT.COMMENT
LOW⚡observal-server/api/routes/auth.py812 # Step 6: persist SSO groups (best-effort, never blocks login).COMMENT
LOW⚡observal-server/api/routes/auth.py820 # Step 7: issue tokens + commit.COMMENT
LOW⚡observal-server/api/routes/auth.py833 # Step 8: hand off via short-lived code in Redis.COMMENT
LOWobserval-server/api/routes/auth.py655 # Step 2: extract userinfo (merged ID-token + /userinfo claims by authlib).COMMENT
LOWobserval-server/api/routes/auth.py671 # Step 3: required email claim.COMMENT
LOWobserval-server/api/routes/auth.py689 # Step 4: name + groups (non-fatal absences are 'skip').COMMENT
LOW⚡observal-server/api/routes/sso_saml.py516 # Step 1: decrypt SP signing key.COMMENT
LOW⚡observal-server/api/routes/sso_saml.py533 # Step 2: process the Response (signature, audience, conditions).COMMENT
LOW⚡observal-server/api/routes/sso_saml.py658 # Step 4: extract NameID + attributes.COMMENT
LOW⚡observal-server/api/routes/sso_saml.py720 # Step 5: user lookup / JIT (real-login mode).COMMENT
LOW⚡observal-server/api/routes/sso_saml.py814 # Step 6: issue tokens + commit.COMMENT
LOWobserval-server/api/routes/sso_saml.py595 # Step 3: replay protection.COMMENT
LOWobserval-server/services/user_profile.py204 # Step 1: user -> sessions, via the table that indexes user_id.COMMENT
LOWobserval-server/services/user_profile.py232 # Step 2: sessions -> tool usage, keyed on the indexed session_id column.COMMENT
LOWobserval-server/services/user_profile.py261 # Step 3: file extensions -> languages, from tool-call previews.COMMENT
Over-Commented Block40 hits · 40 pts
SeverityFileLineSnippetContext
LOWinstall-server.sh1#!/usr/bin/env bashCOMMENT
LOWinstall.sh1#!/usr/bin/env bashCOMMENT
LOWinfra/terraform/deploy.sh1#!/usr/bin/env bashCOMMENT
LOWinfra/terraform/aws/deploy.sh1#!/usr/bin/env bashCOMMENT
LOWinfra/terraform/aws/clickhouse.tf1# SPDX-FileCopyrightText: 2026 Apoorv Garg <apoorvgarg.21@gmail.com>COMMENT
LOWinfra/terraform/aws/webhook-ingress.tf1# SPDX-FileCopyrightText: 2026 Lokesh Selvam <lokeshselvam7025@gmail.com>COMMENT
LOWinfra/terraform/aws-standard/webhook-ingress.tf1# SPDX-FileCopyrightText: 2026 Lokesh Selvam <lokeshselvam7025@gmail.com>COMMENT
LOWdocker/entrypoint.sh1#!/bin/bashCOMMENT
LOWobserval_cli/cmd_doctor.py1# SPDX-FileCopyrightText: 2026 Apoorv Garg <apoorvgarg.21@gmail.com>COMMENT
LOWobserval_cli/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval_cli/cmd_auth.py1# SPDX-FileCopyrightText: 2026 Hemalatha Madeswaran <hemalathamadeswaran@gmail.com>COMMENT
LOWobserval_cli/cmd_scan.py1# SPDX-FileCopyrightText: 2026 Aryan Iyappan <aryaniyappan2006@gmail.com>COMMENT
LOWobserval_cli/tests/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval_cli/shared/__init__.py1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOWweb/src/hooks/use-insights-api.ts1// SPDX-FileCopyrightText: 2026 Aryan Iyappan <aryaniyappan2006@gmail.com>COMMENT
LOWweb/src/lib/api.ts1COMMENT
LOWweb/src/pages/admin/sso.tsx61COMMENT
LOWtests/__init__.py1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOWobserval-server/main.py1# SPDX-FileCopyrightText: 2026 Aryan Iyappan <aryaniyappan2006@gmail.com>COMMENT
LOWobserval-server/tests/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/schemas/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/api/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/api/middleware/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/api/routes/bulk.py161 # One SAVEPOINT per item, so "this item failed" and "this item wasCOMMENT
LOWobserval-server/api/routes/teams.py821 team_id: uuid.UUID,COMMENT
LOWobserval-server/api/routes/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/api/routes/co_authors.py201async def transfer_ownership(COMMENT
LOWobserval-server/alembic/versions/018_team_publishing.py61 ["team_id"],COMMENT
LOWobserval-server/services/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/services/shared/__init__.py1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOWobserval-server/services/harness/helpers.py1# SPDX-FileCopyrightText: 2026 Apoorv Garg <apoorvgarg.21@gmail.com>COMMENT
LOWscripts/test_xff_spoofing.sh1#!/usr/bin/env bashCOMMENT
LOW…es/observal-shared/observal_shared/harness_registry.py1# SPDX-FileCopyrightText: 2026 Aryan Iyappan <aryaniyappan2006@gmail.com>COMMENT
LOW…es/observal-shared/observal_shared/harness_registry.py21# file written to a config file the harness reads nativelyCOMMENT
LOW.github/secret_scanning.yml1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOW.github/workflows/badge-ghcr-pulls.yml1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOW.github/workflows/terraform.yml1# SPDX-FileCopyrightText: 2026 Apoorv Garg <apoorvgarg.21@gmail.com>COMMENT
LOW.github/workflows/ci.yml1# SPDX-FileCopyrightText: 2026 Hari Srinivasan <harisrini21@gmail.com>COMMENT
LOWfuzz/oss-fuzz/project.yaml1# SPDX-FileCopyrightText: 2026 RAWx18 <rawx18.dev@gmail.com>COMMENT
LOWfuzz/oss-fuzz/build.sh1#!/bin/bash -euCOMMENT
Redundant / Tautological Comments23 hits · 34 pts
SeverityFileLineSnippetContext
LOWinfra/terraform/aws-ec2/deploy.sh73 # Print outputCOMMENT
LOWinfra/terraform/aws/variables.tf424# Set these to deploy into an existing VPC instead of creating a new one.COMMENT
LOWinfra/terraform/aws/deploy.sh285# Check if ECS cluster already existsCOMMENT
LOWobserval_cli/skill_folder.py402 # Check if target already existsCOMMENT
LOWobserval_cli/skill_folder.py407 # Check if it's a managed skill folderCOMMENT
LOWobserval_cli/skill_folder.py766 # Check if binaryCOMMENT
LOWobserval_cli/client.py69 # Check if current subcommand is exempt (handle flags before subcommand)COMMENT
LOWobserval_cli/cmd_pull.py1943 # Check if we have a complete bundle for this skillCOMMENT
LOWobserval_cli/cmd_doctor.py269 # Check if session push hooks are installedCOMMENT
LOWobserval_cli/cmd_doctor.py442 # Check if VS Code / Copilot is even presentCOMMENT
LOWobserval_cli/cmd_doctor.py1397 # Check if already patchedCOMMENT
LOWobserval_cli/cmd_doctor.py1536 # Check if already patchedCOMMENT
LOWobserval_cli/cmd_doctor.py1690 # Check if running under /mnt/c/Users/<name>/...COMMENT
LOWobserval_cli/cmd_doctor.py1737 # Check if already patchedCOMMENT
LOWobserval_cli/upgrade_lock.py51 # Check if lock is stale (>30 minutes old)COMMENT
LOWobserval_cli/settings_reconciler.py79 # Check if Observal groups match desired (by JSON equality)COMMENT
LOW⚡observal_cli/harness_specs/antigravity_hooks_spec.py71 # Check if observal_cli is importable without PYTHONPATHCOMMENT
LOWtests/test_support_pbt.py327 # Check if the intermediate result would trigger the entropy rule on any tokenCOMMENT
LOWobserval-server/api/routes/layer_snapshot.py108 # Check if this hash already exists for this projectCOMMENT
LOWobserval-server/api/routes/co_authors.py362 # Check if already a co-authorCOMMENT
LOWobserval-server/api/routes/insights.py208 # Check if AWS credentials are set and valid (for Bedrock models)COMMENT
LOWobserval-server/api/routes/insights.py306 # Check if there are any sessions for this agent/version in the period.COMMENT
LOWobserval-server/services/insights/batch.py375 # Check if there's already a recent report (completed or in-progress)STRING
Self-Referential Comments10 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMinfra/terraform/azure/.terraform.lock.hcl4# This file is maintained automatically by "terraform init".COMMENT
MEDIUM…a/terraform/azure/examples/minimal/.terraform.lock.hcl4# This file is maintained automatically by "terraform init".COMMENT
MEDIUM⚡observal_cli/tests/test_cmd_migrate.py156 # Create a dummy tar.gz fileCOMMENT
MEDIUMobserval_cli/server/orchestrator.py211 # Create the observal database if it doesn't existCOMMENT
MEDIUM⚡tests/test_antigravity_adapter.py167 # Create an empty hooks.json so the adapter uses tmp_path instead of falling back to real configCOMMENT
MEDIUMtests/test_cmd_support.py272 # Create a manifest that will cause serialization to failCOMMENT
MEDIUM⚡tests/test_schema_redesign.py510 # Create a mock MCP listing with mcp_validated=FalseCOMMENT
MEDIUMtests/test_migration_api.py200 # Create a fake tar.gz upload fileCOMMENT
MEDIUM⚡tests/test_integration.py396 # Create a uniquely named MCPCOMMENT
MEDIUMobserval-server/services/insights/batch.py433 # Create a new report recordSTRING
Modern Structural Boilerplate22 hits · 22 pts
SeverityFileLineSnippetContext
LOWtools/release.py406def set_version(path: Path, version: str) -> None:CODE
LOWobserval_cli/config.py20logger = logging.getLogger(__name__)CODE
LOWobserval_cli/client.py22logger = logging.getLogger(__name__)CODE
LOWobserval_cli/cmd_server.py642def _update_env_version(compose_dir: Path, version: str) -> None:CODE
LOWobserval_cli/layer.py574def set_last_uploaded_hash(layer_hash: str) -> None:CODE
LOWobserval_cli/harness/__init__.py29__all__ = [CODE
LOWtests/test_cmd_outdated.py64def _set_entries(monkeypatch: pytest.MonkeyPatch, entries: list[dict]) -> None:CODE
LOWobserval-server/models/user.py58 def set_password(self, password: str) -> None:CODE
LOWobserval-server/models/__init__.py51__all__ = [CODE
LOWobserval-server/api/routes/ard.py468__all__ = ["router"]CODE
LOWobserval-server/api/routes/ard_imports.py284__all__ = ["router"]CODE
LOWobserval-server/services/download_tracker.py80async def _update_agent_counts(agent_id: uuid.UUID, db: AsyncSession) -> None:CODE
LOWobserval-server/services/request_context.py30def set_request_context(request) -> None:CODE
LOWobserval-server/services/insights/registry_match.py375__all__ = [CODE
LOWobserval-server/services/clickhouse/__init__.py47__all__ = [CODE
LOWobserval-server/services/inbox/__init__.py24__all__ = [CODE
LOWobserval-server/services/discovery/a2a.py493__all__ = [CODE
LOWobserval-server/services/discovery/hooks.py139def set_scheduler(scheduler: Scheduler | None) -> None:CODE
LOWobserval-server/services/discovery/hooks.py176__all__ = [CODE
LOWobserval-server/services/discovery/projection.py408__all__ = [CODE
LOWobserval-server/services/audit/__init__.py11__all__ = ["AUDIT_ENABLED", "audit_detail", "setup_audit", "shutdown_audit"]CODE
LOW…/observal-shared/observal_shared/migration/__init__.py44__all__ = [CODE
Modern AI Meta-Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMobserval_cli/cmd_agent.py318 # its file between fork's preflight and this local scaffold write.COMMENT
MEDIUMobserval_cli/cmd_agent.py1893 # Preserve legacy YAML that omits these optional fields; a fork scaffoldCOMMENT
MEDIUMobserval_cli/README.md50observal agent init # scaffold observal-agent.yamlCODE
MEDIUMdocs/use-cases/share-agent-configs.md36observal agent init # scaffold observal-agent.yamlCODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/test_migration_operation_enum_postgres.py60 processor = MigrationJob.__table__.c.operation_type.type.bind_processor(engine.dialect)CODE
Example Usage Blocks2 hits · 4 pts
SeverityFileLineSnippetContext
LOW⚡infra/terraform/deploy.sh9# Usage:COMMENT
LOWinfra/terraform/aws/deploy.sh11# Usage:COMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWobserval_cli/delegation/runner.py26def run_task(task_id: str) -> dict | None:CODE
LOWtests/test_mcp_validator.py405def helper():CODE