-
Notifications
You must be signed in to change notification settings - Fork 0
New KB merged #242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
New KB merged #242
Conversation
Implements server-side (Netlify) and client-side redirects to handle URL structure changes in new-kb branch. Server redirects handle path changes, client script handles anchor/hash updates.
- Add trailing slashes to server redirects to match Docusaurus URL normalization - Strip trailing slash from pathname in client-side redirect check - Add missing anchor redirects for creating-a-feature (application, targeting-audiences)
Add debug logging to understand why client-side anchor redirects aren't working
- Add anchor redirects for OLD page paths (pre-server redirect) - Keep anchor redirects for NEW page paths (post-server redirect) - Remove debug console logging - Verified all redirects work locally with test-anchor-redirects-local.js
WalkthroughThis pull request reorganises documentation structure and updates internal hyperlinks across the entire documentation suite. Changes include: migrating SDK documentation paths from Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
✅ Deploy Preview for absmartly-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 13
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/Third-party-integrations/SSO/Azure SAML Setup.mdx (1)
91-93: Typo: "Federtion" should be "Federation".📝 Suggested fix
13. Lastly, in the **SAML Certificates** section, click to download your -**Federtion Metadata XML** file, send it to us through email or via Slack +**Federation Metadata XML** file, send it to us through email or via Slack and we will have your SSO setup ASAP!
🤖 Fix all issues with AI agents
In @.gitignore:
- Around line 10-13: The gitignore entries for SDK-API files use patterns
"/docs/APIs-and-SDKs/SDK-API*.mdx" and "/docs/APIs-and-SDKs/SDK-API*.js" which
only match files named like "SDK-API*.mdx" in the parent directory rather than
files inside the SDK-API subdirectory; update those patterns so they target the
subdirectory contents by inserting the missing slash before the wildcard (i.e.,
change the "SDK-API*.mdx" and "SDK-API*.js" patterns to use "SDK-API/*"
semantics to ignore files inside the SDK-API directory).
In
@docs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/_import-and-initialize.mdx:
- Around line 37-39: The documentation contains an inconsistent URL casing:
replace the link "/docs/web-console-docs/Configuration/Applications" with the
lowercase path "/docs/web-console-docs/configuration/applications" so it matches
the other "/docs/web-console-docs/configuration/..." links and avoids broken
links on case-sensitive systems; update the link target in the text that
references "Applications" (the anchor that currently uses
"Configuration/Applications") to use the lowercase "configuration/applications".
In @docs/APIs-and-SDKs/Web-Console-API/Examples/_category_ copy.json:
- Around line 1-6: The category config filename is incorrect: rename the file
currently named `_category_ copy.json` to exactly `_category_.json` so
Docusaurus recognises the category configuration (the JSON content with "label":
"Custom Integration Examples", "position": 50, "collapsible": true, "collapsed":
true should remain unchanged).
In @docs/get-started.mdx:
- Around line 9-10: Replace the un-hyphenated compound adjective "evidence
based" with the hyphenated form "evidence-based" in the sentence that reads
"measure impact with robust metrics and make evidence based product decisions"
so the phrase becomes "evidence-based product decisions"; ensure spacing and
punctuation remain correct.
- Line 52: Fix the typographical phrase "This section includes from sample
integration:" in docs/get-started.mdx by replacing it with a clear phrase such
as "This section includes sample integrations:" or "This section includes the
following sample integrations:" so the sentence reads grammatically correct and
matches the surrounding documentation tone.
In @docs/glossary.mdx:
- Line 335: The sentence in the docs/glossary.mdx entry for "Group Sequential
Testing" has a missing article; update the phrase "when creating new experiment"
to "when creating a new experiment" so the sentence reads: "Group Sequential
Testing is the default method when creating a new experiment."
- Line 50: Fix the grammar in the glossary sentence by adding the missing
article "an" before "AA experiment" so it reads: "The baseline (or baseline
value) is the current performance of your metric, usually measured in an AA
experiment or a previous AB test." Update the line containing "measured in AA
experiment" in docs/glossary.mdx accordingly.
- Line 618: The anchor link in the sentence "Sample size, together with
[variance](#variance) and [effect size](#effect-size), determines
[power](##experimentation-power)..." uses a double `##`
(`##experimentation-power`), producing a malformed anchor; replace
`##experimentation-power` with a single-hash anchor `#experimentation-power` so
the link correctly points to the "experimentation-power" heading.
- Line 553: The anchor link in the sentence uses a double-hash
`##false-discovery-rate-fdr` which produces a malformed link; update the anchor
reference in docs/glossary.mdx (the sentence "Peeking inflates the [false
positive rate](##false-discovery-rate-fdr)...") to use a single hash
`#false-discovery-rate-fdr` so the Markdown link points correctly to the
"false-discovery-rate-fdr" heading.
- Line 248: Fix the singular/plural mismatch in the example sentence by
replacing "an actual true effects" with "an actual true effect" so the article
"an" matches the singular noun; ensure the final sentence reads "...but only 60
of those have an actual true effect, then your False Discovery Rate..."
- Line 649: The anchor link in the sentence currently points to
`#confidnce-interval` (typo: missing 'e') which breaks navigation; update the
anchor target to `#confidence-interval` so the link points to the actual
"Confidence interval" heading and verify the displayed link text remains
unchanged.
In @docs/platform-release-notes/2025/03.mdx:
- Line 33: Update the broken links that use lowercase "experiment-reports" to
the correct capitalised path "Experiment-reports": replace occurrences like
"/docs/web-console-docs/experiments/experiment-reports/#decisions-overview" with
"/docs/web-console-docs/experiments/Experiment-reports/#decisions-overview" in
the affected release notes files (the current file where the diff shows the link
and the other file noted with the same error).
In @docs/platform-release-notes/2025/04.mdx:
- Around line 23-24: The experiment reports link uses incorrect casing; update
the href string
"/docs/web-console-docs/experiments/experiment-reports/#decisions-overview" to
use the proper filename casing
"/docs/web-console-docs/experiments/Experiment-reports/#decisions-overview" so
it matches the actual file `Experiment-reports.mdx` and preserves the
"#decisions-overview" anchor.
🧹 Nitpick comments (5)
docs/get-started.mdx (1)
41-41: Hyphenate compound adjectives."client side" and "server side" should be hyphenated when used as compound adjectives modifying "SDK documentation".
Suggested fix
-- [SDK documentation](./APIs-and-SDKs/sdk-documentation/) for client side, server side and mobile +- [SDK documentation](./APIs-and-SDKs/sdk-documentation/) for client-side, server-side and mobiledocs/Third-party-integrations/_category_.json (1)
1-7: LGTM with minor formatting note.The position and label updates are appropriate for the documentation restructuring. There's trailing whitespace after the closing brace which could be cleaned up, but this is a minor nitpick.
Optional cleanup
{ "position": 3, "collapsible": true, "collapsed": true, "label": "Integrations" - } - +}docs/APIs-and-SDKs/overview.mdx (1)
1-17: LGTM with minor text suggestions.The overview page provides clear, well-structured content that serves as an effective entry point for the APIs & SDKs section.
Consider the following minor text improvements based on static analysis hints:
📝 Suggested text improvements
- SDK documentation for client side, server side and mobile environments + - SDK documentation for client-side, server-side and mobile environments- It explains how the SDKs work, how to use the API programmatically and how to build a reliable experimentation setup that fits your architecture. + It explains how the SDKs work, how to use the API programmatically, and how to build a reliable experimentation setup that fits your architecture.docs/Third-party-integrations/Segment-Integration/index.mdx (1)
259-259: Consider using a relative path for consistency.This link uses an absolute URL (
https://docs.absmartly.com/docs/...) whilst line 107 uses a relative path (/docs/...). For easier maintenance and consistency, consider using the relative path format.Suggested change
- [install a custom event logger](https://docs.absmartly.com/docs/APIs-and-SDKs/SDK-Documentation/getting-started/#using-a-custom-event-logger) + [install a custom event logger](/docs/APIs-and-SDKs/SDK-Documentation/getting-started#using-a-custom-event-logger)docs/platform-release-notes/2025/04.mdx (1)
21-21: Link update looks correct; consider adding comma for readability.The link path migration is correct. The static analysis tool suggests adding a comma after "In this release" for improved readability.
Optional punctuation improvement
-Earlier this month we launched the new [Decisions Reports (Beta)](/docs/web-console-docs/experiments/experiment-reports/#decisions-overview). In this release we are introducing a few improvements to provide better insights into each decision. +Earlier this month we launched the new [Decisions Reports (Beta)](/docs/web-console-docs/experiments/experiment-reports/#decisions-overview). In this release, we are introducing a few improvements to provide better insights into each decision.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (5)
docs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/checksums/checksums.lockis excluded by!**/*.lockdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lockis excluded by!**/*.lockdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/fileChanges/last-build.binis excluded by!**/*.bindocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/fileHashes/fileHashes.lockis excluded by!**/*.lockdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/buildOutputCleanup/buildOutputCleanup.lockis excluded by!**/*.lock
📒 Files selected for processing (295)
.gitignoredocs/APIs-and-SDKs/SDK-API/_category_.jsondocs/APIs-and-SDKs/SDK-Documentation/Advanced/_category_.jsondocs/APIs-and-SDKs/SDK-Documentation/Advanced/code-as-a-variant-variable.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/_setting-context-attributes.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/dotnet/setAttributes.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/flutter/setAttributes.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/go/setAttributes.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/java/setAttributes.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/js/setAttributes.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/php/setAttributes.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/python/setAttributes.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/react/setAttributes.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/react/setAttributesAsProps.tsxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/ruby/setAttributes.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/swift/setAttributes.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/vue/SetAttributes.vuedocs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/vue/setAttributes.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/_custom-assignments.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/dotnet/customAssignment.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/dotnet/customAssignments.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/flutter/customAssignment.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/flutter/customAssignments.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/go/customAssignment.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/go/customAssignments.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/java/customAssignment.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/java/customAssignments.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/js/customAssignment.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/js/customAssignments.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/php/customAssignment.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/php/customAssignments.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/python/customAssignment.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/python/customAssignments.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/react/customAssignment.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/react/customAssignments.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/ruby/customAssignment.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/ruby/customAssignments.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/swift/customAssignment.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/swift/customAssignments.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/vue/customAssignment.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/vue/customAssignments.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/_finalize.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/dotnet/finalize.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/flutter/finalize.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/go/finalize.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/java/finalize.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/js/finalize.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/php/finalize.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/python/finalize.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/react/finalize.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/ruby/finalize.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/swift/finalize.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/finalize/vue/finalize.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/_publish.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/dotnet/publish.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/flutter/publish.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/go/publish.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/java/publish.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/js/publish.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/php/publish.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/python/publish.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/react/publish.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/ruby/publish.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/swift/publish.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/publish/vue/publish.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/_tracking-goals.mdxdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/dotnet/trackingGoals.csdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/flutter/trackingGoals.dartdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/go/trackingGoals.godocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/java/trackingGoals.javadocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/js/trackingGoals.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/php/trackingGoals.phpdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/python/trackingGoals.pydocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/react/trackingGoals.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/ruby/trackingGoals.rbdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/swift/trackingGoals.swiftdocs/APIs-and-SDKs/SDK-Documentation/Advanced/tracking-goals/vue/trackingGoals.jsdocs/APIs-and-SDKs/SDK-Documentation/Advanced/using-custom-fields-in-your-code.mdxdocs/APIs-and-SDKs/SDK-Documentation/_category_.jsondocs/APIs-and-SDKs/SDK-Documentation/basic-usage.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/_config-api.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/configChangeParameters.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/getVariantVariableKeys.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/languagesConfig.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/mergeConfig.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/mergeTranslationConfigs.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/config-api/js/returnedConfig.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/_overriding.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/dotnet/override.csdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/flutter/override.dartdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/go/override.godocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/java/override.javadocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/js/override.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/php/override.phpdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/python/override.pydocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/react/override.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/ruby/override.rbdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/swift/override.swiftdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/vue/inInitialization.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/vue/withOverrideMethods.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/_peeking.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/dotnet/peekAtVariables.csdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/dotnet/peekAtVariants.csdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/flutter/peekAtVariables.dartdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/flutter/peekAtVariants.dartdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/go/peekAtVariables.godocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/go/peekAtVariants.godocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/java/peekAtVariables.javadocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/java/peekAtVariants.javadocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/js/peekAtVariables.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/js/peekAtVariant.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/php/peekAtVariable.phpdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/php/peekAtVariant.phpdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/python/peekAtVariables.pydocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/python/peekAtVariant.pydocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/react/peekAtVariables.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/react/peekAtVariant.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/ruby/peekAtVariables.rbdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/ruby/peekAtVariants.rbdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/swift/peekAtVariables.swiftdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/swift/peekAtVariants.swiftdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/vue/peekAtVariables.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/peeking/vue/peekAtVariant.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/_selecting-a-treatment.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/dotnet/selectingATreatment.csdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/flutter/selectingATreatment.dartdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/go/selectingATreatment.godocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/java/selectingATreatment.javadocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/js/selectingATreatment.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/php/selectingATreatment.phpdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/python/selectingATreatment.pydocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/react/selectingATreatment.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/react/usingTernaryOperator.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/react/usingUseTreatment.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/ruby/selectingATreatment.rbdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/swift/selectingATreatment.swiftdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/vue/UsingOnlyDefaultSlot.vuedocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/vue/UsingTreatmentAlias.vuedocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-treatment/vue/UsingTreatmentIndex.vuedocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/_selecting-a-variable.mdxdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/dotnet/selectingAVariable.csdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/flutter/selectingAVariable.dartdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/go/selectingAVariable.godocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/java/selectingAVariable.javadocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/js/selectingAVariable.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/php/selectingAVariable.phpdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/python/selectingAVariable.pydocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/react/directlyInTreatmentComponent.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/react/inUseEffect.jsdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/ruby/selectingAVariable.rbdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/swift/selectingAVariable.swiftdocs/APIs-and-SDKs/SDK-Documentation/basic-usage/selecting-a-variable/vue/selectingAVariable.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started.mdxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/_create-new-context-request.mdxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/async.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/extraUnits.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/prefetchedData.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/refreshWithFreshData.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/refreshWithRefreshMethod.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/dotnet/sync.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/async.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/extraUnits.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/refreshWithFreshData.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/refreshWithRefresh.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/sync.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/flutter/withPrefetchedData.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/go/async.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/go/extraUnits.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/go/refreshWithFreshData.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/go/refreshWithRefreshMethod.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/go/sync.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/async.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/extraUnits.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/preFetchedData.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/refreshWithFreshData.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/refreshWithRefreshMethod.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/java/sync.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/httpRequestCancellation.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/httpRequestTimeout.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/refreshWithFreshData.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/refreshWithRefreshMethod.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/usingAsyncAwait.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/usingRawPromises.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/js/withPreFetchedData.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/php/extraUnits.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/php/prefetchedData.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/php/refresh.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/php/sync.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/async.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/extraUnits.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/refreshWithFreshData.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/refreshWithRefreshMethod.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/sync.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/python/withPrefetchedData.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/react/forTernaryOperator.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/react/newContext.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/react/withABSmartly.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/ruby/createContext.rbdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/ruby/extraUnits.rbdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/ruby/extraUnitsAlt.rbdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/ruby/prefetchedData.rbdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/swift/newContext.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/swift/refreshWithFreshData.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/swift/refreshWithRefreshMethod.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/swift/settingExtraUnits.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/swift/withPreFetchedData.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue/RefreshWithFreshData.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue/initializeWithPrefetchedData.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue/refreshWithRefreshMethod.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue3/manualRefresh.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue3/prefetched.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue3/refresh.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/create-new-context-request/vue3/sync.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/_custom-event-logger.mdxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/dotnet/customEventLogger.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/dotnet/customEventLoggerInjection.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/flutter/customEventLogger.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/flutter/usage.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/go/customEventLogger.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/java/customEventLogger.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/js/customEventLogger.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/php/customEventLogger.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/php/handleEvent.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/python/customEventLogger.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/react/customEventLogger.jsxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/swift/customEventLogger.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/custom-event-logger/vue/customEventLogger.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/_import-and-initialize.mdxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/dotnet/manualSDKInstance.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/dotnet/sdkInjection.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/dotnet/startupCode.csdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/flutter/import.dartdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/go/initialize.godocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/java/import.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/java/importForAndroid6.javadocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/js/import.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/php/granularChoice.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/php/importAndInitialize.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/php/paramsInOrder.phpdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/python/import.pydocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/react/import.jsxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/ruby/import.rbdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/swift/import.swiftdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/vue/import.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/vue3/import.jsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/_install.mdxdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/dotnet/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/flutter/install.yamldocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/go/dependencies.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/go/go.moddocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/dependencies-accessors/gc.propertiesdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/7.4.2/gc.propertiesdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/buildOutputCleanup/cache.propertiesdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.gradle/vcs-1/gc.propertiesdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.projectdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/.settings/org.eclipse.buildship.core.prefsdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/build.gradledocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/java/pom.xmldocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/js/directImport.htmldocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/js/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/php/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/python/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/react/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/ruby/bundler.shdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/ruby/gem.shdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/swift/Podfiledocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/swift/updateXcode.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/vue/directImport.htmldocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/vue/install.bashdocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/vue3/directImport.htmldocs/APIs-and-SDKs/SDK-Documentation/getting-started/install/vue3/install.bashdocs/APIs-and-SDKs/SDK-Documentation/index.mdxdocs/APIs-and-SDKs/Web-Console-API/Examples/Slack-Integration/index.mdxdocs/APIs-and-SDKs/Web-Console-API/Examples/_category_ copy.jsondocs/APIs-and-SDKs/Web-Console-API/_category_.jsondocs/APIs-and-SDKs/_category_.jsondocs/APIs-and-SDKs/overview.mdxdocs/Third-party-integrations/SSO/Azure SAML Setup.mdxdocs/Third-party-integrations/SSO/Google SAML Setup.mdxdocs/Third-party-integrations/SSO/Okta SAML Setup.mdxdocs/Third-party-integrations/SSO/_category_.jsondocs/Third-party-integrations/Segment-Integration/index.mdxdocs/Third-party-integrations/Zuko-Integration.mdxdocs/Third-party-integrations/_category_.jsondocs/get-started.mdxdocs/glossary.mdxdocs/platform-release-notes/2024/12.mdxdocs/platform-release-notes/2025/02.mdxdocs/platform-release-notes/2025/03.mdxdocs/platform-release-notes/2025/04.mdx
🧰 Additional context used
🪛 LanguageTool
docs/get-started.mdx
[uncategorized] ~10-~10: This expression is usually spelled with a hyphen.
Context: ...ure impact with robust metrics and make evidence based product decisions. This documentation ...
(BASED_HYPHEN)
[uncategorized] ~12-~12: Possible missing comma found.
Context: ...se the platform, integrate it into your product and understand the core concepts behind...
(AI_HYDRA_LEO_MISSING_COMMA)
[typographical] ~23-~23: Do not use a colon (:) before a series that is introduced by a preposition (‘on’). Remove the colon or add a noun or a noun phrase after the preposition.
Context: ...nd feature flags. You will find guides on: - [creating](./web-console-docs/experim...
(RP_COLON)
[uncategorized] ~41-~41: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...Ks/sdk-documentation/) for client side, server side and mobile - [SDK API](./APIs-and-SDK...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
docs/APIs-and-SDKs/overview.mdx
[uncategorized] ~11-~11: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...d: - SDK documentation for client side, server side and mobile environments - API referen...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~17-~17: Possible missing comma found.
Context: ...s how the SDKs work, how to use the API programmatically and how to build a reliable experimenta...
(AI_HYDRA_LEO_MISSING_COMMA)
docs/glossary.mdx
[grammar] ~15-~15: If ‘type’ is a classification term, ‘A’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...- ## A ### A/A experiment A special type of A/B experiment where users are randomly s...
(KIND_OF_A)
[style] ~18-~18: Would you like to use the Oxford spelling “randomization”? The spelling ‘randomisation’ is also correct.
Context: ...M), tracking bugs or unexpected bias in randomisation before you start testing real changes. ...
(OXFORD_SPELLING_Z_NOT_S)
[grammar] ~31-~31: If ‘type’ is a classification term, ‘A’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...rate. ### A/B/n experiment A special type of A/B experiment that compares a control to...
(KIND_OF_A)
[style] ~41-~41: Would you like to use the Oxford spelling “generalizability”? The spelling ‘generalisability’ is also correct.
Context: ...eting can reduce sample size and affect generalisability. Example: Running an experiment on...
(OXFORD_SPELLING_Z_NOT_S)
[uncategorized] ~50-~50: Possible missing article found.
Context: ...nce of your metric, usually measured in AA experiment or a previous AB test. It r...
(AI_HYDRA_LEO_MISSING_AN)
[uncategorized] ~97-~97: The preposition ‘of’ seems more likely in this position.
Context: ...the true effect would lie within the CI in about 95 of those. You could say “We a...
(AI_HYDRA_LEO_REPLACE_IN_OF)
[uncategorized] ~99-~99: Possible missing comma found.
Context: ...the CI in about 95 of those. You could say “We are 95% confident that the [true ef...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~137-~137: The verb ‘covariate’ does not usually follow articles like ‘a’. Check that ‘covariate’ is spelled correctly; using ‘covariate’ as a noun may be non-standard.
Context: ...using correlated pre-experiment data as a covariate. CUPED can significantly improve sen...
(A_INFINITIVE)
[uncategorized] ~139-~139: Use a comma before ‘so’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ED can significantly improve sensitivity so experiments reach conclusions faster or...
(COMMA_COMPOUND_SENTENCE_2)
[style] ~170-~170: You’ve already used the word ‘also’ once in your sentence, so using it again may be redundant.
Context: ... but also practically meaningful. It's also used in power calculations when designing ex...
(REDUNDANT_FILLER)
[style] ~184-~184: To elevate your writing, try using a synonym here.
Context: ...actions can distort results and make it hard to attribute observed effects to a sing...
(HARD_TO)
[uncategorized] ~196-~196: Possible missing comma found.
Context: ...ngful changes or underestimating effect sizes which leads to unreliable decisions. A...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~212-~212: Try moving the adverb to make the sentence clearer.
Context: ...irections; confirmatory experiments are designed to rigorously test a specific hypothesis. Mixing the two modes can lead to inf...
(SPLIT_INFINITIVE)
[grammar] ~231-~231: The verb ‘consider’ is used with the gerund form.
Context: ...coveries is essential. A few things to consider to reduce the risks of False Discoveries - Groun...
(ADMIT_ENJOY_VB)
[uncategorized] ~248-~248: “an” (indefinite article before a vowel sound) seems less likely than “any”.
Context: ... significant, but only 60 of those have an actual true effects, then your False Di...
(AI_HYDRA_LEO_CP_AN_ANY)
[uncategorized] ~289-~289: Possible missing comma found.
Context: ... horizon methods are conceptually simple but are not robust to unplanned peeking or ...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~293-~293: ‘making a decision’ might be wordy. Consider a shorter alternative.
Context: ...an experiment for exactly two weeks and making a decision only after both weeks have completed. ...
(EN_WORDINESS_PREMIUM_MAKING_A_DECISION)
[style] ~303-~303: ‘for lack of’ might be wordy. Consider a shorter alternative.
Context: ...is, allows the experiment to stop early for lack of effect — indicating that the treatment ...
(EN_WORDINESS_PREMIUM_FOR_LACK_OF)
[uncategorized] ~322-~322: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...n ABsmartly uses a binding futility type but this can be changed during the setup. ...
(COMMA_COMPOUND_SENTENCE_2)
[style] ~334-~334: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...re a few well-timed looks are enough. Group Sequential Testing is the default metho...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~335-~335: Possible missing article found.
Context: ...ing is the default method when creating new experiment. It leads to making decisio...
(AI_HYDRA_LEO_MISSING_A)
[duplication] ~340-~340: Possible typo: you repeated a word.
Context: ...tps://absmartly.com/gst) ### Guardrail metrics Metrics monitored to ensure experiments stay wi...
(ENGLISH_WORD_REPEAT_RULE)
[uncategorized] ~362-~362: Possible missing comma found.
Context: ...able prediction about the outcome of an experiment usually describing how a change (treatm...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~435-~435: This phrase is duplicated. You should probably use “Metric variance” only once.
Context: ...ve differently at different scales ### Metric variance Metric variance refers to the amount of variability or ...
(PHRASE_REPETITION)
[style] ~458-~458: Would you like to use the Oxford spelling “optimize”? The spelling ‘optimise’ is also correct.
Context: ...best. They are useful when you want to optimise several components together, such as he...
(OXFORD_SPELLING_Z_NOT_S)
[formatting] ~459-~459: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ...ntly more traffic than a simple A/B test, because traffic must be spread across many vari...
(COMMA_BEFORE_BECAUSE)
[typographical] ~459-~459: Use a comma after an introductory phrase.
Context: ...tions and the analysis is more complex. For this reason Multivariate experiments are not suppor...
(COMMA_INTRODUCTORY_WORDS_PHRASES)
[style] ~463-~463: Would you like to use the Oxford spelling “optimize”? The spelling ‘optimise’ is also correct.
Context: ... ABsmartly. Example: You want to optimise a landing page with the following: - ...
(OXFORD_SPELLING_Z_NOT_S)
[style] ~481-~481: If ‘chance’ means ‘possibility’, this phrase is redundant. Consider writing “chance”.
Context: ... that any observed difference is due to random chance. The null hypothesis is the foundation...
(RANDOM_CHANCE)
[uncategorized] ~502-~502: Possible missing preposition found.
Context: ...ence. --- ## O ### Observed effect The measured difference between treatment a...
(AI_HYDRA_LEO_MISSING_IN)
[grammar] ~504-~504: Did you mean “sample”?
Context: ...ble from the data, but it is subject to sampling variability. Example: Treatment ...
(IT_IS_JJ_TO_VBG)
[style] ~529-~529: Would you like to use the Oxford spelling “utilization”? The spelling ‘utilisation’ is also correct.
Context: ... Example: Error rate, latency, CPU utilisation or cache hit rate. ### Outliers Outlie...
(OXFORD_SPELLING_Z_NOT_S)
[duplication] ~531-~531: Possible typo: you repeated a word.
Context: ...CPU utilisation or cache hit rate. ### Outliers Outliers are data points that are significantly ...
(ENGLISH_WORD_REPEAT_RULE)
[duplication] ~549-~549: Possible typo: you repeated a word.
Context: ...xperimentation results. --- ## P ### Peeking Peeking refers to looking at experiment results...
(ENGLISH_WORD_REPEAT_RULE)
[uncategorized] ~550-~550: Possible missing comma found.
Context: ...ed, especially to check for statistical significance and making decisions based on those ea...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~559-~559: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...some promising results. This is peeking and you may be acting on a false discovery....
(COMMA_COMPOUND_SENTENCE)
[uncategorized] ~569-~569: Possible missing comma found.
Context: ... experiment is a requirement for making good reliable data-informed decisions. The ...
(AI_HYDRA_LEO_MISSING_COMMA)
[duplication] ~575-~575: Possible typo: you repeated a word.
Context: ... significance level. ### Pre-selection bias Bias introduced when the users who enter a s...
(ENGLISH_WORD_REPEAT_RULE)
[uncategorized] ~585-~585: The noun “decision-making” (= the process of deciding something) is spelled with a hyphen.
Context: ...e primary metric. This will be the main decision making metric. It is usually good practice to ...
(DECISION_MAKING)
[uncategorized] ~598-~598: Possible missing comma found.
Context: ...xperimentation is not a one-off activity but a core part of how the organisation bui...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~598-~598: Do not mix variants of the same word (‘organisation’ and ‘organization’) within a single text.
Context: ...off activity but a core part of how the organisation builds products. ### P-value The p...
(EN_WORD_COHERENCY)
[style] ~622-~622: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...p explain why a primary metric changed. Secondary metrics can also be used to reduce the ...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~624-~624: Possible missing comma found.
Context: ...onitoring average order value and gross conversions while the primary metric is net convers...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~636-~636: Possible missing comma found.
Context: ...* Discounts shown only to the treatment group affecting reference prices for control ...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~648-~648: The expression ‘how to spread’ requires the preposition ‘to’.
Context: ... ### Standard deviation A measure of how spread out or variable your data is. It tells ...
(HOW_TO_VERB)
[uncategorized] ~665-~665: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...effect of the planned size or larger. High power means you are less likely to miss real ...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~666-~666: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... likely to miss real improvements; very low power leads to many inconclusive or misleadin...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[formatting] ~718-~718: Insert a comma before quoting reported speech: “states, “”…
Context: ...t. ### Twyman’s law A heuristic that states “the more surprising a result looks, the ...
(SAID_COMMA_SPEECH)
[style] ~727-~727: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...anges based on spurious results. ### Type II error Failing to reject the null h...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~752-~752: Do not mix variants of the same word (‘standardise’ and ‘standardize’) within a single text.
Context: ...me traffic. --- ## Z ### Z-score A standardised value expressing how many standard devi...
(EN_WORD_COHERENCY)
docs/platform-release-notes/2025/04.mdx
[typographical] ~21-~21: It appears that a comma is missing.
Context: ...t-reports/#decisions-overview). In this release we are introducing a few improvements t...
(DURING_THAT_TIME_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Yarn Build
🔇 Additional comments (21)
docs/platform-release-notes/2024/12.mdx (3)
21-22: LGTM!The link update correctly reflects the new documentation structure under
/experiments/.
29-30: LGTM!The link update aligns with the new
/experiments/path structure, and the comma addition improves readability.
38-39: The link correctly points to the "Analysis methods" section.The target file exists and the
#analysis-methodsanchor is created by the markdown heading in the experiments overview page, allowing direct navigation to the analysis methods section.docs/Third-party-integrations/SSO/_category_.json (1)
1-6: LGTM!Valid Docusaurus category configuration. The SSO category will appear as a collapsible section within the Third-party-integrations section.
docs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignments/_custom-assignments.mdx (1)
43-43: Link path update is consistent with the restructuring.The hyperlink correctly points to the new documentation path structure.
docs/APIs-and-SDKs/SDK-Documentation/basic-usage/overriding/_overriding.mdx (1)
31-31: Link path update is correct.The hyperlink update to
/docs/APIs-and-SDKs/SDK-Documentation/Advanced/custom-assignmentsaligns with the documentation restructuring and correctly references the custom-assignments documentation reviewed in this PR.docs/APIs-and-SDKs/SDK-Documentation/Advanced/code-as-a-variant-variable.mdx (1)
5-5: Link path update is correct and anchor verified.The hyperlink path has been properly updated from
/docs/SDK-Documentation/to/docs/APIs-and-SDKs/SDK-Documentation/, aligning with the documentation restructuring. The#treatment-variablesanchor exists at the target location (docs/APIs-and-SDKs/SDK-Documentation/basic-usage.mdx, line 26) as a properly formatted Markdown header, so the link is not broken.docs/get-started.mdx (1)
42-43: Duplicate links point to the same destination.Lines 42 and 43 both link to the same page (
./APIs-and-SDKs/SDK-API/absmartly-collector-api), but describe different content ("SDK API references" vs "full platform API reference"). Verify this is intentional or update one of the links to point to the correct destination.docs/APIs-and-SDKs/SDK-Documentation/Advanced/context-attributes/setting-context-attributes/_setting-context-attributes.mdx (1)
37-37: LGTM!The link update to the new configuration path is consistent with the broader documentation restructuring in this PR.
docs/APIs-and-SDKs/Web-Console-API/Examples/Slack-Integration/index.mdx (2)
194-205: LGTM!The experiment event links have been correctly updated to the new configuration path structure, maintaining consistent anchor references.
249-249: LGTM!The payloads reference link update is consistent with the other link migrations in this file.
docs/APIs-and-SDKs/Web-Console-API/_category_.json (1)
5-5: Verify category rename is reflected elsewhere.The label has been changed from "Web Console API" to "Platform API". Ensure any documentation or navigation references to "Web Console API" have been updated to use the new terminology for consistency.
docs/APIs-and-SDKs/SDK-Documentation/Advanced/using-custom-fields-in-your-code.mdx (1)
3-5: LGTM!The documentation links have been consistently updated to the new configuration paths. All paths use consistent lowercase casing and align with the broader documentation restructuring.
Also applies to: 21-22, 34-34, 67-67
docs/Third-party-integrations/SSO/Google SAML Setup.mdx (1)
1-1: LGTM!The import path correctly uses three levels of parent directory traversal (
../../../) to reachsrc/components/Imagefrom thedocs/Third-party-integrations/SSO/directory.docs/Third-party-integrations/SSO/Okta SAML Setup.mdx (1)
1-1: LGTM!The import path update is consistent with the other SSO documentation files and correctly resolves the
Imagecomponent from the file's location.docs/APIs-and-SDKs/_category_.json (1)
1-6: LGTM!The category configuration is valid and follows Docusaurus conventions. The
collapsed: truedefault is sensible for a category that likely contains many nested items.docs/Third-party-integrations/SSO/Azure SAML Setup.mdx (1)
1-1: LGTM!The import path update correctly reflects the file's location within the directory structure. Three levels up (
../../../) fromdocs/Third-party-integrations/SSO/reaches the repository root, then descends intosrc/components/Image.docs/Third-party-integrations/Segment-Integration/index.mdx (1)
107-107: LGTM - Link path correctly updated.The SDK documentation path is correctly migrated to the new
/docs/APIs-and-SDKs/SDK-Documentation/structure.docs/Third-party-integrations/Zuko-Integration.mdx (2)
1-4: LGTM - Front matter addition.Adding
sidebar_position: 3properly configures the navigation ordering for this integration guide.
22-22: LGTM - SDK documentation links correctly updated.Both links are correctly migrated to the new
/docs/APIs-and-SDKs/SDK-Documentation/path structure, maintaining consistency with the broader documentation reorganisation.Also applies to: 68-68
docs/platform-release-notes/2025/02.mdx (1)
13-13: Link path update is correct.The target file
docs/web-console-docs/experiments/Experiment-reports.mdxexists with the correct casing and the link path properly reflects the documentation restructuring.
| /docs/APIs-and-SDKs/SDK-API*.mdx | ||
| /docs/Web-Console-API/*.mdx | ||
| /docs/SDK-API/*.js | ||
| /docs/APIs-and-SDKs/SDK-API*.js | ||
| /docs/Web-Console-API/*.js |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check the actual directory structure for SDK API files
echo "=== Checking for SDK-API directory ==="
fd -t d '^SDK-API$' docs/APIs-and-SDKs/ 2>/dev/null || echo "No SDK-API directory found"
echo ""
echo "=== Checking for files starting with SDK-API in APIs-and-SDKs (depth 1) ==="
fd -t f '^SDK-API.*\.(mdx|js)$' docs/APIs-and-SDKs/ --max-depth 1 2>/dev/null || echo "No matching files at depth 1"
echo ""
echo "=== Checking for files inside SDK-API subdirectory ==="
if [ -d "docs/APIs-and-SDKs/SDK-API" ]; then
find docs/APIs-and-SDKs/SDK-API -type f \( -name "*.mdx" -o -name "*.js" \) | head -20
else
echo "SDK-API subdirectory not found"
fi
echo ""
echo "=== Checking directory structure in docs/APIs-and-SDKs ==="
ls -la docs/APIs-and-SDKs/ 2>/dev/null || echo "docs/APIs-and-SDKs directory not found"
echo ""
echo "=== Checking for Web-Console-API directory ==="
if [ -d "docs/Web-Console-API" ]; then
ls -la docs/Web-Console-API/ | head -20
echo "..."
else
echo "Web-Console-API directory not found"
fiRepository: absmartly/docs
Length of output: 821
Correct the gitignore patterns for SDK-API files—they will not match subdirectory contents.
The directory structure confirms SDK-API is a subdirectory (docs/APIs-and-SDKs/SDK-API/), but the new gitignore patterns omit the slash before the wildcard. The pattern /docs/APIs-and-SDKs/SDK-API*.mdx matches only files named like SDK-API-something.mdx directly in /docs/APIs-and-SDKs/, not files inside the SDK-API/ subdirectory. Auto-generated files in the subdirectory will be committed.
Lines 10 and 12 should be:
/docs/APIs-and-SDKs/SDK-API/*.mdx/docs/APIs-and-SDKs/SDK-API/*.js
🤖 Prompt for AI Agents
In @.gitignore around lines 10 - 13, The gitignore entries for SDK-API files use
patterns "/docs/APIs-and-SDKs/SDK-API*.mdx" and
"/docs/APIs-and-SDKs/SDK-API*.js" which only match files named like
"SDK-API*.mdx" in the parent directory rather than files inside the SDK-API
subdirectory; update those patterns so they target the subdirectory contents by
inserting the missing slash before the wildcard (i.e., change the "SDK-API*.mdx"
and "SDK-API*.js" patterns to use "SDK-API/*" semantics to ignore files inside
the SDK-API directory).
| The following examples assume that an [Api Key with SDK permissions](/docs/web-console-docs/configuration/settings#api-keys), | ||
| an [Application](/docs/web-console-docs/Configuration/Applications), and an | ||
| [Environment](/docs/web-console-docs/configuration/settings#environments) have been created in the ABsmartly Web Console. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent casing in documentation link path.
Line 38 uses /docs/web-console-docs/Configuration/Applications with a capital "C" in "Configuration", whilst lines 37 and 39 use lowercase /docs/web-console-docs/configuration/settings. This inconsistency may cause broken links on case-sensitive platforms or file systems.
Proposed fix
The following examples assume that an [Api Key with SDK permissions](/docs/web-console-docs/configuration/settings#api-keys),
-an [Application](/docs/web-console-docs/Configuration/Applications), and an
+an [Application](/docs/web-console-docs/configuration/applications), and an
[Environment](/docs/web-console-docs/configuration/settings#environments) have been created in the ABsmartly Web Console.🤖 Prompt for AI Agents
In
@docs/APIs-and-SDKs/SDK-Documentation/getting-started/import-and-initialize/_import-and-initialize.mdx
around lines 37 - 39, The documentation contains an inconsistent URL casing:
replace the link "/docs/web-console-docs/Configuration/Applications" with the
lowercase path "/docs/web-console-docs/configuration/applications" so it matches
the other "/docs/web-console-docs/configuration/..." links and avoids broken
links on case-sensitive systems; update the link target in the text that
references "Applications" (the anchor that currently uses
"Configuration/Applications") to use the lowercase "configuration/applications".
| { | ||
| "position": 50, | ||
| "collapsible": true, | ||
| "collapsed": true, | ||
| "label": "Custom Integration Examples" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect filename: Docusaurus will not recognise this category configuration.
The filename _category_ copy.json appears to be from a file duplication operation. Docusaurus requires the file to be named exactly _category_.json for category configuration to work.
Rename the file to _category_.json to ensure the "Custom Integration Examples" category appears correctly in the navigation sidebar.
🤖 Prompt for AI Agents
In @docs/APIs-and-SDKs/Web-Console-API/Examples/_category_ copy.json around
lines 1 - 6, The category config filename is incorrect: rename the file
currently named `_category_ copy.json` to exactly `_category_.json` so
Docusaurus recognises the category configuration (the JSON content with "label":
"Custom Integration Examples", "position": 50, "collapsible": true, "collapsed":
true should remain unchanged).
| ABsmartly is an advanced experimentation and feature flagging platform designed to help teams validate ideas quickly, measure impact reliably and roll out changes safely. The platform provides everything you need to design experiments, expose users consistently, | ||
| measure impact with robust metrics and make evidence based product decisions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor text quality improvements needed.
The static analysis tool flagged "evidence based" which should be hyphenated as "evidence-based" when used as a compound adjective.
Suggested fix
-measure impact with robust metrics and make evidence based product decisions.
+measure impact with robust metrics and make evidence-based product decisions.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ABsmartly is an advanced experimentation and feature flagging platform designed to help teams validate ideas quickly, measure impact reliably and roll out changes safely. The platform provides everything you need to design experiments, expose users consistently, | |
| measure impact with robust metrics and make evidence based product decisions. | |
| ABsmartly is an advanced experimentation and feature flagging platform designed to help teams validate ideas quickly, measure impact reliably and roll out changes safely. The platform provides everything you need to design experiments, expose users consistently, | |
| measure impact with robust metrics and make evidence-based product decisions. |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~10-~10: This expression is usually spelled with a hyphen.
Context: ...ure impact with robust metrics and make evidence based product decisions. This documentation ...
(BASED_HYPHEN)
🤖 Prompt for AI Agents
In @docs/get-started.mdx around lines 9 - 10, Replace the un-hyphenated compound
adjective "evidence based" with the hyphenated form "evidence-based" in the
sentence that reads "measure impact with robust metrics and make evidence based
product decisions" so the phrase becomes "evidence-based product decisions";
ensure spacing and punctuation remain correct.
| ### Integrations | ||
| Using the platform API, ABsmartly can integrate with any tools you already use for analytics, communication and authentication. | ||
|
|
||
| This section includes from sample integration: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typographical error: "from sample integration" appears incomplete.
This should likely read "sample integrations" or "the following sample integrations".
Suggested fix
-This section includes from sample integration:
+This section includes sample integrations:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| This section includes from sample integration: | |
| This section includes sample integrations: |
🤖 Prompt for AI Agents
In @docs/get-started.mdx at line 52, Fix the typographical phrase "This section
includes from sample integration:" in docs/get-started.mdx by replacing it with
a clear phrase such as "This section includes sample integrations:" or "This
section includes the following sample integrations:" so the sentence reads
grammatically correct and matches the surrounding documentation tone.
| Peeking refers to looking at experiment results before the test is completed, especially to check for statistical significance and | ||
| making decisions based on those early results without proper statistical adjustments. | ||
|
|
||
| Peeking inflates the [false positive rate](##false-discovery-rate-fdr), making it more likely that you'll incorrectly conclude a treatment is effective when it’s not. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken anchor link: double hash symbols.
The anchor reference ##false-discovery-rate-fdr uses double ## which will create a malformed link. Markdown anchor links should use a single #.
🔧 Proposed fix
-Peeking inflates the [false positive rate](##false-discovery-rate-fdr), making it more likely that you'll incorrectly conclude a treatment is effective when it's not.
+Peeking inflates the [false positive rate](#false-discovery-rate-fdr), making it more likely that you'll incorrectly conclude a treatment is effective when it's not.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Peeking inflates the [false positive rate](##false-discovery-rate-fdr), making it more likely that you'll incorrectly conclude a treatment is effective when it’s not. | |
| Peeking inflates the [false positive rate](#false-discovery-rate-fdr), making it more likely that you'll incorrectly conclude a treatment is effective when it's not. |
🤖 Prompt for AI Agents
In @docs/glossary.mdx at line 553, The anchor link in the sentence uses a
double-hash `##false-discovery-rate-fdr` which produces a malformed link; update
the anchor reference in docs/glossary.mdx (the sentence "Peeking inflates the
[false positive rate](##false-discovery-rate-fdr)...") to use a single hash
`#false-discovery-rate-fdr` so the Markdown link points correctly to the
"false-discovery-rate-fdr" heading.
|
|
||
| ### Sample size | ||
| The number of visitors included in an experiment. | ||
| Sample size, together with [variance](#variance) and [effect size](#effect-size), determines [power](##experimentation-power) and the time needed to reach a conclusion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken anchor link: double hash symbols.
The anchor reference ##experimentation-power uses double ## which will create a malformed link. Markdown anchor links should use a single #.
🔧 Proposed fix
-Sample size, together with [variance](#variance) and [effect size](#effect-size), determines [power](##experimentation-power) and the time needed to reach a conclusion.
+Sample size, together with [variance](#variance) and [effect size](#effect-size), determines [power](#experimentation-power) and the time needed to reach a conclusion.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Sample size, together with [variance](#variance) and [effect size](#effect-size), determines [power](##experimentation-power) and the time needed to reach a conclusion. | |
| Sample size, together with [variance](#variance) and [effect size](#effect-size), determines [power](#experimentation-power) and the time needed to reach a conclusion. |
🤖 Prompt for AI Agents
In @docs/glossary.mdx at line 618, The anchor link in the sentence "Sample size,
together with [variance](#variance) and [effect size](#effect-size), determines
[power](##experimentation-power)..." uses a double `##`
(`##experimentation-power`), producing a malformed anchor; replace
`##experimentation-power` with a single-hash anchor `#experimentation-power` so
the link correctly points to the "experimentation-power" heading.
|
|
||
| ### Standard deviation | ||
| A measure of how spread out or variable your data is. It tells you, on average, how far each data point is from the mean (average). | ||
| Standard deviation is central to many formulas for [confidence intervals](#confidnce-interval), [z-scores](#z-score) and sample size calculations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broken anchor link: typo in target.
The anchor link #confidnce-interval contains a typo — missing the letter 'e' in "confidence". This will result in a broken link, as the actual section heading is "Confidence interval" (line 89), which generates the anchor #confidence-interval.
🔧 Proposed fix
-Standard deviation is central to many formulas for [confidence intervals](#confidnce-interval), [z-scores](#z-score) and sample size calculations.
+Standard deviation is central to many formulas for [confidence intervals](#confidence-interval), [z-scores](#z-score) and sample size calculations.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Standard deviation is central to many formulas for [confidence intervals](#confidnce-interval), [z-scores](#z-score) and sample size calculations. | |
| Standard deviation is central to many formulas for [confidence intervals](#confidence-interval), [z-scores](#z-score) and sample size calculations. |
🤖 Prompt for AI Agents
In @docs/glossary.mdx at line 649, The anchor link in the sentence currently
points to `#confidnce-interval` (typo: missing 'e') which breaks navigation;
update the anchor target to `#confidence-interval` so the link points to the
actual "Confidence interval" heading and verify the displayed link text remains
unchanged.
| After the Velocity Report, we are also excited to launch the second part | ||
| of our reports, the | ||
| [Decisions Reports (Beta)](/docs/web-console-docs/experiment-reports/#decisions-overview). | ||
| [Decisions Reports (Beta)](/docs/web-console-docs/experiments/experiment-reports/#decisions-overview). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check for inconsistent experiment-reports path casing in web-console-docs links
echo "=== Searching for all experiment-reports paths in markdown files ==="
rg -n "experiment-reports" --type md -i
echo -e "\n=== Checking 02.mdx line 13 ==="
sed -n '10,15p' docs/platform-release-notes/2025/02.mdx
echo -e "\n=== Checking 03.mdx line 33 ==="
sed -n '30,36p' docs/platform-release-notes/2025/03.mdxRepository: absmartly/docs
Length of output: 891
🏁 Script executed:
#!/bin/bash
# Check which casing is correct for the experiment-reports path
echo "=== Searching for experiment-reports files/dirs (case-sensitive) ==="
find docs -name "*xperiment-reports*" -o -name "*xperiment-reports*" 2>/dev/null | head -20
echo -e "\n=== Checking web-console-docs/experiments directory ==="
find docs -type d -path "*/web-console-docs/experiments" 2>/dev/null
echo -e "\n=== Listing contents of experiments directory (if exists) ==="
ls -la docs/web-console-docs/experiments/ 2>/dev/null || echo "Directory not found"
echo -e "\n=== Searching for all paths with Experiment or experiment in release notes ==="
rg "Experiment-reports|experiment-reports" docs/platform-release-notes/2025/ -nRepository: absmartly/docs
Length of output: 1858
Fix path casing to match the actual file: Experiment-reports.mdx.
The link at line 33 uses lowercase experiment-reports, but the actual file is capitalised as Experiment-reports.mdx. Use /docs/web-console-docs/experiments/Experiment-reports/#decisions-overview instead. Note that 02.mdx (line 13) correctly uses the capitalised version; 04.mdx (line 21) also has this same casing error.
🤖 Prompt for AI Agents
In @docs/platform-release-notes/2025/03.mdx at line 33, Update the broken links
that use lowercase "experiment-reports" to the correct capitalised path
"Experiment-reports": replace occurrences like
"/docs/web-console-docs/experiments/experiment-reports/#decisions-overview" with
"/docs/web-console-docs/experiments/Experiment-reports/#decisions-overview" in
the affected release notes files (the current file where the diff shows the link
and the other file noted with the same error).
| - **Secondary & Guardrail metrics:** Like with the primary metric, you can now see the experiment results on the secondary and guardrail metrics. This helps understand the rationale behind each decision. | ||
| - **Health checks:** We are now surfacing any [health check violations](/docs/web-console-docs/experiments/Experiment-health-checks) in the reports so you can get better insights into the quality of each decision. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, run the provided search for health-checks files
fd -i "health-checks" --type fRepository: absmartly/docs
Length of output: 298
🏁 Script executed:
# Search for documentation paths related to experiments and health checks
rg "Experiment-health-checks|experiment-health-checks|health-checks" --type md --type mdx -iRepository: absmartly/docs
Length of output: 85
🏁 Script executed:
# List files in the web-console-docs/experiments directory to understand actual file names
fd -t f -t d "experiments" docs/Repository: absmartly/docs
Length of output: 151
🏁 Script executed:
# Check for other paths in the release notes file to understand casing patterns
head -50 docs/platform-release-notes/2025/04.mdx | rg "\/docs\/" -oRepository: absmartly/docs
Length of output: 132
🏁 Script executed:
# Search for experiment-reports to check the casing mentioned in the review
fd -i "experiment-reports" --type fRepository: absmartly/docs
Length of output: 114
🏁 Script executed:
# Look for all doc links in the 04.mdx file to see casing patterns
rg -a "\[.*\]\(/docs/" docs/platform-release-notes/2025/04.mdxRepository: absmartly/docs
Length of output: 516
🏁 Script executed:
# List all files in web-console-docs/experiments to see naming patterns
ls -1 docs/web-console-docs/experiments/Repository: absmartly/docs
Length of output: 325
Fix inconsistent path casing in experiment-reports link.
The health checks path is correct (Experiment-health-checks matches the actual filename), but the experiment-reports link uses incorrect casing. The file is named Experiment-reports.mdx, so the link should be /docs/web-console-docs/experiments/Experiment-reports/#decisions-overview (capitalised) rather than experiment-reports (lowercase) to match the documentation file structure consistently.
🤖 Prompt for AI Agents
In @docs/platform-release-notes/2025/04.mdx around lines 23 - 24, The experiment
reports link uses incorrect casing; update the href string
"/docs/web-console-docs/experiments/experiment-reports/#decisions-overview" to
use the proper filename casing
"/docs/web-console-docs/experiments/Experiment-reports/#decisions-overview" so
it matches the actual file `Experiment-reports.mdx` and preserves the
"#decisions-overview" anchor.
This PR fixes the small conflicts from the new knowledge base PR with a merge commit.
Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.