cncf / cncf/mentoring

[CNCF LFX Proposal] Kyverno: Policy Decision Log

Open
#1,980 15 comments 0 reactions 0 assignees View on GitHub
2026 CNCF Approved Exported lfx mentorship Maintainer/Contribex Approved Mentors Confirmed Proposal Term 3: Sept-Nov Validation Passed
Dominant language
JavaScript
Stars
3.1k
Forks
816
Avg merge
12h 32m
Merged PRs (30d)
8

Description

### CNCF Project

Kyverno

### Term

2026 Term 3 (Sep-Nov)

### Program Name

Policy Decision Log

### Program Description

## Description

Kyverno's CEL engine runs a whole pipeline on the way to an admit or deny (scope filtering, match conditions, variables, validation expressions, autogen rule expansion, mutation, exception handling) and discards the per-expression detail the moment it has a final answer. When a CEL policy does something surprising (matches a resource you didn't expect, skips one you did, denies with a message that doesn't say which clause fired, or fails with a bare "no such key"), there is no supported way to see which sub-expression produced which value.

## Expected Outcomes

This feature proposes an opt-in, structured decision trace: capture what the engine already computes, once, in a stable machine-readable form, and surface it where users look (the CLI first, then reports and the running controller). It broadens KDP https://github.com/kyverno/KDP/pull/91 from a two-phase CLI-plus-runtime feature into a decision-explainability primitive for the whole CEL pipeline.

### Technologies

Kubernetes, Golang, CEL

### Skills same as Technologies?

- [x] Yes, the required skills are the same as the technologies listed above.

### Required/Desirable Skills

_No response_

### Mentors

Jim Bugwadia | @JimBugwadia | jim@nirmata.com | JimBugwadia
Jyotiraditya Panda | @rx18-eng | remopanda7@gmail.com | remolab

### Upstream Issue URL

https://github.com/kyverno/kyverno/issues/16692

### Application Prerequisites

- [x] Resume
- [x] Cover Letter
- [ ] School Enrollment Verification
- [ ] Participation Permission from school or employer
- [ ] Coding Challenge
- [x] Custom Prerequisite (fill in details below)

### Coding Challenge URL

_No response_

### Custom Prerequisite Name

Solution Video

### Custom Prerequisite Description

Create a 2-5 minute video introducing yourself and then articulating your understanding of the problem and the proposed solution. Provide a link to the video on either Google Drive or YouTube as part of your cover letter.

### Custom Prerequisite — File Upload

- [ ] Yes — completion of this task requires the mentee to submit a file.

---
**LFX program:** [CNCF - Kyverno: Policy Decision Log (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/e210712d-94de-4740-9ecf-201f7621425d)

Contributor guide

Open the contributing guide

Research direction

Start with the upstream issue #16692 and KDP pull request #91, then trace the CEL pipeline from scope filtering through admission decisions. Define the opt-in structured trace around the values already computed, with the CLI as the first surface; done means the trace explains expression-level decisions in machine-readable form and is suitable for later reports and controller integration.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
backend, cli, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.