https://github.com/tomasanchez/cosmic-fastapi
· scanned 2026-06-16 00:39 UTC (2 months, 1 week ago)
8 raw signals (0 security + 8 graph)
Last scanned 2 months, 1 week ago · v1 · 8 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 153 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 |
|---|---|---|---|
copier.yml |
software | healthy | copier.yml |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
.pre-commit-config.yaml |
software | healthy | .pre-commit-config.yaml |
pyproject.toml |
software | healthy | pyproject.toml |
test_bake.py |
software | healthy | tests/test_bake.py |
0015-copier-template-engine.md |
software | healthy | docs/adr/0015-copier-template-engine.md |
README.md |
software | healthy | docs/adr/README.md |
CLAUDE.md |
software | healthy | template/CLAUDE.md |
.pre-commit-config.yaml |
software | healthy | template/.pre-commit-config.yaml |
AGENTS.md |
software | healthy | template/AGENTS.md |
__init__.py |
software | healthy | template/tests/__init__.py |
__init__.py |
software | healthy | template/tests/integration/__init__.py |
__init__.py |
software | healthy | template/tests/unit/__init__.py |
__init__.py |
software | healthy | template/tests/unit/settings/__init__.py |
__init__.py |
software | healthy | template/tests/unit/adapters/__init__.py |
__init__.py |
software | healthy | template/tests/unit/scripts/__init__.py |
test_prune_decisions.py |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py |
__init__.py |
software | healthy | template/tests/unit/service_layer/__init__.py |
__init__.py |
software | healthy | template/tests/unit/entrypoint/__init__.py |
__init__.py |
software | healthy | template/tests/unit/domain/__init__.py |
__init__.py |
software | healthy | template/tests/unit/domain/models/__init__.py |
__init__.py |
software | healthy | template/tests/e2e/__init__.py |
__init__.py |
software | healthy | template/tests/e2e/entrypoint/__init__.py |
cosmic-python-coverage.md |
software | healthy | template/docs/cosmic-python-coverage.md |
0003-fastapi-and-pydantic-live-at-boundaries.md |
software | healthy | template/docs/adr/0003-fastapi-and-pydantic-live-at-boundar… |
0004-sqlalchemy-2-persistence-behind-repositories.md |
software | healthy | template/docs/adr/0004-sqlalchemy-2-persistence-behind-repo… |
0005-explicit-composition-and-message-dispatch.md |
software | healthy | template/docs/adr/0005-explicit-composition-and-message-dis… |
0019-coverage-from-unit-and-e2e-tests.md |
software | healthy | template/docs/adr/0019-coverage-from-unit-and-e2e-tests.md |
0016-aggregate-persistence-write-back.md |
software | healthy | template/docs/adr/0016-aggregate-persistence-write-back.md |
0012-camel-case-json-message-contracts.md |
software | healthy | template/docs/adr/0012-camel-case-json-message-contracts.md |
0018-postgresql-default-with-pgvector.md |
software | healthy | template/docs/adr/0018-postgresql-default-with-pgvector.md |
0009-conventional-commits.md |
software | healthy | template/docs/adr/0009-conventional-commits.md |
README.md |
software | healthy | template/docs/adr/README.md |
0006-async-is-an-explicit-end-to-end-choice.md |
software | healthy | template/docs/adr/0006-async-is-an-explicit-end-to-end-choi… |
0014-cqrs-read-models-are-purpose-built.md |
software | healthy | template/docs/adr/0014-cqrs-read-models-are-purpose-built.md |
0017-async-persistence-by-default.md |
software | healthy | template/docs/adr/0017-async-persistence-by-default.md |
0002-domain-models-are-framework-independent.md |
software | healthy | template/docs/adr/0002-domain-models-are-framework-independ… |
0008-static-typing-with-pyrefly.md |
software | healthy | template/docs/adr/0008-static-typing-with-pyrefly.md |
0013-aggregates-define-consistency-boundaries.md |
software | healthy | template/docs/adr/0013-aggregates-define-consistency-bounda… |
0007-tooling-and-test-pyramid.md |
software | healthy | template/docs/adr/0007-tooling-and-test-pyramid.md |
template.md |
software | healthy | template/docs/adr/template.md |
0011-pydantic-message-schemas-with-plain-domain-aggregates.… |
software | healthy | template/docs/adr/0011-pydantic-message-schemas-with-plain-… |
0010-adr-lifecycle-and-decision-pruning.md |
software | healthy | template/docs/adr/0010-adr-lifecycle-and-decision-pruning.md |
0001-modern-cosmic-python-standard.md |
software | healthy | template/docs/adr/0001-modern-cosmic-python-standard.md |
__init__.py |
software | healthy | template/scripts/__init__.py |
prune_decisions.py |
software | healthy | template/scripts/prune_decisions.py |
README |
software | healthy | template/migrations/README |
20260531_0001_create_users.py |
software | healthy | template/migrations/versions/20260531_0001_create_users.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 |
docs |
software | healthy | docs |
adr |
software | healthy | docs/adr |
template |
software | healthy | template |
tests |
software | healthy | template/tests |
integration |
software | healthy | template/tests/integration |
unit |
software | healthy | template/tests/unit |
settings |
software | healthy | template/tests/unit/settings |
adapters |
software | healthy | template/tests/unit/adapters |
scripts |
software | healthy | template/tests/unit/scripts |
service_layer |
software | healthy | template/tests/unit/service_layer |
entrypoint |
software | healthy | template/tests/unit/entrypoint |
domain |
software | healthy | template/tests/unit/domain |
models |
software | healthy | template/tests/unit/domain/models |
e2e |
software | healthy | template/tests/e2e |
entrypoint |
software | healthy | template/tests/e2e/entrypoint |
docs |
software | healthy | template/docs |
adr |
software | healthy | template/docs/adr |
scripts |
software | healthy | template/scripts |
migrations |
software | healthy | template/migrations |
versions |
software | healthy | template/migrations/versions |
src |
software | healthy | template/src |
{{ package_name }} |
software | healthy | template/src/{{ package_name }} |
settings |
software | healthy | template/src/{{ package_name }}/settings |
adapters |
software | healthy | template/src/{{ package_name }}/adapters |
models |
software | healthy | template/src/{{ package_name }}/adapters/models |
service_layer |
software | healthy | template/src/{{ package_name }}/service_layer |
entrypoint |
software | healthy | template/src/{{ package_name }}/entrypoint |
domain |
software | healthy | template/src/{{ package_name }}/domain |
models |
software | healthy | template/src/{{ package_name }}/domain/models |
events |
software | healthy | template/src/{{ package_name }}/domain/events |
commands |
software | healthy | template/src/{{ package_name }}/domain/commands |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
| Label | Layer | Status | Path |
|---|---|---|---|
_database_url |
software | healthy | tests/test_bake.py:55 |
_answers |
software | healthy | tests/test_bake.py:62 |
_run |
software | healthy | tests/test_bake.py:72 |
_snapshot_working_tree |
software | healthy | tests/test_bake.py:83 |
template_source |
software | healthy | tests/test_bake.py:106 |
_bake |
software | healthy | tests/test_bake.py:111 |
baked_project |
software | healthy | tests/test_bake.py:129 |
test_package_directory_is_rendered |
software | healthy | tests/test_bake.py:140 |
test_no_template_package_references |
software | healthy | tests/test_bake.py:148 |
test_user_slice_presence_matches_flag |
software | healthy | tests/test_bake.py:159 |
test_postgres_service_present_iff_postgres |
software | healthy | tests/test_bake.py:179 |
test_integration_ci_job_present_iff_postgres |
software | healthy | tests/test_bake.py:198 |
test_baked_project_passes_offline_quality_gate |
software | healthy | tests/test_bake.py:211 |
_write_adr |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py:10 |
_write_index |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py:43 |
test_context_contains_only_accepted_decisions |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py:65 |
test_registry_rejects_an_unindexed_decision |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py:97 |
_error |
software | healthy | template/scripts/prune_decisions.py:28 |
_extract_section |
software | healthy | template/scripts/prune_decisions.py:46 |
_parse_decision |
software | healthy | template/scripts/prune_decisions.py:75 |
load_decisions |
software | healthy | template/scripts/prune_decisions.py:134 |
_find_index_errors |
software | healthy | template/scripts/prune_decisions.py:158 |
_find_lifecycle_errors |
software | healthy | template/scripts/prune_decisions.py:180 |
validate_registry |
software | healthy | template/scripts/prune_decisions.py:198 |
render_context |
software | healthy | template/scripts/prune_decisions.py:223 |
_parse_args |
software | healthy | template/scripts/prune_decisions.py:254 |
main |
software | healthy | template/scripts/prune_decisions.py:267 |
upgrade |
software | dead | template/migrations/versions/20260531_0001_create_users.py:… |
downgrade |
software | dead | template/migrations/versions/20260531_0001_create_users.py:… |
| Label | Layer | Status | Path |
|---|---|---|---|
TestDecisionPruner |
software | healthy | template/tests/unit/scripts/test_prune_decisions.py:62 |
DecisionRegistryError |
software | healthy | template/scripts/prune_decisions.py:24 |
Decision |
software | healthy | template/scripts/prune_decisions.py:34 |
UvicornSettings |
software | healthy | template/src/{{ package_name }}/settings/uvicorn_settings.p… |
Base |
software | healthy | template/src/{{ package_name }}/adapters/models/base.py:6 |
CamelCaseModel |
software | healthy | template/src/{{ package_name }}/entrypoint/schemas.py:9 |
ResponseModel |
software | healthy | template/src/{{ package_name }}/entrypoint/schemas.py:21 |
LivenessProbed |
software | healthy | template/src/{{ package_name }}/entrypoint/schemas.py:27 |
ReadinessProbed |
software | healthy | template/src/{{ package_name }}/entrypoint/schemas.py:33 |
Message |
software | healthy | template/src/{{ package_name }}/domain/messages.py:7 |
Command |
software | healthy | template/src/{{ package_name }}/domain/messages.py:19 |
Event |
software | healthy | template/src/{{ package_name }}/domain/messages.py:23 |
| Label | Layer | Status | Path |
|---|---|---|---|
sqlite |
data | healthy | copier.yml |
postgresql |
data | healthy | copier.yml |
postgres |
data | healthy | copier.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-toatiu_r |
software | healthy | /tmp/repobility-clone-toatiu_r |
| Label | Layer | Status | Path |
|---|---|---|---|
Base |
data | healthy | template/src/{{ package_name }}/adapters/models/base.py |
| Label | Layer | Status | Path |
|---|---|---|---|
20260531_0001_create_users.py |
data | healthy | template/migrations/versions/20260531_0001_create_users.py |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | template/src/{{ package_name }}/settings/uvicorn_settings.py |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::template-ci |
cicd | healthy | .github/workflows/template-ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
bake |
cicd | healthy | .github/workflows/template-ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/d4acde94-d944-4c74-b3e2-8ae93ed53211/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/d4acde94-d944-4c74-b3e2-8ae93ed53211/
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.