docs(ep-v2): add Portal Features page documenting Ask AI - #4391
Open
Bishibop wants to merge 3 commits into
Open
Conversation
✅ Deploy Preview for replicated-docs-upgrade ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for replicated-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Bishibop
force-pushed
the
nick/ep-v2-portal-features-ask-ai-docs
branch
from
August 20, 2026 15:04
92418b0 to
96af099
Compare
Ask AI is live and undocumented. The Portal Features section of the Content tab now holds three app-level settings and had no single page describing it, which sc-139271 needs as the target for its "Learn more" link. - Add docs/vendor/enterprise-portal-v2-portal-features.mdx covering all three settings, the team and RBAC conditions that hide some of them, and Ask AI in full: header-only delivery, entitlement-filtered answer scope, and the data sent to the AI provider - Link the Security Center settings to their existing documentation on the Security Center page rather than duplicating it (#4373) - Add the reciprocal link and the sidebar entry Carries no availability admonition. sc-138827 is replacing the Alpha banners across EP v2 with Beta ones, and this page would introduce a string that sweep exists to remove. It needs the "additional access" variant when that lands. The Ask AI disclosure names Groq and openai/gpt-oss-120b. This PR must not merge before Groq appears on the Infrastructure and Subprocessors page, which it references. Story: sc-139273
Bishibop
force-pushed
the
nick/ep-v2-portal-features-ask-ai-docs
branch
from
August 20, 2026 15:08
96af099 to
3a1d636
Compare
…page - Add Groq to the ThirdPartyProducts accept list (Vale.Spelling) - Rephrase "enable Enable Ask AI" (Vale.Repetition) - Drop positional "below" from the settings table links - Drop "once" and "currently" per WordSwaps and Timeless Deliberately skipped: the three Headings sentence-case warnings, because Portal Features and Ask AI are UI proper nouns and every sibling EP v2 page H1 is title case; and the one PositionalLanguage warning on the assistant panel's right-side placement, which is load-bearing description.
…r listing The data disclosure still states what leaves the portal -- the question, up to 10 prior messages, and the entitlement-filtered content -- but no longer names the provider or the model. Naming a processor absent from the published Infrastructure and Subprocessors page advertises the inconsistency, and that page is being worked separately. The model id is dropped for the same reason: it reads as openai/gpt-oss-120b, and OpenAI is on the list, so naming the model while withholding the provider implies the wrong processor. A follow-up restores the provider name, the model, and the subprocessor links once Groq is listed.
Bishibop
marked this pull request as ready for review
August 20, 2026 21:13
This was referenced Aug 20, 2026
Bishibop
added a commit
that referenced
this pull request
Aug 20, 2026
Restores what #4391 deliberately withheld while Groq was absent from the Infrastructure and Subprocessors page. Depends on #4396 adding the Groq row. Must not merge before it: naming a processor missing from the published list is the exact inconsistency #4391 avoided, and Vale.Spelling fails on Groq until #4396 adds the vocabulary entry.
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.
Part 3 of 3 for sc-139273. Ask AI is live and entirely undocumented. Parts 1 and 2 merged as #4389 and #4390.
The provider is described but not named, deliberately
The data disclosure states what leaves the portal — the question, up to 10 prior messages, and the entitlement-filtered content — but calls the destination "a third-party AI provider" rather than naming it.
The provider is Groq, and it is absent from Infrastructure and Subprocessors, which today lists OpenAI and FireworksAI. Publishing a disclosure that names a processor missing from our own published list advertises the inconsistency. Adding a subprocessor is not a docs-team editorial call, and the listing is owned outside this PR with no timeline I can state. Rather than hold this page indefinitely — Ask AI is shipping to customers undocumented right now — the naming is deferred to a follow-up.
To be explicit about what that means for review: this PR is complete and mergeable on its own. The follow-up is not a loose end in this change, it is a separate change that becomes possible later. If the listing never happens, this page is still correct as written.
The model id is withheld for the same reason, and this part is not obvious: it reads as
openai/gpt-oss-120b, and OpenAI is on the subprocessor list. Naming the model while withholding the provider would imply the processor is OpenAI, which is wrong. Provider and model are restored together or not at all.The links to Infrastructure and Subprocessors are dropped for the same reason — a reader following one to learn who processes their AI data would find OpenAI and FireworksAI and draw the wrong conclusion.
Follow-up, once Groq is listed: restore the provider name and link, the model id, the sentence pointing at the subprocessor page, the Related topics entry, and
Groqinstyles/config/vocabularies/ThirdPartyProducts/accept.txt(Vale flags it as a spelling error otherwise). Roughly a five-line diff.What this PR does not do: hide that data leaves. A vendor reading this page learns that enabling Ask AI sends their content and their customers' questions to a third party, and is told to check that against their own customer agreements. Only the identity is deferred.
Why a new page
The Portal Features section of Enterprise Portal > Content holds three app-level settings and had no page describing it. sc-139271 needs a single Learn more link pointing at documentation covering all the toggles in the box, and #4373 documented the two Security Center toggles by topic on the Security Center page.
Rather than move that merged work, this page documents all three settings and links out to #4373's section for the Security Center detail. sc-139271 gets its single target; #4373 is untouched.
The page is a sibling of Customize Portal Content rather than a section inside it: that page is a content-authoring reference, and these are app settings.
Changes
docs/vendor/enterprise-portal-v2-portal-features.mdxsecurity-center-enable-customer-access.mdx— one reciprocal link (the only line changed outside the new file)sidebars.js— entry aftervendor/enterprise-portal-v2-contentNo availability admonition, deliberately
This is currently the only page in the Enterprise Portal (New) section without a
:::note Alpha Featureblock. That is intentional, not an oversight.sc-138827 is replacing those 16 blocks with
:::note Beta Featureat the EP v2 Beta launch. Adding one here would introduce, in a brand-new file, the exact string that sweep exists to remove. Publishing a Beta banner now is also not an option: the process rule is that public docs announcing Beta merge at launch, not before.Note that the earlier version of this PR argued this page would very likely merge after the sweep. With the subprocessor gate removed that is no longer a safe bet — this may well land first, and be the only page of 17 with no marker until the sweep runs.
For whoever runs the sc-138827 sweep: this page needs the "additional access" variant, not the plain one, since every capability it documents is gated (Security Center by team, Ask AI by a per-vendor toggle, and the Security Center settings by their own RBAC resource):
Defaults, and how they were derived
Two of the three defaults are
0in the schema and read as "Disabled". The third does not, and that is worth a reviewer's eye:kots_app.ask_ai_enabled0enterprise_portal_security_settings.show_unfixable_cves0enterprise_portal_security_settings.allow_raw_scan_download0The middle row inverts because the toggle is rendered as
checked={!securitySettings.showUnfixableCVEs}(PortalFeatureSettings.tsx:199, label at:191). Withshow_unfixable_cvesdefaulting to false — in both the table schema andDefaultSecuritySettings()inpkg/enterprise-portal/security_settings.go, which also covers apps with no settings row — the toggle is on out of the box, so customers see only fixable CVEs until a vendor turns it off. The page says Enabled for that reason.I had this backwards in an earlier revision of this PR. #4373 states a default only for the raw scan download, so this page was the only place asserting the other two and the error would have shipped here.
A note for future edits: this default is a derived claim, not a value read off a column. If anyone ever normalizes the toggle's polarity so the label matches the stored field, the documented default flips with no schema change to signal it.
What the page documents
All three settings, with the conditions that hide some of them. The two Security Center settings render only for teams with Security Center enabled (
PortalFeatureSettings.tsx:54-57), so a vendor without it sees one toggle and would otherwise conclude the docs are wrong. The Security Center settings also use a separate RBAC resource, so a team member can be able to change Ask AI and not those.Ask AI in full, since it has no other home:
kots-app.yaml,ask_ai_enableddefault"0"), app-level, applies to all customers at onceask_ai.go:350). "Only your docs" is the natural summary and it is not quite right, so the page says both halves.Verified against source
All claims were checked against
replicatedhq/vandoorata56ae15d2, not against UI copy:historyLimit := 10(ask_ai.go:103) counts user and assistant messages together, so roughly five exchanges. The page says messages.ask_ai.go:499and the request target atask_ai.go:513. Withheld from the page per the section above, recorded here so the follow-up does not have to re-derive them.Vale
Clean apart from four deliberate skips: three
Headingssentence-case warnings, because Portal Features and Ask AI are UI proper nouns and every sibling EP v2 page H1 is title case and identically flagged; and onePositionalLanguagewarning on the assistant panel's right-side placement, which is load-bearing description rather than navigation prose.