https://github.com/dog-qiuqiu/invincat.git
· scanned 2026-05-16 04:25 UTC (2 weeks, 6 days ago)
· 10 languages
129 findings (21 legacy + 108 scanner) 59th percentile · Python · large (100-500K LoC) Scanner says 92 (lower by 14)
Last scanned 2 weeks, 6 days ago · v1 · 16 findings from 1 source. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.
All 6750 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 |
|---|---|---|---|
temp_dir |
software | healthy | tests/conftest.py:12 |
test_env |
software | healthy | tests/conftest.py:19 |
mock_settings |
software | healthy | tests/conftest.py:44 |
sample_file_content |
software | healthy | tests/conftest.py:70 |
test_is_interactive_command_matches_basename |
software | healthy | tests/unit/test_app_shell.py:13 |
test_format_shell_output_combines_stdout_and_stderr |
software | healthy | tests/unit/test_app_shell.py:20 |
test_shell_platform_helpers |
software | healthy | tests/unit/test_app_shell.py:27 |
test_resolve_editor_uses_visual_before_editor |
software | healthy | tests/unit/test_io_editor.py:9 |
test_resolve_editor_falls_back_to_platform_defaults |
software | healthy | tests/unit/test_io_editor.py:16 |
test_resolve_editor_returns_none_for_empty_command |
software | healthy | tests/unit/test_io_editor.py:27 |
test_prepare_command_adds_wait_and_vim_flags |
software | healthy | tests/unit/test_io_editor.py:34 |
test_open_in_editor_reads_back_normalized_content |
software | healthy | tests/unit/test_io_editor.py:53 |
run |
software | healthy | tests/unit/test_io_editor.py:54 |
test_open_in_editor_returns_none_on_empty_or_failed_edit |
software | healthy | tests/unit/test_io_editor.py:64 |
empty_edit |
software | healthy | tests/unit/test_io_editor.py:65 |
test_open_in_editor_returns_none_when_editor_command_is_emp… |
software | healthy | tests/unit/test_io_editor.py:83 |
test_open_in_editor_returns_none_when_command_missing |
software | healthy | tests/unit/test_io_editor.py:89 |
missing |
software | healthy | tests/unit/test_io_editor.py:90 |
test_open_in_editor_returns_none_on_unexpected_editor_failu… |
software | healthy | tests/unit/test_io_editor.py:99 |
fail |
software | healthy | tests/unit/test_io_editor.py:100 |
test_load_hooks_returns_empty_when_config_missing |
software | healthy | tests/unit/test_hooks.py:12 |
test_load_hooks_reads_valid_config |
software | healthy | tests/unit/test_hooks.py:20 |
test_load_hooks_ignores_malformed_config |
software | healthy | tests/unit/test_hooks.py:33 |
test_load_hooks_rejects_non_object_or_non_list_hooks |
software | healthy | tests/unit/test_hooks.py:41 |
test_run_single_hook_handles_success_and_failures |
software | healthy | tests/unit/test_hooks.py:55 |
run_success |
software | healthy | tests/unit/test_hooks.py:58 |
timeout |
software | healthy | tests/unit/test_hooks.py:69 |
missing |
software | healthy | tests/unit/test_hooks.py:75 |
unexpected |
software | healthy | tests/unit/test_hooks.py:81 |
test_dispatch_hook_sync_filters_events_and_invalid_commands |
software | healthy | tests/unit/test_hooks.py:88 |
test_dispatch_hook_sync_handles_no_match_single_and_multiple |
software | healthy | tests/unit/test_hooks.py:115 |
test_dispatch_hook_serializes_event_and_payload |
software | healthy | tests/unit/test_hooks.py:144 |
test_dispatch_hook_returns_without_hooks_and_swallows_errors |
software | healthy | tests/unit/test_hooks.py:161 |
fail_to_thread |
software | healthy | tests/unit/test_hooks.py:162 |
test_dispatch_hook_fire_and_forget_tracks_background_task |
software | healthy | tests/unit/test_hooks.py:173 |
_fake_dispatch |
software | healthy | tests/unit/test_hooks.py:174 |
_run |
software | healthy | tests/unit/test_hooks.py:177 |
test_dispatch_hook_fire_and_forget_skips_without_running_lo… |
software | healthy | tests/unit/test_hooks.py:191 |
test_subagent_name_is_planner |
software | healthy | tests/unit/test_plan_agent.py:22 |
test_allowed_tools_cover_read_and_planning |
software | healthy | tests/unit/test_plan_agent.py:25 |
test_prompt_names_allowed_tools |
software | healthy | tests/unit/test_plan_agent.py:40 |
test_prompt_forbids_common_write_tools |
software | healthy | tests/unit/test_plan_agent.py:46 |
test_prompt_separates_planning_from_execution |
software | healthy | tests/unit/test_plan_agent.py:61 |
test_prompt_describes_confirmation_loop |
software | healthy | tests/unit/test_plan_agent.py:69 |
test_approval_prompt_keeps_rejected_plans_in_planning_loop |
software | healthy | tests/unit/test_plan_agent.py:78 |
test_prompt_mentions_interrupt_flow |
software | healthy | tests/unit/test_plan_agent.py:83 |
test_prompt_declares_task_boundary |
software | healthy | tests/unit/test_plan_agent.py:87 |
test_no_refinement_returns_trimmed_task |
software | healthy | tests/unit/test_plan_agent.py:100 |
test_refinement_includes_original_task_and_feedback |
software | healthy | tests/unit/test_plan_agent.py:103 |
test_rejects_write_file |
software | healthy | tests/unit/test_plan_agent.py:115 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestPlannerConstants |
software | healthy | tests/unit/test_plan_agent.py:21 |
TestPlannerSystemPrompt |
software | healthy | tests/unit/test_plan_agent.py:39 |
TestBuildPlannerInput |
software | healthy | tests/unit/test_plan_agent.py:99 |
TestPlannerToolAllowListMiddleware |
software | healthy | tests/unit/test_plan_agent.py:114 |
TestPlannerVisibleToolsMiddleware |
software | healthy | tests/unit/test_plan_agent.py:184 |
_Req |
software | healthy | tests/unit/test_plan_agent.py:219 |
Tool |
software | healthy | tests/unit/test_plan_agent.py:215 |
TestExtractTodosFromMessage |
software | healthy | tests/unit/test_plan_agent.py:236 |
_BatchApp |
software | healthy | tests/unit/test_widget_thread_selector.py:49 |
_AsyncContainer |
software | healthy | tests/unit/test_widget_thread_selector.py:60 |
_FakeContextContainer |
software | healthy | tests/unit/test_widget_thread_selector.py:77 |
_Awaitable |
software | healthy | tests/unit/test_widget_thread_selector.py:92 |
_FakeStatic |
software | healthy | tests/unit/test_widget_thread_selector.py:101 |
BrokenMatcher |
software | healthy | tests/unit/test_widget_thread_selector.py:492 |
FakeSelection |
software | healthy | tests/unit/test_widget_thread_selector.py:533 |
_FakeStatic |
software | healthy | tests/unit/test_widget_status.py:15 |
_FakeContext |
software | healthy | tests/unit/test_widget_status.py:31 |
PendingApproval |
software | healthy | tests/unit/test_app_delegators.py:1490 |
FakeModalScreen |
software | healthy | tests/unit/test_app_delegators.py:1545 |
FakeRunner |
software | healthy | tests/unit/test_app_scheduled_delivery.py:16 |
FakePrompt |
software | healthy | tests/unit/test_app_scheduled_delivery.py:35 |
FakeWorker |
software | healthy | tests/unit/test_app_scheduled_delivery.py:47 |
FakeMessageStore |
software | healthy | tests/unit/test_app_scheduled_delivery.py:55 |
FakeSchedulerStore |
software | healthy | tests/unit/test_app_scheduled_delivery.py:66 |
ScheduledApp |
software | healthy | tests/unit/test_app_scheduled_delivery.py:82 |
FakeFilteredStore |
software | healthy | tests/unit/test_app_scheduled_delivery.py:183 |
FakeSchedulerRunner |
software | healthy | tests/unit/test_app_scheduled_delivery.py:188 |
BrokenRunner |
software | healthy | tests/unit/test_app_scheduled_delivery.py:372 |
_Tool |
software | healthy | tests/unit/test_ask_user_middleware.py:87 |
_Request |
software | healthy | tests/unit/test_ask_user_middleware.py:92 |
FakeWidget |
software | healthy | tests/unit/test_app_message_flow.py:12 |
FakeLoading |
software | healthy | tests/unit/test_app_message_flow.py:25 |
FakeContainer |
software | healthy | tests/unit/test_app_message_flow.py:34 |
FakeChat |
software | healthy | tests/unit/test_app_message_flow.py:74 |
FlowApp |
software | healthy | tests/unit/test_app_message_flow.py:80 |
StaleTracking |
software | healthy | tests/unit/test_app_message_flow.py:372 |
FailingRemoveWidget |
software | healthy | tests/unit/test_app_message_flow.py:387 |
BadMessageData |
software | healthy | tests/unit/test_app_message_flow.py:498 |
AssistantWidget |
software | healthy | tests/unit/test_app_message_flow.py:505 |
AssistantData |
software | healthy | tests/unit/test_app_message_flow.py:509 |
PlainData |
software | healthy | tests/unit/test_app_message_flow.py:516 |
FlakyContainer |
software | healthy | tests/unit/test_app_message_flow.py:541 |
_State |
software | healthy | tests/unit/test_app_agent_runtime.py:75 |
DummyStore |
software | healthy | tests/unit/test_app_schedule_handlers.py:12 |
DummyRunner |
software | healthy | tests/unit/test_app_schedule_handlers.py:34 |
ScheduleApp |
software | healthy | tests/unit/test_app_schedule_handlers.py:42 |
FakeScheduleManagerScreen |
software | healthy | tests/unit/test_app_schedule_handlers.py:269 |
_Task |
software | healthy | tests/unit/test_app_wecom_runtime.py:27 |
FakeSocket |
software | healthy | tests/unit/test_server_app_server.py:47 |
AsyncClient |
software | healthy | tests/unit/test_server_app_server.py:142 |
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 |
pyproject.toml |
software | healthy | pyproject.toml |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_app_shell.py |
software | healthy | tests/unit/test_app_shell.py |
test_io_editor.py |
software | healthy | tests/unit/test_io_editor.py |
test_hooks.py |
software | healthy | tests/unit/test_hooks.py |
test_plan_agent.py |
software | healthy | tests/unit/test_plan_agent.py |
test_widget_thread_selector.py |
software | healthy | tests/unit/test_widget_thread_selector.py |
test_widget_status.py |
software | healthy | tests/unit/test_widget_status.py |
test_app_delegators.py |
software | healthy | tests/unit/test_app_delegators.py |
test_mcp_trust.py |
software | healthy | tests/unit/test_mcp_trust.py |
test_package_init.py |
software | healthy | tests/unit/test_package_init.py |
test_app_scheduled_delivery.py |
software | healthy | tests/unit/test_app_scheduled_delivery.py |
test_ask_user_middleware.py |
software | healthy | tests/unit/test_ask_user_middleware.py |
test_plan_mode_runtime.py |
software | healthy | tests/unit/test_plan_mode_runtime.py |
test_widget_tool_renderers.py |
software | healthy | tests/unit/test_widget_tool_renderers.py |
test_app_message_flow.py |
software | healthy | tests/unit/test_app_message_flow.py |
test_app_model_args.py |
software | healthy | tests/unit/test_app_model_args.py |
test_app_agent_runtime.py |
software | healthy | tests/unit/test_app_agent_runtime.py |
test_app_queueing.py |
software | healthy | tests/unit/test_app_queueing.py |
test_app_schedule_handlers.py |
software | healthy | tests/unit/test_app_schedule_handlers.py |
test_app_wecom_runtime.py |
software | healthy | tests/unit/test_app_wecom_runtime.py |
test_widget_diff.py |
software | healthy | tests/unit/test_widget_diff.py |
test_app_version.py |
software | healthy | tests/unit/test_app_version.py |
test_server_app_server.py |
software | healthy | tests/unit/test_server_app_server.py |
test_app_memory_handlers.py |
software | healthy | tests/unit/test_app_memory_handlers.py |
test_app_layout.py |
software | healthy | tests/unit/test_app_layout.py |
test_app_model_runtime.py |
software | healthy | tests/unit/test_app_model_runtime.py |
test_app_plan_handlers.py |
software | healthy | tests/unit/test_app_plan_handlers.py |
test_widget_autocomplete.py |
software | healthy | tests/unit/test_widget_autocomplete.py |
test_io_output.py |
software | healthy | tests/unit/test_io_output.py |
test_formatting.py |
software | healthy | tests/unit/test_formatting.py |
test_app_command_runtime.py |
software | healthy | tests/unit/test_app_command_runtime.py |
test_app_thread_runtime.py |
software | healthy | tests/unit/test_app_thread_runtime.py |
test_package_main.py |
software | healthy | tests/unit/test_package_main.py |
test_app_plan_runtime.py |
software | healthy | tests/unit/test_app_plan_runtime.py |
test_unicode_security.py |
software | healthy | tests/unit/test_unicode_security.py |
test_agent_helpers.py |
software | healthy | tests/unit/test_agent_helpers.py |
test_widget_links.py |
software | healthy | tests/unit/test_widget_links.py |
test_app_thread_history.py |
software | healthy | tests/unit/test_app_thread_history.py |
test_app_thread_handlers.py |
software | healthy | tests/unit/test_app_thread_handlers.py |
test_app_model_command.py |
software | healthy | tests/unit/test_app_model_command.py |
test_app_memory_runtime.py |
software | healthy | tests/unit/test_app_memory_runtime.py |
test_io_input.py |
software | healthy | tests/unit/test_io_input.py |
test_scheduler_delivery.py |
software | healthy | tests/unit/test_scheduler_delivery.py |
test_debug_logging.py |
software | healthy | tests/unit/test_debug_logging.py |
test_token_state.py |
software | healthy | tests/unit/test_token_state.py |
test_plan_mode_handoff.py |
software | healthy | tests/unit/test_plan_mode_handoff.py |
test_widget_chat_input.py |
software | healthy | tests/unit/test_widget_chat_input.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
unit |
software | healthy | tests/unit |
invincat_cli |
software | healthy | invincat_cli |
integrations |
software | healthy | invincat_cli/integrations |
offload |
software | healthy | invincat_cli/offload |
langsmith_links |
software | healthy | invincat_cli/langsmith_links |
unicode_security |
software | healthy | invincat_cli/unicode_security |
models |
software | healthy | invincat_cli/models |
i18n |
software | healthy | invincat_cli/i18n |
catalog |
software | healthy | invincat_cli/i18n/catalog |
local_context |
software | healthy | invincat_cli/local_context |
configurable_model |
software | healthy | invincat_cli/configurable_model |
wecom |
software | healthy | invincat_cli/wecom |
config |
software | healthy | invincat_cli/config |
middleware |
software | healthy | invincat_cli/middleware |
mcp |
software | healthy | invincat_cli/mcp |
commands |
software | healthy | invincat_cli/commands |
textual_adapter |
software | healthy | invincat_cli/textual_adapter |
cli |
software | healthy | invincat_cli/cli |
agent |
software | healthy | invincat_cli/agent |
sessions |
software | healthy | invincat_cli/sessions |
thread_config |
software | healthy | invincat_cli/thread_config |
widgets |
software | healthy | invincat_cli/widgets |
theme |
software | healthy | invincat_cli/theme |
remote |
software | healthy | invincat_cli/remote |
app |
software | healthy | invincat_cli/app |
non_interactive |
software | healthy | invincat_cli/non_interactive |
update_check |
software | healthy | invincat_cli/update_check |
built_in_skills |
software | healthy | invincat_cli/built_in_skills |
skill-creator |
software | healthy | invincat_cli/built_in_skills/skill-creator |
scripts |
software | healthy | invincat_cli/built_in_skills/skill-creator/scripts |
memory |
software | healthy | invincat_cli/memory |
model_config |
software | healthy | invincat_cli/model_config |
hooks |
software | healthy | invincat_cli/hooks |
io |
software | healthy | invincat_cli/io |
server |
software | healthy | invincat_cli/server |
tools |
software | healthy | invincat_cli/tools |
shell_security |
software | healthy | invincat_cli/shell_security |
core |
software | healthy | invincat_cli/core |
skills |
software | healthy | invincat_cli/skills |
plan_mode |
software | healthy | invincat_cli/plan_mode |
project_utils |
software | healthy | invincat_cli/project_utils |
main |
software | healthy | invincat_cli/main |
scheduler |
software | healthy | invincat_cli/scheduler |
presentation |
software | healthy | invincat_cli/presentation |
app_runtime |
software | healthy | invincat_cli/app_runtime |
doc |
software | healthy | doc |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | tests/unit/test_app_delegators.py |
169.254.169.254 |
network | healthy | tests/unit/test_tools.py |
93.184.216.34 |
network | healthy | tests/unit/test_tools.py |
10.0.0.1 |
network | healthy | tests/unit/test_tools.py |
| Label | Layer | Status | Path |
|---|---|---|---|
lint |
cicd | healthy | .github/workflows/ci.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
build |
cicd | healthy | .github/workflows/ci.yml |
build-and-publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | pyproject.toml |
mysql |
data | healthy | invincat_cli/app_runtime/shell.py |
redis |
data | healthy | invincat_cli/app_runtime/shell.py |
| Label | Layer | Status | Path |
|---|---|---|---|
scheduled_tasks |
data | healthy | invincat_cli/scheduler/schema.py |
scheduled_task_runs |
data | healthy | invincat_cli/scheduler/schema.py |
| Label | Layer | Status | Path |
|---|---|---|---|
port:3030 |
network | healthy | tests/unit/test_server_app_server.py |
port:2024 |
network | healthy | tests/unit/test_server_app_server.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-zp80wuw_ |
software | healthy | /tmp/repobility-clone-zp80wuw_ |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | tests/unit/test_config.py |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | tests/unit/test_sandbox_factory.py |
| Label | Layer | Status | Path |
|---|---|---|---|
CODECOV_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/6a28597d-7fe1-4aa4-a45a-728843daae24/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/6a28597d-7fe1-4aa4-a45a-728843daae24/
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.