https://github.com/TayfunTurgut/phantom-table
· scanned 2026-06-16 00:30 UTC (2 months, 2 weeks ago)
10 raw signals (4 security + 6 graph)
Last scanned 2 months, 2 weeks ago · v1 · 10 actionable findings from 2 signal sources. 6 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 388 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_engine_satisfies_contract |
software | healthy | tests/test_engine_contract.py:17 |
test_selfplay_produces_winners_and_scores |
software | healthy | tests/test_engine_contract.py:23 |
test_replay_is_deterministic |
software | healthy | tests/test_engine_contract.py:32 |
test_harness_rejects_engine_that_never_ends |
software | healthy | tests/test_engine_contract.py:38 |
setup |
software | healthy | tests/test_engine_contract.py:44 |
to_act |
software | healthy | tests/test_engine_contract.py:47 |
legal_actions |
software | healthy | tests/test_engine_contract.py:50 |
apply |
software | healthy | tests/test_engine_contract.py:70 |
observe |
software | healthy | tests/test_engine_contract.py:56 |
status |
software | healthy | tests/test_engine_contract.py:59 |
test_harness_rejects_mutating_engine |
software | healthy | tests/test_engine_contract.py:68 |
test_reference_engine_is_a_game_engine |
software | healthy | tests/test_engine_contract.py:79 |
__init__ |
software | healthy | tests/test_integration.py:16 |
complete |
software | healthy | tests/test_integration.py:19 |
_env |
software | healthy | tests/test_integration.py:31 |
test_run_game_end_to_end |
software | healthy | tests/test_integration.py:39 |
test_run_game_is_reproducible_for_a_seed |
software | healthy | tests/test_integration.py:61 |
test_run_multiple_games_aggregates |
software | healthy | tests/test_integration.py:69 |
_settings_env |
software | healthy | tests/test_runner.py:11 |
test_resolve_game_by_module_path |
software | healthy | tests/test_runner.py:18 |
test_resolve_game_unknown_raises_friendly_error |
software | healthy | tests/test_runner.py:24 |
test_run_game_rejects_bad_player_count |
software | healthy | tests/test_runner.py:29 |
test_run_game_rejects_archetype_mismatch |
software | healthy | tests/test_runner.py:34 |
_env |
software | healthy | tests/test_ingestion.py:171 |
rulebook |
software | healthy | tests/test_ingestion.py:182 |
_fenced |
software | healthy | tests/test_ingestion.py:188 |
test_ingest_with_stub_llm_produces_playable_engine |
software | healthy | tests/test_ingestion.py:192 |
test_wrong_tests_trigger_test_only_repair |
software | healthy | tests/test_ingestion.py:214 |
test_harness_failure_routes_to_engine_repair |
software | healthy | tests/test_ingestion.py:237 |
test_repair_loop_recovers_from_broken_codegen |
software | healthy | tests/test_ingestion.py:257 |
test_ingest_rejects_unsafe_game_name |
software | healthy | tests/test_ingestion.py:270 |
test_ingestion_fails_loudly_after_budget |
software | healthy | tests/test_ingestion.py:279 |
test_check_engine_source_rejects_disallowed_imports |
software | healthy | tests/test_ingestion.py:288 |
test_check_engine_source_rejects_syntax_errors |
software | healthy | tests/test_ingestion.py:296 |
test_extract_python_prefers_largest_fence |
software | healthy | tests/test_ingestion.py:301 |
test_digest_schema_is_openai_strict_compatible |
software | healthy | tests/test_ingestion.py:306 |
walk |
software | healthy | tests/test_ingestion.py:311 |
test_digest_renderings_cover_all_sections |
software | healthy | tests/test_ingestion.py:330 |
test_artifacts_loader_round_trips |
software | healthy | tests/test_ingestion.py:338 |
test_clip_keeps_head_and_tail_of_oversized_output |
software | healthy | tests/test_ingestion.py:347 |
make_agent |
software | healthy | tests/test_player.py:28 |
_choice |
software | healthy | tests/test_player.py:34 |
test_valid_choice_returns_action_and_metadata |
software | healthy | tests/test_player.py:40 |
test_notes_round_trip_into_next_prompt |
software | healthy | tests/test_player.py:59 |
test_confused_fallback_keeps_last_good_notebook |
software | healthy | tests/test_player.py:70 |
test_out_of_range_choice_gets_one_retry |
software | healthy | tests/test_player.py:79 |
test_boolean_action_index_is_invalid |
software | healthy | tests/test_player.py:88 |
test_double_failure_falls_back_to_first_action_as_confused |
software | healthy | tests/test_player.py:96 |
test_unparseable_choice_logs_a_warning |
software | healthy | tests/test_player.py:103 |
test_empty_legal_set_is_a_harness_bug |
software | healthy | tests/test_player.py:111 |
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 |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
.env.example |
software | healthy | .env.example |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
test_engine_contract.py |
software | healthy | tests/test_engine_contract.py |
test_integration.py |
software | healthy | tests/test_integration.py |
__init__.py |
software | healthy | tests/__init__.py |
test_runner.py |
software | healthy | tests/test_runner.py |
test_ingestion.py |
software | healthy | tests/test_ingestion.py |
test_player.py |
software | healthy | tests/test_player.py |
test_llm.py |
software | healthy | tests/test_llm.py |
test_logging_analytics.py |
software | healthy | tests/test_logging_analytics.py |
test_config.py |
software | healthy | tests/test_config.py |
test_session.py |
software | healthy | tests/test_session.py |
test_simultaneous.py |
software | healthy | tests/test_simultaneous.py |
stubs.py |
software | healthy | tests/stubs.py |
test_archetypes.py |
software | healthy | tests/test_archetypes.py |
test_love_letter_rules.py |
software | healthy | tests/acceptance/test_love_letter_rules.py |
generalization-gaps.md |
software | healthy | docs/generalization-gaps.md |
__init__.py |
software | healthy | src/playtest/__init__.py |
config.py |
software | healthy | src/playtest/config.py |
analytics.py |
software | healthy | src/playtest/analytics.py |
cli.py |
software | healthy | src/playtest/cli.py |
session.py |
software | healthy | src/playtest/session.py |
runner.py |
software | healthy | src/playtest/runner.py |
__main__.py |
software | healthy | src/playtest/__main__.py |
errors.py |
software | healthy | src/playtest/errors.py |
__init__.py |
software | healthy | src/playtest/games/__init__.py |
love_letter.py |
software | healthy | src/playtest/games/love_letter.py |
__init__.py |
software | healthy | src/playtest/ui/__init__.py |
logger.py |
software | healthy | src/playtest/ui/logger.py |
observer.py |
software | healthy | src/playtest/ui/observer.py |
validate.py |
software | healthy | src/playtest/ingestion/validate.py |
schemas.py |
software | healthy | src/playtest/ingestion/schemas.py |
__init__.py |
software | healthy | src/playtest/ingestion/__init__.py |
codegen.py |
software | healthy | src/playtest/ingestion/codegen.py |
digest.py |
software | healthy | src/playtest/ingestion/digest.py |
chunker.py |
software | healthy | src/playtest/ingestion/chunker.py |
pipeline.py |
software | healthy | src/playtest/ingestion/pipeline.py |
__init__.py |
software | healthy | src/playtest/agents/__init__.py |
player.py |
software | healthy | src/playtest/agents/player.py |
archetypes.py |
software | healthy | src/playtest/agents/archetypes.py |
__init__.py |
software | healthy | src/playtest/tools/__init__.py |
rulebook.py |
software | healthy | src/playtest/tools/rulebook.py |
__init__.py |
software | healthy | src/playtest/engine/__init__.py |
contract.py |
software | healthy | src/playtest/engine/contract.py |
loader.py |
software | healthy | src/playtest/engine/loader.py |
__init__.py |
software | healthy | src/playtest/llm/__init__.py |
claude_cli.py |
software | healthy | src/playtest/llm/claude_cli.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
Endless |
software | healthy | tests/test_engine_contract.py:39 |
Mutator |
software | healthy | tests/test_engine_contract.py:69 |
FirstLegalClient |
software | healthy | tests/test_integration.py:11 |
FakeRulebook |
software | healthy | tests/test_player.py:117 |
OpenAIShapedStub |
software | healthy | tests/test_llm.py:146 |
ScriptedPlayer |
software | healthy | tests/test_session.py:15 |
NullObserver |
software | healthy | tests/test_session.py:35 |
Broken |
software | healthy | tests/test_session.py:95 |
Stuck |
software | healthy | tests/test_session.py:118 |
ConfusedPlayer |
software | healthy | tests/test_session.py:149 |
ParityDuel |
software | healthy | tests/test_simultaneous.py:21 |
RecordingPlayer |
software | healthy | tests/test_simultaneous.py:86 |
NullObserver |
software | healthy | tests/test_simultaneous.py:101 |
StubLLMClient |
software | healthy | tests/stubs.py:6 |
Settings |
software | healthy | src/playtest/config.py:11 |
PlayerLike |
software | healthy | src/playtest/session.py:25 |
SessionObserver |
software | healthy | src/playtest/session.py:31 |
PlaytestError |
software | healthy | src/playtest/errors.py:9 |
EngineCrash |
software | healthy | src/playtest/errors.py:13 |
Game |
software | healthy | src/playtest/games/love_letter.py:38 |
GameLogger |
software | healthy | src/playtest/ui/logger.py:13 |
GameObserver |
software | healthy | src/playtest/ui/observer.py:32 |
ValidationResult |
software | healthy | src/playtest/ingestion/validate.py:47 |
ComponentCount |
software | healthy | src/playtest/ingestion/schemas.py:18 |
ActionDigest |
software | healthy | src/playtest/ingestion/schemas.py:27 |
Ambiguity |
software | healthy | src/playtest/ingestion/schemas.py:35 |
GameDigest |
software | healthy | src/playtest/ingestion/schemas.py:43 |
GameArtifacts |
software | healthy | src/playtest/ingestion/schemas.py:61 |
Decision |
software | healthy | src/playtest/agents/player.py:78 |
PlayerAgent |
software | healthy | src/playtest/agents/player.py:123 |
RulebookTool |
software | healthy | src/playtest/tools/rulebook.py:11 |
Action |
software | healthy | src/playtest/engine/__init__.py:84 |
Event |
software | healthy | src/playtest/engine/__init__.py:98 |
GameStatus |
software | healthy | src/playtest/engine/__init__.py:106 |
GameEngine |
software | healthy | src/playtest/engine/__init__.py:115 |
ContractViolation |
software | healthy | src/playtest/engine/contract.py:18 |
Step |
software | healthy | src/playtest/engine/contract.py:23 |
Trajectory |
software | healthy | src/playtest/engine/contract.py:33 |
LLMTool |
software | healthy | src/playtest/llm/__init__.py:29 |
LLMClient |
software | healthy | src/playtest/llm/__init__.py:38 |
ClaudeCLIClient |
software | healthy | src/playtest/llm/claude_cli.py:35 |
OpenAIClient |
software | healthy | src/playtest/llm/openai_api.py:21 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
acceptance |
software | healthy | tests/acceptance |
docs |
software | healthy | docs |
src |
software | healthy | src |
playtest |
software | healthy | src/playtest |
games |
software | healthy | src/playtest/games |
ui |
software | healthy | src/playtest/ui |
ingestion |
software | healthy | src/playtest/ingestion |
agents |
software | healthy | src/playtest/agents |
tools |
software | healthy | src/playtest/tools |
engine |
software | healthy | src/playtest/engine |
llm |
software | healthy | src/playtest/llm |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/playtest/llm/claude_cli.py |
security | healthy | src/playtest/llm/claude_cli.py |
auth::src/playtest/llm/__init__.py |
security | healthy | src/playtest/llm/__init__.py |
auth::README.md |
security | healthy | README.md |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-b00rp5md |
software | healthy | /tmp/repobility-clone-b00rp5md |
This page is publicly accessible at:
https://repobility.com/scan/103a87e1-89b1-4d22-96df-9d07c00a7da9/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/103a87e1-89b1-4d22-96df-9d07c00a7da9/
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.