Skip to content

Fix TrueForge UI port conflicts, Node 22 segfaults, and CRLF line endings - #17

Merged
ADITYA-tp01 merged 1 commit into
mainfrom
fix-setup-issues
Aug 29, 2026
Merged

Fix TrueForge UI port conflicts, Node 22 segfaults, and CRLF line endings#17
ADITYA-tp01 merged 1 commit into
mainfrom
fix-setup-issues

Conversation

@ADITYA-tp01

@ADITYA-tp01 ADITYA-tp01 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

User description

Automated PR to fix port conflicts and WSL execution issues.


CodeAnt-AI Description

Resolve TrueForge startup conflicts and align local setup with port 8790

What Changed

  • Moves the TrueForge UI and its dashboard connections from port 3000 to port 8790 to avoid local port conflicts
  • Starts TrueForge automatically from the Windows launcher instead of requiring a separate manual step
  • Uses a self-contained Node.js 22 installation in WSL, avoiding system-wide Node changes that could cause runtime crashes
  • Updates startup checks, environment values, CORS settings, setup instructions, and documentation to use the new port
  • Ensures the TrueForge package can be installed and started through npx when needed

Impact

✅ Fewer local port conflicts
✅ More reliable Windows and WSL startup
✅ Clearer setup instructions

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@codeant-ai

codeant-ai Bot commented Aug 29, 2026

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR cb40eb7 Aug 29, 2026 · 23:54 23:57

@codeant-ai

codeant-ai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@ADITYA-tp01
ADITYA-tp01 merged commit 239bfa1 into main Aug 29, 2026
1 check passed
@codeant-ai codeant-ai Bot added the size:M This PR changes 30-99 lines, ignoring generated files label Aug 29, 2026
@github-actions

Copy link
Copy Markdown

Failed to generate code suggestions for PR

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Stabilize TrueForge on port 8790 with local WSL Node 22

🐞 Bug fix 📝 Documentation ⚙️ Configuration changes 🕐 20-40 Minutes

Grey Divider

AI Description

• Moves TrueForge to port 8790 to avoid dashboard and runtime conflicts.
• Uses a local WSL Node 22 runtime to prevent launch instability.
• Aligns startup automation, CORS, dashboard defaults, and documentation with the new endpoint.
Diagram

