Skip to content

fix: bound temporary subroutine pools - #32

Merged
marianfoo merged 6 commits into
masterfrom
codex/base-run-003
Aug 7, 2026
Merged

marianfoo merged 6 commits into
masterfrom
codex/base-run-003

Conversation

@marianfoo

Copy link
Copy Markdown
Owner

Summary

  • cap ZTOAD-owned temporary subroutine pools at 30, reserving six of SAP's 36 internal-session slots
  • charge the budget only after successful real generation and avoid allocation before cancelled DML
  • add harmless logical stress/accounting tests and document the official SAP lifecycle contract
  • add stable ATC finding-signature comparison guidance to the development workflow

Root cause

SAP permits at most 36 temporary subroutine pools in one internal session, and generated pools cannot be explicitly deleted. ZTOAD's original guard had been raised from 36 to 1000, while admission and accounting lived outside the two generation sinks. DML also generated a pool before the confirmation decision.

TDD and validation

  • Red evidence: exact pre-fix candidate on SAP_BASIS 750 ran 110 tests: 109 passed and the new boundary regression failed
  • Local: npm ci, npm test, git diff --check, repository contracts, pinned abaplint, and server-side dry syntax passed
  • NPL / SAP_BASIS 750: activation and active syntax passed; 113/113 ABAP Unit tests passed; active/inactive source matched; no inactive ZTOAD child parts; DEFAULT ATC remained 85 findings
  • A4H / S/4HANA 2023: activation and active syntax passed with the seven known POSIX warnings; 113/113 ABAP Unit tests passed; active/inactive source matched; no inactive child parts; ABAP_CLOUD_READINESS remained 709 findings
  • Browser smoke: fresh WebGUI session executed a read-only query and returned one row; the full ST22 set remained at 65 with no newer dump
  • Restoration: both shared systems were explicitly restored to merged master and verified at 109/109 ABAP Unit tests
  • Known gate limitation: S/4HANA readiness returned no displayed findings, but prerequisite completeness could not be proven, so it is recorded as incomplete rather than passed

Frozen source candidate: 4b37b69605e88129b0cf7825b27886a8e6fa62c0

Closes BASE-RUN-003.

@marianfoo
marianfoo marked this pull request as ready for review August 7, 2026 15:47
@marianfoo
marianfoo merged commit ef54657 into master Aug 7, 2026
3 checks passed
@marianfoo
marianfoo deleted the codex/base-run-003 branch August 7, 2026 15:47
This was referenced Aug 7, 2026
marianfoo pushed a commit that referenced this pull request Aug 7, 2026
🤖 I have created a release *beep* *boop*
---


## [5.0.1](5.0.0...5.0.1)
(2026-08-07)


### Bug Fixes

* bound temporary subroutine pools
([#32](#32))
([ef54657](ef54657))
* classify ZTOAD table as not extensible
([#26](#26))
([e5ae759](e5ae759))
* enforce bounded SELECT results
([#33](#33))
([b6acc14](b6acc14))
* execute queries safely in WebGUI
([#24](#24))
([5218476](5218476))
* execute UNION as one SQL set
([a5ad27c](a5ad27c))
* generate aggregate CASE result types
([#21](#21))
([d532b2e](d532b2e))
* isolate generated query failures
([#31](#31))
([b0b4d9f](b0b4d9f))
* parse top-level SQL clauses
([#28](#28))
([c5ca65b](c5ca65b))
* support ABAP SQL string functions
([#27](#27))
([0f056e8](0f056e8))
* verify complete native-abapGit installation
([#22](#22))
([2360fe4](2360fe4))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.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