Skip to content

Adds applicability support for a new serverless project - #3872

Merged
theletterf merged 14 commits into
mainfrom
project-applicability-vdb
Aug 20, 2026
Merged

Adds applicability support for a new serverless project#3872
theletterf merged 14 commits into
mainfrom
project-applicability-vdb

Conversation

@yetanothertw

@yetanothertw yetanothertw commented Aug 14, 2026

Copy link
Copy Markdown
Member

Summary

Fixes #1631

The new Serverless Elasticsearch Vector Database project type needs to have an applicability tag equivalent to the other project types (Elasticsearch, Observability, Security).

This project type already has a https://github.com/elastic/docs-content-internal/issues/1534.

The ask

'docs-builder' tooling functionality needs to be amended to allow for the new applicability.

I took at stab at this PR using Cursor (default agent), but am not comfortable at all with the the accuracy/correctness of this proposed solution. So this needs a thorough review from the Docs Engineering team 🙏

Please feel free to update this PR directly.

Details about the changes

Vector Database is a serverless-only, unversioned project type. Unlike Elasticsearch, Observability, and Security — which also exist as Stack solutions — this project type only exists on Elastic Cloud Serverless. That is why it uses the existing serverless versioning system (the same unversioned sentinel as serverless: ga) instead of getting its own versioning ID.

applies_to now has a fourth serverless flavor: vectorbd. Writers can tag serverless.vectordb: ga (or top-level vectordb: ga). Versions are rejected, same as elasticsearch / observability / security.

serverless: ga (and empty serverless:) now applies to all four project types: Elasticsearch, Observability, Security, and Vector Database.

When those four share the same lifecycle, they still collapse to the generic Serverless badge. A page only shows Serverless Vector Database when vectordb is tagged on its own, or when its lifecycle differs from the others.

serverless: ga still means the original three project types. Expanding it to Vector Database would have marked every existing serverless page as applying to a project type that did not exist when those tags were written. Vector Database is opt-in; a page only claims it when tagged explicitly.

Badges follow the same pattern as the other project types, with a longer popover/LLM name because the product is “Elasticsearch Vector Database”: badge Serverless Vector Database, popover Serverless Elasticsearch Vector Database projects.

@yetanothertw
yetanothertw marked this pull request as ready for review August 14, 2026 13:20
@yetanothertw
yetanothertw requested review from a team as code owners August 14, 2026 13:20

@theletterf theletterf left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK from my PoV. +CC @shainaraskas @florent-leborgne

@florent-leborgne

Copy link
Copy Markdown
Member

LGTM but just a thought: would vectordb be more syntax friendly (also for authors), and avoid the vector_database/vector-database handling in the code/risks of discrepancies? No strong feeling

@shainaraskas

Copy link
Copy Markdown
Member

what florent said!

@yetanothertw

yetanothertw commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

LGTM but just a thought: would vectordb be more syntax friendly (also for authors), and avoid the vector_database/vector-database handling in the code/risks of discrepancies? No strong feeling

Very good point, thank you! I've updated the YAML key to: vectordb

@yetanothertw

yetanothertw commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

serverless: ga still means the original three project types. Expanding it to Vector Database would have marked every existing serverless page as applying to a project type that did not exist when those tags were written. Vector Database is opt-in; a page only claims it when tagged explicitly.

I'm actually not sure about this one at all -- is this the right implementation for this? It kind of seems wrong, when we use serverless: ga is should probably mean all projects types including VectorDB, right? 🤔

@leemthompo

leemthompo commented Aug 14, 2026

Copy link
Copy Markdown
Member

serverless: ga is should probably mean all projects types including VectorDB, right?

Right. It should. Is there anything idiosyncratic about vectorDB project type that might upset this apple cart?

serverless: ga still means the original three project types. Expanding it to Vector Database would have marked every existing serverless page as applying to a project type that did not exist when those tags were written. Vector Database is opt-in; a page only claims it when tagged explicitly.