graph TD
  Setup["Setup scripts"] -->|installs| Node["Local Node 22"] -->|powers| Launcher["WSL launcher"] -->|starts| TF["TrueForge :8790"] -->|connects| MCP["MCP server"]
  Dashboard["Dashboard"] -->|triggers| Webhook["Incident webhook"] -->|creates sessions| TF
  Dashboard -->|reads state| Infra["Demo REST API"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Repository-relative WSL launch
  • ➕ Works from any checkout and Windows user profile
  • ➕ Matches the portable path-resolution strategy already used by start-all.ps1
  • ➖ Requires careful PowerShell-to-WSL path conversion and quoting
2. Centralized TrueForge endpoint
  • ➕ Reduces duplicated port literals and configuration drift
  • ➕ Makes future port changes safer across runtime entry points
  • ➖ Documentation and cross-language scripts still need explicit propagation
  • ➖ Adds shared configuration-loading complexity for a small local stack

Recommendation: Keep the port migration and user-local Node 22 installation, which directly address the reported conflicts and WSL instability. Before relying on start.ps1 as a portable one-click entry point, resolve scripts/wsl/start-trueforge.sh from $PSScriptRoot and convert it with wslpath instead of launching from a developer-specific absolute path; endpoint centralization can follow separately.

Files changed (11) +55 / -59

Enhancement (1) +25 / -29
start.ps1Provision local WSL Node 22 and auto-start TrueForge +25/-29

Provision local WSL Node 22 and auto-start TrueForge

• Expands the startup flow to install Node.js 22.14.0 under the WSL user profile, install TrueForge with that runtime, configure dashboard URLs for port 8790, and launch the repository WSL script automatically.

start.ps1

Bug fix (4) +16 / -16
route.tsRoute incident sessions to TrueForge port 8790 +2/-2

Route incident sessions to TrueForge port 8790

• Changes the webhook's fallback TrueForge base URL and troubleshooting hint so incident session creation targets port 8790.

apps/dashboard/app/api/webhook/route.ts

setup.shAlign Unix setup with Node 22 and TrueForge port 8790 +5/-5

Align Unix setup with Node 22 and TrueForge port 8790

• Updates Node prerequisite guidance, injects port 8790 into dashboard startup, runs TrueForge non-interactively with npx, and reports the corrected UI URL.

scripts/setup.sh

start-all.ps1Migrate WSL orchestration and health checks to port 8790 +8/-8

Migrate WSL orchestration and health checks to port 8790

• Updates TrueForge startup checks, MCP registration calls, dashboard environment rewriting, and final status output to consistently use port 8790.

scripts/start-all.ps1

start-trueforge.shUse TrueForge's default port in the WSL launcher +1/-1

Use TrueForge's default port in the WSL launcher

• Removes the explicit port 3000 argument while preserving the local Node path, host binding, environment loading, and non-interactive npx launch.

scripts/wsl/start-trueforge.sh

Documentation (4) +11 / -11
README.mdDocument TrueForge on port 8790 +5/-5

Document TrueForge on port 8790

• Removes the leading BOM from the README heading and updates TrueForge setup, environment defaults, and CORS notes to use port 8790.

README.md

01-PUBLIC-REPOSITORY.mdUpdate public setup instructions and port table +2/-2

Update public setup instructions and port table

• Changes the documented TrueForge UI URL and service port inventory from 3000 to 8790.

Submissions List/01-PUBLIC-REPOSITORY.md

03-PROJECT-WRITEUP.mdCorrect TrueForge UI references in project write-up +2/-2

Correct TrueForge UI references in project write-up

• Updates the architecture narrative and TrueForge feature table to identify port 8790 as the agent UI endpoint.

Submissions List/03-PROJECT-WRITEUP.md

setup.ps1Report the corrected TrueForge UI endpoint +2/-2

Report the corrected TrueForge UI endpoint

• Updates Windows setup guidance and completion output to direct users to port 8790.

scripts/setup.ps1

Other (2) +3 / -3
agent-chat.tsxPoint embedded agent chat at port 8790 +1/-1

Point embedded agent chat at port 8790

• Updates the browser-side fallback URL used by the embedded TrueForge UI.

apps/dashboard/components/agent-chat.tsx

http_api.pyAllow TrueForge port 8790 in local CORS +2/-2

Allow TrueForge port 8790 in local CORS

• Replaces localhost and loopback port 3000 origins with port 8790 while retaining dashboard origins.

mcp-servers/demo-infra/http_api.py

Comment thread scripts/start-all.ps1
# value so stale lines are replaced, never duplicated.
foreach ($key in @("TRUEFORGE_URL", "NEXT_PUBLIC_TRUEFORGE_URL")) {
$newVal = "${key}=http://${wslIp}:3000"
$newVal = "${key}=http://${wslIp}:8790"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The new per-key value check does not make the subsequent ^${key}= match multiline. When either variable exists below the first line of .env.local, the script fails to detect it, appends a second assignment, and leaves duplicate values that different consumers may resolve differently. Use a multiline-aware match or inspect the split lines consistently before appending. [api mismatch]

Severity Level: Major ⚠️
- ⚠️ Dashboard environment file retains conflicting TrueForge URLs.
- ⚠️ Restarted dashboard configuration may resolve stale endpoint values.

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/start-all.ps1
**Line:** 130:130
**Comment:**
	*Api Mismatch: The new per-key value check does not make the subsequent `^${key}=` match multiline. When either variable exists below the first line of `.env.local`, the script fails to detect it, appends a second assignment, and leaves duplicate values that different consumers may resolve differently. Use a multiline-aware match or inspect the split lines consistently before appending.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (5) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Checkout path is hard-coded 🐞 Bug ≡ Correctness
Description
Step 7 always changes into one developer's /mnt/c/Users/adity/Documents/Mission Control checkout,
so every clone at a different username, drive, or directory fails the cd and never starts
TrueForge. This makes the advertised one-command startup unusable for a normal clean checkout.
Code

start.ps1[82]

+Start-Process powershell -ArgumentList "-NoExit", "-Command", "wsl -- bash -c 'cd `"/mnt/c/Users/adity/Documents/Mission Control/scripts/wsl`" && bash start-trueforge.sh'"
Relevance

●●● Strong

PR #5 accepted a directly matching finding about hard-coded developer-specific WSL paths.

PR-#5

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The changed command runs the WSL script only after changing into the hard-coded personal directory.
The shipped WSL script already derives the repository root from its own location, while
scripts/start-all.ps1 demonstrates dynamic checkout-to-WSL path conversion; accepted PR #5
identified the same portability failure pattern.

start.ps1[80-83]
scripts/wsl/start-trueforge.sh[9-14]
scripts/start-all.ps1[7-17]
PR-#5

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The TrueForge startup command hard-codes one developer's WSL checkout path, so other clones cannot start.

## Issue Context
Use `$PSScriptRoot` and convert the resulting Windows path with `wslpath`, as the repository's other launcher already does.

## Fix Focus Areas
- start.ps1[80-83]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Setup and launch differ 🐞 Bug ≡ Correctness
Description
Steps 5–6 install Node and TrueForge specifically into the Ubuntu WSL distro, but Step 7 launches
the default distro by omitting -d Ubuntu. When another distro is the default, startup runs where
the installed runtime and package do not exist and TrueForge fails to launch.
Code

start.ps1[82]

+Start-Process powershell -ArgumentList "-NoExit", "-Command", "wsl -- bash -c 'cd `"/mnt/c/Users/adity/Documents/Mission Control/scripts/wsl`" && bash start-trueforge.sh'"
Relevance

●● Moderate

The distro mismatch is plausible, but no close accepted or rejected precedent was found.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
All new Node and TrueForge setup commands explicitly pass wsl -d Ubuntu, whereas the changed
launch command uses only wsl -- bash; installations are distro-local, so these commands can
operate in different filesystems.

start.ps1[61-76]
start.ps1[80-83]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The installer targets Ubuntu but the launcher targets whichever WSL distro is default.

## Issue Context
Use the same explicit distro for installation, detection, path conversion, and startup, or consistently use the default distro for all steps.

## Fix Focus Areas
- start.ps1[61-82]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. ARM64 WSL downloads x64 🐞 Bug ☼ Reliability
Description
The Windows setup unconditionally downloads the linux-x64 Node archive, which cannot run in an
ARM64 WSL distribution. On Windows-on-ARM systems, the subsequent npm and TrueForge steps therefore
fail instead of installing the matching ARM64 build.
Code

start.ps1[R65-66]

+    Write-Host "  Installing Node.js 22 in WSL (~/.local/node)..."
+    wsl -d Ubuntu -- bash -c 'mkdir -p ~/.local/node && curl -fsSL https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.gz | tar -xz -C ~/.local/node --strip-components=1'
Relevance

●● Moderate

No close historical precedent found for architecture-specific WSL archive selection.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The added download URL is statically pinned to node-v22.14.0-linux-x64.tar.gz and performs no
architecture detection before extracting it as the WSL runtime.

start.ps1[65-67]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The local Node installer always installs an x64 binary, including in ARM64 WSL.

## Issue Context
Detect `uname -m` inside the selected distro and map supported architectures to the corresponding Node archive, failing clearly for unsupported values.

## Fix Focus Areas
- start.ps1[65-67]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

4. Node requirement is not enforced 🐞 Bug ≡ Correctness
Description
The shell prerequisite check now claims Node 22+ is required but still accepts any executable named
node, including Node 18 or 20. Those users proceed to npx @truefoundry/trueforge, although
TrueForge requires Node 22.14 or newer, causing setup to fail only after infrastructure and
dashboard work has already run.
Code

scripts/setup.sh[13]

+if command -v node >/dev/null 2>&1; then echo "  - Node: $(node --version)"; else echo "Error: node 22+ is required."; exit 1; fi
Relevance

● Weak

PR #5 explicitly rejected missing minimum-version enforcement in prerequisite checks.

PR-#5

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Line 13 checks only whether node exists; its changed error text does not validate the version.
TrueForge's quickstart explicitly requires Node.js 22.14 or newer.

scripts/setup.sh[11-16]
🌐 TrueForge's quickstart states that Node.js 22.14 or newer is required.

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The setup script reports a Node requirement without checking the installed version.

## Issue Context
Parse `node --version` and reject versions below 22.14 before performing setup work.

## Fix Focus Areas
- scripts/setup.sh[11-16]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


5. Older Node 22 accepted 🐞 Bug ≡ Correctness
Description
The Windows setup treats every version whose output contains v22 as valid, so an existing Node
22.0–22.13 installation skips the 22.14 download. TrueForge requires at least 22.14, leaving those
users with an unsupported runtime and a failed install or launch.
Code

start.ps1[R61-63]

+$localNode = wsl -d Ubuntu -- bash -c 'if [ -x ~/.local/node/bin/node ]; then ~/.local/node/bin/node -v; fi'
+if ($localNode -match "v22") {
+    Write-Host "  WSL Node.js 22 already installed locally"
Relevance

● Weak

PR #5 rejected the closely matching proposal to parse and enforce Node minimum versions.

PR-#5

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The new condition matches only the major-version substring v22, while the project's external
runtime requires Node 22.14 or newer.

start.ps1[61-67]
🌐 TrueForge's quickstart states that Node.js 22.14 or newer is required.

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The WSL Node check accepts unsupported early Node 22 releases.

## Issue Context
Parse the complete semantic version and install the pinned runtime whenever the existing version is below 22.14.

## Fix Focus Areas
- start.ps1[61-67]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Web pages:
  +2 more
Review mode: ⚖️ Balanced: This changes runtime URLs, CORS, shell/PowerShell startup logic, WSL Node installation, and TrueForge launch behavior across multiple paths, creating genuine integration and configuration risk beyond a clearly localized low-risk edit.

Grey Divider

Tip of the day
💡 Did you know, you can group findings by type and pick your Finding display, from Minimal to Full

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread start.ps1

# Step 7: Start TrueForge
Write-Host "[7/7] Starting TrueForge in WSL..." -ForegroundColor Yellow
Start-Process powershell -ArgumentList "-NoExit", "-Command", "wsl -- bash -c 'cd `"/mnt/c/Users/adity/Documents/Mission Control/scripts/wsl`" && bash start-trueforge.sh'"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Checkout path is hard-coded 🐞 Bug ≡ Correctness

Step 7 always changes into one developer's /mnt/c/Users/adity/Documents/Mission Control checkout,
so every clone at a different username, drive, or directory fails the cd and never starts
TrueForge. This makes the advertised one-command startup unusable for a normal clean checkout.
Agent Prompt
## Issue description
The TrueForge startup command hard-codes one developer's WSL checkout path, so other clones cannot start.

## Issue Context
Use `$PSScriptRoot` and convert the resulting Windows path with `wslpath`, as the repository's other launcher already does.

## Fix Focus Areas
- start.ps1[80-83]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread start.ps1

# Step 7: Start TrueForge
Write-Host "[7/7] Starting TrueForge in WSL..." -ForegroundColor Yellow
Start-Process powershell -ArgumentList "-NoExit", "-Command", "wsl -- bash -c 'cd `"/mnt/c/Users/adity/Documents/Mission Control/scripts/wsl`" && bash start-trueforge.sh'"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Setup and launch differ 🐞 Bug ≡ Correctness

Steps 5–6 install Node and TrueForge specifically into the Ubuntu WSL distro, but Step 7 launches
the default distro by omitting -d Ubuntu. When another distro is the default, startup runs where
the installed runtime and package do not exist and TrueForge fails to launch.
Agent Prompt
## Issue description
The installer targets Ubuntu but the launcher targets whichever WSL distro is default.

## Issue Context
Use the same explicit distro for installation, detection, path conversion, and startup, or consistently use the default distro for all steps.

## Fix Focus Areas
- start.ps1[61-82]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread start.ps1
Comment on lines +65 to +66
Write-Host " Installing Node.js 22 in WSL (~/.local/node)..."
wsl -d Ubuntu -- bash -c 'mkdir -p ~/.local/node && curl -fsSL https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.gz | tar -xz -C ~/.local/node --strip-components=1'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

5. Arm64 wsl downloads x64 🐞 Bug ☼ Reliability

The Windows setup unconditionally downloads the linux-x64 Node archive, which cannot run in an
ARM64 WSL distribution. On Windows-on-ARM systems, the subsequent npm and TrueForge steps therefore
fail instead of installing the matching ARM64 build.
Agent Prompt
## Issue description
The local Node installer always installs an x64 binary, including in ARM64 WSL.

## Issue Context
Detect `uname -m` inside the selected distro and map supported architectures to the corresponding Node archive, failing clearly for unsupported values.

## Fix Focus Areas
- start.ps1[65-67]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment thread scripts/setup.sh
echo "[1/6] Checking prerequisites..."
command -v docker >/dev/null 2>&1 || { echo "Error: docker is required. Install Docker Desktop."; exit 1; }
if command -v node >/dev/null 2>&1; then echo " - Node: $(node --version)"; else echo "Error: node 18+ is required."; exit 1; fi
if command -v node >/dev/null 2>&1; then echo " - Node: $(node --version)"; else echo "Error: node 22+ is required."; exit 1; fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The prerequisite check only tests whether node exists, despite requiring Node 22+ in its error message and installing a runtime that depends on that version. Node 20 or older passes this check and setup proceeds until a later build or TrueForge invocation fails. Parse node --version and reject versions below 22 at the prerequisite boundary. [incorrect condition logic]

Severity Level: Major ⚠️
- ⚠️ Unsupported Node versions pass prerequisite validation.
- ❌ TrueForge startup may fail after setup work completes.
- ⚠️ Users receive delayed runtime errors instead of actionable validation.

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/setup.sh
**Line:** 13:13
**Comment:**
	*Incorrect Condition Logic: The prerequisite check only tests whether `node` exists, despite requiring Node 22+ in its error message and installing a runtime that depends on that version. Node 20 or older passes this check and setup proceeds until a later build or TrueForge invocation fails. Parse `node --version` and reject versions below 22 at the prerequisite boundary.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

Comment thread scripts/setup.sh
if command -v npx >/dev/null 2>&1; then
echo " Starting TrueForge in background..."
nohup npx @truefoundry/trueforge >/tmp/missioncontrol-trueforge.log 2>&1 &
nohup npx -y @truefoundry/trueforge >/tmp/missioncontrol-trueforge.log 2>&1 &

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: This direct startup path does not source .env or export its variables before invoking TrueForge. The setup script creates .env and documents OPENAI_API_KEY there, but the child process inherits only the shell environment, so a key configured in .env is invisible to TrueForge and the command can appear to start while model authentication fails. Source .env or start the repository launcher that already loads it. [incomplete implementation]

Severity Level: Major ⚠️
- ❌ Linux/macOS setup loses configured TrueForge credentials.
- ⚠️ TrueForge starts but model requests fail authentication.
- ⚠️ Users must manually export credentials or configure them again.

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/setup.sh
**Line:** 75:75
**Comment:**
	*Incomplete Implementation: This direct startup path does not source `.env` or export its variables before invoking TrueForge. The setup script creates `.env` and documents `OPENAI_API_KEY` there, but the child process inherits only the shell environment, so a key configured in `.env` is invisible to TrueForge and the command can appear to start while model authentication fails. Source `.env` or start the repository launcher that already loads it.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

cd "$HOME"
export HOST=0.0.0.0
exec npx -y @truefoundry/trueforge --port 3000 No newline at end of file
exec npx -y @truefoundry/trueforge No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The WSL setup installs @truefoundry/trueforge globally, but npx -y resolves the package through the npm package resolver rather than explicitly invoking that installed global binary. Consequently, startup still requires registry access and may select a different version or fail offline even after the prerequisite installation succeeded. Invoke the installed package/binary directly or make the network-dependent installation an explicit prerequisite. [api mismatch]

Severity Level: Major ⚠️
- ❌ Offline WSL startup can fail despite successful installation.
- ❌ TrueForge remains unavailable on port 8790.
- ⚠️ Dashboard agent interactions cannot reach the runtime.

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** scripts/wsl/start-trueforge.sh
**Line:** 30:30
**Comment:**
	*Api Mismatch: The WSL setup installs `@truefoundry/trueforge` globally, but `npx -y` resolves the package through the npm package resolver rather than explicitly invoking that installed global binary. Consequently, startup still requires registry access and may select a different version or fail offline even after the prerequisite installation succeeded. Invoke the installed package/binary directly or make the network-dependent installation an explicit prerequisite.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

Comment thread start.ps1

# Step 7: Start TrueForge
Write-Host "[7/7] Starting TrueForge in WSL..." -ForegroundColor Yellow
Start-Process powershell -ArgumentList "-NoExit", "-Command", "wsl -- bash -c 'cd `"/mnt/c/Users/adity/Documents/Mission Control/scripts/wsl`" && bash start-trueforge.sh'"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: The launcher uses a checkout path belonging to one developer instead of deriving the repository location from $PSScriptRoot. On any other machine or clone location, WSL changes into a nonexistent directory and cannot find start-trueforge.sh, so TrueForge never starts. Resolve the Windows repository path dynamically and convert it to a WSL path. [api mismatch]

Severity Level: Critical 🚨
- ❌ TrueForge cannot start from ordinary clone locations.
- ❌ Windows one-click startup fails for other developers.
- ⚠️ Success output incorrectly reports TrueForge as starting.

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** start.ps1
**Line:** 82:82
**Comment:**
	*Api Mismatch: The launcher uses a checkout path belonging to one developer instead of deriving the repository location from `$PSScriptRoot`. On any other machine or clone location, WSL changes into a nonexistent directory and cannot find `start-trueforge.sh`, so TrueForge never starts. Resolve the Windows repository path dynamically and convert it to a WSL path.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@codeant-ai

codeant-ai Bot commented Aug 29, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

1 code suggestion

1. Failure responses disclose the internal TrueForge endpoint to unauthenticated webhook callers.

Security · apps/dashboard/app/api/webhook/route.ts:66

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant