Skip to content

fix(eval-server): require auth for remote binds#75

Open
100yenadmin wants to merge 1 commit into
reconcile/r12-mcp-output-budgetsfrom
reconcile/r13-secure-eval-server
Open

fix(eval-server): require auth for remote binds#75
100yenadmin wants to merge 1 commit into
reconcile/r12-mcp-output-budgetsfrom
reconcile/r13-secure-eval-server

Conversation

@100yenadmin

Copy link
Copy Markdown
Member

Capability

Implements R13 by securing the standalone gitnexus eval-server HTTP surface.

  • Retains GITNEXUS_AUTH_TOKEN.
  • Allows tokenless startup only on IPv4/IPv6 loopback.
  • Refuses non-loopback startup without a token before database initialization or socket binding.
  • Applies exact Bearer authentication to health, tool, and shutdown routes.
  • Uses constant-time comparison and generic 401 responses with WWW-Authenticate: Bearer.
  • Keeps token material out of logs, diagnostics, banners, and response bodies.
  • Updates localized CLI help and runtime examples to match the enforced policy.

This replaces, rather than cherry-picks, legacy fork commit 8a38fe83; the old patch did not fail closed on remote binds and had no tests.

Evidence

  • Red phase retained: 12 of 13 new contract tests failed before implementation.
  • Focused unit/help tests: 75 passed.
  • Real subprocess bind/auth tests: 5 passed.
  • TypeScript: passed.
  • Targeted ESLint: zero errors; existing warnings only.
  • Full package build: passed.
  • Prettier and diff checks: passed.
  • Detailed evidence: /Volumes/LEXAR/Codex/session-notes/2026-07-13/gitnexus-fork-upstream-reconciliation/r13-secure-eval-server.md.

Stack And Gate

  • Base: reconcile/r12-mcp-output-budgets.
  • Head: 694526a591f899ad5c457f12450f4cb706a4ab8c.
  • This PR must wait for R12, then be retargeted to the integration branch and revalidated at current head.
  • Publication, runtime rollout, live-index mutation, and default-branch promotion are outside this PR.

Closes #52 after merge.
Parent epic: #39.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 13, 2026

Copy link
Copy Markdown

evaOS review status: completed

PR: #75 - fix(eval-server): require auth for remote binds
Head: 694526a591f899ad5c457f12450f4cb706a4ab8c
Updated: 2026-07-13T13:17:47.790Z

evaOS review completed for this PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #75

Review URL: #75 (review)

@github-actions

Copy link
Copy Markdown

CI Report

All checks passed

Pipeline Status

Stage Status Details
✅ Typecheck success tsc --noEmit
✅ Tests success unit tests, 3 platforms
✅ E2E success gitnexus-web changes only

Test Results

Tests Passed Failed Skipped Duration
14592 14530 0 62 21s

✅ All 14530 tests passed

62 test(s) skipped — expand for details

Code Coverage

Tests

Metric Coverage Covered Base Delta Status
Statements 80.73% 54090/67001 N/A% 🟢 ████████████████░░░░
Branches 67.77% 33092/48824 N/A% 🟢 █████████████░░░░░░░
Functions 86.8% 6238/7186 N/A% 🟢 █████████████████░░░
Lines 84.25% 48252/57272 N/A% 🟢 ████████████████░░░░

📋 View full run · Generated by CI

@evaos-code-review-bot evaos-code-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Walkthrough

PR: #75 - fix(eval-server): require auth for remote binds
Head: 694526a591f899ad5c457f12450f4cb706a4ab8c into reconcile/r12-mcp-output-budgets. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

Estimated review effort: 1/5 (~10 min)

Changed Files

File Status Churn Purpose Risk

Review Signal

No validated inline findings.
Dropped findings before posting: 0. High-severity findings: 0.

Risk Taxonomy

No finding categories.

Validation and Proof

1 required validation/proof recommendation(s) selected from changed files.

  • required: TypeScript/web build or CI proof - Runtime TypeScript/web files or package/config files changed. Proof: npm run build; typecheck; focused Vitest; green GitHub check.
    Proof status: sufficient - PR metadata mentions acceptable proof for each required validation recommendation.
    Profile validation hints: Call out stale index, wrong repo identity, memory growth, and destructive analyze behavior.
    Profile proof expectations: Look for focused CLI, index, query, or migration proof.

Related Context

Related issues/PRs: #52, #39.
Suggested labels: none.
Suggested reviewers: none from current metadata.

Review Settings Preview

  • Profile: assertive
  • Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
  • Path instructions: none
  • Label suggestions: gitnexus, code-intelligence, backend
  • Reviewer suggestions: none
  • Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
  • Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks

Pre-merge checklist

  • Inline comments target current RIGHT-side diff lines.
  • No secret-like content survived into posted inline comments.
  • REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
  • Required behavior proof is present or not applicable.
  • Labels and reviewers are suggestions only; the bot did not auto-apply them.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant