Repository navigation
Load startup credentials without Bash - #280
Merged
Eli Pinkerton (wallstop) merged 1 commit intoOct 18, 2026
Merged
Eli Pinkerton (wallstop) merged 1 commit into
Eli Pinkerton (wallstop) merged 1 commit into
Conversation
Python startup and service checks still spawned Bash to parse environment files, while backend launchers duplicated the parser. Share one typed loader across those callers. Keep the sourced shell loader for parent-shell exports and retain process signalling behavior. Preserve literal values, BOM/CRLF, export prefixes, quotes, duplicate-key ordering, and credential-only file precedence. Shell-equivalence and direct cases pass, including loading with Bash absent and unreadable file evidence that cannot recycle a service. Strict pyright, nine selected fast-check suites, and the scoped 11-step gate pass. The packaged payload and Unity source are unchanged from main, validated earlier in this goal session. Nine interleaved local environment-loading samples measured median 7.509 ms through Bash and 0.201 ms through Python. This is a focused loading-step measurement, not an end-to-end startup or CI claim. Refs #171.
Eli Pinkerton (wallstop)
force-pushed
the
refactor/python-env-loading
branch
from
October 18, 2026 03:15
e01151b to
9f2229d
Compare
Eli Pinkerton (wallstop)
changed the base branch from
main
to
refactor/python-mcp-doctor
October 18, 2026 03:15
Eli Pinkerton (wallstop)
added this pull request to stack #282
October 18, 2026 03:15
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DISCLOSURE: LLM-GENERATED TEXT
Why: Python startup tools spawn Bash to read credentials, while launchers duplicate parsing.
What:
Refs #171.
Note
Medium Risk
Changes how devcontainer startup and OpenCode recycling load secrets and replaces the MCP connectivity doctor; mistakes could leave stale credentials or mis-report MCP health, though contract tests cover precedence and repair behavior.
Overview
Introduces
.devcontainer/env_local.pyas the single typed.env.localparser for Python tooling, replacing duplicated inline parsing and Bash subprocess loaders inai_backends.py,post_start.py, andrecycle_stale_opencode_service.py. Startup and service recycling now merge credentials in-process while preserving literal values, BOM/CRLF handling, and file precedence for managed MCP credential names; interactive shells still sourceenv-local.sh, with parity enforced intest_env_local_precedence.py.scripts/mcp_doctor.pyreplaces the large Node implementation;npm run mcp:doctor/mcp:repaircall it directly and.llm/mcp/mcp-doctor.mjsremains a thinuvwrapper for legacy entry points. Shared HTTP helpers stop forwarding Authorization on redirects.Alongside issue #171, the diff repoints install, docs, and package metadata from wallstop/DataVisualizer to Ambiguous-Interactive/DxVisualizer (including npm trusted-publisher notes and release identity tests).
Reviewed by Cursor Bugbot for commit 9f2229d. Bugbot is set up for automated code reviews on this repo. Configure here.