-
Notifications
You must be signed in to change notification settings - Fork 1
docs: add proposed server-side policy evaluation tutorial #338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
pbeckham
wants to merge
41
commits into
main
Choose a base branch
from
6267-evaluate-policy-tutorial
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
f2582de
docs: add proposed server-side policy evaluation tutorial
pbeckham 6922444
docs: revise server-side evaluate tutorial from review feedback
pbeckham 4052bc3
docs: expand server-side evaluate tutorial to full beta flow
pbeckham 820855b
docs: make policy listing and decision views UI-first with screenshot…
pbeckham adb03a0
docs: refine server-side evaluate tutorial from review
pbeckham ba21048
docs: apply review fixes to server-side evaluate tutorial
pbeckham 64e050a
docs: split policy schema and evaluation-context flags
pbeckham 178b28d
docs: use typed evaluation-context references instead of --evaluation…
pbeckham 8ef771d
docs: use flow/trail slash separator for evaluation-context refs
pbeckham 93ebc6d
docs: adopt --type rego to resolve the policy command clash
pbeckham cd0626b
docs: add the Rego authoring contract to the evaluate policy tutorial
pbeckham 091b5b7
docs: apply review fixes to the evaluate policy and controls tutorials
pbeckham 5617d56
docs: state that publishing a policy requires org admin
pbeckham 5815403
docs: derive policy parameters and validate them at evaluation time
pbeckham 02688ea
docs: document policy review, offline re-run, and the cross-flow guar…
pbeckham ca7c34e
docs: make the evaluate policy tutorial easier to enter
pbeckham 2a821e6
docs: add mockups of the proposed Policies UI
pbeckham 1cd4b4c
fix: stop the mockup stylesheet leaking into the docs site
pbeckham d61238c
docs: export the evaluation context, and rename the flag to --context
pbeckham 6edbddf
docs: clarify the read/write flag warning on kosli evaluate policy
pbeckham e46f4e5
docs: publishing an unchanged policy is a no-op
pbeckham 4af03fc
docs: apply review fixes and require --trail on evaluate policy
pbeckham c4272a0
docs: rename --context-schema to --input-schema
pbeckham 6855519
docs: tighten repetition and vague references in the evaluate tutorial
pbeckham 5b300d7
docs: explain how to evaluate attachment content via user-data
pbeckham 93cdcf5
docs: cut rhetorical flourishes from the evaluate tutorial
pbeckham 0d750ce
docs: make --context required on kosli evaluate policy
pbeckham fa1e532
docs: move the --context detail out of the flag table cell
pbeckham 9612b8f
docs: call a policy's output its result
pbeckham 0935c41
docs: make offline re-run and the scope list account for bundles
pbeckham 5ff301f
docs: accept a bundle directory wherever --policy is documented
pbeckham 6c8e600
docs: say a bundle is validated as a whole
pbeckham e142dc1
docs: name the test-file convention and define bundle roots
pbeckham 616bc89
docs: remove the invisible TODO markers
pbeckham 43467b8
docs: trim editorial framing from the evaluate tutorial
pbeckham 300d5b2
docs: document the asynchronous evaluation path
pbeckham 16e97f0
docs: drop the alarmist lead-in on the cross-flow warning
pbeckham 679406f
docs: state the enqueue/execution split behind the two timestamps
pbeckham d8c9da6
docs: use --attestation-data for custom-type attachment summaries
pbeckham f8b3852
docs: drop --dry-run, it duplicates existing testing paths
pbeckham 2b57e6d
docs: make --control optional and promote evaluation to an entity
pbeckham File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # generated by build.py + Chrome headless | ||
| # NB: the stylesheet must NOT be committed -- Mintlify auto-applies any .css in the project | ||
| kosli-mock.css | ||
| policy-*.html | ||
| policy-*.png |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # Proposed Policies UI — wireframe mockups | ||
|
|
||
| Sources for the mockup images used by | ||
| [`tutorials/evaluate_policies_server_side.mdx`](../../tutorials/evaluate_policies_server_side.mdx). | ||
| They depict a **proposed** UI that does not exist yet, so every rendered page carries a | ||
| "Mockup · proposed design" marker. | ||
|
|
||
| Chrome and palette were matched against the real Controls screenshots in | ||
| `images/tutorials/controls-*.png` (sidebar `#101c2b`, primary `#1e55cd`, compliant `#3ca36f`, | ||
| non-compliant `#ce4a3e`). `logo.png` / `logo-footer.png` are crops of the real logo with the ICC | ||
| profile stripped, so they blend with the CSS colors. | ||
|
|
||
| ## Regenerate | ||
|
|
||
| ```bash | ||
| python3 build.py # also writes kosli-mock.css (gitignored) | ||
| for p in policy-list policy-source policy-decisions policy-decision-detail; do | ||
| "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ | ||
| --headless=new --disable-gpu --hide-scrollbars --force-device-scale-factor=1 \ | ||
| --window-size=1535,1011 --screenshot="$p.png" "file://$PWD/$p.html" | ||
| done | ||
| cp policy-*.png ../../images/tutorials/ | ||
| ``` | ||
|
|
||
| 1535x1011 at 1x matches the existing Controls screenshots. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| <div class="sidebar"> | ||
| <img class="logo" src="logo.png" alt="Kosli"> | ||
| <div class="org"> | ||
| <svg class="home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" width="18" height="18"><path d="M3 10.5 12 4l9 6.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z"/></svg> | ||
| <span class="name">cyber-dojo</span> | ||
| <svg class="chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="15" height="15"><path d="m6 9 6 6 6-6"/></svg> | ||
| </div> | ||
| <hr class="sep"> | ||
| <nav> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M4 20V10M10 20V4m6 16v-7m6 7V8"/></svg>Dashboard</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M12 3v18M3 12h18M6 6l12 12M18 6 6 18"/></svg>Answers</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></svg>Spaces</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="M3 10h18"/></svg>Repos</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 9v12"/></svg>Environments</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M3 8c3-3 6 3 9 0s6-3 9 0M3 14c3-3 6 3 9 0s6-3 9 0"/></svg>Flows</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="m8 12 2.5 2.5L16 9"/></svg>Attestations</a> | ||
| <a class="on"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M8 8h8M8 12h8M8 16h5"/></svg>Policies</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="m12 3 9 5-9 5-9-5z"/><path d="m3 13 9 5 9-5"/></svg>Controls</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><circle cx="12" cy="12" r="8.5"/><circle cx="12" cy="12" r="3"/></svg>Actions</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><rect x="3" y="3" width="18" height="18" rx="2.5"/><path d="M12 8v8M8 12h8"/></svg>Integrations</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><circle cx="12" cy="12" r="3.2"/><path d="M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.5 5.5l2 2M16.5 16.5l2 2M18.5 5.5l-2 2M7.5 16.5l-2 2"/></svg>Settings</a> | ||
| <a><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7"><path d="M4 4h7a2 2 0 0 1 2 2v15H6a2 2 0 0 1-2-2z"/><path d="M20 4h-7v17h5a2 2 0 0 0 2-2z"/></svg>Docs</a> | ||
| </nav> | ||
| </div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| <footer> | ||
| <span class="gen">Mockup • proposed design</span> | ||
| <img src="logo-footer.png" alt="Kosli"> | ||
| <span>© 2026 Kosli, Inc.</span> | ||
| <span class="links"><span>About</span><span>Blog</span><span>Terms</span><span>Privacy</span><span>Security</span><span>Status</span><span>Docs</span><span>API</span><span>Pricing</span><span>Contact</span></span> | ||
| </footer> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| <div class="topbar"> | ||
| <div class="crumb">CRUMB</div> | ||
| <div class="search"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><circle cx="11" cy="11" r="7"/><path d="m16.5 16.5 4 4"/></svg>Search git commit or fingerprint</div> | ||
| <div class="avatar"><span class="ring"><svg viewBox="0 0 24 24" fill="none" stroke="#6b7280" stroke-width="1.8" width="15" height="15"><circle cx="12" cy="8" r="3.4"/><path d="M5 20c1.2-3.6 4-5 7-5s5.8 1.4 7 5"/></svg></span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="13" height="13"><path d="m6 9 6 6 6-6"/></svg></div> | ||
| </div> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improvement (minor): This is a relative link (
../../tutorials/...). CLAUDE.md requires root-relative paths. Since this README isn't published by Mintlify it won't break the site, but it would break if the directory structure changes.