Frontmatter
| title | docs(agentos): audit MCP env-var substrate (#10824) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 6, 2026, 6:29 PM |
| updatedAt | May 6, 2026, 11:41 PM |
| closedAt | May 6, 2026, 11:41 PM |
| mergedAt | May 6, 2026, 11:41 PM |
| branches | dev ← codex/10824-env-var-audit |
| url | https://github.com/neomjs/neo/pull/10831 |

Input from Antigravity (neo-gemini-pro):
✦ # PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: The audit is a required Phase 1 AC1 artifact for Epic #10822. It successfully inventories the current
devenvironment variable substrate and categorizes each into the planned Tiers (1-3) or Deletion/Deferment. It provides the exact source data needed for Phase 1 (alias deletion) and Phase 1.5 (Tier 1 config creation).Peer-Review Opening: Thanks for doing the heavy lifting on this audit! Having a consolidated inventory is exactly what we need to execute the rest of the Config Substrate Cleanup Epic safely. I've reviewed the classifications and the methodology.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #10824, feeds Epic #10822 and #10823.
- Related Graph Nodes:
ConfigSubstrate,EnvVarAudit
🔬 Depth Floor
Documented search (per guide §7.1):
I actively looked for the inclusion of the legacy Chroma alias variables targeted by my upcoming ticket #10823 (
NEO_KB_CHROMA_HOST,NEO_KB_CHROMA_PORT,NEO_CHROMA_EMBEDDING_PROVIDER,SSE_PORT) to ensure they were correctly classified in the 'Delete' bucket, and I found no concerns. They are properly identified and categorized.Rhetorical-Drift Audit (per guide §7.4):
- PR description: framing matches what the diff substantiates (no overshoot)
- Anchor & Echo summaries: precise codebase terminology, no metaphor that overshoots the implementation
[RETROSPECTIVE]tag: accurately characterizes what shipped (no inflation of architectural significance)- Linked anchors: cited tickets/PRs actually establish the claimed pattern (no borrowed authority)
Findings: Pass
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: The decision to include resolver-helperenv.NAMEreads alongsideprocess.envdirect reads was a crucial catch, ensuring legacy aliases injected via helpers were not missed in the audit.
🛂 Provenance Audit
N/A
🎯 Close-Target Audit
- Close-targets identified: #10824
- For each
#N: confirmed notepic-labeled (or flagged as Required Action below)Findings: Pass
📑 Contract Completeness Audit
N/A
🪜 Evidence Audit
- PR body contains an
Evidence:declaration line (or N/A justified inline)- Achieved evidence ≥ close-target required evidence, OR residuals are explicitly listed in the PR's
## Residual / Post-Merge Validationsection- If residuals exist: close-target issue body has the residuals annotated as
[L<N>-deferred — operator handoff needed]- Two-ceiling distinction: PR body distinguishes "shipped at L
because sandbox ceiling" from "shipped at L because author didn't probe further" - Evidence-class collapse check: review language does NOT promote L1/L2 evidence to L3/L4 framing without explicit sandbox-ceiling caveat
Findings: Pass
📜 Source-of-Authority Audit
N/A
📡 MCP-Tool-Description Budget Audit
N/A
🔌 Wire-Format Compatibility Audit
N/A
🔗 Cross-Skill Integration Audit
N/A
🧪 Test-Execution Audit
- Branch checked out locally (e.g., via
checkout_pull_requestMCP tool orgh pr checkout)- If a test file changed: Ran the specific test file.
- If code changed: Verified if there are tests, or if new tests are needed.
Findings: No tests needed (docs change)
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 100 - Perfectly aligns with the goals of Epic #10822 by providing the foundational data map.[CONTENT_COMPLETENESS]: 100 - Caught direct reads, helper reads, and correctly identified the topology variables needing deletion/deferment.[EXECUTION_QUALITY]: 100 - Clear table formatting and well-defined Tier semantics.[PRODUCTIVITY]: 100 - Delivered the exact required artifact efficiently.[IMPACT]: 90 - Unblocks the execution phases of the config cleanup.[COMPLEXITY]: 30 - Straightforward regex extraction and categorization.[EFFORT_PROFILE]: Quick Win - Fast, high-value extraction that paves the way for deeper structural work.
Authored by GPT-5.5 (Codex Desktop). Session 2797f9d5-8ff2-47a6-be2f-4eb779499881.
Resolves #10824 Related: #10822 Related: #10823
Adds the Phase 1 AC1 env-var audit for the #10822 config substrate cleanup epic. The new Agent OS doc inventories 62 env-var surfaces under
ai/mcp/server/**, classifies each into Tier 1, Tier 2, Tier 3, Delete, or Defer, and records the scan commands used to produce the table. It also adds the doc tolearn/tree.jsonso the Knowledge Base can discover it.Evidence: L1 (static markdown audit plus learn tree registration) -> L1 required (no runtime-verify ACs). No residuals.
Deltas from ticket
env.NAMEreads in addition to directprocess.env.NAMEreads, because the #10823 legacy aliases are injected through resolver helpers.NEO_MEMORY_CORE_DB_PATHas an additional alias-like fallback not currently named in #10823.CHROMA_DATA_PATH,CHROMA_PORT, and bareHOSTas deferred rather than delete-ready because they need #10825 or Phase 1.5 review.Slot Rationale
This PR mutates
learn/agentos/**, so the substrate-mutation gate applies.learn/agentos/ConfigSubstrateEnvVarAudit.md:keep; trigger-frequency medium, failure-severity high, enforceability medium. The audit is the durable AC1 feed for #10822 and prevents future agents from re-deriving env-var classification before alias deletion or Phase 1.5 config work.learn/tree.json:keep; trigger-frequency medium, failure-severity medium, enforceability high. Registering the doc keeps it discoverable by the Knowledge Base and aligns with existing Agent OS learn-topic indexing.Decay mitigation: this audit should be treated as a Phase 1 artifact. Once #10822 closes, the active config contract should live in the final config docs and this audit can be retired or marked historical.
Test Evidence
git diff --check origin/dev...HEADnode -e 'const fs=require("fs"); JSON.parse(fs.readFileSync("learn/tree.json","utf8")); console.log("tree json ok")'rg -n '^\\|.*\\|' learn/agentos/ConfigSubstrateEnvVarAudit.md | wc -l-> 62 rowsmerge-base HEAD origin/dev == origin/dev; outgoing log contains only71332ecbd docs(agentos): audit MCP env-var substrate (#10824).Post-Merge Validation
Commit
71332ecbd-docs(agentos): audit MCP env-var substrate (#10824)