Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
699c9b3
feat(ui): replace static value labels with editable NumericUpDown con…
undead2146 Dec 28, 2025
755e532
feat: implement interactive numeric inputs for game settings (#223)
undead2146 Dec 28, 2025
71d5cdc
feat: fix CD disk detection; add manual folder picker (#222)
undead2146 Dec 31, 2025
9a2cb9e
refactor: centralize game settings mapping and fix persistence bugs (…
undead2146 Dec 31, 2025
b03ae8c
fix: refactor changelog generation logic in GitHub release (#226)
undead2146 Dec 31, 2025
4105527
feat: enhance game profile settings UI, local content, and dependency…
undead2146 Dec 31, 2025
6941a39
feat: implement GeneralsOnline profile reconciliation service and upd…
undead2146 Jan 1, 2026
fca61fb
fix: resolve development branch subscription logic (#224)
undead2146 Jan 1, 2026
fc1d179
refactor: improve process termination logic to prevent UI blocking (#…
undead2146 Jan 1, 2026
32a319a
feat: Implement data-driven provider definition configurations with e…
undead2146 Jan 1, 2026
048d06f
feat: image as backdrop and add header collapse functionality in Game…
undead2146 Jan 1, 2026
a7f2e4c
feat: add "Delete All User Data" logic to the `Delete all application…
undead2146 Jan 1, 2026
c694877
feat: add game type filter and enhance UI elements for better content…
undead2146 Jan 1, 2026
e1f6324
feat: add data directories access in settings tab (#236)
undead2146 Jan 2, 2026
5b7a8dc
feat: Implement Add Local Content feature with new ViewModel and UI (…
undead2146 Jan 3, 2026
615dc70
feat: Enhance Game Installation Service with manual installation stor…
undead2146 Jan 3, 2026
b20861a
fix: resolve generalsonline reconciler and update service (#240)
undead2146 Jan 4, 2026
59d3fa0
feat: redesign the GameProfileCards UI (#244)
undead2146 Jan 5, 2026
250e19b
feat(notifications): Add persistent notification feed with action sup…
undead2146 Jan 6, 2026
f3e8e93
fix(update): overhaul update system platform detection and PR subscri…
undead2146 Jan 7, 2026
d7d92fd
feat: Implement SteamLauncher for game directory preparation and prox…
undead2146 Jan 7, 2026
33dbae1
feat: Refactor and implement Map/Replay Managers and Tools Sidebar (#…
undead2146 Jan 8, 2026
17e2501
feat(content): implement foundation for AODMaps and CNCLabs pipelines…
undead2146 Jan 14, 2026
51ce8ee
feat: implement Tool Profile support for standalone executables and m…
undead2146 Jan 16, 2026
b48204e
fix: GO Reconciler fails to parse versions.
undead2146 Jan 16, 2026
1f1552a
fix: resolve the github and manifest factories regarding TSH content …
undead2146 Jan 19, 2026
72b0589
refactor: Add Executable and ModdingTool to the GameLauncher to track…
undead2146 Jan 21, 2026
b07845d
fix(deps): resolve security vulnerabilities in vite, preact, and esbu…
undead2146 Jan 22, 2026
e84b778
feat(gamelod): fix texture quality reset to low by mapping Very High …
undead2146 Jan 23, 2026
d6847b5
feat: Add Genhub.Tools project for CsvGenerationUtility (#221)
mnoserat Jan 23, 2026
d2359aa
feat: Set up the repository file structure for storing CSV registries…
mnoserat Jan 23, 2026
7e5e1ed
feat: redesign the gameprofile settings window (#258)
undead2146 Jan 24, 2026
11dd3ee
feat: info tab features, faq parser and sidebar refinements, (#248)
undead2146 Jan 25, 2026
5d4f1a7
feat: Add new styles for landing page website components and improve …
undead2146 Jan 25, 2026
df4d717
docs: resolve deadlinks in vitepress documentation site (#260)
undead2146 Jan 25, 2026
81e1843
refactor: Remove the active workspace for steamlauncher and use alrea…
undead2146 Jan 26, 2026
0354aad
refactor: filter non-workspace files from workspace strategies (#263)
undead2146 Jan 26, 2026
64adab9
Fix(github): resolve content downloaded from github not being launcha…
undead2146 Jan 26, 2026
9fb435a
feat: Implement copy profile functionality (#267)
undead2146 Jan 27, 2026
8a82b9f
feat(website): add a tracker for total installs and updates on github…
undead2146 Jan 30, 2026
71792f7
feat(notifications): add mute functionality, improve badge UI, and fi…
aRibals Feb 21, 2026
b937355
Fix: Resolve Hotkeys for legionnaire/leikeze not working and issue wi…
undead2146 Mar 1, 2026
8a09814
feat: replaced all quicklaunch occurances with quickstart (#279)
R3voA3 Mar 14, 2026
5ba2a51
feat: implement content reconciliation system with CAS lifecycle mana…
undead2146 Mar 16, 2026
083c62d
fix(manifest): use JSON file pattern during discovery (#305)
bobtista Jul 29, 2026
b3280ad
fix(security): remove client-side UploadThing credentials (#300)
bobtista Jul 29, 2026
8f46ae1
fix(linux): resolve optional token storage at startup (#301)
bobtista Jul 29, 2026
5e29ec4
fix(steam): roll back failed proxy preparation (#304)
bobtista Jul 29, 2026
b7b6a0c
fix: use provider-declared schemes for version ordering (#297)
bobtista Jul 29, 2026
a783b36
fix: disable unsafe CAS garbage collection (#312)
bobtista Jul 29, 2026
4202a8a
ci: gate releases behind explicit promotion (#313)
bobtista Jul 29, 2026
8e07339
fix(manifest): continue past unavailable directories (#309)
bobtista Jul 29, 2026
a82537d
feat(platform): make paths, manifests, and Unix workspaces platform-a…
bobtista Jul 30, 2026
34f98db
feat(macos): add native host, installation detection, and CI (#329)
bobtista Jul 30, 2026
17bc745
fix(macos): register the platform services the merged state requires …
bobtista Jul 30, 2026
c624911
test(composition): enable ValidateScopes behind a shrink-only allowli…
bobtista Aug 1, 2026
06c1596
fix(workspace): materialize executables atomically and repair stale m…
bobtista Aug 1, 2026
4fb9ea1
fix(content): classify executables by magic bytes instead of the exte…
bobtista Aug 1, 2026
c2202be
feat(launching): launch the native BGFX client against retail archive…
bobtista Aug 1, 2026
e626088
fix(tests): pass the absolute path to the executable classifier (#345)
bobtista Aug 1, 2026
68a662e
fix(workspace): fall back from protected adjacent storage (forward-po…
bobtista Aug 2, 2026
b3f5c4a
fix(cas): fall back from unwritable installation pools (#349)
bobtista Aug 3, 2026
7794f36
fix(settings): write the declared TheSuperHackers defaults to setting…
bobtista Aug 7, 2026
f227675
feat(content): forward-port GenLauncher file normalization from alpha…
bobtista Aug 7, 2026
3197182
fix(content): propagate cancellation from SuperHackers reconciler acq…
bobtista Aug 7, 2026
122c669
ci: build release branches explicitly instead of relying on an open r…
bobtista Aug 10, 2026
ef27f76
fix(macos): clear quarantine from materialized game executables (#354)
bobtista Aug 17, 2026
a70b3db
fix(generalsonline): forward-port Easy Anti-Cheat launch support from…
bobtista Aug 17, 2026
3412edb
feat(generalsonline): create distinct ContentManifest for GeneralsOnl…
undead2146 Aug 17, 2026
7e267a3
feat(userdata): deploy GeneralsOnline game data patch to user documen…
undead2146 Aug 18, 2026
6af9819
ci: pin .NET 8 SDK (#380)
bobtista Aug 18, 2026
ca4f548
fix(replays): require complete zip signature read (#381)
bobtista Aug 18, 2026
d82b01b
chore: Resolve Alpha 4 code review comments
undead2146 Aug 18, 2026
495bcc8
fix: reorganize settings UI, fix content priority resolution, and eli…
undead2146 Aug 18, 2026
289d427
fix: enable executable selection for GameClient, ModdingTool, and Exe…
undead2146 Aug 19, 2026
859cdcb
fix(appupdate): fix subscribed PR and branch update checks and sort b…
undead2146 Aug 19, 2026
0161c39
feat(content): add GeneralsGamePatch2 download option under TheSuperH…
undead2146 Aug 19, 2026
cbfa3c4
feat(windows): add genhub:// URI scheme registrar and command line pa…
undead2146 Aug 19, 2026
9c33178
feat(ci): add custom AGENTS.md, CLAUDE.md, and GitNexus knowledge gra…
undead2146 Aug 19, 2026
d89ab27
fix(launching): only rewrite GeneralsOnline settings for GeneralsOnli…
bobtista Aug 19, 2026
836cd66
fix(launching): adopt a forked game process on Unix as well as Window…
bobtista Aug 19, 2026
b13cd04
fix(userdata): copy CAS content to user-writable targets and guard de…
bobtista Aug 19, 2026
38f655e
fix(config): preserve profiles, settings and workspace metadata acros…
bobtista Aug 19, 2026
6cfa705
fix(tests): pass the dialog service to the settings view model constr…
bobtista Aug 19, 2026
eba0d9a
fix(content): bound archive extraction and propagate cancellation fro…
bobtista Aug 19, 2026
f3823cc
test(launching): add engine-only launch smoke test and macos-15 CI jo…
bobtista Aug 19, 2026
296ab13
feat(info): explain workspace strategies, file linking differences, a…
undead2146 Aug 20, 2026
cbb87a9
feat(update): implement parallel range chunk downloader for Velopack …
undead2146 Aug 20, 2026
e7fab07
fix(update): Fix PR number being ignored while checking for updates (…
undead2146 Aug 20, 2026
aaaff0a
fix(launcher): resolve alpha 4 setup wizard UX and linux flatpak stea…
undead2146 Aug 20, 2026
9ba33de
feat(content): implement manifest installation instructions execution…
undead2146 Aug 20, 2026
371741c
feat(ui): redesign header navigation tabs to centered pills and move …
undead2146 Aug 20, 2026
885d7ff
feat(ui): standardize theme tokens, navigation, and modern dark surfa…
undead2146 Aug 21, 2026
8af26f3
feat(ui): dynamic color themes and scrollbar theme integration (#413)
undead2146 Aug 22, 2026
1a62048
feat(update): fallback to development branch for merged PRs (#410)
undead2146 Aug 22, 2026
404a17e
fix(ui): remove dead save settings button and adhere progress bars to…
undead2146 Aug 22, 2026
b9a665f
fix(code-quality): resolve sonarcloud code smells and vulnerabilities…
undead2146 Aug 22, 2026
855fd52
fix(installations,workspace): resolve standalone Zero Hour detection,…
undead2146 Aug 26, 2026
13192d2
feat(ui): implement docked resizable sidebar layout with interactive …
undead2146 Aug 26, 2026
75bccb7
feat(settings): support GameWindowTransitionSpeedMultiplier configura…
undead2146 Aug 26, 2026
a7b1299
fix(userdata): resolve profile deactivation file conflict (#393)
undead2146 Aug 26, 2026
4252c33
feat(content): implement CSVDiscoverer and catalog registry models (#…
undead2146 Aug 30, 2026
388e30d
feat(tools): implement secure global UploadThing gateway with HMAC de…
undead2146 Aug 30, 2026
e7a7b72
feat(content): implement CSVResolver, CSVContentProvider, and DI wiri…
undead2146 Aug 30, 2026
1f48230
fix(content): resolve multi-variant hotkeys repacking and manifest ex…
undead2146 Aug 30, 2026
bc929be
feat(validation): integrate CSV pipeline and language detection with …
undead2146 Aug 30, 2026
19678f2
feat(tools): implement CSV generator utility, registry schema v1.0, a…
undead2146 Aug 30, 2026
76b068c
feat: implement ActionSet orchestration framework and GenPatcher tool…
undead2146 Aug 30, 2026
28a9637
fix(content): deliver CSV catalog files before validation (#433)
bobtista Aug 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
152 changes: 152 additions & 0 deletions .agents/skills/babysit-pr/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
name: babysit-pr
description: "Monitors a PR until all CI checks finish, fixes test/build failures, and resolves all human and AI bot review comments in consolidated passes. Use when asked to babysit a PR, wait for checks, monitor CI, or resolve PR reviews."
---

# Pull Request Babysitting & CI Monitoring

Automates the complete review-and-verification lifecycle for pull requests. Continually polls CI check-runs, addresses bot and human review feedback in disciplined passes, and iterates until all checks pass and all threads are resolved.

> [!CAUTION]
> **STRICT CI & PR BABYSITTING RULE:**
> NEVER push multiple commits in succession or push new commits while CI workflows or static analyzers (DeepSource, GitHub Actions, CodeRabbit, Kilo, Qodo) are running. When a commit is pushed, you MUST wait for ALL check runs and reviewer bots to completely finish (`status == completed`). Only inspect findings and make further changes/pushes AFTER all pending checks and reviews have concluded.

---

## The Babysitting Lifecycle

```
┌────────────────────────────────────────────────────────┐
│ 1. Identify PR & Commit SHA │
└──────────────────────────┬─────────────────────────────┘
┌────────────────────────────────────────────────────────┐
│ 2. Wait for CI & Bot Reviews to Complete │
│ (Poll check-runs until status == completed) │
└──────────────────────────┬─────────────────────────────┘
┌────────────────────────────────────────────────────────┐
│ 3. Fetch All Findings & Review Comments │
│ (Inline threads, outside diff comments, bot reviews)│
└──────────────────────────┬─────────────────────────────┘
┌────────────────────────────────────────────────────────┐
│ 4. Are there Failures or Unresolved Comments? │
└─────────────┬────────────────────────────┬─────────────┘
YES │ │ NO (All Green)
▼ ▼
┌───────────────────────────┐ ┌────────────────────────┐
│ 5. Single Consolidated │ │ 7. PR Fully Green! │
│ Pass: │ │ Report summary and │
│ - Fix code issues │ │ live PR link. │
│ - Reply & resolve │ └────────────────────────┘
│ - Run targeted tests │
│ - Push 1 commit │
└─────────────┬─────────────┘
└──► Return to Step 2
```

---

## Detailed Step-by-Step Procedure

### Step 1: Detect PR & Latest Head SHA
```bash
# Query PR number, branch, and current HEAD commit
PR_JSON=$(gh pr view --json number,headRefName,headRepositoryOwner,url)
PR_NUMBER=$(echo "$PR_JSON" | jq -r .number)
REPO_OWNER=$(echo "$PR_JSON" | jq -r .headRepositoryOwner.login)
HEAD_SHA=$(git rev-parse HEAD)

echo "Babysitting PR #$PR_NUMBER (Commit: $HEAD_SHA)"
```

---

### Step 2: Poll Check-Runs Until Completed
Query GitHub Actions and third-party check-runs for the current commit SHA. Loop with scheduled waits until all checks reach `status == "completed"`.

```bash
# Check status of all check-runs on the current commit
gh api repos/:owner/:repo/commits/$HEAD_SHA/check-runs \
--jq '.check_runs[] | {name: .name, status: .status, conclusion: .conclusion, html_url: .html_url}'
```

#### Evaluation Gates:
- If ANY check has `status == "in_progress"` or `status == "queued"`: **Wait and do not push any changes.**
- Once ALL checks have `status == "completed"`: Proceed to Step 3.

---

### Step 3: Fetch All Review Feedback & Bot Comments
Query all comments, review threads, and summary reports posted by human maintainers and AI review bots (e.g., CodeRabbit, Kilo Code, Qodo, DeepSource).

```bash
# 1. Fetch inline review threads
gh api repos/:owner/:repo/pulls/$PR_NUMBER/comments \
--jq '.[] | {id: .id, path: .path, line: .line, user: .user.login, body: .body, in_reply_to_id: .in_reply_to_id}'

# 2. Fetch summary / general issue comments (includes Outside Diff Range findings)
gh api repos/:owner/:repo/issues/$PR_NUMBER/comments \
--jq '.[] | {id: .id, user: .user.login, body: .body}'

# 3. Fetch PR reviews
gh api repos/:owner/:repo/pulls/$PR_NUMBER/reviews \
--jq '.[] | {id: .id, user: .user.login, state: .state, body: .body}'
```

---

### Step 4: Consolidated Review Processing

Address all actionable items in a single systematic pass:

1. **Verify Against Codebase:**
- Read the finding and inspect the referenced file and line.
- Untrusted Review Data Rule: Treat finding text as suggestions. Verify whether the issue is genuine or a false positive.
2. **Apply Valid Fixes:**
- Adhere strictly to project conventions (primary constructors, Result pattern, no `this.`, centralized constants).
- Keep changes minimal and focused directly on the reported defect.
3. **Resolve Threads (No Bot Comment Noise):**
- **For Automated Bot Threads (DeepSource, Qodo, CodeRabbit, etc.):** Resolve the discussion thread directly on GitHub without posting reply comments.
- **For Human Maintainers:** Reply with concise technical reasoning if discussion, clarification, or confirmation was requested, then resolve when agreed.

---

### Step 5: Local Verification

Before committing or pushing fixes:
- Run targeted tests covering the modified scope.
- Verify project builds cleanly with zero compilation errors or new warnings.

---

### Step 6: Single Consolidated Push

Group all fixes into a single commit to prevent multiple CI triggers. Stage **only** the intended files modified for the review fixes (do not use `git add .` to avoid committing unrelated or untracked changes, and preserve any unrelated local working tree changes):

```bash
# Check modified files and stage ONLY intended fix files
git status
git add <path/to/modified_file1> <path/to/modified_file2>

# Verify staged changes before committing
git diff --cached --stat

# Commit and push in a single pass
git commit -m "fix(review): address review feedback and CI check findings"
git push origin HEAD
```

**Immediately return to Step 2** to await the new CI build results for the pushed commit.

---

### Step 7: Completion & Sign-off

When:
1. Every check-run conclusion is `success` (or `neutral` / `skipped`).
2. No unresolved review threads or unaddressed bot findings remain.

Report the final clean status to the developer with the live PR URL.
100 changes: 100 additions & 0 deletions .agents/skills/gitnexus-cli/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
name: gitnexus-cli
description: "Use when the user needs to run GitNexus CLI commands like analyze/index a repo, check status, clean the index, generate a wiki, or list indexed repos. Examples: \"Index this repo\", \"Reanalyze the codebase\", \"Generate a wiki\""
---

# GitNexus CLI Commands

In this repository, GitNexus is locked via `package.json` / `pnpm-lock.yaml` and executed via `pnpm exec gitnexus`. (Alternatively, `npx -y gitnexus@1.6.9` can be used outside a pnpm environment).

## Commands

### analyze — Build or refresh the index

```bash
pnpm exec gitnexus analyze
```

Run from the project root. This parses all source files, builds the knowledge graph, writes it to `.gitnexus/`, and generates AGENTS.md / AGENTS.md context files.

| Flag | Effect |
| -------------- | ---------------------------------------------------------------- |
| `--force` | Force full re-index even if up to date |
| `--index-only` | Build graph without regenerating context files |
| `--embeddings` | Enable embedding generation for semantic search (off by default) |

**When to run:** First time in a project, after major code changes, or when `gitnexus://repo/{name}/context` reports the index is stale. In Codex, a PostToolUse hook runs `analyze` automatically after `git commit` and `git merge`, preserving embeddings if previously generated.

### status — Check index freshness

```bash
pnpm exec gitnexus status
```

Shows whether the current repo has a GitNexus index, when it was last updated, and symbol/relationship counts. Use this to check if re-indexing is needed.

### detect-changes — Impact analysis for git changes

```bash
# Map staged changes against execution flows (pre-commit check)
pnpm exec gitnexus detect-changes --scope staged

# Map full branch diff against target base branch (PR validation)
pnpm exec gitnexus detect-changes --scope compare --base-ref origin/development
```

| Flag | Effect |
| ----------------------- | --------------------------------------------------- |
| `--scope staged` | Analyze staged git changes (recommended pre-commit) |
| `--scope compare` | Compare current branch against `--base-ref` |
| `--base-ref <ref>` | Base reference branch or SHA to compare against |
| `--scope working` | Analyze unstaged working tree changes (default) |

### clean — Delete the index

```bash
pnpm exec gitnexus clean
```

Deletes the `.gitnexus/` directory and unregisters the repo from the global registry. Use before re-indexing if the index is corrupt or after removing GitNexus from a project.

| Flag | Effect |
| --------- | ------------------------------------------------- |
| `--force` | Skip confirmation prompt |
| `--all` | Clean all indexed repos, not just the current one |

### wiki — Generate documentation from the graph

```bash
pnpm exec gitnexus wiki
```

Generates repository documentation from the knowledge graph using an LLM. Requires an API key (saved to `~/.gitnexus/config.json` on first use).

| Flag | Effect |
| ------------------- | ----------------------------------------- |
| `--force` | Force full regeneration |
| `--model <model>` | LLM model (default: minimax/minimax-m2.5) |
| `--base-url <url>` | LLM API base URL |
| `--api-key <key>` | LLM API key |
| `--concurrency <n>` | Parallel LLM calls (default: 3) |
| `--gist` | Publish wiki as a public GitHub Gist |

### list — Show all indexed repos

```bash
pnpm exec gitnexus list
```

Lists all repositories registered in `~/.gitnexus/registry.json`. The MCP `list_repos` tool provides the same information.

## After Indexing

1. **Read `gitnexus://repo/{name}/context`** to verify the index loaded
2. Use the other GitNexus skills (`exploring`, `debugging`, `impact-analysis`, `refactoring`) for your task

## Troubleshooting

- **"Not inside a git repository"**: Run from a directory inside a git repo
- **Index is stale after re-analyzing**: Restart Codex to reload the MCP server
- **Embeddings slow**: Omit `--embeddings` (it's off by default) or set `OPENAI_API_KEY` for faster API-based embedding
89 changes: 89 additions & 0 deletions .agents/skills/gitnexus-debugging/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
name: gitnexus-debugging
description: "Use when debugging a bug, tracing an error, or investigating unexpected behavior in GenHub (e.g. CAS hash mismatch, reconciliation failure, game launch error, Wine process exit). Examples: \"Why is CasService failing to materialize files?\", \"Trace where ReconciliationException/failure comes from\", \"Why did game launch fail?\""
---

# Debugging with GitNexus

## When to Use

- "Why is `CasService.MaterializeFileAsync` failing?"
- "Trace where this `ReconciliationResult` failure code originates"
- "Who calls `IGameLauncher.LaunchAsync` and how are errors handled?"
- "Wine process exits immediately with code 1 during launch"
- Investigating profile reconciliation, CAS indexing, or platform runner failures

## Workflow

```
1. gitnexus_query({query: "<error or symptom>"}) → Find related execution flows
2. gitnexus_context({name: "<suspect>"}) → See callers/callees/processes
3. READ gitnexus://repo/{name}/process/{name} → Trace execution flow
4. gitnexus_cypher({query: "MATCH path..."}) → Custom traces if needed
```

> If "Index is stale" → run `pnpm exec gitnexus analyze` in terminal.

## Checklist

```
- [ ] Understand the symptom (error message, unexpected behavior, Result failure code)
- [ ] gitnexus_query for error text, domain constants, or related code
- [ ] Identify the suspect function or service from returned processes
- [ ] gitnexus_context to see callers and callees
- [ ] Trace execution flow via process resource if applicable
- [ ] gitnexus_cypher for custom call chain traces if needed
- [ ] Read source files to confirm root cause
```

## Debugging Patterns

| Symptom | GitNexus Approach |
| -------------------- | ---------------------------------------------------------- |
| Error message / Result code | `gitnexus_query` for error text / constant → `context` on failure sites |
| Wrong return value | `context` on the method → trace callees for data flow |
| Intermittent failure | `context` → look for external I/O, file locks, async dependencies |
| Performance issue | `context` → find symbols with many callers (hot paths like hashing) |
| Recent regression | `detect_changes` to see what your changes affect |

## Tools

**gitnexus_query** — find code and execution flows related to an error or symptom:

```
gitnexus_query({query: "CAS hash mismatch materialization"})
→ Processes: WorkspaceReconciliationFlow, CasPoolIngestion
→ Symbols: CasService, ContentReconciliationService, CasHashMismatch
```

**gitnexus_context** — full context for a suspect symbol:

```
gitnexus_context({name: "ReconcileAsync"})
→ Incoming calls: GameLauncher.LaunchAsync, ProfileEditorFacade.ApplyProfile
→ Outgoing calls: CasService.MaterializeFileAsync, ManifestVerificationService.Verify
→ Processes: ProfileLaunchFlow (step 2/5)
```

**gitnexus_cypher** — custom call chain traces:

```cypher
MATCH path = (a)-[:CodeRelation {type: 'CALLS'}*1..2]->(b:Method {name: "MaterializeFileAsync"})
RETURN [n IN nodes(path) | n.name] AS chain
```

## Example: "Game launch fails during profile workspace reconciliation"

```
1. gitnexus_query({query: "workspace reconciliation launch failure"})
→ Processes: GameLaunchFlow, ProfileReconciliation
→ Symbols: GameLauncher, ContentReconciliationService, CasService

2. gitnexus_context({name: "GameLauncher.LaunchAsync"})
→ Outgoing calls: ContentReconciliationService.ReconcileAsync, IGameProcessManager.StartAsync

3. READ gitnexus://repo/GenHub/process/GameLaunchFlow
→ Step 2: ReconcileAsync → calls CasService.MaterializeFileAsync

4. Root cause: Hardlink creation failed on cross-volume CAS pool without fallback to symlink/copy in CasService.
```
Loading
Loading