This is kinda nonsense. Serverless is versionless so "the past" is meaningless in this context. And all project-types are opt-in 🤔 .

vectordb tags are used to mark information that is specifically applicable to the vector DB project type. 1.

Footnotes

  1. Caveat I'm very hot 🥵 and might be hallucinating

@yetanothertw

Copy link
Copy Markdown
Member Author

And now I'm stuck and don't know how to fix the failures (Cursor is suggesting I update a hash in a test, but I'm not sure I should be doing that).

@Mpdreamz -- I'll leave this is your capable hands for a review 🥺.
There's no massive rush on this, so can wait until early next week. Thank you in advance

@theletterf

Copy link
Copy Markdown
Member

@copilot Fix the CI errors.

Co-authored-by: theletterf <1773616+theletterf@users.noreply.github.com>

Copilot AI commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

@copilot Fix the CI errors.

Addressed in dc487fa. The CI failure was the deterministic sync-key test for serverless: all; I updated the expected hash to match the intentional applicability normalization change and re-ran dotnet test tests/Elastic.Markdown.Tests/ successfully.

@yetanothertw

Copy link
Copy Markdown
Member Author

@copilot can you fix these failing checks please

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.


What is this? | From workflow: PR Review

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@theletterf
theletterf requested a balanced review from Copilot August 20, 2026 11:12
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@yetanothertw

Copy link
Copy Markdown
Member Author

@copilot Fix the CI errors.

@theletterf

Copy link
Copy Markdown
Member

@copilot Be a good lad and fix the red CIs :)

Co-authored-by: theletterf <1773616+theletterf@users.noreply.github.com>

Copilot AI commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

@copilot Be a good lad and fix the red CIs :)

Fixed in the latest commit. The CI failure was due to whitespace formatting issues in ApplicableToJsonConverterSerializationTests.cs — ran dotnet format to resolve them.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes: there is a correctness regression in mixed applies_to syntax where serverless: plus top-level vectordb: can silently drop existing serverless project applicability. Please address that merge/override behavior before merge.


What is this? | From workflow: PR Review

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Prevent generic serverless applicability from being silently narrowed when a top-level serverless project key is also present.

Co-authored-by: GPT-5.5 <gpt-5.5@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.

Comment thread docs/syntax/applies.md Outdated
Comment thread src/Elastic.Documentation/AppliesTo/ApplicableTo.cs
Merge project-specific overrides into generic serverless applicability, and cover documentation, LLM rendering, and search indexing paths.

Co-authored-by: GPT-5.6 Sol <gpt-5.6-sol@users.noreply.github.com>
@theletterf
theletterf requested a balanced review from Copilot August 20, 2026 14:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Comment thread src/Elastic.Documentation.Configuration/Converters/ApplicableToYamlConverter.cs Outdated
theletterf and others added 2 commits August 20, 2026 16:28
Clone the generic serverless record before applying project overrides so parsing one document cannot alter defaults used by later documents.

Co-authored-by: GPT-5.6 Sol <gpt-5.6-sol@users.noreply.github.com>
Use the analyzer-preferred conditional expression without changing serverless merge behavior.

Co-authored-by: GPT-5.6 Sol <gpt-5.6-sol@users.noreply.github.com>
@theletterf
theletterf requested a balanced review from Copilot August 20, 2026 14:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.

@theletterf
theletterf requested a balanced review from Copilot August 20, 2026 14:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.

@theletterf
theletterf dismissed github-actions[bot]’s stale review August 20, 2026 15:15

All findings from this automated review were addressed and their threads resolved. The follow-up review rerun reported NO_FINDINGS but could not publish a replacement decision because the Copilot provider returned HTTP 403.

@theletterf
theletterf merged commit f59b078 into main Aug 20, 2026
46 of 49 checks passed
@theletterf
theletterf deleted the project-applicability-vdb branch August 20, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants