Skip to content

fix: recognize quoted Codex MCP table headers - #122

Closed
dayebishouji wants to merge 1 commit into
aoci-spec:mainfrom
dayebishouji:fix/codex-quoted-mcp-table
Closed

dayebishouji wants to merge 1 commit into
aoci-spec:mainfrom
dayebishouji:fix/codex-quoted-mcp-table

Conversation

@dayebishouji

Copy link
Copy Markdown
Contributor

What changes and why

A valid Codex config using [mcp_servers."aoci"] was reported as uninstalled. Running the installer then appended [mcp_servers.aoci], creating a duplicate TOML table. Recognize the direct bare, basic-quoted, and literal-quoted spellings of this table header in the shared installer/status predicate, including optional whitespace and trailing comments. An existing config is now left byte-for-byte unchanged.

Affected public contracts

  • No public contract change
  • MCP tool names, input schemas, or response shapes
  • CLI commands, flags, exit codes, or --json shapes
  • spec/public/ or machine vocabulary
  • Index format, Baseline format, receipt, or transaction identity derivation

Compatibility: existing unquoted configs behave as before. The generated Baseline fingerprints and Code Volume entry are updated for this change.

Verification

  • make fast passed
  • make full (covered through make verify; see environment notes)
  • python3 scripts/blackbox/mcp_conformance.py passed (53/53)
  • python3 scripts/blackbox/mcp_scenarios.py passed (75/75)
  • python3 scripts/blackbox/mcp_lifecycle.py passed in split runs: Linux non-database cases (71 pass) and Windows Docker database cases (19 pass)
  • Other: focused internal/hooks tests, AOCI Verify/Check/Guide, staticcheck, vulnerability scan, race tests, clean-room smoke, and axis-self (80/80) passed.

make verify was run in WSL. Its aggregate exit was nonzero because staticcheck and govulncheck could not find go on the WSL PATH, and the lifecycle database case could not reach Docker there. After adding Go to PATH, both checks passed; the database case passed separately against Windows Docker.

Operating system impact

The same TOML detection runs on Linux, macOS, and Windows. The regression test uses platform-independent config text.

Migration and recovery

No persisted format change or migration is needed.

Cognition

  • Managed objects changed; AOCI maintain → update_entry → Verify/Check/Guide completed, with the Code Volume and Baseline in this commit.
  • No managed object changed

alkor2000 pushed a commit that referenced this pull request Oct 14, 2026
A valid Codex config declaring [mcp_servers."aoci"] or
[mcp_servers.'aoci'] was reported as not installed, and the installer
then appended a bare [mcp_servers.aoci], leaving a duplicate TOML table.
The shared installer and status predicate now matches the complete
table header in its bare, basic-quoted, and literal-quoted spellings,
with optional whitespace and a trailing comment, so an existing config
is left byte-for-byte unchanged. A commented header still does not
count as installed.

Landed from PR #122 by dayebishouji with its governance files dropped;
the maintainer regenerates the Baseline and cognition Entries in the
closing commit of this batch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@alkor2000

Copy link
Copy Markdown
Contributor

Landed on main as 0ff0414 under your authorship, with the two governance files dropped and regenerated in the closing commit of this batch, the same way #119 went in. Nothing in the code part changed. Ships in rc21.

One note for next time: you can leave .aoci/baseline.json and aoci.code.txt out of a PR entirely. The Baseline is bound to this repository's state at the moment of landing, so a copy made on your checkout always has to be redone here anyway.

Release: https://github.com/aoci-spec/aoci-code/releases/tag/v0.1.0-rc21

@alkor2000 alkor2000 closed this Oct 14, 2026
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.

2 participants