Skip to content

14: Strip PHP from the search reference trees - #3394

Merged
mnocon merged 1 commit into
saas-batch-3from
saas-t14-strip-search
Sep 8, 2026
Merged

14: Strip PHP from the search reference trees#3394
mnocon merged 1 commit into
saas-batch-3from
saas-t14-strip-search

Conversation

@mnocon

@mnocon mnocon commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Ticket 14 of the Cohesivo SaaS conversion. Base: saas-batch-3.

A reader working through the search reference trees sees only examples they can
actually use. Each page still describes its feature, its fields, its semantics
and its behaviour; what is gone is the PHP sample and the implement-it-in-code
prose that surrounded it.

183 files changed, 3,102 deletions, 40 insertions. The insertions are almost
entirely the folded search landing page — this is a strip, not a rewrite.

The mechanical strip: 168 pages

These pages already presented a PHP example beside a REST example, so the
recipe was: remove the ### PHP heading and its ``` php block, leave
### REST API intact. It held for 154 pages with zero insertions.

Worth recording, because it was the real risk: removing 154 headings orphans
any inbound #php anchor link, and mkdocs --strict fails on broken anchors
while no page-level link inventory contains them. Verified explicitly —
zero inbound #php anchors exist in docs/, so nothing was orphaned.

The remaining 14 pages resisted the recipe and were done by hand.

search_api.md deleted, and what happened to its 13 references

It is a PHP API page — its whole subject is SearchService and Repository
filtering — so it is deleted outright and its conceptual introduction folded
into docs/search/search.md, which now describes Criteria, Sort Clauses,
Aggregations and embeddings as concepts and points at the REST /views
resource.

Its inbound references were resolved individually rather than mechanically:

  • De-linked where the referring page already carries the concept in its own
    words — the aggregation, embeddings and trash reference pages each define
    the thing they were linking out to explain.
  • Repointed where a surviving page covers it: two #search-in-trash
    anchors now go to search_in_trash_reference.md.
  • Removed where the sentence existed only as a pointer, including the
    /views "PHP API counterpart" aside in rest_requests.md.
  • The front page's Search API list item and the mkdocs.yml nav entry are gone.

The landing page's cards() block named search/search_api, and cards()
calls open() directly — a stale card is a hard build crash, not a warning.

Residue R4

FieldValueCriterion::COMPARISON_* bullets in datetimeattribute_criterion.md
were left as bare unbackticked text when ticket 07 removed their links. Six
bullets restored to code spans; already-backticked prose elsewhere left alone.

Verification

  • mkdocs build --strict → exit 0.
  • pytest -q → 90 passed.
  • Zero pages under search/ still match ``` php or an
    include_code/include_file macro naming a .php file.
  • 177 search/ entries removed from the invariant baseline, taking
    php_code_sample from 314 to 137. Other sections' entries left for tickets
    15–17.

Note

Some inbound references fixed here live in content_management/content_api/
pages that ticket 15 deletes outright. They were fixed anyway so this branch
builds standalone; they resolve as modify/delete conflicts in favour of the
deletion when 15 merges.

🤖 Generated with Claude Code

Removes the PHP example and its implement-it-in-code prose from 168 pages
across the criteria, aggregation, sort clause, URL search, activity log, AI
actions, content type and embeddings reference trees, leaving each page's
feature description, fields, semantics and REST example intact. Pages with no
REST counterpart keep no example; none was invented.

Deletes search_api.md, a PHP API page, and folds its conceptual introduction
into the search landing page. Rewrites its 13 inbound references: de-linked
where the sentence still carries the concept, repointed where a surviving
reference page covers it.

Restores the FieldValueCriterion::COMPARISON_* constants to code spans after
ticket 07 removed their links (residue R4).

Removes 177 search/ entries from the invariant baseline.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Preview of modified files: Too many files modified in a single PR, preview link list is skipped. (182 files > 150)

@mnocon
mnocon merged commit 13f52f4 into saas-batch-3 Sep 8, 2026
8 of 12 checks passed
@mnocon
mnocon deleted the saas-t14-strip-search branch September 8, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant