https://github.com/bryansparks/armature
· scanned 2026-06-17 01:43 UTC (1 month, 1 week ago)
38 raw signals (0 security + 38 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ -19.7 (diff) · 32 actionable findings from 1 signal source. 6 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 2662 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 |
|---|---|---|---|
plain |
software | healthy | tests/test_cli.py:13 |
test_parse_inputs_single_pair |
software | healthy | tests/test_cli.py:24 |
test_parse_inputs_multiple_pairs |
software | healthy | tests/test_cli.py:28 |
test_parse_inputs_empty_list |
software | healthy | tests/test_cli.py:32 |
test_parse_inputs_value_contains_equals |
software | healthy | tests/test_cli.py:36 |
test_parse_inputs_invalid_format_exits |
software | healthy | tests/test_cli.py:40 |
test_validate_valid_spec_exits_0 |
software | healthy | tests/test_cli.py:47 |
test_validate_shows_risk_tier |
software | healthy | tests/test_cli.py:53 |
test_validate_valid_spec_echo_exits_0 |
software | healthy | tests/test_cli.py:61 |
test_validate_missing_file_exits_1 |
software | healthy | tests/test_cli.py:66 |
test_validate_invalid_spec_exits_1 |
software | healthy | tests/test_cli.py:71 |
test_validate_undefined_dependency_shown |
software | healthy | tests/test_cli.py:79 |
test_validate_bad_yaml_exits_1 |
software | healthy | tests/test_cli.py:94 |
test_run_dry_run_valid_spec_exits_0 |
software | healthy | tests/test_cli.py:103 |
test_run_dry_run_shows_spec_name |
software | healthy | tests/test_cli.py:109 |
test_run_dry_run_invalid_spec_exits_1 |
software | healthy | tests/test_cli.py:115 |
test_run_missing_file_exits_1 |
software | healthy | tests/test_cli.py:122 |
test_run_dry_run_quiet_produces_no_output |
software | healthy | tests/test_cli.py:127 |
test_make_on_event_quiet_returns_none |
software | healthy | tests/test_cli.py:135 |
test_make_on_event_not_quiet_returns_callable |
software | healthy | tests/test_cli.py:139 |
test_on_event_stage_start_prints |
software | healthy | tests/test_cli.py:144 |
test_on_event_stage_complete_prints |
software | healthy | tests/test_cli.py:151 |
test_on_event_stage_skipped_prints |
software | healthy | tests/test_cli.py:156 |
test_on_event_run_summary_prints |
software | healthy | tests/test_cli.py:161 |
test_on_event_unknown_event_does_not_raise |
software | healthy | tests/test_cli.py:172 |
test_on_event_retry_attempt_prints |
software | healthy | tests/test_cli.py:177 |
test_on_event_stage_failed_prints |
software | healthy | tests/test_cli.py:182 |
test_run_echo_workflow_produces_json |
software | healthy | tests/test_cli.py:189 |
test_run_echo_workflow_quiet_suppresses_progress |
software | healthy | tests/test_cli.py:198 |
test_run_echo_workflow_output_file |
software | healthy | tests/test_cli.py:209 |
test_run_echo_workflow_stage_events_in_output |
software | healthy | tests/test_cli.py:218 |
test_export_traces_missing_db_exits_1 |
software | healthy | tests/test_cli.py:230 |
test_export_traces_produces_jsonl |
software | healthy | tests/test_cli.py:240 |
_seed |
software | healthy | tests/test_cli.py:336 |
test_export_traces_dpo_format |
software | healthy | tests/test_cli.py:281 |
test_export_traces_summary_printed |
software | healthy | tests/test_cli.py:329 |
test_doctor_exits_0_when_litellm_available |
software | healthy | tests/test_cli.py:368 |
test_doctor_output_mentions_packages |
software | healthy | tests/test_cli.py:374 |
test_doctor_output_mentions_env_vars |
software | healthy | tests/test_cli.py:379 |
test_doctor_validates_spec_when_provided |
software | healthy | tests/test_cli.py:384 |
test_doctor_exits_1_on_invalid_spec |
software | healthy | tests/test_cli.py:390 |
test_doctor_exits_1_on_missing_spec_file |
software | healthy | tests/test_cli.py:397 |
test_doctor_shows_ok_or_error_per_check |
software | healthy | tests/test_cli.py:402 |
test_auto_improve_flag_appears_in_run_help |
software | healthy | tests/test_cli.py:410 |
_make_improve_report |
software | healthy | tests/test_cli.py:415 |
test_auto_improve_calls_self_improve_runner |
software | healthy | tests/test_cli.py:430 |
test_auto_improve_prints_applied_message |
software | healthy | tests/test_cli.py:446 |
test_auto_improve_prints_healthy_when_no_improvement_needed |
software | healthy | tests/test_cli.py:460 |
test_auto_improve_prints_pending_review_when_structural_cha… |
software | healthy | tests/test_cli.py:474 |
test_auto_improve_not_triggered_without_flag |
software | healthy | tests/test_cli.py:494 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
.env.example |
software | healthy | .env.example |
CLAUDE.md |
software | healthy | CLAUDE.md |
AGENTS.md |
software | healthy | AGENTS.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
ROADMAP.md |
software | healthy | ROADMAP.md |
README.md |
software | healthy | README.md |
pyproject.toml |
software | healthy | pyproject.toml |
SECURITY.md |
software | healthy | SECURITY.md |
LICENSE |
software | healthy | LICENSE |
docker-compose.yml |
software | healthy | docker-compose.yml |
run_tests.sh |
software | healthy | run_tests.sh |
CODE_OF_CONDUCT.md |
software | healthy | CODE_OF_CONDUCT.md |
Dockerfile |
software | healthy | Dockerfile |
test_cli.py |
software | healthy | tests/test_cli.py |
test_wizard.py |
software | healthy | tests/test_wizard.py |
conftest.py |
software | healthy | tests/conftest.py |
__init__.py |
software | healthy | tests/__init__.py |
test_tool_modules.py |
software | healthy | tests/test_tool_modules.py |
test_report.py |
software | healthy | tests/test_report.py |
test_config.py |
software | healthy | tests/test_config.py |
test_telemetry.py |
software | healthy | tests/test_telemetry.py |
__init__.py |
software | healthy | tests/sandbox/__init__.py |
test_docker.py |
software | healthy | tests/sandbox/test_docker.py |
__init__.py |
software | healthy | tests/emitters/__init__.py |
test_hermes_emitter.py |
software | healthy | tests/emitters/test_hermes_emitter.py |
__init__.py |
software | healthy | tests/optimizer/__init__.py |
test_history.py |
software | healthy | tests/optimizer/test_history.py |
test_optimizer.py |
software | healthy | tests/optimizer/test_optimizer.py |
test_rogue_signals.py |
software | healthy | tests/hooks/test_rogue_signals.py |
__init__.py |
software | healthy | tests/hooks/__init__.py |
test_lifecycle.py |
software | healthy | tests/hooks/test_lifecycle.py |
test_safety_rules.py |
software | healthy | tests/hooks/test_safety_rules.py |
test_behaviors.py |
software | healthy | tests/hooks/test_behaviors.py |
__init__.py |
software | healthy | tests/channels/__init__.py |
test_channels.py |
software | healthy | tests/channels/test_channels.py |
test_response_stage_sse.py |
software | healthy | tests/service/test_response_stage_sse.py |
__init__.py |
software | healthy | tests/service/__init__.py |
test_app.py |
software | healthy | tests/service/test_app.py |
test_triggers.py |
software | healthy | tests/service/test_triggers.py |
test_registry.py |
software | healthy | tests/service/test_registry.py |
test_contract_limits.py |
software | healthy | tests/runtime/test_contract_limits.py |
test_escalation_warning.py |
software | healthy | tests/runtime/test_escalation_warning.py |
test_skip_if.py |
software | healthy | tests/runtime/test_skip_if.py |
__init__.py |
software | healthy | tests/runtime/__init__.py |
test_mission_block.py |
software | healthy | tests/runtime/test_mission_block.py |
test_recovery.py |
software | healthy | tests/runtime/test_recovery.py |
test_engine.py |
software | healthy | tests/runtime/test_engine.py |
test_loop_iteration.py |
software | healthy | tests/runtime/test_loop_iteration.py |
test_engine_response_stage.py |
software | healthy | tests/runtime/test_engine_response_stage.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
_FakeEmbedder |
software | healthy | tests/state/test_knowledge.py:176 |
TrackingHarness |
software | healthy | tests/integration/test_phase2.py:101 |
FakeMCPSession |
software | healthy | tests/mcp/test_mcp_client.py:13 |
TestDashboardCommand |
software | healthy | tests/report/test_dashboard_cli.py:32 |
TestRenderTerminalLayout |
software | healthy | tests/report/test_dashboard_cli.py:91 |
TestHealthStrip |
software | healthy | tests/report/test_panels.py:49 |
TestStageBreakdown |
software | healthy | tests/report/test_panels.py:80 |
TestImprovementTimeline |
software | healthy | tests/report/test_panels.py:125 |
TestSafetyGovernance |
software | healthy | tests/report/test_panels.py:195 |
TestStageBreakdownStatus |
software | healthy | tests/report/test_panels.py:317 |
TestStageBreakdownRole |
software | healthy | tests/report/test_panels.py:337 |
TestStageBreakdownFanOut |
software | healthy | tests/report/test_panels.py:354 |
TestStageBreakdownRowCap |
software | healthy | tests/report/test_panels.py:371 |
TestImprovementTimelineRunHistory |
software | healthy | tests/report/test_panels.py:387 |
TestImprovementTimelineAllCyclesVisible |
software | healthy | tests/report/test_panels.py:405 |
TestBuildStageStats |
software | healthy | tests/report/test_aggregator.py:56 |
TestLoadImprovementCycles |
software | healthy | tests/report/test_aggregator.py:172 |
TestLoadSafetyStats |
software | healthy | tests/report/test_aggregator.py:249 |
FakeTrace |
software | healthy | tests/report/test_aggregator.py:267 |
TestDashboardData |
software | healthy | tests/report/test_aggregator.py:311 |
FakeRun |
software | healthy | tests/telemetry/test_langsmith.py:9 |
FakeLangSmithClient |
software | healthy | tests/telemetry/test_langsmith.py:16 |
FakeSpan |
software | healthy | tests/telemetry/test_langfuse.py:9 |
FakeTrace |
software | healthy | tests/telemetry/test_langfuse.py:19 |
FakeLangFuseClient |
software | healthy | tests/telemetry/test_langfuse.py:33 |
ChatState |
software | healthy | templates/langgraph-sidecar/bot/state.py:8 |
ChatRequest |
software | healthy | templates/langgraph-sidecar/bot/app.py:24 |
ChatResponse |
software | healthy | templates/langgraph-sidecar/bot/app.py:29 |
ReportData |
software | healthy | armature/reporting.py:22 |
ReportBuilder |
software | healthy | armature/reporting.py:33 |
Subsystem |
software | healthy | armature/demo.py:27 |
DockerSandboxProvider |
software | healthy | armature/sandbox/docker.py:17 |
HermesEmitter |
software | healthy | armature/emitters/hermes.py:12 |
OptimizationResult |
software | healthy | armature/optimizer/runner.py:16 |
ABTestResult |
software | healthy | armature/optimizer/runner.py:25 |
LoopResult |
software | healthy | armature/optimizer/runner.py:34 |
OptimizerRunner |
software | healthy | armature/optimizer/runner.py:40 |
ProposalRecord |
software | healthy | armature/optimizer/history.py:8 |
ProposalStore |
software | healthy | armature/optimizer/history.py:36 |
HookPhase |
software | healthy | armature/hooks/lifecycle.py:17 |
HookDecision |
software | healthy | armature/hooks/lifecycle.py:24 |
ToolBlocked |
software | healthy | armature/hooks/lifecycle.py:31 |
PostconditionFailed |
software | healthy | armature/hooks/lifecycle.py:39 |
HookRegistry |
software | healthy | armature/hooks/lifecycle.py:46 |
RogueSignalCounter |
software | healthy | armature/hooks/lifecycle.py:100 |
SafetyHookBuilder |
software | healthy | armature/hooks/lifecycle.py:108 |
BehaviorRule |
software | healthy | armature/hooks/lifecycle.py:171 |
BehaviorRegistry |
software | healthy | armature/hooks/lifecycle.py:179 |
ChannelRoute |
software | healthy | armature/channels/models.py:7 |
ChannelConfig |
software | healthy | armature/channels/models.py:12 |
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 |
sandbox |
software | healthy | tests/sandbox |
emitters |
software | healthy | tests/emitters |
optimizer |
software | healthy | tests/optimizer |
hooks |
software | healthy | tests/hooks |
channels |
software | healthy | tests/channels |
service |
software | healthy | tests/service |
runtime |
software | healthy | tests/runtime |
nodes |
software | healthy | tests/nodes |
spec |
software | healthy | tests/spec |
registry |
software | healthy | tests/registry |
state |
software | healthy | tests/state |
integration |
software | healthy | tests/integration |
cli |
software | healthy | tests/cli |
permissions |
software | healthy | tests/permissions |
synthesis |
software | healthy | tests/synthesis |
mcp |
software | healthy | tests/mcp |
fixtures |
software | healthy | tests/fixtures |
report |
software | healthy | tests/report |
skills |
software | healthy | tests/skills |
telemetry |
software | healthy | tests/telemetry |
cache |
software | healthy | tests/cache |
.github |
software | healthy | .github |
ISSUE_TEMPLATE |
software | healthy | .github/ISSUE_TEMPLATE |
workflows |
software | healthy | .github/workflows |
examples |
software | healthy | examples |
templates |
software | healthy | templates |
langgraph-sidecar |
software | healthy | templates/langgraph-sidecar |
bot |
software | healthy | templates/langgraph-sidecar/bot |
workflows |
software | healthy | templates/langgraph-sidecar/workflows |
docs |
software | healthy | docs |
armature |
software | healthy | armature |
sandbox |
software | healthy | armature/sandbox |
emitters |
software | healthy | armature/emitters |
optimizer |
software | healthy | armature/optimizer |
hooks |
software | healthy | armature/hooks |
channels |
software | healthy | armature/channels |
templates |
software | healthy | armature/templates |
service |
software | healthy | armature/service |
runtime |
software | healthy | armature/runtime |
nodes |
software | healthy | armature/nodes |
spec |
software | healthy | armature/spec |
registry |
software | healthy | armature/registry |
state |
software | healthy | armature/state |
permissions |
software | healthy | armature/permissions |
synthesis |
software | healthy | armature/synthesis |
mcp |
software | healthy | armature/mcp |
report |
software | healthy | armature/report |
skills |
software | healthy | armature/skills |
telemetry |
software | healthy | armature/telemetry |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
POST /chat |
api | healthy | templates/langgraph-sidecar/bot/app.py |
GET /chat/stream |
api | healthy | templates/langgraph-sidecar/bot/app.py |
GET /health |
api | healthy | templates/langgraph-sidecar/bot/app.py |
GET /workflows |
api | healthy | armature/service/app.py |
GET /workflows/{name} |
api | healthy | armature/service/app.py |
POST /workflows/{name}/run |
api | healthy | armature/service/app.py |
POST /workflows/{name}/run/async |
api | healthy | armature/service/app.py |
POST /run |
api | healthy | armature/service/app.py |
POST /run/async |
api | healthy | armature/service/app.py |
GET /run/{job_id}/events |
api | healthy | armature/service/app.py |
GET /run/{job_id} |
api | healthy | armature/service/app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
proposals |
data | healthy | armature/optimizer/history.py |
memories |
data | healthy | armature/state/memory.py |
evaluations |
data | healthy | armature/state/evaluator.py |
knowledge |
data | healthy | armature/state/knowledge.py |
traces |
data | healthy | armature/state/traces.py |
llm_cache |
data | healthy | armature/cache/llm_cache.py |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
image::templates/langgraph-sidecar/bot/Dockerfile |
hardware | healthy | templates/langgraph-sidecar/bot/Dockerfile |
armature |
hardware | healthy | docker-compose.yml |
bot |
hardware | healthy | templates/langgraph-sidecar/docker-compose.yml |
armature |
hardware | healthy | templates/langgraph-sidecar/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
port:8080 |
network | healthy | Dockerfile |
port:8000 |
network | healthy | templates/langgraph-sidecar/docker-compose.yml |
port:8100 |
network | healthy | templates/langgraph-sidecar/docker-compose.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | README.md |
redis |
data | healthy | templates/langgraph-sidecar/bot/app.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::publish |
cicd | healthy | .github/workflows/publish.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
publish |
cicd | healthy | .github/workflows/publish.yml |
test |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
bryansparks__armature |
software | healthy | /data/fable5_failed_archive/bryansparks__armature |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::azure |
hardware | healthy | examples/starter_template.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::examples/03_deliberation_standard.yml |
security | healthy | examples/03_deliberation_standard.yml |
This page is publicly accessible at:
https://repobility.com/scan/93fac715-5a21-413d-8d4a-ad39820a5f54/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/93fac715-5a21-413d-8d4a-ad39820a5f54/
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.