https://github.com/selinyi123/clipvault-personal
· scanned 2026-06-16 00:06 UTC (2 months, 3 weeks ago)
27 raw signals (0 security + 27 graph)
Last scanned 2 months, 3 weeks ago · v1 · 26 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 573 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_core_has_no_io_imports |
software | healthy | desktop/tests/test_core_purity.py:14 |
test_format |
software | healthy | desktop/tests/test_ulid.py:6 |
test_zero |
software | healthy | desktop/tests/test_ulid.py:12 |
test_time_ordering |
software | healthy | desktop/tests/test_ulid.py:16 |
vectors_dir |
software | healthy | desktop/tests/conftest.py:11 |
golden_dir |
software | healthy | desktop/tests/conftest.py:16 |
conn |
software | healthy | desktop/tests/conftest.py:21 |
cfg |
software | healthy | desktop/tests/test_memory.py:17 |
api |
software | healthy | desktop/tests/test_memory.py:26 |
repo |
software | healthy | desktop/tests/test_memory.py:31 |
test_e1_upsert_idempotent_no_usecount_regression |
software | healthy | desktop/tests/test_memory.py:35 |
test_e2_invalid_kind_rejected |
software | healthy | desktop/tests/test_memory.py:43 |
test_e3_list_ordering_and_filter |
software | healthy | desktop/tests/test_memory.py:48 |
test_e4_bump_use |
software | healthy | desktop/tests/test_memory.py:59 |
test_e5_soft_delete |
software | healthy | desktop/tests/test_memory.py:66 |
test_e6_obsidian_title_import_idempotent |
software | healthy | desktop/tests/test_memory.py:72 |
test_e6_from_names_dedup |
software | healthy | desktop/tests/test_memory.py:86 |
test_e7_promote_command_clip |
software | healthy | desktop/tests/test_memory.py:91 |
test_e7_promote_secret_refused |
software | healthy | desktop/tests/test_memory.py:99 |
test_e8_memory_api_crud |
software | healthy | desktop/tests/test_memory.py:105 |
test_e8_memory_api_bad_kind |
software | healthy | desktop/tests/test_memory.py:117 |
test_e9_no_content_in_logs |
software | healthy | desktop/tests/test_memory.py:122 |
test_rejects_empty |
software | healthy | desktop/tests/test_ingest.py:12 |
test_rejects_too_large |
software | healthy | desktop/tests/test_ingest.py:18 |
test_public_clip_full_path |
software | healthy | desktop/tests/test_ingest.py:24 |
test_fts_search_finds_public_clip |
software | healthy | desktop/tests/test_ingest.py:34 |
test_a6_secret_clip_quarantined |
software | healthy | desktop/tests/test_ingest.py:42 |
test_backup_queue_refuses_secret_directly |
software | healthy | desktop/tests/test_ingest.py:55 |
test_backup_enqueue_idempotent |
software | healthy | desktop/tests/test_ingest.py:61 |
cfg |
software | healthy | desktop/tests/test_sync.py:26 |
api |
software | healthy | desktop/tests/test_sync.py:33 |
_pair |
software | healthy | desktop/tests/test_sync.py:38 |
_clip_new_event |
software | healthy | desktop/tests/test_sync.py:44 |
test_h1_pairing |
software | healthy | desktop/tests/test_sync.py:57 |
test_h1_expired_code |
software | healthy | desktop/tests/test_sync.py:69 |
test_h2_auth_required |
software | healthy | desktop/tests/test_sync.py:77 |
test_h3_push_clip_new_lands |
software | healthy | desktop/tests/test_sync.py:84 |
test_h4_push_idempotent |
software | healthy | desktop/tests/test_sync.py:94 |
test_h5_push_secret_quarantined_not_propagated |
software | healthy | desktop/tests/test_sync.py:104 |
test_h6_pull_returns_local_public_clips |
software | healthy | desktop/tests/test_sync.py:116 |
test_h7_clip_meta_lww |
software | healthy | desktop/tests/test_sync.py:129 |
test_h8_cursor_resume |
software | healthy | desktop/tests/test_sync.py:151 |
test_h9_local_public_in_outbox_secret_not |
software | healthy | desktop/tests/test_sync.py:164 |
test_h2_socket_auth_end_to_end |
software | healthy | desktop/tests/test_sync.py:171 |
test_missing_file_writes_template |
software | healthy | desktop/tests/test_config.py:16 |
test_template_itself_fails_on_empty_vault |
software | healthy | desktop/tests/test_config.py:24 |
test_bad_port_names_field |
software | healthy | desktop/tests/test_config.py:32 |
test_bad_poll_interval |
software | healthy | desktop/tests/test_config.py:43 |
test_device_id_generated_and_persisted |
software | healthy | desktop/tests/test_config.py:54 |
test_defaults_applied |
software | healthy | desktop/tests/test_config.py:64 |
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 |
README.md |
software | healthy | android/README.md |
build.gradle.kts |
software | healthy | android/build.gradle.kts |
build.gradle.kts |
software | healthy | android/app/build.gradle.kts |
ClipVaultApp.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/ClipVaultApp.… |
SyncWorker.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/sync/SyncWork… |
Sync.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/sync/Sync.kt |
ClipVaultKeyboardService.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/ime/ClipVault… |
MainActivity.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/ui/MainActivi… |
Capture.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/capture/Captu… |
ShareReceiverActivity.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/share/ShareRe… |
SaveClipboardTileService.kt |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/tile/SaveClip… |
build.gradle.kts |
software | healthy | android/core/build.gradle.kts |
VectorTest.kt |
software | healthy | android/core/src/test/kotlin/com/clipvault/core/VectorTest.… |
VectorCheck.kt |
software | healthy | android/core/src/test/kotlin/com/clipvault/core/VectorCheck… |
SecretGuard.kt |
software | healthy | android/core/src/main/kotlin/com/clipvault/core/SecretGuard… |
Classifier.kt |
software | healthy | android/core/src/main/kotlin/com/clipvault/core/Classifier.… |
Models.kt |
software | healthy | android/core/src/main/kotlin/com/clipvault/core/Models.kt |
Normalize.kt |
software | healthy | android/core/src/main/kotlin/com/clipvault/core/Normalize.kt |
PRODUCT_SPEC.md |
software | healthy | docs/PRODUCT_SPEC.md |
ARCHITECTURE.md |
software | healthy | docs/ARCHITECTURE.md |
HANDOFF.md |
software | healthy | docs/HANDOFF.md |
CONTRACTS.md |
software | healthy | docs/CONTRACTS.md |
THREAT_MODEL.md |
software | healthy | docs/THREAT_MODEL.md |
INSTALL.md |
software | healthy | docs/INSTALL.md |
GATES.md |
software | healthy | docs/GATES.md |
ROADMAP.md |
software | healthy | docs/ROADMAP.md |
RUNBOOK_PURGE.md |
software | healthy | docs/RUNBOOK_PURGE.md |
01_conversation_design_archive.md |
software | healthy | docs/REFERENCE/01_conversation_design_archive.md |
02_final_product_design.md |
software | healthy | docs/REFERENCE/02_final_product_design.md |
03_clipboard_tools_comparison.md |
software | healthy | docs/REFERENCE/03_clipboard_tools_comparison.md |
04_input_method_tools_comparison.md |
software | healthy | docs/REFERENCE/04_input_method_tools_comparison.md |
06_personal_version_strategy.md |
software | healthy | docs/REFERENCE/06_personal_version_strategy.md |
05_doubao_wechat_input_method_lessons.md |
software | healthy | docs/REFERENCE/05_doubao_wechat_input_method_lessons.md |
SLICE_007.md |
software | healthy | docs/SLICES/SLICE_007.md |
SLICE_008.md |
software | healthy | docs/SLICES/SLICE_008.md |
SLICE_012.md |
software | healthy | docs/SLICES/SLICE_012.md |
SLICE_005.md |
software | healthy | docs/SLICES/SLICE_005.md |
SLICE_006.md |
software | healthy | docs/SLICES/SLICE_006.md |
SLICE_001.md |
software | healthy | docs/SLICES/SLICE_001.md |
SLICE_004.md |
software | healthy | docs/SLICES/SLICE_004.md |
SLICE_011.md |
software | healthy | docs/SLICES/SLICE_011.md |
SLICE_010.md |
software | healthy | docs/SLICES/SLICE_010.md |
SLICE_002.md |
software | healthy | docs/SLICES/SLICE_002.md |
SLICE_003.md |
software | healthy | docs/SLICES/SLICE_003.md |
0007-deterministic-suggestions-v1.md |
software | healthy | docs/ADR/0007-deterministic-suggestions-v1.md |
0001-desktop-as-primary-node.md |
software | healthy | docs/ADR/0001-desktop-as-primary-node.md |
0004-keyboard-companion-ime.md |
software | healthy | docs/ADR/0004-keyboard-companion-ime.md |
0002-event-log-sync-not-state-sync.md |
software | healthy | docs/ADR/0002-event-log-sync-not-state-sync.md |
0005-tech-stack.md |
software | healthy | docs/ADR/0005-tech-stack.md |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
android |
software | healthy | android |
app |
software | healthy | android/app |
src |
software | healthy | android/app/src |
main |
software | healthy | android/app/src/main |
kotlin |
software | healthy | android/app/src/main/kotlin |
com |
software | healthy | android/app/src/main/kotlin/com |
clipvault |
software | healthy | android/app/src/main/kotlin/com/clipvault |
app |
software | healthy | android/app/src/main/kotlin/com/clipvault/app |
sync |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/sync |
ime |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/ime |
ui |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/ui |
capture |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/capture |
share |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/share |
tile |
software | healthy | android/app/src/main/kotlin/com/clipvault/app/tile |
core |
software | healthy | android/core |
src |
software | healthy | android/core/src |
test |
software | healthy | android/core/src/test |
kotlin |
software | healthy | android/core/src/test/kotlin |
com |
software | healthy | android/core/src/test/kotlin/com |
clipvault |
software | healthy | android/core/src/test/kotlin/com/clipvault |
core |
software | healthy | android/core/src/test/kotlin/com/clipvault/core |
main |
software | healthy | android/core/src/main |
kotlin |
software | healthy | android/core/src/main/kotlin |
com |
software | healthy | android/core/src/main/kotlin/com |
clipvault |
software | healthy | android/core/src/main/kotlin/com/clipvault |
core |
software | healthy | android/core/src/main/kotlin/com/clipvault/core |
docs |
software | healthy | docs |
REFERENCE |
software | healthy | docs/REFERENCE |
SLICES |
software | healthy | docs/SLICES |
ADR |
software | healthy | docs/ADR |
PROMPTS |
software | healthy | docs/PROMPTS |
desktop |
software | healthy | desktop |
tests |
software | healthy | desktop/tests |
golden |
software | healthy | desktop/tests/golden |
clipvault |
software | healthy | desktop/clipvault |
sync |
software | healthy | desktop/clipvault/sync |
obsidian |
software | healthy | desktop/clipvault/obsidian |
api |
software | healthy | desktop/clipvault/api |
webui |
software | healthy | desktop/clipvault/api/webui |
backup |
software | healthy | desktop/clipvault/backup |
memory |
software | healthy | desktop/clipvault/memory |
pipeline |
software | healthy | desktop/clipvault/pipeline |
watcher |
software | healthy | desktop/clipvault/watcher |
core |
software | healthy | desktop/clipvault/core |
store |
software | healthy | desktop/clipvault/store |
migrations |
software | healthy | desktop/clipvault/store/migrations |
packaging |
software | healthy | desktop/packaging |
tools |
software | healthy | tools |
contracts |
software | healthy | contracts |
vectors |
software | healthy | contracts/vectors |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Script |
software | healthy | desktop/tests/test_watcher.py:6 |
AlreadyRunningError |
software | healthy | desktop/clipvault/instance_lock.py:14 |
InstanceLock |
software | healthy | desktop/clipvault/instance_lock.py:18 |
ConfigMissing |
software | healthy | desktop/clipvault/config.py:40 |
ConfigError |
software | healthy | desktop/clipvault/config.py:46 |
Config |
software | healthy | desktop/clipvault/config.py:54 |
ClipVaultService |
software | healthy | desktop/clipvault/service.py:28 |
Pairing |
software | healthy | desktop/clipvault/sync/pairing.py:15 |
SecretWriteRefused |
software | healthy | desktop/clipvault/obsidian/writer.py:28 |
Handler |
software | healthy | desktop/clipvault/api/server.py:39 |
Api |
software | healthy | desktop/clipvault/api/handlers.py:54 |
GitError |
software | healthy | desktop/clipvault/backup/git_repo.py:14 |
GitPushError |
software | healthy | desktop/clipvault/backup/git_repo.py:18 |
BackupWorker |
software | healthy | desktop/clipvault/backup/github_backup.py:24 |
IngestOutcome |
software | healthy | desktop/clipvault/pipeline/ingest.py:26 |
PollingWatcher |
software | healthy | desktop/clipvault/watcher/win_clipboard.py:83 |
SecretVerdict |
software | healthy | desktop/clipvault/core/models.py:12 |
MemoryItem |
software | healthy | desktop/clipvault/core/models.py:22 |
Clip |
software | healthy | desktop/clipvault/core/models.py:36 |
Candidate |
software | healthy | desktop/clipvault/core/suggest.py:14 |
Weights |
software | healthy | desktop/clipvault/core/suggest.py:27 |
Action |
software | healthy | desktop/clipvault/core/actions.py:12 |
PeersRepo |
software | healthy | desktop/clipvault/store/peers_repo.py:11 |
MemoryRepo |
software | healthy | desktop/clipvault/store/memory_repo.py:27 |
ClipsRepo |
software | healthy | desktop/clipvault/store/clips_repo.py:42 |
OutboxRepo |
software | healthy | desktop/clipvault/store/outbox_repo.py:9 |
SecretEnqueueError |
software | healthy | desktop/clipvault/store/backup_queue_repo.py:9 |
BackupQueueRepo |
software | healthy | desktop/clipvault/store/backup_queue_repo.py:13 |
| Label | Layer | Status | Path |
|---|---|---|---|
clip_meta_ts |
data | healthy | desktop/clipvault/store/migrations/0002_clip_meta_ts.sql |
schema_meta |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
clips |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
memory_items |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
sync_outbox |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
sync_peers |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
backup_queue |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | desktop/clipvault/api/server.py |
postgres |
data | healthy | desktop/clipvault/core/secret_guard.py |
mysql |
data | healthy | desktop/clipvault/core/secret_guard.py |
mongodb |
data | healthy | desktop/clipvault/core/secret_guard.py |
redis |
data | healthy | desktop/clipvault/core/secret_guard.py |
postgresql |
data | healthy | tools/gen_vectors.py |
| Label | Layer | Status | Path |
|---|---|---|---|
openai_or_anthropic_key::tools/gen_vectors.py |
security | healthy | tools/gen_vectors.py |
github_token::contracts/vectors/secret_guard.json |
security | healthy | contracts/vectors/secret_guard.json |
openai_or_anthropic_key::contracts/vectors/secret_guard.json |
security | healthy | contracts/vectors/secret_guard.json |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::desktop/clipvault/core/secret_guard.py |
security | healthy | desktop/clipvault/core/secret_guard.py |
auth::contracts/vectors/secret_guard.json |
security | healthy | contracts/vectors/secret_guard.json |
auth::tools/gen_vectors.py |
security | healthy | tools/gen_vectors.py |
| Label | Layer | Status | Path |
|---|---|---|---|
0002_clip_meta_ts.sql |
data | healthy | desktop/clipvault/store/migrations/0002_clip_meta_ts.sql |
0001_init.sql |
data | healthy | desktop/clipvault/store/migrations/0001_init.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8795 |
network | healthy | desktop/tests/test_sync.py |
port:8787 |
network | healthy | desktop/clipvault/config.py |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-5p4r8y7v |
software | healthy | /tmp/repobility-clone-5p4r8y7v |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | desktop/tests/test_ingest.py |
This page is publicly accessible at:
https://repobility.com/scan/bae2545c-8673-4b8c-b121-7aad39d42350/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/bae2545c-8673-4b8c-b121-7aad39d42350/
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.