GitNexus 1.6.10-electric.9
1.6.10-electric.9 restores resilient, fail-closed MCP repository policy handling. One malformed allowlist entry can no longer make every otherwise valid repository unavailable.
Fixed
- Valid allowlist entries remain usable when another entry is invalid or ambiguous.
- Rejected entries grant no access and are reported to agents and operators only through sanitized environment-key, entry-position, and failure-class coordinates.
- Absolute paths with equivalent filesystem capitalization or a startup-resolvable alias map to the registered repository.
- Runtime repository selection uses a precomputed alias map and performs no synchronous
realpathorstatcalls. gitnexus doctor --mcp-configexits nonzero for degraded as well as fully blocked policy, including JSON mode.
Safety Boundary
- A configured allowlist that resolves zero repositories remains fully blocked.
- An invalid, ambiguous, or outside-allowlist default remains fully blocked.
- Rejected entries never become available through names, paths, resources, or group routing.
- GitNexus never silently ignores policy failure by falling back to unrestricted access.
- Diagnostics never reveal configured repository values or registry candidates.
Known Boundary
- Equivalent absolute-path spelling is resolved against the local registered filesystem object at MCP startup. This release does not introduce a registry migration or an external policy database.
- Existing MCP processes retain the policy snapshot they initialized with; new configuration takes effect on a fresh process.
- Distribution is GitHub-only. Public npm dist-tags and container registries remain unchanged.
Release Verification
- Included PR: #183. Tracking: #182.
- Package, lockfile, Claude/Codex plugin manifests, both marketplace manifests, changelog, and this release note agree on
1.6.10-electric.9. - Exact-head CI must pass on Linux, macOS, and Windows, including MCP policy unit/CLI coverage and packaged-install smoke.
- Installed proof requires Codex, Claude Code, and Hermes to resolve the same
.9wrapper, with fresh NeonDiff and Hive MCP queries succeeding. .8remains available for rollback.