Repository Analysis

Observal/Observal

Observal is a local registry and analytics platform for your AI components. Setup Observal, define the scope and share your Skills, MCPs and Agents.

39.3 Strong AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of Observal/Observal, a Python project with 2,268 GitHub stars. SynthScan v2.0 examined 275,079 lines of code across 1211 source files, recording 6320 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 39.3 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).

39.3
Adjusted Score
39.3
Raw Score
100%
Time Factor
2026-08-09
Last Push
2.3K
Stars
Python
Language
275.1K
Lines of Code
1.2K
Files
6.3K
Pattern Hits
2026-08-09
Scan Date
0.09
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 105MEDIUM 1761LOW 4454

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 6320 distinct pattern matches across 21 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.

Decorative Section Separators1656 hits · 5578 pts
SeverityFileLineSnippetContext
MEDIUMinstall-server.sh24# ── Helpers ──────────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh34# ── Parse arguments ──────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh104# ── Pre-flight ───────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh110# ── Resolve version ──────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh120# ── Download ─────────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh138# ── Unpack ───────────────────────────────────────────────────COMMENT
MEDIUMinstall-server.sh161# ── Run setup ───────────────────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml9 # ── Python ─────────────────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml17 # ── YAML / TOML / JSON ────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml37 # ── Secrets / .env guard ───────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml46 # ── Alembic migrations ─────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml57 # ── SPDX copyright update ──────────────────────────────────────COMMENT
MEDIUM.pre-commit-config.yaml68 # ── 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.toml119# ── Pytest ───────────────────────────────────────────────COMMENT
MEDIUMpyproject.toml125# ── Bandit ───────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/deploy.sh6# ================================COMMENT
MEDIUMinfra/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.tf185# ── Cloud SQL ─────────────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf209# ── Memorystore Redis ─────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf227# ── Application config ────────────────────────────────────────────────────COMMENT
MEDIUMinfra/terraform/gcp/variables.tf266# ── 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
1596 more matches not shown…
Hyper-Verbose Identifiers3106 hits · 3069 pts
SeverityFileLineSnippetContext
LOWobserval_cli/config.py144def migrate_shimmed_mcp_configs(home: Path | None = None, cwd: Path | None = None) -> list[Path]:CODE
LOWobserval_cli/cmd_uninstall.py89def _create_windows_cleanup_script(CODE
LOWobserval_cli/client.py246def resolve_registry_reference(item_type: str, reference: str) -> str:CODE
LOWobserval_cli/client.py415def get_registered_agents_only() -> bool:CODE
LOWobserval_cli/client.py438def get_registered_agent_names() -> set[str]:CODE
LOWobserval_cli/cmd_pull.py37def _warn_component_conflicts(harness: str, agent_name: str, components: list[dict]) -> None:CODE
LOWobserval_cli/cmd_pull.py394def _rewrite_copilot_cli_hooks(content: dict, agent_id: str | None = None) -> dict:CODE
LOWobserval_cli/cmd_doctor.py192def _check_observal_skill_missing() -> list[str]:CODE
LOWobserval_cli/cmd_mcp.py65def _configure_env_vars_interactive(detected: list[dict]) -> list[dict]:CODE
LOWobserval_cli/cmd_mcp.py256def _parse_server_json_manifest(cfg: dict) -> dict | None:CODE
LOWobserval_cli/lockfile_reconcile.py81def plan_lockfile_reconciliation() -> LockfileReconciliation:CODE
LOWobserval_cli/cmd_auth.py970def _generate_initial_layer_snapshot():CODE
LOWobserval_cli/cmd_auth.py80def _ensure_cli_matches_server(server_url: str) -> None:CODE
LOWobserval_cli/cmd_insights.py275def _render_what_they_work_on(title: str, data: dict):CODE
LOWobserval_cli/cmd_insights.py289def _render_interaction_style(title: str, data: dict):CODE
LOWobserval_cli/cmd_insights.py396def _render_registry_match_note(summary: dict | None):CODE
LOWobserval_cli/cmd_insights.py530def _render_version_comparison(title: str, data: dict):CODE
LOWobserval_cli/cmd_server.py381def _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.py629def 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
LOWobserval_cli/version_check.py546def check_version_compatibility(server_url: str) -> None:CODE
LOWobserval_cli/cmd_transfer.py23def add_transfer_owner_command(app: typer.Typer, entity_type: str) -> None:CODE
LOWobserval_cli/cmd_migrate.py121def _warn_clickhouse_cleartext(url: str) -> None:CODE
LOWobserval_cli/main.py107def _migrate_legacy_mcp_configs() -> None:CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py9def test_listings_render_the_bare_name_over_an_at_handle():CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py27def test_namespace_falls_back_to_the_qualified_name_and_degrades_without_one():CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py35def test_dotted_namespaces_are_valid_but_flattened_in_local_install_names(tmp_path, monkeypatch):CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py58def test_qualified_reference_resolves_once(monkeypatch):CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py77def test_uuid_and_bare_references_do_not_call_resolver(monkeypatch):CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py84def test_local_name_changes_only_for_actual_same_slug_collision(tmp_path, monkeypatch):CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py121def test_nested_registries_are_isolated(tmp_path, monkeypatch):CODE
LOWobserval_cli/tests/test_registry_namespace_cli.py154def test_reconciliation_updates_metadata_but_keeps_installed_version(tmp_path, monkeypatch):CODE
LOWobserval_cli/tests/test_cmd_auth.py117 def test_login_with_credentials_saves_config(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py150 def test_login_strips_trailing_slash_from_server_url(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py175 def test_login_with_invalid_credentials_exits_nonzero(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py214 def test_login_when_server_unreachable_exits_nonzero(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py251 def test_whoami_outputs_email_and_role(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py284 def test_whoami_unset_username_is_handled(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py307 def test_status_reports_ok_when_healthy(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py321 def test_status_reports_unreachable_when_health_fails(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py333 def test_status_reports_auth_not_set_when_no_token(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py352 def test_opencode_detects_off_path_installer_binary(self, tmp_path, monkeypatch) -> None:CODE
LOWobserval_cli/tests/test_cmd_auth.py371 def test_doctor_patch_uses_current_flags(self) -> None:CODE
LOWobserval_cli/tests/test_cmd_team.py33def test_team_list_calls_mine_endpoint():CODE
LOWobserval_cli/tests/test_cmd_team.py41def test_team_list_all_uses_all_endpoint():CODE
LOWobserval_cli/tests/test_cmd_team.py48def test_team_create_posts_handle_and_name():CODE
LOWobserval_cli/tests/test_cmd_team.py57def test_team_show_resolves_handle_to_id():CODE
LOWobserval_cli/tests/test_cmd_team.py74def test_team_show_accepts_uuid_directly():CODE
LOWobserval_cli/tests/test_cmd_team.py85def test_team_members_add_sends_email_or_username():CODE
LOWobserval_cli/tests/test_cmd_team.py96def test_team_members_add_username_strips_at_prefix():CODE
LOWobserval_cli/tests/test_cmd_team.py104def test_team_members_remove_resolves_member_by_username():CODE
LOWobserval_cli/tests/test_cmd_team.py116def test_team_members_remove_unknown_user_errors():CODE
LOWobserval_cli/tests/test_cmd_team.py124def test_team_delete_requires_confirmation_without_yes():CODE
LOWobserval_cli/tests/test_cmd_team.py132def test_team_leave_posts_leave_endpoint():CODE
LOWobserval_cli/tests/test_cmd_team.py140def test_team_invite_create_list_and_revoke():CODE
LOWobserval_cli/tests/test_cmd_team.py177def test_team_show_unknown_handle_errors(bad: str):CODE
LOWobserval_cli/tests/test_cmd_team.py183def test_team_commands_do_not_probe_the_server_version():CODE
LOWobserval_cli/tests/test_cmd_agent_init_flags.py16def test_agent_init_flags_write_yaml(tmp_path):CODE
3046 more matches not shown…
Unused Imports535 hits · 488 pts
SeverityFileLineSnippetContext
LOWtools/release.py6CODE
LOWobserval_cli/upgrade_executor.py9CODE
LOWobserval_cli/cmd_recommend.py11CODE
LOWobserval_cli/cmd_inbox.py14CODE
LOWobserval_cli/cmd_team.py6CODE
LOWobserval_cli/cmd_support.py12CODE
LOWobserval_cli/cmd_hook.py7CODE
LOWobserval_cli/cmd_agent.py12CODE
LOWobserval_cli/lockfile.py15CODE
LOWobserval_cli/install_detector.py6CODE
LOWobserval_cli/audit.py9CODE
LOWobserval_cli/branding.py6CODE
LOWobserval_cli/cmd_uninstall.py6CODE
LOWobserval_cli/telemetry_buffer.py10CODE
LOWobserval_cli/render.py8CODE
LOWobserval_cli/cmd_ops.py10CODE
LOWobserval_cli/cmd_component.py11CODE
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/upgrade_lock.py10CODE
LOWobserval_cli/lockfile_reconcile.py6CODE
LOWobserval_cli/cmd_prompt.py10CODE
LOWobserval_cli/prompts.py12CODE
LOWobserval_cli/cmd_auth.py17CODE
LOWobserval_cli/cmd_insights.py6CODE
LOWobserval_cli/cmd_archive.py6CODE
LOWobserval_cli/cmd_models.py8CODE
LOWobserval_cli/cmd_outdated.py6CODE
LOWobserval_cli/model_catalog.py8CODE
LOWobserval_cli/cmd_server.py11CODE
LOWobserval_cli/cmd_co_authors.py6CODE
LOWobserval_cli/sandbox_mcp.py19CODE
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/cmd_scan.py15CODE
LOWobserval_cli/cmd_transfer.py6CODE
LOWobserval_cli/cmd_migrate.py16CODE
LOWobserval_cli/cmd_migrate.py53CODE
LOWobserval_cli/cmd_migrate.py100CODE
LOWobserval_cli/cmd_logs.py15CODE
LOWobserval_cli/settings_reconciler.py15CODE
LOWobserval_cli/harness_specs/antigravity_hooks_spec.py42CODE
LOWobserval_cli/harness_specs/goose_hooks_spec.py26CODE
LOWobserval_cli/harness_specs/claude_code_hooks_spec.py20CODE
LOWobserval_cli/harness_specs/copilot_cli_hooks_spec.py14CODE
LOWobserval_cli/harness_specs/codex_hooks_spec.py13CODE
LOWobserval_cli/harness_specs/kiro_hooks_spec.py12CODE
LOWobserval_cli/harness_specs/copilot_hooks_spec.py22CODE
LOWobserval_cli/harness_specs/opencode_hooks_spec.py15CODE
LOWobserval_cli/tests/test_cmd_auth.py14CODE
LOWobserval_cli/tests/test_cmd_team.py6CODE
LOWobserval_cli/tests/test_cmd_agent_init_flags.py4CODE
475 more matches not shown…
Cross-Language Confusion82 hits · 366 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/server/updater.py220 " If the server is running, restart it: [cyan]observal server stop && observal server start[/cyan]"CODE
HIGHtests/test_observal_skill.py20 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.py63assert.equal(state.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py75assert.equal(repair.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py117 if (!options.method || options.method === "GET") {STRING
HIGHtests/test_opencode_session_delivery.py122 ingestPayloads.push(payload);STRING
HIGHtests/test_opencode_session_delivery.py124 if (repairFinalOnce && payload.final) {STRING
HIGHtests/test_opencode_session_delivery.py147assert.equal(delivery.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py157assert.equal(recovered.pending, null);STRING
HIGHtests/test_opencode_session_delivery.py171assert.equal(large.pending, null);STRING
HIGHtests/test_claude_code_session_parser.py23{"parentUuid":"user-1","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg-1","type":"message","role":"asCODE
HIGHtests/test_claude_code_session_parser.py24{"parentUuid":"assistant-1","isSidechain":false,"message":{"model":"claude-opus-4-6","id":"msg-1","type":"message","roleCODE
HIGHtests/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_migration_frontend.py9 cd web && pnpm testSTRING
HIGHobserval-server/tests/test_exec_dashboard.py8Run with: cd observal-server && pytest tests/test_exec_dashboard.py -vSTRING
HIGH…l-server/alembic/versions/019_team_listing_restrict.py8null, and every member except the original submitter lost access. The applicationSTRING
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
HIGH…erval-shared/observal_shared/opencode_plugin_source.py334 const usage = info.tokens || info.usage || {};CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py336 input_tokens: usage.input || usage.inputTokens || 0,CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py337 output_tokens: usage.output || usage.outputTokens || 0,CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py338 cache_read_input_tokens: usage.cacheRead || usage.cacheReadTokens || 0,CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py339 cache_creation_input_tokens: usage.cacheWrite || usage.cacheWriteTokens || 0,CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py342 lines.push(JSON.stringify(line));CODE
HIGH…erval-shared/observal_shared/opencode_plugin_source.py348 return event?.properties?.sessionID || event?.properties?.info?.id || "";CODE
22 more matches not shown…
Excessive Try-Catch Wrapping356 hits · 350 pts
SeverityFileLineSnippetContext
LOWinfra/terraform/deploy.sh239except Exception:CODE
LOWinfra/terraform/aws/deploy.sh178except Exception:CODE
LOWtools/release.py687 except Exception:STRING
MEDIUMobserval_cli/cmd_support.py175def _get_cli_version() -> str:CODE
LOWobserval_cli/cmd_support.py180 except Exception:CODE
LOWobserval_cli/cmd_support.py103 except Exception as exc:CODE
LOWobserval_cli/cmd_support.py157 except Exception:CODE
LOWobserval_cli/cmd_support.py311 except Exception as exc:CODE
LOWobserval_cli/cmd_hook.py531 except Exception:CODE
LOWobserval_cli/cmd_hook.py587 except Exception as exc:CODE
LOWobserval_cli/cmd_hook.py595 except Exception as exc:CODE
LOWobserval_cli/cmd_hook.py598 except Exception:CODE
LOWobserval_cli/lockfile.py503 except Exception:CODE
LOWobserval_cli/audit.py62 except Exception as e:CODE
MEDIUMobserval_cli/audit.py50def _send():CODE
LOWobserval_cli/cmd_uninstall.py341 except Exception as exc:CODE
LOWobserval_cli/render.py73 except Exception:CODE
LOWobserval_cli/cmd_ops.py271 except Exception:CODE
LOWobserval_cli/cmd_ops.py537 except Exception:CODE
LOWobserval_cli/cmd_ops.py1427 except Exception:CODE
LOWobserval_cli/client.py39 except Exception:CODE
LOWobserval_cli/client.py186 except Exception:CODE
LOWobserval_cli/client.py295 except Exception:CODE
LOWobserval_cli/client.py434 except Exception:CODE
LOWobserval_cli/client.py456 except Exception:CODE
LOWobserval_cli/client.py479 except Exception:CODE
LOWobserval_cli/client.py495 except Exception:CODE
LOWobserval_cli/client.py511 except Exception:CODE
LOWobserval_cli/client.py521 except Exception:CODE
LOWobserval_cli/cmd_pull.py552 except Exception:CODE
LOWobserval_cli/cmd_pull.py565 except Exception:CODE
LOWobserval_cli/cmd_pull.py80 except Exception:CODE
LOWobserval_cli/cmd_pull.py930 except Exception:CODE
LOWobserval_cli/cmd_pull.py938 except Exception:CODE
LOWobserval_cli/cmd_doctor.py54 except Exception:CODE
LOWobserval_cli/cmd_doctor.py91 except Exception as exc:CODE
LOWobserval_cli/cmd_doctor.py247 except Exception as e:CODE
LOWobserval_cli/cmd_doctor.py318 except Exception:CODE
LOWobserval_cli/analyzer.py132 except Exception:CODE
LOWobserval_cli/sandbox_runner.py147 except Exception as e:CODE
MEDIUMobserval_cli/sandbox_runner.py148 print(f"Error: {e}", file=sys.stderr)CODE
LOWobserval_cli/sandbox_runner.py154 except Exception:CODE
LOWobserval_cli/cmd_mcp.py1178 except Exception:CODE
LOWobserval_cli/cmd_prompt.py369 except Exception as exc:CODE
LOWobserval_cli/cmd_prompt.py377 except Exception as exc:CODE
LOWobserval_cli/cmd_prompt.py380 except Exception:CODE
LOWobserval_cli/cmd_auth.py966 except Exception:CODE
LOWobserval_cli/cmd_auth.py980 except Exception:CODE
LOWobserval_cli/cmd_auth.py99 except Exception:CODE
LOWobserval_cli/cmd_auth.py178 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py265 except Exception:CODE
LOWobserval_cli/cmd_auth.py354 except Exception:CODE
LOWobserval_cli/cmd_auth.py441 except Exception:CODE
LOWobserval_cli/cmd_auth.py484 except Exception:CODE
LOWobserval_cli/cmd_auth.py522 except Exception as e:CODE
LOWobserval_cli/cmd_auth.py533 except Exception:CODE
LOWobserval_cli/cmd_auth.py552 except Exception:CODE
LOWobserval_cli/cmd_auth.py614 except Exception:CODE
LOWobserval_cli/cmd_auth.py702 except Exception:CODE
LOWobserval_cli/cmd_auth.py914 except Exception as e:CODE
296 more matches not shown…
AI Slop Vocabulary90 hits · 295 pts
SeverityFileLineSnippetContext
MEDIUMobserval_cli/cmd_hook.py480 # Write/merge config into the harness's hooks config fileCOMMENT
MEDIUMobserval_cli/cmd_agent.py868 # Optional per-harness model overrides, e.g. {"kiro": "claude-haiku-4-5"}.COMMENT
MEDIUMobserval_cli/lockfile.py179 # Local names become harness config keys and on-disk names, where a dot readsCOMMENT
MEDIUMobserval_cli/lockfile.py558 # We don't know which harness was used, default to claude-codeCOMMENT
MEDIUMobserval_cli/render.py153# ── harness tag rendering ────────────────────────────────────COMMENT
MEDIUMobserval_cli/cmd_ops.py1428 # Detail endpoint failed (e.g. no session parser for this harness)COMMENT
MEDIUMobserval_cli/cmd_pull.py557 # validates the candidate against the harness registry and fallsCOMMENT
MEDIUMobserval_cli/constants.py25# ── harness / client names (hyphen-canonical) ───────────────────COMMENT
MEDIUMobserval_cli/constants.py29# ── harness feature capabilities ──────────────────────────────────COMMENT
MEDIUMobserval_cli/cmd_mcp.py700 # MCP servers are harness-agnostic - config generation handles all harnesses.COMMENT
MEDIUMobserval_cli/layer.py40# Per-harness file discovery configurationCOMMENT
MEDIUMobserval_cli/layer.py43# Maps harness name → dict of scope → list of (base_dir, glob_patterns)COMMENT
MEDIUMobserval_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.py610# User-scope skill directories per harness (global install locations)COMMENT
MEDIUMobserval_cli/cmd_scan.py35# ── harness home directory paths (for status display) ────────────────COMMENT
MEDIUMobserval_cli/cmd_scan.py78 # Validate harness filterCOMMENT
MEDIUMobserval_cli/cmd_scan.py138 # Determine status for this harnessCOMMENT
MEDIUMobserval_cli/skill_installer.py52 # Only install if the harness directory exists (harness is installed)COMMENT
MEDIUMobserval_cli/tests/test_cmd_auth.py346# ── 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.py728 # Install harness hooks for telemetry (non-interactive)COMMENT
MEDIUMobserval_cli/sessions/base.py805 # Prefer a harness-scoped match, but fall back to an unscoped UUIDCOMMENT
MEDIUMobserval_cli/sessions/base.py806 # lookup. A UUID is globally unique, and the harness recorded at pullCOMMENT
MEDIUMobserval_cli/sessions/base.py809 # defaults harness to "claude-code" when a caller sets payload["harness"]COMMENT
MEDIUMobserval_cli/sessions/base.py686# Per-session layer_hash cache: avoids re-scanning harness dirs on every chunkCOMMENT
MEDIUMtests/test_copilot_integration.py91 # Test that an unknown harness raises KeyError (not silently falls through)COMMENT
MEDIUMtests/test_copilot_integration.py437 # Agent is stored only under the 'copilot' harness key.COMMENT
MEDIUMtests/test_copilot_integration.py444 # harness reported by the push payload differs from the lockfile keyCOMMENT
MEDIUMtests/test_copilot_integration.py446 # build_payload's default harness also differsCOMMENT
MEDIUMtests/test_harness_config_e2e.py420# 3. harness COMPATIBILITY WARNINGSCOMMENT
MEDIUMtests/test_harness_config_e2e.py625# 8. PULL — Full CLI flow (E2E per harness)COMMENT
MEDIUMtests/test_harness_config_e2e.py862# 9. CROSS-CUTTING — format correctness per harness specCOMMENT
MEDIUMtests/test_harness_config_e2e.py928# 10. DOCTOR — Copilot harness config checksCOMMENT
MEDIUMtests/test_harness_config_e2e.py1037# 13. DOCTOR — OpenCode harness config checksCOMMENT
MEDIUMtests/test_harness_config_e2e.py7"""Comprehensive end-to-end tests for issue #434: first-class harness support.STRING
MEDIUMtests/test_antigravity_sessions.py203# ── Server harness adapter ────────────────────────────────────────────────────────COMMENT
MEDIUMobserval-server/tests/test_agent_versions_api.py685# 5. harness config endpointCOMMENT
MEDIUMobserval-server/tests/test_agent_versions_api.py720 ver.harness_configs = {} # no cached config for requested harnessCODE
MEDIUMobserval-server/models/agent.py46 # Per-harness model overrides: {"claude-code": "claude-sonnet-4-5", "kiro": "claude-opus-4-5", ...}COMMENT
MEDIUMobserval-server/models/agent.py47 # Empty dict means "use model_name as the default for every harness that accepts a model choice".COMMENT
MEDIUMobserval-server/models/agent.py48 # Missing key for an harness that accepts a choice means "emit auto sentinel".COMMENT
MEDIUMobserval-server/schemas/constants.py30# ── harness / client names (hyphen-canonical) ───────────────────COMMENT
MEDIUMobserval-server/schemas/constants.py34# ── harness feature capabilities ──────────────────────────────────COMMENT
MEDIUMobserval-server/schemas/dashboard.py101# --- harness usage ---COMMENT
MEDIUMobserval-server/schemas/agent.py280 # harness-specific install options (e.g. scope, model, tools, color for Claude Code)COMMENT
MEDIUMobserval-server/api/routes/layer_snapshot.py298 # Flatten {harnesses: {name: [files]}} to {"harness/path": file_dict}STRING
MEDIUMobserval-server/api/routes/agent_versions.py140 # A version carries the agent's prompt and generated harness config. Seeing theCOMMENT
MEDIUMobserval-server/api/routes/agent_versions.py185 # A version carries the agent's prompt and generated harness config. Seeing theCOMMENT
MEDIUMobserval-server/api/routes/agent_versions.py302 # Infer harness features from componentsCOMMENT
MEDIUMobserval-server/api/routes/agent_versions.py323 # Pre-generate harness configs at release time (spec: no generation at request time)COMMENT
MEDIUMobserval-server/api/routes/agent_versions.py330 # Pre-generate harness configs for supported_harnesses (the user-declared list).COMMENT
MEDIUMobserval-server/api/routes/agent_versions.py410 # A version carries the agent's prompt and generated harness config. Seeing theCOMMENT
MEDIUMobserval-server/api/routes/agent_versions.py489 # A version carries the agent's prompt and generated harness config. Seeing theCOMMENT
MEDIUMobserval-server/api/routes/inbox.py431 # One notice per component, whichever harness reported it first. The sameCOMMENT
MEDIUMobserval-server/api/routes/agent/draft.py201 # Auto-infer harness features for draft (use request data, not ORM relationship)COMMENT
30 more matches not shown…
Deep Nesting202 hits · 177 pts
SeverityFileLineSnippetContext
LOWobserval_cli/upgrade_executor.py33CODE
LOWobserval_cli/upgrade_executor.py151CODE
LOWobserval_cli/cmd_support.py188CODE
LOWobserval_cli/cmd_support.py493CODE
LOWobserval_cli/cmd_hook.py101CODE
LOWobserval_cli/cmd_agent.py987CODE
LOWobserval_cli/lockfile.py274CODE
LOWobserval_cli/lockfile.py360CODE
LOWobserval_cli/lockfile.py481CODE
LOWobserval_cli/cmd_uninstall.py231CODE
LOWobserval_cli/cmd_uninstall.py235CODE
LOWobserval_cli/cmd_ops.py1403CODE
LOWobserval_cli/client.py78CODE
LOWobserval_cli/cmd_pull.py37CODE
LOWobserval_cli/cmd_pull.py115CODE
LOWobserval_cli/cmd_pull.py196CODE
LOWobserval_cli/cmd_pull.py272CODE
LOWobserval_cli/cmd_pull.py328CODE
LOWobserval_cli/cmd_pull.py500CODE
LOWobserval_cli/cmd_pull.py584CODE
LOWobserval_cli/cmd_pull.py586CODE
LOWobserval_cli/cmd_doctor.py251CODE
LOWobserval_cli/cmd_doctor.py302CODE
LOWobserval_cli/cmd_doctor.py430CODE
LOWobserval_cli/cmd_doctor.py471CODE
LOWobserval_cli/cmd_doctor.py586CODE
LOWobserval_cli/cmd_doctor.py737CODE
LOWobserval_cli/cmd_doctor.py800CODE
LOWobserval_cli/cmd_doctor.py877CODE
LOWobserval_cli/cmd_doctor.py926CODE
LOWobserval_cli/cmd_doctor.py1383CODE
LOWobserval_cli/sandbox_runner.py248CODE
LOWobserval_cli/cmd_mcp.py256CODE
LOWobserval_cli/cmd_mcp.py322CODE
LOWobserval_cli/cmd_mcp.py425CODE
LOWobserval_cli/cmd_mcp.py476CODE
LOWobserval_cli/cmd_mcp.py1028CODE
LOWobserval_cli/cmd_mcp.py1514CODE
LOWobserval_cli/upgrade_lock.py28CODE
LOWobserval_cli/lockfile_reconcile.py46CODE
LOWobserval_cli/lockfile_reconcile.py81CODE
LOWobserval_cli/cmd_auth.py134CODE
LOWobserval_cli/cmd_auth.py620CODE
LOWobserval_cli/cmd_outdated.py23CODE
LOWobserval_cli/cmd_outdated.py25CODE
LOWobserval_cli/cmd_server.py67CODE
LOWobserval_cli/cmd_server.py224CODE
LOWobserval_cli/cmd_server.py381CODE
LOWobserval_cli/cmd_server.py407CODE
LOWobserval_cli/cmd_server.py449CODE
LOWobserval_cli/cmd_server.py599CODE
LOWobserval_cli/sandbox_mcp.py61CODE
LOWobserval_cli/layer.py357CODE
LOWobserval_cli/layer.py739CODE
LOWobserval_cli/version_check.py413CODE
LOWobserval_cli/version_check.py506CODE
LOWobserval_cli/cmd_scan.py53CODE
LOWobserval_cli/cmd_scan.py55CODE
LOWobserval_cli/cmd_migrate.py266CODE
LOWobserval_cli/cmd_migrate.py440CODE
142 more matches not shown…
Structural Annotation Overuse59 hits · 100 pts
SeverityFileLineSnippetContext
LOWtests/test_device_auth.py492 # Step 1: CLI requests device authorizationCOMMENT
LOWtests/test_device_auth.py499 # Step 2: CLI polls -- should get authorization_pendingCOMMENT
LOWtests/test_device_auth.py510 # Step 3: User confirms in browserCOMMENT
LOWtests/test_device_auth.py518 # Step 4: CLI polls again -- should get tokensCOMMENT
LOWtests/test_device_auth.py534 # Step 5: Polling again should return expired_token (keys cleaned up)COMMENT
LOWtests/test_migration_job_lifecycle.py80 # Step 1: queued → runningCOMMENT
LOWtests/test_migration_job_lifecycle.py85 # Step 2: running → completedCOMMENT
LOWobserval-server/api/routes/auth.py627 # Step 1: exchange the authorization code for tokens.COMMENT
LOWobserval-server/api/routes/auth.py738 # Step 5: user lookup / JIT.COMMENT
LOWobserval-server/api/routes/auth.py812 # Step 6: persist SSO groups (best-effort, never blocks login).COMMENT
LOWobserval-server/api/routes/auth.py820 # Step 7: issue tokens + commit.COMMENT
LOWobserval-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
LOWobserval-server/api/routes/sso_saml.py516 # Step 1: decrypt SP signing key.COMMENT
LOWobserval-server/api/routes/sso_saml.py533 # Step 2: process the Response (signature, audience, conditions).COMMENT
LOWobserval-server/api/routes/sso_saml.py658 # Step 4: extract NameID + attributes.COMMENT
LOWobserval-server/api/routes/sso_saml.py720 # Step 5: user lookup / JIT (real-login mode).COMMENT
LOWobserval-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.md144## Step 3: Create CLI Adapter (Scanning)COMMENT
LOWdocs/adding-a-harness.md316## Step 4: Create Server-Side Config Generator (Install)COMMENT
LOWdocs/adding-a-harness.md354## Step 5: Create Hook SpecCOMMENT
LOWdocs/adding-a-harness.md396## Step 6: Add the Session Source Adapter and Parser (required)COMMENT
LOWdocs/adding-a-harness.md423## Step 7: Configure the Shared Session HookCOMMENT
LOWdocs/adding-a-harness.md433## Step 8: Register EverythingCOMMENT
LOWdocs/adding-a-harness.md452## Step 9: TestsCOMMENT
LOWdocs/adding-a-harness.md526## 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
Fake / Example Data69 hits · 84 pts
SeverityFileLineSnippetContext
LOWCHANGELOG.md702- fix reuse-lint and dependency-audit for fake-key fixture ([de356e7](https://github.com/Observal/Observal/commit/de356eCODE
LOWCHANGELOG.md2022- add secret_scanning.yml paths-ignore for fake-key test fixtures ([54faf17](https://github.com/Observal/Observal/commitCODE
LOWweb/src/pages/admin/audit-log.tsx40// Supports quoted values: actor:"John Doe" action:"agent.pull"COMMENT
LOWweb/src/pages/user/traces/index.tsx59// ── Search query parser (Discord-style: platform:kiro user:"John Doe") ───────COMMENT
LOWtests/test_google_oauth.py151 fake_user = MagicMock()CODE
LOWtests/test_google_oauth.py152 fake_user.id = "u-1"CODE
LOWtests/test_google_oauth.py153 fake_user.email = "alice@acme.com"CODE
LOWtests/test_google_oauth.py154 fake_user.role = MagicMock(value="user")CODE
LOWtests/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_saml.py84 assert email == "user@example.com"CODE
LOWtests/test_saml.py252 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOWtests/test_saml.py257 mock_user.email = "user@example.com"CODE
LOWtests/test_saml.py263 mock_user.sso_subject_id = "user@example.com"CODE
LOWtests/test_saml.py638 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOWtests/test_saml.py643 mock_user.email = "user@example.com"CODE
LOWtests/test_saml.py649 mock_user.sso_subject_id = "user@example.com"CODE
LOWtests/test_saml.py729 mock_auth.get_nameid.return_value = "user@example.com"CODE
LOWtests/test_saml.py734 mock_user.email = "user@example.com"CODE
LOWtests/test_saml.py740 mock_user.sso_subject_id = "user@example.com"CODE
LOWtests/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
LOWtests/test_device_auth.py514 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py346 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py376 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py414 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/test_device_auth.py451 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
LOWtests/test_auth2_security.py248 headers={"Authorization": "Bearer fake-token"},CODE
LOWtests/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
LOWtests/test_saml_scim_integration.py35 result = parse_scim_filter('userName eq "user@example.com"')CODE
LOWtests/test_saml_scim_integration.py39 assert result.value == "user@example.com"CODE
LOWtests/test_saml_scim_integration.py98 result = parse_scim_filter(' userName eq "user@example.com" ')CODE
LOWtests/test_saml_scim_integration.py102 assert result.value == "user@example.com"CODE
LOWtests/test_saml_scim_integration.py107 result = parse_scim_filter('userName EQ "user@example.com"')CODE
LOWtests/test_scim.py138 r = await ac.post("/api/v1/scim/Users", json={"userName": "test@test.com"})CODE
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
LOWtests/test_github_oauth.py158 fake_user = MagicMock()CODE
LOWtests/test_github_oauth.py159 fake_user.id = "u-1"CODE
LOWtests/test_github_oauth.py160 fake_user.email = "alice@acme.com"CODE
LOWtests/test_github_oauth.py161 fake_user.role = MagicMock(value="user")CODE
LOWtests/test_github_oauth.py163 provision_mock = AsyncMock(return_value=fake_user)CODE
LOWtests/test_github_oauth.py191 fake_user = MagicMock()CODE
LOWtests/test_github_oauth.py192 fake_user.id = "u-1"CODE
LOWtests/test_github_oauth.py193 fake_user.email = "backup@acme.com"CODE
9 more matches not shown…
Cross-File Repetition14 hits · 70 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_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
Verbosity Indicators24 hits · 48 pts
SeverityFileLineSnippetContext
LOWtests/test_device_auth.py492 # Step 1: CLI requests device authorizationCOMMENT
LOWtests/test_device_auth.py499 # Step 2: CLI polls -- should get authorization_pendingCOMMENT
LOWtests/test_device_auth.py510 # Step 3: User confirms in browserCOMMENT
LOWtests/test_device_auth.py518 # Step 4: CLI polls again -- should get tokensCOMMENT
LOWtests/test_device_auth.py534 # Step 5: Polling again should return expired_token (keys cleaned up)COMMENT
LOWtests/test_migration_job_lifecycle.py80 # Step 1: queued → runningCOMMENT
LOWtests/test_migration_job_lifecycle.py85 # Step 2: running → completedCOMMENT
LOWobserval-server/api/routes/auth.py627 # Step 1: exchange the authorization code for tokens.COMMENT
LOWobserval-server/api/routes/auth.py738 # Step 5: user lookup / JIT.COMMENT
LOWobserval-server/api/routes/auth.py812 # Step 6: persist SSO groups (best-effort, never blocks login).COMMENT
LOWobserval-server/api/routes/auth.py820 # Step 7: issue tokens + commit.COMMENT
LOWobserval-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
LOWobserval-server/api/routes/sso_saml.py516 # Step 1: decrypt SP signing key.COMMENT
LOWobserval-server/api/routes/sso_saml.py533 # Step 2: process the Response (signature, audience, conditions).COMMENT
LOWobserval-server/api/routes/sso_saml.py658 # Step 4: extract NameID + attributes.COMMENT
LOWobserval-server/api/routes/sso_saml.py720 # Step 5: user lookup / JIT (real-login mode).COMMENT
LOWobserval-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 Block36 hits · 36 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
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
LOWweb/src/pages/user/inbox.tsx161COMMENT
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.py141 # flushes as it goes: the Agent, then its version, then itsCOMMENT
LOWobserval-server/api/routes/teams.py601 raise HTTPException(status_code=409, detail="Personal teamspaces cannot be deleted")COMMENT
LOWobserval-server/api/routes/__init__.py1# SPDX-FileCopyrightText: 2026 Subramania Raja <dhanpraja231@gmail.com>COMMENT
LOWobserval-server/api/routes/review.py941 rejected_version = pending_versions[0].version if pending_versions else ""COMMENT
LOWobserval-server/api/routes/co_authors.py201 # Transfer rewrites the namespace to the target user's handle, so a teamspaceCOMMENT
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.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
Docstring Block Structure7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/upgrade_lock.py29Acquire 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.py171Scan the user's home directory for this harness's configuration. Args: home: Override home directorSTRING
HIGHobserval_cli/harness/protocol.py193Scan a project directory for this harness's configuration. Args: project_dir: The project root to sSTRING
HIGHobserval_cli/harness/protocol.py224Generate hook configuration for telemetry collection. Args: observal_url: The Observal server URL. STRING
HIGHobserval_cli/harness/protocol.py240Detect whether Observal hooks are already installed. Args: config_dir: harness-specific config direSTRING
HIGHobserval-server/services/skill_validator.py209Fetch SKILL.md and validate its frontmatter. Args: git_url: Repository URL (GitHub or generic git host). 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
MEDIUMobserval_cli/tests/test_cmd_migrate.py157 # Create a dummy tar.gz fileCOMMENT
MEDIUMobserval_cli/server/orchestrator.py203 # Create the observal database if it doesn't existCOMMENT
MEDIUMtests/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
MEDIUMtests/test_schema_redesign.py509 # Create a mock MCP listing with mcp_validated=FalseCOMMENT
MEDIUMtests/test_migration_api.py188 # Create a fake tar.gz upload fileCOMMENT
MEDIUMtests/test_integration.py396 # Create a uniquely named MCPCOMMENT
MEDIUMobserval-server/services/insights/batch.py433 # Create a new report recordSTRING
Redundant / Tautological Comments21 hits · 31 pts
SeverityFileLineSnippetContext
LOWinfra/terraform/aws-ec2/deploy.sh73 # Print outputCOMMENT
LOWinfra/terraform/aws/variables.tf401# 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/client.py66 # Check if current subcommand is exempt (handle flags before subcommand)COMMENT
LOWobserval_cli/cmd_doctor.py266 # Check if session push hooks are installedCOMMENT
LOWobserval_cli/cmd_doctor.py479 # Check if VS Code / Copilot is even presentCOMMENT
LOWobserval_cli/cmd_doctor.py1259 # Check if already patchedCOMMENT
LOWobserval_cli/cmd_doctor.py1404 # Check if already patchedCOMMENT
LOWobserval_cli/cmd_doctor.py1564 # Check if running under /mnt/c/Users/<name>/...COMMENT
LOWobserval_cli/cmd_doctor.py1614 # Check if already patchedCOMMENT
LOWobserval_cli/upgrade_lock.py49 # Check if lock is stale (>30 minutes old)COMMENT
LOWobserval_cli/cmd_server.py87 # Check if port is available, try fallbacks if defaultCOMMENT
LOWobserval_cli/settings_reconciler.py79 # Check if Observal groups match desired (by JSON equality)COMMENT
LOWobserval_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.py314 # 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
LOW…observal-shared/observal_shared/migration/ch_export.py269 # Check if file is actually empty (edge case)COMMENT
AI Structural Patterns32 hits · 30 pts
SeverityFileLineSnippetContext
LOWobserval_cli/cmd_hook.py101CODE
LOWobserval_cli/cmd_agent.py107CODE
LOWobserval_cli/cmd_agent.py447CODE
LOWobserval_cli/cmd_agent.py799CODE
LOWobserval_cli/cmd_pull.py586CODE
LOWobserval_cli/cmd_mcp.py1251CODE
LOWobserval_cli/cmd_mcp.py1325CODE
LOWobserval_cli/cmd_mcp.py1446CODE
LOWobserval_cli/cmd_mcp.py1514CODE
LOWobserval_cli/cmd_prompt.py41CODE
LOWobserval_cli/cmd_skill.py111CODE
LOWobserval_cli/cmd_skill.py689CODE
LOWobserval_cli/cmd_skill.py767CODE
LOWobserval_cli/cmd_sandbox.py91CODE
LOWobserval_cli/cmd_sandbox.py339CODE
LOWobserval_cli/sessions/base.py469CODE
LOWobserval-server/api/routes/skill.py195CODE
LOWobserval-server/api/routes/sessions.py64CODE
LOWobserval-server/api/routes/hook.py123CODE
LOWobserval-server/api/routes/review.py1109CODE
LOWobserval-server/api/routes/dashboard.py532CODE
LOWobserval-server/api/routes/sandbox.py115CODE
LOWobserval-server/api/routes/mcp.py224CODE
LOWobserval-server/api/routes/inbox.py130CODE
LOWobserval-server/api/routes/prompt.py114CODE
LOWobserval-server/api/routes/audit_log.py61CODE
LOWobserval-server/api/routes/audit_log.py144CODE
LOWobserval-server/api/routes/agent/crud.py253CODE
LOWobserval-server/services/model_display.py55CODE
LOWobserval-server/services/insights/generator.py47CODE
LOWobserval-server/services/harness/__init__.py168CODE
LOWobserval-server/services/audit/event_handlers.py44CODE
Modern Structural Boilerplate15 hits · 15 pts
SeverityFileLineSnippetContext
LOWtools/release.py396def set_version(path: Path, version: str) -> None:CODE
LOWobserval_cli/config.py18logger = logging.getLogger(__name__)CODE
LOWobserval_cli/client.py22logger = logging.getLogger(__name__)CODE
LOWobserval_cli/cmd_server.py428def _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__.py27__all__ = [CODE
LOWobserval-server/models/user.py58 def set_password(self, password: str) -> None:CODE
LOWobserval-server/models/__init__.py40__all__ = [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__.py46__all__ = [CODE
LOWobserval-server/services/inbox/__init__.py24__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
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHAI_POLICY.md21The [US Copyright Office's January 2025 report on AI copyrightability](https://www.copyright.gov/ai/Copyright-and-ArtifiCODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHobserval_cli/cmd_insights.py601 rprint(" [cyan]observal admin set insights.api_key <your-api-key>[/cyan]")CODE
Modern AI Meta-Vocabulary2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUMobserval_cli/README.md50observal agent init # scaffold observal-agent.yamlCODE
MEDIUMdocs/use-cases/share-agent-configs.md36observal agent init # scaffold observal-agent.yamlCODE
Example Usage Blocks2 hits · 4 pts
SeverityFileLineSnippetContext
LOWinfra/terraform/deploy.sh9# Usage:COMMENT
LOWinfra/terraform/aws/deploy.sh11# Usage:COMMENT