Skip to content

release: prepare minimal SkillSpector 2.13.1 parser patch - #878

Draft
mohgupta-ship-it wants to merge 8 commits into
yashraj/v2.13.0-basefrom
codex/release-2.13.1-minimal
Draft

mohgupta-ship-it wants to merge 8 commits into
yashraj/v2.13.0-basefrom
codex/release-2.13.1-minimal

Conversation

@mohgupta-ship-it

@mohgupta-ship-it mohgupta-ship-it commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

From Codex, preparing this maintenance patch on Mohit’s behalf.

Prepare SkillSpector 2.13.1 from published v2.13.0 (091a509b3d6ba8ff5be528966e1f43c2e68cf214) through yashraj/v2.13.0-base.

Ordinary report strings, quoted Python/Perl text and possessive Markdown prose can exhaust shell-parser fallback and produce false incomplete-inspection results. This patch backports the bounded host-language prerequisites from #778 and #784 with the parser correction from #849. It retains conservative incomplete inspection when report-shaped values reach recognized shell execution or ambiguous bundled helpers. Deep valid Python expressions retain that fallback when optional AST processing exceeds its recursion limit, instead of failing the analyzer.

This is the separate minimal patch selected for the reported completeness issue. #852 remains the broader alternative and retains its additional #452, #790, #797 and #798 backports. Those additions are not included here. The third-party dependency lock, provider/model policy, TypeScript safeguards, atomic finding-baseline safeguards and publishing workflow remain those of v2.13.0. Release metadata is 2.13.1, and source distributions exclude the release build cache.

Validation is bound to the unchanged source commit c18d97262f1503efb2c57632054a607298b56e24; existing matching evidence is reused:

  • Ruff lint/format, locked wheel and source-distribution build, and package/source checks passed. Wheel SHA-256: 188dd49c3194c892372b8fa0500ca185013d2d6e490e7f349d2d48320808e85a.
  • Installed-wheel qualification fully inspected all 104 existing in-scope files in the reported case and passed the approved downstream consumer. Existing findings and suppressions were preserved. All 15 paired threat/limit controls and three optional-AST recursion controls passed.
  • Four missing-reference advisories remain unchanged, so aggregate status remains partial and strict CLI exit remains 1 despite complete inspection of the existing files. The fix closes the remaining parser completeness blocker in the reported skill; it does not claim an aggregate clean scan.
  • Full local coverage suite passed: 11,132 passed, 14 skipped, four expected failures and 137 deselected; 90% combined coverage. All nine binary-structure cases passed their unchanged timing assertions.
  • Required hosted unit CI failed and blocks release readiness: six existing PDF/GIF cases exceeded the unchanged 10-second graph-time assertion (10.309–11.786 seconds). The suite recorded 11,120 passed, 20 skipped, four expected failures and 137 deselected, with 90% combined coverage; its five other checks passed. The timing assertion precedes those cases’ security/completeness assertions, so those later checks were not reached in this run. Earlier maintenance runs also recorded failures in these timing cases. Their cause remains under investigation; no unchanged retry or threshold relaxation is proposed.
  • The separate fixed-order timing diagnostic passed all 24 original PDF/GIF cases across public/candidate/candidate/public blocks on one hosted machine, with identical canonical security outputs and dependency fingerprints. No assertion was relaxed and no block was retried or discarded. The maximum candidate graph time was 9.947 seconds against the unchanged 10-second limit. This bounded result does not explain the full-suite failures or replace the failed required run.

This PR remains a draft while the required full-suite timing failures are investigated and resolved. Merging to yashraj/v2.13.0-base with release:publish already present triggers the existing GitHub v2.13.1 release with wheel and source-distribution assets. Without that label, merging does not publish a release. The workflow does not publish to PyPI. No publication label is requested here.

From Codex: backport upstream #778, commit 025c65e. Preserve the selected 2.13 release detector imports while adding the required host-language ownership helpers and regression tests.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex: backport upstream #784, commit 3a1ceee. Preserve 2.13 projected-output accounting and detector imports; omit unrelated upstream fallback-verb exclusions from conflict context.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex: backport upstream #849, commit e28e1ba, on the minimal #778 and #784 ownership prerequisites. Retain the selected public 2.13 dependency and detector scope.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex. Scope the backported marker tests to the selected 2.13 release: retain semicolon marker controls and the existing invalid-Python syntax-error ledger. The unselected section-sign marker hardening is not claimed by this patch.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex. Retain the existing operand fallback around recognized execution and reflection. Follow bounded in-memory bundled helpers and import initialization before isolating a report string value; unsupported local evidence stays conservative. Preserve output-only helpers and default non-shell calls without lowering findings or incomplete-scan severity.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex. Prepare the selected 2.13 maintenance release, keeping third-party lock entries, provider defaults and the publication workflow unchanged. Exclude the release uv cache from source distributions and exercise the actual sdist backend. This commit does not tag or publish a release.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex. A valid small bundled Python module can exceed the optional AST unparser recursion limit. Preserve conservative shell inspection instead of failing analysis, with a portable synthetic regression that verifies caller partial inspection and completed helper analysis. Clarify the existing maintenance release publication trigger.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
From Codex. Retain conservative shell fallback when the optional import proof encounters recursion exhaustion while filling initialization stub locations or reparsing a validated helper. Cover deep module expressions, default arguments and return annotations without catching runtime deadline exceptions.

Signed-off-by: Mohit Gupta <mohgupta@nvidia.com>
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.

1 participant