{"ref":"artifact:sap-project-kernseife","page":"/artifacts/sap-project-kernseife","json":"/artifacts/sap-project-kernseife.json","generated":"2026-10-27","drafted_with_ai":true,"entity":{"id":"sap-project-kernseife","name":"Project Kernseife","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","secondary_domains":["operations-and-runtime"],"origin_ring":"sap-official","use_as":"dependency","description":{"one_line":"A custom ABAP Test Cockpit check that scores how custom code uses SAP objects against a classification the customer writes, as a measure of clean core technical debt.","short":"Custom ATC check scoring SAP object usage against your classification","what_it_solves":"An ATC check installed into an ABAP system beside SAP's own, built as an enhanced version of the standard \"Usage of APIs\" check from SAP Note 3565942, with the classification it scores against supplied as JSON instead of fixed. The sources come in with [abapGit](artifact:abapgit-abapgit) as an offline repository, usually into a local package; the category `ZKNSF_CL_CI_CATEGORY` and the check `ZKNSF_CL_API_USAGE` are then selected in Code Inspector and the \"Kernseife: Usage of APIs\" check activated in a check variant. The classification JSON is uploaded into the system with report `ZKNSF_CLASSIFICATION_MANAGR`; a default file ships with the project, built from the [Cloudification Repository](artifact:sap-abap-atc-cr-cv-s4hc) as of 2025-05-21 and described by the maintainers as a starting point for an installation. With the \"Track Language Version\" option set on the check variant, a run also records each custom object's ABAP language version, which is what the level concept needs, and the results leave the system through CDS view `ZKNSF_I_EXPORT` as CSV. It raises and scores findings; deciding what to do with the objects it flags stays with the developer.","when_not_to_use":"It runs on an ABAP Test Cockpit on SAP S/4HANA 2023 or higher with SAP Notes 3565942, 3630552 and 3710789 implemented, so a system below that line or without those notes cannot carry it. The maintainers state they have no second S/4 system to test against older versions of the ATC note.","to_build_on_it":"The classification is the extension point: the wiki's Classification Guide describes the JSON format, and the project ships a default file to start from. It is Apache-2.0 and takes feature requests and bug reports through GitHub issues."},"links":{"repo":"https://github.com/SAP/project-kernseife","docs":"https://github.com/SAP/project-kernseife/wiki"},"maintainers":["actor:sap"],"provides":[{"capability":"capability:abap-static-analysis","what_it_does":"Adds a check of its own to Code Inspector and the ABAP Test Cockpit — the category `ZKNSF_CL_CI_CATEGORY` and the check `ZKNSF_CL_API_USAGE` — which is activated in a check variant and raises findings on the SAP objects custom code uses.","sources":[{"url":"https://github.com/sap/project-kernseife","title":"SAP/project-kernseife — README, About this project","checked":"2026-10-26","quote":"Project Kernseife is an open-source custom ABAP Test Cockpit (ATC) Check for ABAP systems that enables you to flexibly score the usage of SAP objects in your system, e.g. to score the technical debt regarding clean core based on a custom, adjustable classification."},{"url":"https://github.com/SAP/project-kernseife/wiki/ABAP-Installation-Guide","title":"SAP/project-kernseife Wiki — ABAP Installation Guide, Enable Kernseife Check Variant for ATC","checked":"2026-10-26","quote":"First you need to select the Category (ZKNSF_CL_CI_CATEGORY) and save. Afterwards you can select the Check (ZKNSF_CL_API_USAGE) and save."},{"url":"https://github.com/SAP/project-kernseife/wiki/ABAP-Installation-Guide","title":"SAP/project-kernseife Wiki — ABAP Installation Guide, Create Check Variant","checked":"2026-10-26","quote":"In every case you need to activate the \"Kernseife: Usage of APIs\" Check."}]},{"capability":"capability:abap-cloud-readiness","what_it_does":"Scores the usage of SAP objects against a classification uploaded into the system as JSON, so clean core technical debt is measured on the customer's own ratings, and records each custom object's ABAP language version so the run can report its level.","sources":[{"url":"https://github.com/sap/project-kernseife","title":"SAP/project-kernseife — README, About this project","checked":"2026-10-26","quote":"This check is an enhanced version of the \"Usage of APIs\" Check (see [SAP Note 3565942](https://me.sap.com/notes/3565942)), where you can introduce a custom classification in a JSON format."},{"url":"https://github.com/SAP/project-kernseife/wiki/Scoring-&-Development-Object-Guide","title":"SAP/project-kernseife Wiki — Scoring & Development Object Guide","checked":"2026-10-26","quote":"Kernseife supports the new Level Concept and can tell you the level for each Custom Code Object."},{"url":"https://github.com/SAP/project-kernseife/wiki/Scoring-&-Development-Object-Guide","title":"SAP/project-kernseife Wiki — Scoring & Development Object Guide","checked":"2026-10-26","quote":"As the ABAP Language Version is part of that concept (as only ABAP Cloud Objects are considered Level A), we need to extract that information from the system."}]}],"requires":[{"ref":"external:sap-s4hana","for":"The system the check runs in: an ABAP Test Cockpit on SAP S/4HANA 2023 or higher, with the three SAP Notes behind the standard check implemented.","requirement":"required","basis":"binding","role":"host-system","sources":[{"url":"https://github.com/SAP/project-kernseife/wiki/ABAP-Installation-Guide","title":"SAP/project-kernseife Wiki — ABAP Installation Guide, Prerequisits","checked":"2026-10-26","quote":"ABAP Test Cockpit (ATC) on a system with SAP S/4HANA 2023 (or higher) Note 3565942 implemented Note 3630552 implemented Note 3710789 implemented Kernseife Classification JSON File"}]},{"ref":"artifact:abapgit-abapgit","for":"The installation route the guide gives: the release zip is imported into an offline repository and pulled into the target package.","requirement":"required","basis":"binding","role":"installer","sources":[{"url":"https://github.com/SAP/project-kernseife/wiki/ABAP-Installation-Guide","title":"SAP/project-kernseife Wiki — ABAP Installation Guide, Import the Kernseife ATC Check into target system (using abapGit)","checked":"2026-10-26","quote":"Run the standalone version of abapGit using transaction: ZABAPGIT or executing the report (run transaction SE38) in: ZABAPGIT_STANDALONE"}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-26"},"drafted_with_ai":true,"contributors":["actor:ajinkyapatil8190","actor:andreasmuenster","actor:daniel-huser","actor:fabianleh","actor:kalti","actor:kalti-enbw","actor:likweitan","actor:lukasbretschneider","actor:markus1812","actor:mrkskpfr"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"13 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"good","evidence":"15 test files"},{"label":"Docs","tier":"good","evidence":"docs site, README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":96,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":96,"forks":23,"open_issues":28,"archived":false,"pushed_at":"2026-10-26","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-02-27T09:41:11Z","open_prs":16,"tree_truncated":false,"test_files":15,"workflows":1,"other_ci":false,"readme_bytes":3421,"docs_files":0,"changelog":false,"license_file":true,"dts_files":3,"first_commit":"2025-02-27","last_commit":"2026-10-26","commits":256,"contributors":13,"readme_path":"README.md","readme_sha":"b5f9b432c77449336f6ab96ee97b408587060819","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap","name":"SAP","json":"/actors/sap.json"}],"contributors":[{"ref":"actor:ajinkyapatil8190","name":"Ajinkya Patil","json":"/actors/ajinkyapatil8190.json"},{"ref":"actor:andreasmuenster","name":"andreasmuenster","json":"/actors/andreasmuenster.json"},{"ref":"actor:daniel-huser","name":"Daniel Huser","json":"/actors/daniel-huser.json"},{"ref":"actor:fabianleh","name":"Fabian Lehmann","json":"/actors/fabianleh.json"},{"ref":"actor:likweitan","name":"Lik Wei","json":"/actors/likweitan.json"},{"ref":"actor:lukasbretschneider","name":"Lukas Bretschneider","json":"/actors/lukasbretschneider.json"},{"ref":"actor:markus1812","name":"Markus","json":"/actors/markus1812.json"},{"ref":"actor:mrkskpfr","name":"Markus Kapfer","json":"/actors/mrkskpfr.json"},{"ref":"actor:kalti-enbw","name":"Thomas Kaltbeitzel","json":"/actors/kalti-enbw.json"},{"ref":"actor:kalti","name":"Thomas Kaltbeitzel","json":"/actors/kalti.json"}],"explained_by":[{"ref":"content:taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa","name":"Taking Control of Clean Core: When to Use Project Kernseife in addition to Standard SAP Tools","json":"/content/taking-control-of-clean-core-when-to-use-project-kernseife-in-addition-to-standa.json"}],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[{"ref":"artifact:sap-project-kernseife-btp-app","name":"Kernseife BTP App","json":"/artifacts/sap-project-kernseife-btp-app.json"}],"add_ons":[],"answered_through_parts":[]}}