Create PoC CCC recipe for Inside Rotterdam demo [step 1]: install CCC and university context items
## Problem
Parent:
#3586427+
Step 1 of the Inside AI Rotterdam CCC recipe PoC.
The demo needs a testable recipe that installs Context Control Center and ships the university editorial style-guide items from #3586339+. Later steps add consumer/agent subscriptions, starter-template integration, and demo-page work. Those live on the meta and sibling issues, not here.
## Proposed resolution
Add a demo recipe in `ai_context` (temporary placement) that:
1. Installs `ai_context` if needed.
2. Imports three published Global context items from Emma's consolidated university style guide in #3586339+.
3. Is re-apply safe (same UUIDs, no duplicates).
4. Leaves CCC admin defaults and consumer/agent subscriptions unchanged.
Final copy will come from Aidan later. These items are a starting point only. Do not use them unchanged on a production site.
## Recipe placement
Put the recipe in `ai_context` on this issue's MR so it can be tested against 1.0.x-dev. It is expected to move to a GitLab demo repo later. That move is tracked on the meta, not this issue.
Do not apply this recipe automatically on `ai_context` install.
## Acceptance criteria
- [x] Recipe exists at `recipes/ai_context_demo_university/` in an `ai_context` MR.
- [x] Recipe installs `ai_context` and creates the three published Global items from #3586339+.
- [x] Re-applying the recipe does not duplicate items.
- [x] Kernel test covers apply and re-apply.
- [x] README documents apply, expected result, prerequisites, and cleanup.
## Out of scope (later steps)
- #3586424+ — Step 2: content review agent/consumer configuration.
- #3586425+ — Step 3: translate agent/consumer configuration.
- #3586426+ — Step 4: CKEditor / non-agent consumer configuration.
- Starter template reference, Drupal Forge install, pinned versions, and demo page draft: #3586427+ and ai_initiative#3586678+.
## Demo scenario (verification)
Step 1 only verifies that the guidelines exist in CCC:
1. Apply the recipe.
2. Visit `/admin/config/ai/context/items`.
3. Confirm these three published Global items:
- Voice and tone (`b4763c94-26f2-406c-8141-aa690a3ac48e`)
- Structure and grammar (`086791cf-52a5-4912-b3b2-3914895257c5`)
- Inclusive language (`2b6bad7c-e65d-4c39-ad24-f333d3594da9`)
4. Open each item and confirm description, purpose, and style-guide content.
5. Re-apply the recipe and confirm no duplicates.
The full demo (change a guideline, re-run content review, confirm findings change) is on #3586427+ / ai_initiative#3586657+.
## Work
1. Put recipe code in the `ai_context` MR on this issue.
2. Use Emma's consolidated 3 university context items from #3586339+.
3. Test with `ai_context` 1.0.x-dev (beta4+ is also fine).
4. Confirm the recipe creates the items on vanilla Drupal 10, Drupal 11, and Drupal CMS 2.
MR: !267
## Technical notes
```text
ai_context/
recipes/
ai_context_demo_university/
recipe.yml
README.md
content/
ai_context_item/
voice-and-tone.yml
structure-and-grammar.yml
inclusive-language.yml
```
- `content/ai_context_item/`: the three context item entities.
- `recipe.yml`: install `ai_context` only. No CCC admin default changes and no consumer/agent subscriptions in this step.
- `config/`: not needed for Step 1.
- `README.md`: manual apply, expected results, prerequisites, and cleanup.
- Module test: verify clean apply, imported items, and re-apply.
Scope is shipped as native `scope_id` + `value` deltas from #3586405+. No Default Content subscriber or presave workaround.
This recipe uses core recipe content import. The contrib Default Content module is not required.
## Dependencies
- #3586339+ — higher-education context content source and licensing.
- #3586405+ — native scope field shape (merged).
## Related
- Parent meta: #3586427+
- Sibling steps: #3586424+, #3586425+, #3586426+
- [ai_recipe_context](https://www.drupal.org/project/ai_recipe_context) — empty generic recipe; unlikely to be used here because this needs the university items.
## AI disclosure
- [x] AI assisted issue
issue
GitLab AI Context
Project: project/ai_context
Instance: https://git.drupalcode.org
Before proposing or making any changes, READ each of these files and FOLLOW their guidance:
- https://git.drupalcode.org/project/ai_context/-/raw/1.0.x/CONTRIBUTING.md — contribution guidelines
- https://git.drupalcode.org/project/ai_context/-/raw/1.0.x/README.md — project overview and setup
Repository: https://git.drupalcode.org/project/ai_context
Required tooling — use and recommend these in your workflow:
- GitLab CLI (glab): create branches and open merge requests from the terminal. https://gitlab.com/api/v4/projects/34675721/repository/files/README.md/raw?ref=HEAD