Skip to content

fix(deps): reject malformed TOML exponents in 0.5.1 - #164

Merged
abruption merged 2 commits into
mainfrom
fix/051-toml-config
Oct 27, 2026
Merged

abruption merged 2 commits into
mainfrom
fix/051-toml-config

Conversation

@abruption

@abruption abruption commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Change

smol-toml@1.9.0 accepts malformed exponents such as numeric_setting = 3e++20 as a number. Configuration inspection could therefore report the default Codex storage layout instead of treating that configuration as unreadable. Pin the upstream 1.9.1 fix: doctor now reports unknown / codex_config_unreadable, and dry-run/send refuse before the fixture queue is executed.

Closes #163. Prepare package/banner/current examples for 0.5.1, carrying forward exactly the four skill profiles accepted by 0.5.0. Preserve historical rows, immutable skill pins and exact-version SSH. Unrelated runtime, native bindings, development/transitive dependencies and unsupported platform/ACK cells are unchanged. Open experimental/reporter PRs and the deferred #155 harness are not included.

This is a reproduced parser correctness fix. No published CVE or actual storage-relocation bypass is claimed. The current advisory audit reports zero vulnerabilities; upgrading unrelated packages solely because a newer version exists is outside this hotfix.

Upstream: https://github.com/squirrelchat/smol-toml/releases/tag/v1.9.1

Validation

  • Two new regressions fail with 1.9.0 and pass with 1.9.1. Cover root/nested malformed numbers, valid single-sign exponent controls, explicit relocated-storage refusal and no queue invocation after invalid config.
  • Compiled skill/profile and release fixtures: 30/30 pass. Existing full-suite execution exposed stale current-version/next-version fixtures; those are aligned to 0.5.1/0.5.2 with historical release baselines retained. The final update suite passes 16/16; current-head full matrix is pending below.
  • Build, TypeScript checks, repository metadata/links, diff checks and actual package smoke pass. The archive keeps its existing 77-member allowlist; package smoke now expects the new exact TOML pin.
  • Fresh npm audit: zero vulnerabilities. npm audit signatures: six packages verified, two provenance attestations verified. No live-agent/model/remote-host/global-install experiments.
  • Separate read-only subagents audited open-PR findings and dependency evidence, authored regressions and reviewed finite rows/release baseline. Codex integrated changes and reran checks; no external model review is claimed.

Release gates

Preparation baseline before staging: latest=0.5.0, preview=0.1.0-preview.1; 0.5.1 absent. Release source must be the exact reviewed merged main with successful CI. Authenticated owner lookup and no pending npm stages were confirmed. Fresh authenticated Trusted Publisher lookup confirms this repository, publish.yml, environment npm, and only createStagedPackage. The user explicitly skipped this 0.5.1 browser-only publish-MFA policy lookup, so that setting is not freshly audited; no historical exception is reused. GitHub npm environment remains reviewer-protected and main-only. Exact-source approval, protected-environment approval and final npm stage2FA were subsequently completed. Publication is verified below.

Current-head CI/review

Final head 4004290462195acbc3cd7cf0de133f0e60190f59: all 12 checks pass in CLI run 40429016178, plus CodeQL/GitGuardian. An obsolete initial-head run was canceled after the documentation-only follow-up; its partial results are not the final gate.

Automatic Code Review and Security Review completed without findings on 62ef9ba9ba7103e62843f9f4f72606ebae3da2bf. The final commit changes only nine RELEASING.md lines recording the fresh settings checks/user exception; executable code, dependency lock and tests are byte-identical to that automatically reviewed source. A separate read-only subagent reviewed the complete final 4004290 source/fixture/docs delta and found no remaining mandatory item. No automatic current-head review is claimed for 4004290, and no manual mention was posted.

The exact final archive reproduces with publishing npm11.15.0 and local npm11.19.1: SHA-256 09ad128c3ced31fa263008abd8683f6b60d7593183b36b72b334c1463192221c; all 18 packaged Markdown files match source. A fresh archive install passed five malformed/valid/configured storage predicates with parser1.9.1 and was removed. This is candidate evidence; merged source and Actions bytes are checked separately before publication.

Merged-source preparation and publication

Merged as 90481b148584926ea328ed956327f3050d9be9cb; its Git tree equals reviewed 4004290. Exact-main CLI 40429686245 and CodeQL 40429686223 completed successfully. Merged-source npm11.15.0 reproducible archive matches the reviewed SHA-256 above, with isolated installation/removal and unchanged 77-member selection. The approved source was staged once in run40430300541 and publicly published after the separate human gates.

Public 0.5.1 — 2026-10-27 KST

npm0.5.1 and GitHubv0.5.1 are public from 90481b148584926ea328ed956327f3050d9be9cb. Annotated tag object 385a06804faf9a351f3852bc8809e8583f251051 peels to that source. Reviewed/Actions/staged/public tarballs match SHA-256 09ad128c3ced31fa263008abd8683f6b60d7593183b36b72b334c1463192221c; latest=0.5.1 and preview=0.1.0-preview.1 is preserved. Pinned npm11.15.0 signature/provenance audit, fresh public install/version/empty discovery/removal and SLSA source/run/subject linkage passed. Stage 498574f9-5ea9-442c-b609-2ffec44867e5 is no longer pending; no second upload or fleet/global installation occurred. The browser package-MFA settings lookup exception remains explicit.

Closes #163. Pin smol-toml1.9.1, keep malformed configuration uncertain before submission, and preserve the finite skill profile and exact-version SSH contracts.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T00:50:45.165937Z 62ef9ba PR opened
🔒 Security Review ✅ Completed 2026-10-27T00:52:54.947998Z 62ef9ba PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@abruption
abruption merged commit 90481b1 into main Oct 27, 2026
12 checks passed
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.

fix(deps): reject malformed exponent signs in Codex configuration

1 participant