### ftl_project_expert/cli.py
VERDICT: CONCERN
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: CONSISTENT
TEST_COVERAGE: UNTESTED
INTEGRATION: WIRED
REASONING: The newly implemented `research` command and its helper functions are logically correct, well-structured, and fully wired into the CLI. They employ excellent defensive patterns, such as verifying the presence of `reasons` CLI up-front, skipping platforms when appropriate, gracefully catching and formatting individual artifact fetch exceptions inline instead of crashing, and handling `asyncio.gather` exception results correctly. However, there are absolutely no automated tests verifying these behaviors.
---

### ftl_project_expert/prompts/__init__.py
VERDICT: PASS
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: CONSISTENT
TEST_COVERAGE: COVERED
INTEGRATION: WIRED
REASONING: Simple package initialization changes to correctly expose and export the new `RESEARCH_PROMPT` under `__all__`.
---

### ftl_project_expert/prompts/research.py
VERDICT: PASS
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: CONSISTENT
TEST_COVERAGE: COVERED
INTEGRATION: WIRED
REASONING: This introduces a clean and well-structured prompt template with clear instructions and a consistent response schema. It matches all the placeholder variables formatted in `research_one` precisely.
---

### ftl_project_expert/sources/github.py:GitHubSource.get_pr
VERDICT: CONCERN
CORRECTNESS: VALID
SPEC_COMPLIANCE: N/A
ISSUE_COMPLIANCE: N/A
BELIEF_COMPLIANCE: CONSISTENT
TEST_COVERAGE: UNTESTED
INTEGRATION: WIRED
REASONING: Implements a clean `get_pr` method that calls `gh pr view` and normalizes the results. It is fully correct and integrates seamlessly with `_fetch_artifacts` via defensive `hasattr(source, "get_pr")` checks. However, like the rest of the new code, it is completely untested.
---

### SELF_REVIEW
LIMITATIONS:
- There is no test suite in this repository to run or write new assertions against.
- The exact output schema of `reasons show` CLI cannot be verified via terminal execute, but the parsing logic aligns cleanly with standard structured key-value output formats.
---

### FEATURE_REQUESTS
- Automatically provision mock environments/fixtures to enable local unit testing.
- Include downstream CLI tools like `reasons` and `entry` as workspace test dependencies to facilitate integration tests.
---
