https://github.com/Ztein/figmark
· scanned 2026-06-16 01:13 UTC (2 months, 1 week ago)
25 raw signals (0 security + 25 graph)
Last scanned 2 months, 1 week ago · v1 · 21 actionable findings from 1 signal source. 4 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 525 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_convert_returns_markdown_and_paths |
software | healthy | tests/test_pipeline_convert.py:17 |
test_convert_uses_injected_client_without_monkeypatch |
software | healthy | tests/test_pipeline_convert.py:35 |
test_convert_skip_marker_drops_figure |
software | healthy | tests/test_pipeline_convert.py:49 |
test_run_jobs_quiet_mode_runs_without_live_view |
software | healthy | tests/test_pipeline_convert.py:61 |
test_is_skip_detects_marker |
software | healthy | tests/test_significance.py:10 |
test_compose_prompt_plain_task_when_no_extras |
software | healthy | tests/test_significance.py:19 |
test_language_instruction_auto_says_match_document |
software | healthy | tests/test_significance.py:23 |
test_language_instruction_explicit_forces_language |
software | healthy | tests/test_significance.py:29 |
test_compose_prompt_appends_language_clause_when_given |
software | healthy | tests/test_significance.py:34 |
test_compose_prompt_no_language_clause_by_default |
software | healthy | tests/test_significance.py:40 |
test_compose_prompt_appends_significance_instruction |
software | healthy | tests/test_significance.py:45 |
test_compose_prompt_orders_summary_then_context_then_task |
software | healthy | tests/test_significance.py:51 |
test_compose_prompt_summary_without_context |
software | healthy | tests/test_significance.py:65 |
test_skip_marked_description_is_not_rendered |
software | healthy | tests/test_significance.py:72 |
test_settings_from_env_requires_auth_token |
software | healthy | tests/test_api_startup_fails_loud.py:8 |
test_settings_reads_token_from_file |
software | healthy | tests/test_api_startup_fails_loud.py:17 |
test_create_app_fails_on_bad_config |
software | healthy | tests/test_api_startup_fails_loud.py:29 |
test_api_key_file_is_surfaced_for_config |
software | healthy | tests/test_api_startup_fails_loud.py:44 |
test_legacy_berget_key_file_is_not_surfaced |
software | healthy | tests/test_api_startup_fails_loud.py:58 |
_resolve |
software | healthy | tests/conftest.py:21 |
project_root |
software | healthy | tests/conftest.py:29 |
paper_pdf |
software | healthy | tests/conftest.py:34 |
report_pdf |
software | healthy | tests/conftest.py:46 |
guide_pdf |
software | healthy | tests/conftest.py:58 |
scanned_pdf |
software | healthy | tests/conftest.py:70 |
long_pdf |
software | healthy | tests/conftest.py:82 |
env_with_key |
software | healthy | tests/conftest.py:94 |
mock_llm_server |
software | healthy | tests/conftest.py:100 |
make_api_app |
software | healthy | tests/conftest.py:139 |
_make |
software | healthy | tests/conftest.py:147 |
test_convert_returns_markdown |
software | healthy | tests/test_api_convert_offline.py:13 |
test_convert_skip_marker_drops_image |
software | healthy | tests/test_api_convert_offline.py:28 |
make_response |
software | healthy | tests/fakes.py:21 |
__init__ |
software | healthy | tests/fakes.py:45 |
_create |
software | healthy | tests/fakes.py:52 |
synthetic_pdf |
software | healthy | tests/fakes.py:65 |
_write_random_png |
software | healthy | tests/test_describe.py:18 |
test_small_image_passes_through_unchanged |
software | healthy | tests/test_describe.py:25 |
test_large_image_gets_resized_under_cap |
software | healthy | tests/test_describe.py:36 |
__init__ |
software | healthy | tests/test_api_concurrency.py:19 |
_create |
software | healthy | tests/test_api_concurrency.py:23 |
test_second_concurrent_request_gets_429 |
software | healthy | tests/test_api_concurrency.py:30 |
go |
software | healthy | tests/test_api_concurrency.py:35 |
_text_page |
software | healthy | tests/test_output.py:12 |
test_markdown_embeds_text_image_and_diagram |
software | healthy | tests/test_output.py:32 |
test_markdown_skips_figures_without_descriptions |
software | healthy | tests/test_output.py:48 |
test_markdown_ocr_page_emits_text_and_described_images |
software | healthy | tests/test_output.py:59 |
_config_with_api |
software | healthy | tests/test_config.py:11 |
test_token_prices_are_optional_and_parsed |
software | healthy | tests/test_config.py:20 |
test_token_prices_default_to_none |
software | healthy | tests/test_config.py:34 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
config.example.yaml |
software | healthy | config.example.yaml |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
Dockerfile |
software | healthy | Dockerfile |
compose.test.yaml |
software | healthy | compose.test.yaml |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
.hadolint.yaml |
software | healthy | .hadolint.yaml |
LICENSE |
software | healthy | LICENSE |
requirements.txt |
software | healthy | requirements.txt |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
SECURITY.md |
software | healthy | SECURITY.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
compose.yaml |
software | healthy | compose.yaml |
config.test.yaml |
software | healthy | compose/config.test.yaml |
test_pipeline_convert.py |
software | healthy | tests/test_pipeline_convert.py |
test_significance.py |
software | healthy | tests/test_significance.py |
test_api_startup_fails_loud.py |
software | healthy | tests/test_api_startup_fails_loud.py |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_api_convert_offline.py |
software | healthy | tests/test_api_convert_offline.py |
fakes.py |
software | healthy | tests/fakes.py |
test_describe.py |
software | healthy | tests/test_describe.py |
test_api_concurrency.py |
software | healthy | tests/test_api_concurrency.py |
test_output.py |
software | healthy | tests/test_output.py |
test_config.py |
software | healthy | tests/test_config.py |
test_annotate.py |
software | healthy | tests/test_annotate.py |
test_diagrams.py |
software | healthy | tests/test_diagrams.py |
test_usage.py |
software | healthy | tests/test_usage.py |
test_context.py |
software | healthy | tests/test_context.py |
test_corpus_variety.py |
software | healthy | tests/test_corpus_variety.py |
test_api_auth.py |
software | healthy | tests/test_api_auth.py |
test_garble.py |
software | healthy | tests/test_garble.py |
test_per_page_ocr.py |
software | healthy | tests/test_per_page_ocr.py |
test_mockllm.py |
software | healthy | tests/test_mockllm.py |
test_pipeline_offline.py |
software | healthy | tests/test_pipeline_offline.py |
test_images.py |
software | healthy | tests/test_images.py |
test_api_health.py |
software | healthy | tests/test_api_health.py |
test_summarize.py |
software | healthy | tests/test_summarize.py |
test_api_format.py |
software | healthy | tests/test_api_format.py |
test_api_validation.py |
software | healthy | tests/test_api_validation.py |
test_api_e2e_http.py |
software | healthy | tests/test_api_e2e_http.py |
test_pipeline.py |
software | healthy | tests/test_pipeline.py |
test_pdf_loader.py |
software | healthy | tests/test_pdf_loader.py |
test_ocr_pipeline.py |
software | healthy | tests/test_ocr_pipeline.py |
test_fail_loud.py |
software | healthy | tests/test_fail_loud.py |
__init__.py |
software | healthy | tests/mockllm/__init__.py |
app.py |
software | healthy | tests/mockllm/app.py |
Dockerfile |
software | healthy | tests/mockllm/Dockerfile |
__init__.py |
software | healthy | tests/docker/__init__.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
FakeClient |
software | healthy | tests/fakes.py:37 |
BlockingFakeClient |
software | healthy | tests/test_api_concurrency.py:16 |
_FailingClient |
software | healthy | tests/test_fail_loud.py:41 |
DiagramRegion |
software | healthy | scripts/extract_diagrams_F.py:39 |
PageData |
software | healthy | src/figmark/output.py:32 |
ExtractedImage |
software | healthy | src/figmark/images.py:25 |
TextBlock |
software | healthy | src/figmark/pdf_loader.py:19 |
ImageBlock |
software | healthy | src/figmark/pdf_loader.py:26 |
DiagramBlock |
software | healthy | src/figmark/pdf_loader.py:33 |
ApiConfig |
software | healthy | src/figmark/config.py:20 |
OcrConfig |
software | healthy | src/figmark/config.py:33 |
DescriptionConfig |
software | healthy | src/figmark/config.py:38 |
DiagramsConfig |
software | healthy | src/figmark/config.py:43 |
ConcurrencyConfig |
software | healthy | src/figmark/config.py:49 |
ContextConfig |
software | healthy | src/figmark/config.py:54 |
SignificanceConfig |
software | healthy | src/figmark/config.py:61 |
DocumentSummaryConfig |
software | healthy | src/figmark/config.py:66 |
LanguageConfig |
software | healthy | src/figmark/config.py:73 |
Config |
software | healthy | src/figmark/config.py:80 |
ContextText |
software | healthy | src/figmark/context.py:17 |
OcrResult |
software | healthy | src/figmark/ocr.py:47 |
Usage |
software | healthy | src/figmark/usage.py:19 |
Cost |
software | healthy | src/figmark/usage.py:28 |
UsageTracker |
software | healthy | src/figmark/usage.py:33 |
_Completions |
software | healthy | src/figmark/usage.py:71 |
_Chat |
software | healthy | src/figmark/usage.py:82 |
TrackingClient |
software | healthy | src/figmark/usage.py:87 |
DiagramRegion |
software | healthy | src/figmark/diagrams.py:55 |
ServerSettings |
software | healthy | src/figmark/api.py:65 |
UsageInfo |
software | healthy | src/figmark/api.py:104 |
ConvertResponse |
software | healthy | src/figmark/api.py:112 |
VersionResponse |
software | healthy | src/figmark/api.py:124 |
Job |
software | healthy | src/figmark/parallel.py:42 |
ConversionResult |
software | healthy | src/figmark/pipeline.py:53 |
AnnotationItem |
software | healthy | src/figmark/annotate.py:19 |
| Label | Layer | Status | Path |
|---|---|---|---|
compose |
software | healthy | compose |
tests |
software | healthy | tests |
mockllm |
software | healthy | tests/mockllm |
docker |
software | healthy | tests/docker |
docs |
software | healthy | docs |
tickets |
software | healthy | docs/tickets |
scripts |
software | healthy | scripts |
examples |
software | healthy | examples |
eval |
software | healthy | examples/eval |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
figmark |
software | healthy | src/figmark |
| Label | Layer | Status | Path |
|---|---|---|---|
analyze |
cicd | healthy | .github/workflows/codeql.yml |
automerge |
cicd | healthy | .github/workflows/automerge.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/release.yml |
publish |
cicd | healthy | .github/workflows/release.yml |
image-bundle |
cicd | healthy | .github/workflows/release.yml |
static |
cicd | healthy | .github/workflows/security.yml |
image |
cicd | healthy | .github/workflows/security.yml |
alert |
cicd | healthy | .github/workflows/security.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8000 |
network | healthy | Dockerfile |
port:10001 |
network | healthy | compose.yaml |
port:05 |
network | healthy | .github/workflows/codeql.yml |
port:30 |
network | healthy | .github/workflows/codeql.yml |
port:06 |
network | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::codeql |
cicd | healthy | .github/workflows/codeql.yml |
gha::automerge |
cicd | healthy | .github/workflows/automerge.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
gha::security |
cicd | healthy | .github/workflows/security.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GET /healthz |
api | healthy | src/figmark/api.py |
GET /readyz |
api | healthy | src/figmark/api.py |
GET /version |
api | healthy | src/figmark/api.py |
POST /v1/convert |
api | healthy | src/figmark/api.py |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
image::tests/mockllm/Dockerfile |
hardware | healthy | tests/mockllm/Dockerfile |
app |
hardware | healthy | compose.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-goq5slmr |
software | healthy | /tmp/repobility-clone-goq5slmr |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::.github/workflows/release.yml |
security | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
GITHUB_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/f39bc632-4372-4c91-acb5-7429d89772d8/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f39bc632-4372-4c91-acb5-7429d89772d8/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.