You are a senior code reviewer. Review the following code changes.

## Specification

No specification provided. Focus on correctness, tests, and integration.





## Code Changes

```diff
diff --git a/ftl_code_expert/language.py b/ftl_code_expert/language.py
index ca72690..7844956 100644
--- a/ftl_code_expert/language.py
+++ b/ftl_code_expert/language.py
@@ -108,10 +108,35 @@ def module_name_from_path(self, rel_path: str) -> str:
     decorator_prefix="#[",
 )
 
+GO = LanguageProfile(
+    name="go",
+    source_globs=["*.go"],
+    source_extensions=[".go"],
+    fence_language="go",
+    definition_patterns=[
+        r"^func\s+(\(\s*\w+\s+\*?\w+\s*\)\s+)?{symbol}\s*[\[(]",
+        r"^type\s+{symbol}\s+",
+        r"^var\s+{symbol}\s+",
+        r"^const\s+{symbol}\s+",
+        r"^package\s+{symbol}\b",
+    ],
+    import_line_prefixes=["import"],
+    scope_style="brace",
+    test_globs=["*_test.go"],
+    entry_point_candidates=[
+        "main.go", "cmd/main.go",
+    ],
+    config_files=["go.mod"],
+    primary_extension=".go",
+    config_entry_point_marker=None,
+    decorator_prefix=None,
+)
+
 LANGUAGE_REGISTRY: dict[str, LanguageProfile] = {
     "python": PYTHON,
     "cpp": CPP,
     "rust": RUST,
+    "go": GO,
 }
 
 _CONFIG_TO_LANGUAGE: dict[str, str] = {

```

## Observation Results

You previously requested observations. Here are the results:

```json
{
  "language_profile_class": {
    "error": "No function found at 'LanguageProfile'",
    "file": "ftl_code_expert/language.py"
  },
  "go_profile_usages": {
    "symbol": "LANGUAGE_REGISTRY",
    "usages": [
      {
        "file": "ftl_code_expert/language.py",
        "line": 135,
        "text": "LANGUAGE_REGISTRY: dict[str, LanguageProfile] = {"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 160,
        "text": "if lang_name in LANGUAGE_REGISTRY:"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 161,
        "text": "return LANGUAGE_REGISTRY[lang_name]"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 178,
        "text": "for lang in LANGUAGE_REGISTRY.values():"
      }
    ],
    "production_usages": [
      {
        "file": "ftl_code_expert/language.py",
        "line": 135,
        "text": "LANGUAGE_REGISTRY: dict[str, LanguageProfile] = {"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 160,
        "text": "if lang_name in LANGUAGE_REGISTRY:"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 161,
        "text": "return LANGUAGE_REGISTRY[lang_name]"
      },
      {
        "file": "ftl_code_expert/language.py",
        "line": 178,
        "text": "for lang in LANGUAGE_REGISTRY.values():"
      }
    ],
    "test_usages": [],
    "production_count": 4,
    "test_count": 0,
    "total_count": 4
  },
  "go_tests": {
    "source_file": "ftl_code_expert/language.py",
    "test_files": [],
    "test_count": 0
  },
  "config_to_language": {
    "error": "No function found at '_CONFIG_TO_LANGUAGE'",
    "file": "ftl_code_expert/language.py"
  }
}
```

Use these results to inform your review. Do not request the same observations again.


## Instructions

For each significant change (new file, modified function, etc.), provide a structured verdict.

Use this exact format for each change:

### <file_path or file_path:function_name>
VERDICT: PASS | CONCERN | BLOCK
CORRECTNESS: VALID | QUESTIONABLE | BROKEN
SPEC_COMPLIANCE: MEETS | PARTIAL | VIOLATES | N/A
ISSUE_COMPLIANCE: ADDRESSES | PARTIAL | UNRELATED | N/A
BELIEF_COMPLIANCE: CONSISTENT | VIOLATES | N/A
TEST_COVERAGE: COVERED | PARTIAL | UNTESTED
INTEGRATION: WIRED | PARTIAL | MISSING
REASONING: <brief explanation of your assessment>
---

## Review Criteria

1. **CORRECTNESS**: Does the code do what it claims? Is the logic sound?
   - VALID: Logic is correct, no bugs apparent
   - QUESTIONABLE: Logic may have edge cases or unclear behavior
   - BROKEN: Clear bugs or incorrect behavior

2. **SPEC_COMPLIANCE**: Does it meet MUST requirements from the spec?
   - MEETS: All relevant spec requirements satisfied
   - PARTIAL: Some requirements met, others missing or incomplete
   - VIOLATES: Contradicts spec requirements
   - N/A: No spec provided or not applicable

3. **ISSUE_COMPLIANCE** (only when an issue is provided): Do the changes address the problem or feature described in the issue?
   - ADDRESSES: Changes directly solve the issue's stated problem or implement the requested feature
   - PARTIAL: Changes partially address the issue but leave some aspects unresolved
   - UNRELATED: Changes do not appear related to the issue
   - N/A: No issue provided

4. **TEST_COVERAGE**: Are there tests for the new/changed code?
   - COVERED: Tests exist and cover the changes
   - PARTIAL: Some tests exist but coverage is incomplete
   - UNTESTED: No tests for the changes

5. **INTEGRATION**: Are callers updated? Is the feature usable end-to-end?
   - WIRED: Feature is fully integrated and usable
   - PARTIAL: Interface exists but callers not updated, or integration incomplete
   - MISSING: No integration with existing code

6. **BELIEF_COMPLIANCE** (only when beliefs are provided): Do the changes respect known architectural invariants, contracts, and rules?
   - CONSISTENT: Changes align with or reinforce known beliefs
   - VIOLATES: Changes contradict a specific belief — cite the belief ID
   - N/A: No beliefs provided or no relevant beliefs apply

## Verdict Guidelines

- **BLOCK**: Security issues, broken functionality, spec violations, or missing critical integration
- **CONCERN**: Missing tests, partial integration, questionable patterns, or unclear logic
- **PASS**: Correct, tested, well-integrated code

## Important

- Full function bodies for modified functions may be available in the observations section — use them to verify the complete logic, not just the diff hunks
- Related test files (prefixed with ``related_test:``) may be included in observations — check whether existing test assertions still match modified return types, signatures, or behavior. Flag any test that would break due to the changes
- If duplicate test coverage is detected (multiple test files covering the same source), note it in your review
- Focus on actual issues, not style preferences
- If a method signature is added but callers aren't updated, that's PARTIAL integration
- Be specific in reasoning - reference line numbers or function names
- When in doubt, use CONCERN rather than PASS

## Self-Review

After completing your review, add a brief self-assessment:

### SELF_REVIEW
LIMITATIONS: <what context were you missing that affected review quality?>
---

Examples of limitations:
- "Could not see full class to verify no other methods access the modified field"
- "Test file not included in diff - cannot verify coverage claims"
- "Spec file referenced but not provided"


## Feature Requests

If this review tool could be improved to help you do a better job, suggest features:

### FEATURE_REQUESTS
- <suggestion 1>
- <suggestion 2>
---

Examples:
- "Include full file context for modified functions, not just diff hunks"
- "Show callers of modified methods to verify integration"
- "Include test file alongside implementation changes"

Only include this section if you have specific suggestions. Skip if none.
