Issue #3586382: Pre-1.0 documentation, trust, and compatibility follow-up.

Description

Follow-up to:

Assess possible 1.0 and 1.1 features and UX/DX ... (#3586363 - closed) • Unassigned • 1.0.0-beta4

Documentation and policy consistency for the 1.0 release line — packages #1, #2, #5, #6, and #8 from the Before 1.0 list. No functional or schema changes.

#1 — Remove stale "Assigned items" documentation

  • Confirmed no remaining "Assigned items" references in docs, help, tests, or examples (already removed in earlier work).
  • Updated overview template comment: agents have context configuration, not "context items assigned".

#2 — Finalize public versus internal APIs

  • Added Deprecated APIs section to docs/developers/api-stability.md (none currently deprecated).
  • Named AiContextSelectorInterface explicitly as internal alongside ai_context.selector.
  • Steered developer docs toward ai_context.request_factory instead of direct selector references in services.md, function_calls.md, and developers/index.md.

#5 — Document access boundaries

  • New docs/developers/access-boundaries.md covering:
    • Separate checks: context-item view, usage-record, and target-entity access
    • View AI Context Usage does not grant context item or target-entity access
    • Target-entity references control applicability, not entity view access
    • Imported/copied content lifecycle
  • Cross-links from configuration.md, usage_tracking.md, and context_items.md.

#6 — Describe imported content as untrusted, review-required

  • New Review imported content before publication section in docs/features/importers.md.
  • Summary and cross-link in docs/features/context_items.md (Import content field).

#8 — Publish beta-to-1.0 support and compatibility commitments

  • New docs/upgrade-policy.md: supported Drupal/PHP/AI/optional-module versions, beta upgrade paths, database updates (1000110014), beta3 repair (#3586338 (closed)), post-1.0 API commitments.
  • Linked from docs/index.md, README.md, and mkdocs.yml.

Testing instructions

Documentation-only change. No runtime behavior changed.

  1. From the module root, run ./lint.sh — all checks should pass.

  2. Optional: build docs locally and spot-check new pages:

    pip install mkdocs mkdocs-material
    mkdocs serve

    Verify:

  3. Confirm acceptance criteria:

    • No "Assigned items" references remain (rg -i 'assigned item' docs/ tests/ README.md templates/).
    • API stability, @internal markers, and developer examples are consistent.
    • Access-boundary and importer-trust guidance is published.
    • Upgrade policy is linked from main docs.

Checklist

  • I have updated the MR title to use format: Issue #3586382: Pre-1.0 documentation, trust, and compatibility follow-up.
  • I have updated the MR description to include: Closes #3586382
  • I have performed a self-review of my own code
  • I have added or updated tests, or explained in the description why this change is not covered by tests
  • I have updated documentation for any new or changed functionality
  • I have written testing instructions and verified them locally
  • I have noted any required post-merge steps (config imports, cache rebuilds, manual changes)
  • This MR contains no breaking API or hook changes, or they are explicitly documented in the description

Tests: Not added — documentation-only; no PHP/runtime behavior changed. Existing access and API tests remain the source of truth for enforced behavior.

Post-merge: None. No drush updatedb, config import, or cache rebuild required.

AI Compliance

Note

Check the one that best describes your usage, or leave all unchecked if AI was not significantly used.

  • AI Assisted Code
    Mainly written by a human; AI used for autocomplete or partial generation under full human supervision.

  • AI Generated Code
    Mainly generated by AI, reviewed and approved by a human before this MR was created.

  • Vibe Coded
    Generated by AI and only functionally reviewed before this MR was created.

Closes #3586382

Edited by Kristen Pol

Merge request reports

Loading