docs: add runnable CPEX tutorial and reorganize docs outline#122
Merged
Conversation
…otent The v0.2.2 release failed at `cpex-builtins` because the new `cpex-plugin-elicitation-ciba` crate (added with the elicitation feature, #115) was never added to the ordered publish list, so its dependent `cpex-builtins` could not resolve it on crates.io. - Add `cpex-plugin-elicitation-ciba` to the publish order, before `cpex-builtins`. - Make the publish loop idempotent: skip a crate whose version is already on the index (crates.io rejects duplicate versions), so a re-run of a partially-published tag finishes the remaining crates instead of aborting on the first already-published one. Genuine errors still fail. Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
…ides, link check Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
araujof
added a commit
that referenced
this pull request
Jul 17, 2026
* ci(release): publish cpex-plugin-elicitation-ciba; make publish idempotent The v0.2.2 release failed at `cpex-builtins` because the new `cpex-plugin-elicitation-ciba` crate (added with the elicitation feature, #115) was never added to the ordered publish list, so its dependent `cpex-builtins` could not resolve it on crates.io. - Add `cpex-plugin-elicitation-ciba` to the publish order, before `cpex-builtins`. - Make the publish loop idempotent: skip a crate whose version is already on the index (crates.io rejects duplicate versions), so a re-run of a partially-published tag finishes the remaining crates instead of aborting on the first already-published one. Genuine errors still fail. Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> * docs: add runnable CPEX tutorial and reorganize docs outline Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> * docs: canonicalize route form, runnable quickstart, config/testing guides, link check Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> * ci: fix docs link-check and exclude tutorial crate from package dry-run Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> * ci: gate tutorial IdP readiness with a probe; prune unused tutorial deps Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com> --------- Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds a self-paced, runnable CPEX tutorial and reorganizes the docs outline.
examples/tutorial/): 11 modules plus a capstone, each a runnable binary with a--checkmode and an editable APL policy. A shared harness wraps the enforcement loop (mediate()), fake backends, a Keycloak helper, and a curl-driven approval channel. Modules 2+ run against a real Keycloak (idp/compose + realm export); modules 0-1 need only Rust.docs/content/docs/tutorial/): a page per module plus landing and capstone, cross-linked from the docs index and Quick Start.make tutorial-check(boots the IdP, runs every module, tears down) via.github/workflows/tutorial.yaml; no-IdP checks and policy unit tests run in the existing gate.All modules and the capstone pass
--checkagainst live Keycloak;cargo testgreen; clippy and rustfmt clean.