Problem
The original ask — run detection after GitHub import and attach metadata — landed: archive and GitHub import responses now carry a stellar metadata block and emit stellar.network.detected (see tests/test_project_import_detection.py). What remains: the detection is not surfaced to the user at import time in the UI, and import detection lacks live-repo-style fixtures and false-positive regression coverage.
Context
app/workspaces/routes.py — _import_archive/_import_github attach stellar metadata and emit the stellar.network.detected event.
app/static/js/workspace_detail.js — the import flow currently navigates to the project without surfacing detection.
app/services/stellar_detection.py — detection with confidence, evidence, and network hints.
The underlying import-time detection has now landed; this issue tracks the remaining UI and fixture work.
Scope
Make import-time detection visible and prove it robust.
Requirements
- Surface detection in the import UI: on a successful import, show a badge/message with confidence (
likely/possible/none) and, for detected projects, a link to the project's Stellar tab.
- Add parameterized import fixtures covering: Soroban repo (likely), plain Rust repo (none), JS-with-stellar-sdk (possible), README-only "stellar" mention (none — false-positive guard), and archive-vs-GitHub consistency.
- Keep detection non-blocking and read-only; no behavior change for non-Stellar repos.
Acceptance Criteria
- The import flow shows detection feedback for detected repos and stays unchanged for others.
- The fixture matrix passes and asserts no false positives.
- Existing import tests stay green.
Testing
- Route tests with the fake GitHub client (extend
tests/test_project_import_detection.py); archive-import parity tests.
Dependencies
- Import detection (implemented), detection module (implemented), project Stellar tab (implemented).
Out of Scope
- Detection algorithm changes; a network switcher.
Expected Outcome
Users see immediately whether an imported repo is Stellar/Soroban, and import detection is proven against a fixture matrix.
Problem
The original ask — run detection after GitHub import and attach metadata — landed: archive and GitHub import responses now carry a
stellarmetadata block and emitstellar.network.detected(seetests/test_project_import_detection.py). What remains: the detection is not surfaced to the user at import time in the UI, and import detection lacks live-repo-style fixtures and false-positive regression coverage.Context
app/workspaces/routes.py—_import_archive/_import_githubattachstellarmetadata and emit thestellar.network.detectedevent.app/static/js/workspace_detail.js— the import flow currently navigates to the project without surfacing detection.app/services/stellar_detection.py— detection with confidence, evidence, and network hints.The underlying import-time detection has now landed; this issue tracks the remaining UI and fixture work.
Scope
Make import-time detection visible and prove it robust.
Requirements
likely/possible/none) and, for detected projects, a link to the project's Stellar tab.Acceptance Criteria
Testing
tests/test_project_import_detection.py); archive-import parity tests.Dependencies
Out of Scope
Expected Outcome
Users see immediately whether an imported repo is Stellar/Soroban, and import detection is proven against a fixture matrix.