From bcc4251d7cc4a651a49a95ed2360183cee3196c0 Mon Sep 17 00:00:00 2001 From: Shibu Date: Thu, 30 Apr 2026 22:50:52 +0530 Subject: [PATCH 01/51] =?UTF-8?q?fix:=20add=20redirects=20for=20/docs/pris?= =?UTF-8?q?m/*=20=E2=86=92=20/docs/command-center/*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prism AI Gateway was renamed to Command Center (commit 6c6f22c) but no URL redirects were added, causing 16 pages to 404. Co-Authored-By: Claude Sonnet 4.6 --- src/lib/redirects.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lib/redirects.ts b/src/lib/redirects.ts index 5de99cde..46a9d940 100644 --- a/src/lib/redirects.ts +++ b/src/lib/redirects.ts @@ -1,6 +1,22 @@ // Auto-generated redirect map: old Mintlify URLs → new docs URLs // 275 redirects from futureagi.mintlify.app export const redirectMap: Record = { + '/docs/prism': '/docs/command-center', + '/docs/prism/concepts/api-reference': '/docs/command-center/concepts/api-reference', + '/docs/prism/concepts/configuration': '/docs/command-center/concepts/configuration', + '/docs/prism/concepts/core': '/docs/command-center/concepts/core', + '/docs/prism/concepts/platform-integration': '/docs/command-center/concepts/platform-integration', + '/docs/prism/deployment/self-hosted': '/docs/command-center/deployment/self-hosted', + '/docs/prism/features/caching': '/docs/command-center/features/caching', + '/docs/prism/features/cost-tracking': '/docs/command-center/features/cost-tracking', + '/docs/prism/features/guardrails': '/docs/command-center/features/guardrails', + '/docs/prism/features/mcp-a2a': '/docs/command-center/features/mcp-a2a', + '/docs/prism/features/providers': '/docs/command-center/features/providers', + '/docs/prism/features/rate-limiting': '/docs/command-center/features/rate-limiting', + '/docs/prism/features/routing': '/docs/command-center/features/routing', + '/docs/prism/features/shadow-experiments': '/docs/command-center/features/shadow-experiments', + '/docs/prism/features/streaming': '/docs/command-center/features/streaming', + '/docs/prism/quickstart': '/docs/command-center/quickstart', '/admin-settings': '/docs/admin-settings', '/api-reference/agent-definitions/create-agent-definition': '/docs/api/agent-definitions/createagentdefinition', '/api-reference/agent-versions/create-new-version-of-agent': '/docs/api/agent-versions/createagentversion', From 740341ff09852a8232dbb593ef0dac820feced25 Mon Sep 17 00:00:00 2001 From: Shibu Date: Fri, 1 May 2026 00:26:16 +0530 Subject: [PATCH 02/51] =?UTF-8?q?fix:=20resolve=20all=20404s=20=E2=80=94?= =?UTF-8?q?=20add=2071=20redirects,=20fix=2047=20dead=20redirect=20targets?= =?UTF-8?q?,=20update=2027=20MDX=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root causes: - Suhani Nagpal (8c7b7f8, Mar 25): deleted 116 pages in "orphan links cleanup" without adding redirects - hadarishav (6c6f22c, Apr 22): renamed /docs/prism/* → /docs/command-center/* without redirects Changes: - src/lib/redirects.ts: added 71 new redirect entries covering old prism, tracing/manual, observability, quickstart, prompt-workbench, and other deleted paths; fixed 47 existing redirect entries whose targets had themselves been deleted (chained 404s), correcting them to current valid pages - 27 MDX source files: fixed broken internal href links pointing to deleted/moved paths (evaluation/features/groups, tracing/manual/*, observe/voice/set-up, prompt-workbench, optimization/optimizers/overview, and others) Verified clean: - 0 broken nav links - 0 broken content links (313/313 unique internal hrefs resolve) - 0 dead redirect targets (all 306 redirects point to real pages) Co-Authored-By: Claude Sonnet 4.6 --- src/lib/redirects.ts | 118 +++++++++++------- src/pages/docs/admin-settings/api-keys.mdx | 2 +- .../docs/admin-settings/integrations.mdx | 2 +- .../docs/cookbook/decrease-hallucination.mdx | 2 +- .../quickstart/compare-optimizers.mdx | 2 +- .../quickstart/custom-eval-metrics.mdx | 2 +- .../quickstart/dataset-annotation.mdx | 2 +- .../cookbook/quickstart/manual-tracing.mdx | 4 +- .../quickstart/prompt-optimization.mdx | 4 +- src/pages/docs/dataset/features/create.mdx | 2 +- .../docs/dataset/features/experiments.mdx | 2 +- .../docs/evaluation/concepts/eval-types.mdx | 2 +- .../concepts/understanding-evaluation.mdx | 4 +- src/pages/docs/evaluation/features/cicd.mdx | 2 +- .../evaluation/features/custom-models.mdx | 2 +- src/pages/docs/evaluation/features/custom.mdx | 2 +- .../docs/evaluation/features/evaluate.mdx | 2 +- .../evaluation/features/futureagi-models.mdx | 2 +- src/pages/docs/evaluation/index.mdx | 2 +- src/pages/docs/integrations/index.mdx | 2 +- .../docs/observe/features/quickstart.mdx | 2 +- src/pages/docs/observe/features/session.mdx | 2 +- .../docs/prompt/features/linked-traces.mdx | 4 +- src/pages/docs/quickstart/prompts.mdx | 2 +- .../docs/quickstart/setup-observability.mdx | 6 +- src/pages/docs/sdk/annotation-queues.mdx | 2 +- src/pages/docs/sdk/tracing.mdx | 2 +- .../docs/simulation/features/voice-replay.mdx | 8 +- 28 files changed, 107 insertions(+), 83 deletions(-) diff --git a/src/lib/redirects.ts b/src/lib/redirects.ts index 46a9d940..100ced32 100644 --- a/src/lib/redirects.ts +++ b/src/lib/redirects.ts @@ -1,6 +1,30 @@ // Auto-generated redirect map: old Mintlify URLs → new docs URLs // 275 redirects from futureagi.mintlify.app export const redirectMap: Record = { + '/docs/observe/features/annotation-queue-using-sdk': '/docs/annotations/sdk/annotation-queue-using-sdk', + '/docs/observe/voice/set-up': '/docs/observe/features/voice', + '/docs/quickstart/installation': '/docs/installation', + '/docs/observability': '/docs/tracing/auto', + '/docs/tracing': '/docs/tracing/auto', + '/docs/tracing/auto-overview': '/docs/tracing/auto', + '/docs/evaluation/builtin/eval-context-retrieval': '/docs/evaluation/builtin', + '/docs/evaluation/features/groups': '/docs/evaluation', + '/docs/optimization/optimizers/overview': '/docs/optimization', + '/docs/dataset/add-annotations': '/docs/dataset/features/annotate', + '/docs/knowledge-base/concept': '/docs/knowledge-base/concepts/concept', + '/docs/prompt-workbench': '/docs/prompt', + '/docs/prompt-workbench/sdk': '/docs/prompt/features/sdk', + '/docs/tracing/manual/log-prompt-templates': '/docs/observe/features/manual-tracing/log-prompt-templates', + '/docs/tracing/manual/in-line-evals': '/docs/observe/features/manual-tracing/in-line-evals', + '/docs/simulation/set-up/scenarios': '/docs/simulation/concepts/scenarios', + '/docs/simulation/set-up/agent-definition': '/docs/simulation/concepts/agent-definition', + '/docs/tracing/concepts/components': '/docs/tracing/concepts', + '/docs/tracing/manual/add-attributes-metadata-tags': '/docs/observe/features/manual-tracing/add-attributes-metadata-tags', + '/docs/tracing/manual/add-events-exceptions-status': '/docs/observe/features/manual-tracing/add-events-exceptions-status', + '/docs/tracing/manual/advanced-tracing-examples': '/docs/observe/features/manual-tracing/advanced-tracing-examples', + '/docs/tracing/manual/langfuse-integration': '/docs/observe/features/manual-tracing/langfuse-integration', + '/docs/tracing/manual/set-session-user-id': '/docs/observe/features/manual-tracing/set-session-user-id', + '/docs/tracing/manual/set-up-tracing': '/docs/observe/features/manual-tracing/set-up-tracing', '/docs/prism': '/docs/command-center', '/docs/prism/concepts/api-reference': '/docs/command-center/concepts/api-reference', '/docs/prism/concepts/configuration': '/docs/command-center/concepts/configuration', @@ -34,7 +58,7 @@ export const redirectMap: Record = { '/cookbook/ai-evaluation/llm-judge': '/docs/cookbook', '/cookbook/ai-evaluation/local-metrics': '/docs/cookbook', '/cookbook/ai-evaluation/multimodal-judge': '/docs/cookbook', - '/cookbook/ai-evaluation/overview': '/docs/optimization/optimizers/overview', + '/cookbook/ai-evaluation/overview': '/docs/optimization', '/cookbook/ai-evaluation/rag-evaluation': '/docs/cookbook/quickstart/rag-evaluation', '/cookbook/ai-evaluation/streaming': '/docs/command-center/features/streaming', '/cookbook/cookbook1/AI-Evaluation-for-Meeting-Summarization': '/docs/cookbook/meeting-summarization', @@ -75,8 +99,8 @@ export const redirectMap: Record = { '/future-agi/get-started/evaluation/builtin-evals/chunk-utilization': '/docs/evaluation/builtin/chunk-utilization', '/future-agi/get-started/evaluation/builtin-evals/clinically-inappropriate-tone': '/docs/evaluation/builtin/clinically-inappropriate-tone', '/future-agi/get-started/evaluation/builtin-evals/completeness': '/docs/evaluation/builtin/completeness', - '/future-agi/get-started/evaluation/builtin-evals/content-moderation': '/docs/evaluation/builtin/content-moderation', - '/future-agi/get-started/evaluation/builtin-evals/content-safety-violation': '/docs/evaluation/builtin/content-safety-violation', + '/future-agi/get-started/evaluation/builtin-evals/content-moderation': '/docs/evaluation/builtin', + '/future-agi/get-started/evaluation/builtin-evals/content-safety-violation': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/context-adherence': '/docs/evaluation/builtin/context-adherence', '/future-agi/get-started/evaluation/builtin-evals/context-relevance': '/docs/evaluation/builtin/context-relevance', '/future-agi/get-started/evaluation/builtin-evals/conversation-coherence': '/docs/evaluation/builtin/conversation-coherence', @@ -86,15 +110,15 @@ export const redirectMap: Record = { '/future-agi/get-started/evaluation/builtin-evals/detect-hallucination': '/docs/evaluation/builtin/detect-hallucination', '/future-agi/get-started/evaluation/builtin-evals/embedding-similarity': '/docs/evaluation/builtin/embedding-similarity', '/future-agi/get-started/evaluation/builtin-evals/eval-ranking': '/docs/evaluation/builtin/eval-ranking', - '/future-agi/get-started/evaluation/builtin-evals/factual-accuracy': '/docs/evaluation/builtin/factual-accuracy', + '/future-agi/get-started/evaluation/builtin-evals/factual-accuracy': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/fuzzy-match': '/docs/evaluation/builtin/fuzzy-match', '/future-agi/get-started/evaluation/builtin-evals/groundedness': '/docs/evaluation/builtin/groundedness', '/future-agi/get-started/evaluation/builtin-evals/hit-rate': '/docs/evaluation/builtin/hit-rate', '/future-agi/get-started/evaluation/builtin-evals/instruction-adherence': '/docs/evaluation/builtin/instruction-adherence', - '/future-agi/get-started/evaluation/builtin-evals/is-compliant': '/docs/evaluation/builtin/is-compliant', + '/future-agi/get-started/evaluation/builtin-evals/is-compliant': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/is-concise': '/docs/evaluation/builtin/is-concise', '/future-agi/get-started/evaluation/builtin-evals/is-email': '/docs/evaluation/builtin/is-email', - '/future-agi/get-started/evaluation/builtin-evals/is-factually-consistent': '/docs/evaluation/builtin/is-factually-consistent', + '/future-agi/get-started/evaluation/builtin-evals/is-factually-consistent': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/is-good-summary': '/docs/evaluation/builtin/is-good-summary', '/future-agi/get-started/evaluation/builtin-evals/is-harmful-advice': '/docs/evaluation/builtin/is-harmful-advice', '/future-agi/get-started/evaluation/builtin-evals/is-helpful': '/docs/evaluation/builtin/is-helpful', @@ -102,7 +126,7 @@ export const redirectMap: Record = { '/future-agi/get-started/evaluation/builtin-evals/is-json': '/docs/evaluation/builtin/is-json', '/future-agi/get-started/evaluation/builtin-evals/is-polite': '/docs/evaluation/builtin/is-polite', '/future-agi/get-started/evaluation/builtin-evals/lavenshtein-similarity': '/docs/evaluation/builtin/lavenshtein-similarity', - '/future-agi/get-started/evaluation/builtin-evals/length-evals': '/docs/evaluation/builtin/length-evals', + '/future-agi/get-started/evaluation/builtin-evals/length-evals': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/llm-function-calling': '/docs/evaluation/builtin/llm-function-calling', '/future-agi/get-started/evaluation/builtin-evals/mrr': '/docs/evaluation/builtin/mrr', '/future-agi/get-started/evaluation/builtin-evals/ndcg-at-k': '/docs/evaluation/builtin/ndcg-at-k', @@ -118,7 +142,7 @@ export const redirectMap: Record = { '/future-agi/get-started/evaluation/builtin-evals/precision-at-k': '/docs/evaluation/builtin/precision-at-k', '/future-agi/get-started/evaluation/builtin-evals/prompt-injection': '/docs/evaluation/builtin/prompt-injection', '/future-agi/get-started/evaluation/builtin-evals/recall-at-k': '/docs/evaluation/builtin/recall-at-k', - '/future-agi/get-started/evaluation/builtin-evals/recall-score': '/docs/evaluation/builtin/recall-score', + '/future-agi/get-started/evaluation/builtin-evals/recall-score': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/builtin-evals/rouge': '/docs/evaluation/builtin/rouge', '/future-agi/get-started/evaluation/builtin-evals/semantic-list-contains': '/docs/evaluation/builtin/semantic-list-contains', '/future-agi/get-started/evaluation/builtin-evals/sexist': '/docs/evaluation/builtin/sexist', @@ -129,44 +153,44 @@ export const redirectMap: Record = { '/future-agi/get-started/evaluation/builtin-evals/tone': '/docs/evaluation/builtin/tone', '/future-agi/get-started/evaluation/builtin-evals/toxicity': '/docs/evaluation/builtin/toxicity', '/future-agi/get-started/evaluation/builtin-evals/translation-accuracy': '/docs/evaluation/builtin/translation-accuracy', - '/future-agi/get-started/evaluation/builtin-evals/valid-links': '/docs/evaluation/builtin/valid-links', + '/future-agi/get-started/evaluation/builtin-evals/valid-links': '/docs/evaluation/builtin', '/future-agi/get-started/evaluation/create-custom-evals': '/docs/evaluation/features/custom', '/future-agi/get-started/evaluation/evaluate-ci-cd-pipeline': '/docs/evaluation/features/cicd', '/future-agi/get-started/evaluation/evaluate-patterns': '/docs/evaluation/features/evaluate', '/future-agi/get-started/evaluation/future-agi-models': '/docs/evaluation/features/futureagi-models', '/future-agi/get-started/evaluation/running-your-first-eval': '/docs/evaluation/features/evaluate', '/future-agi/get-started/evaluation/use-custom-models': '/docs/evaluation/features/custom-models', - '/future-agi/get-started/knowledge-base/concept': '/docs/prompt/concepts/concept', + '/future-agi/get-started/knowledge-base/concept': '/docs/knowledge-base/concepts/concept', '/future-agi/get-started/knowledge-base/how-to/create-kb-using-sdk': '/docs/knowledge-base/features/sdk', '/future-agi/get-started/knowledge-base/how-to/create-kb-using-ui': '/docs/knowledge-base/features/ui', '/future-agi/get-started/knowledge-base/overview': '/docs/knowledge-base', - '/future-agi/get-started/observability/manual-tracing/add-attributes-metadata-tags': '/docs/tracing/manual/add-attributes-metadata-tags', - '/future-agi/get-started/observability/manual-tracing/add-events-exceptions-status': '/docs/tracing/manual/add-events-exceptions-status', - '/future-agi/get-started/observability/manual-tracing/advanced-tracing-examples': '/docs/tracing/manual/advanced-tracing-examples', - '/future-agi/get-started/observability/manual-tracing/annotating-using-api': '/docs/tracing/manual/annotating-using-api', - '/future-agi/get-started/observability/manual-tracing/create-tool-spans': '/docs/tracing/manual/create-tool-spans', - '/future-agi/get-started/observability/manual-tracing/get-current-span-context': '/docs/tracing/manual/get-current-span-context', - '/future-agi/get-started/observability/manual-tracing/in-line-evals': '/docs/tracing/manual/in-line-evals', - '/future-agi/get-started/observability/manual-tracing/instrument-with-traceai-helpers': '/docs/tracing/manual/instrument-with-traceai-helpers', - '/future-agi/get-started/observability/manual-tracing/langfuse-intergation': '/docs/tracing/manual/langfuse-intergation', - '/future-agi/get-started/observability/manual-tracing/log-prompt-templates': '/docs/tracing/manual/log-prompt-templates', - '/future-agi/get-started/observability/manual-tracing/mask-span-attributes': '/docs/tracing/manual/mask-span-attributes', - '/future-agi/get-started/observability/manual-tracing/semantic-conventions': '/docs/tracing/manual/semantic-conventions', - '/future-agi/get-started/observability/manual-tracing/set-session-user-id': '/docs/tracing/manual/set-session-user-id', - '/future-agi/get-started/observability/manual-tracing/set-up-tracing': '/docs/tracing/manual/set-up-tracing', + '/future-agi/get-started/observability/manual-tracing/add-attributes-metadata-tags': '/docs/observe/features/manual-tracing/add-attributes-metadata-tags', + '/future-agi/get-started/observability/manual-tracing/add-events-exceptions-status': '/docs/observe/features/manual-tracing/add-events-exceptions-status', + '/future-agi/get-started/observability/manual-tracing/advanced-tracing-examples': '/docs/observe/features/manual-tracing/advanced-tracing-examples', + '/future-agi/get-started/observability/manual-tracing/annotating-using-api': '/docs/observe/features/manual-tracing/annotating-using-api', + '/future-agi/get-started/observability/manual-tracing/create-tool-spans': '/docs/observe/features/manual-tracing/create-tool-spans', + '/future-agi/get-started/observability/manual-tracing/get-current-span-context': '/docs/observe/features/manual-tracing/get-current-span-context', + '/future-agi/get-started/observability/manual-tracing/in-line-evals': '/docs/observe/features/manual-tracing/in-line-evals', + '/future-agi/get-started/observability/manual-tracing/instrument-with-traceai-helpers': '/docs/observe/features/manual-tracing/instrument-with-traceai-helpers', + '/future-agi/get-started/observability/manual-tracing/langfuse-intergation': '/docs/observe/features/manual-tracing/langfuse-integration', + '/future-agi/get-started/observability/manual-tracing/log-prompt-templates': '/docs/observe/features/manual-tracing/log-prompt-templates', + '/future-agi/get-started/observability/manual-tracing/mask-span-attributes': '/docs/observe/features/manual-tracing/mask-span-attributes', + '/future-agi/get-started/observability/manual-tracing/semantic-conventions': '/docs/observe/features/manual-tracing/semantic-conventions', + '/future-agi/get-started/observability/manual-tracing/set-session-user-id': '/docs/observe/features/manual-tracing/set-session-user-id', + '/future-agi/get-started/observability/manual-tracing/set-up-tracing': '/docs/observe/features/manual-tracing/set-up-tracing', '/future-agi/get-started/optimization/dataset-optimization': '/docs/cookbook/quickstart/dataset-optimization', '/future-agi/get-started/optimization/how-to/using-python-sdk': '/docs/optimization/features/using-python-sdk', '/future-agi/get-started/optimization/optimizers/bayesian-search': '/docs/optimization/optimizers/bayesian-search', '/future-agi/get-started/optimization/optimizers/gepa': '/docs/optimization/optimizers/gepa', '/future-agi/get-started/optimization/optimizers/meta-prompt': '/docs/optimization/optimizers/meta-prompt', - '/future-agi/get-started/optimization/optimizers/overview': '/docs/optimization/optimizers/overview', + '/future-agi/get-started/optimization/optimizers/overview': '/docs/optimization', '/future-agi/get-started/optimization/optimizers/promptwizard': '/docs/optimization/optimizers/promptwizard', '/future-agi/get-started/optimization/optimizers/protegi': '/docs/optimization/optimizers/protegi', '/future-agi/get-started/optimization/optimizers/random-search': '/docs/optimization/optimizers/random-search', '/future-agi/get-started/optimization/overview': '/docs/optimization', '/future-agi/get-started/optimization/quickstart': '/docs/optimization', - '/future-agi/get-started/protect/concept': '/docs/prompt/concepts/concept', - '/future-agi/get-started/protect/how-to': '/docs/protect/how-to', + '/future-agi/get-started/protect/concept': '/docs/protect/concepts/concept', + '/future-agi/get-started/protect/how-to': '/docs/protect/features/run-protect', '/future-agi/get-started/protect/overview': '/docs/protect', '/future-agi/get-started/prototype/evals': '/docs/prototype/features/evals', '/future-agi/get-started/prototype/overview': '/docs/prototype', @@ -179,14 +203,14 @@ export const redirectMap: Record = { '/future-agi/products/observability/concept/spans': '/docs/tracing/concepts/spans', '/future-agi/products/observability/concept/traceai': '/docs/tracing/concepts/traceai', '/future-agi/products/observability/concept/traces': '/docs/tracing/concepts/traces', - '/future-agi/products/observability/overview': '/docs/tracing', + '/future-agi/products/observability/overview': '/docs/tracing/auto', '/future-agi/products/observe/alerts-and-monitors': '/docs/observe/features/alerts', '/future-agi/products/observe/evals': '/docs/observe/features/evals', '/future-agi/products/observe/overview': '/docs/observe', '/future-agi/products/observe/quickstart': '/docs/observe/features/quickstart', '/future-agi/products/observe/session': '/docs/observe/features/session', '/future-agi/products/observe/users': '/docs/observe/features/users', - '/future-agi/products/observe/voice/overview': '/docs/optimization/optimizers/overview', + '/future-agi/products/observe/voice/overview': '/docs/observe/features/voice', '/future-agi/products/observe/voice/quickstart': '/docs/observe/features/quickstart', '/home': '/docs', '/integrations/anthropic': '/docs/integrations/traceai/anthropic', @@ -223,8 +247,8 @@ export const redirectMap: Record = { '/product/agent-compass/quickstart': '/docs/error-feed', '/product/agent-compass/taxonomy': '/docs/error-feed/concepts/taxonomy', '/docs/cookbook/quickstart/agent-compass-debug': '/docs/error-feed', - '/product/annotations/concepts/labels': '/docs/annotations/concepts/labels', - '/product/annotations/concepts/queues': '/docs/annotations/concepts/queues', + '/product/annotations/concepts/labels': '/docs/annotations/features/labels', + '/product/annotations/concepts/queues': '/docs/annotations/features/queues', '/product/annotations/concepts/scores': '/docs/annotations/concepts/scores', '/product/annotations/features/add-items': '/docs/annotations/features/add-items', '/product/annotations/features/analytics': '/docs/annotations/features/analytics', @@ -240,16 +264,16 @@ export const redirectMap: Record = { '/product/annotations/sdk/python': '/docs/annotations/sdk/python', '/product/dataset/how-to/add-rows-to-dataset': '/docs/dataset/features/add-rows', '/product/dataset/how-to/annotate-dataset': '/docs/dataset/features/annotate', - '/product/dataset/how-to/create-dynamic-column/by-executing-code': '/docs/dataset/dynamic-column/by-executing-code', - '/product/dataset/how-to/create-dynamic-column/by-extracting-entities': '/docs/dataset/dynamic-column/by-extracting-entities', - '/product/dataset/how-to/create-dynamic-column/by-extracting-json': '/docs/dataset/dynamic-column/by-extracting-json', - '/product/dataset/how-to/create-dynamic-column/using-api-calls': '/docs/dataset/dynamic-column/using-api-calls', - '/product/dataset/how-to/create-dynamic-column/using-classification': '/docs/dataset/dynamic-column/using-classification', - '/product/dataset/how-to/create-dynamic-column/using-conditional-node': '/docs/dataset/dynamic-column/using-conditional-node', - '/product/dataset/how-to/create-dynamic-column/using-run-prompt': '/docs/dataset/dynamic-column/using-run-prompt', - '/product/dataset/how-to/create-dynamic-column/using-vector-db': '/docs/dataset/dynamic-column/using-vector-db', + '/product/dataset/how-to/create-dynamic-column/by-executing-code': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/by-extracting-entities': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/by-extracting-json': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/using-api-calls': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/using-classification': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/using-conditional-node': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/using-run-prompt': '/docs/dataset/features/add-columns', + '/product/dataset/how-to/create-dynamic-column/using-vector-db': '/docs/dataset/features/add-columns', '/product/dataset/how-to/create-new-dataset': '/docs/dataset/features/create', - '/product/dataset/how-to/create-static-column': '/docs/dataset/features/create-static-column', + '/product/dataset/how-to/create-static-column': '/docs/dataset/features/add-columns', '/product/dataset/how-to/experiments-in-dataset': '/docs/dataset/features/experiments', '/product/dataset/how-to/run-prompt-in-dataset': '/docs/dataset/features/run-prompt', '/product/dataset/overview': '/docs/dataset', @@ -257,19 +281,19 @@ export const redirectMap: Record = { '/product/prompt/how-to/create-prompt-from-scratch': '/docs/prompt/features/create-from-scratch', '/product/prompt/how-to/linked-traces': '/docs/prompt/features/linked-traces', '/product/prompt/how-to/manage-folders': '/docs/prompt/features/folders', - '/product/prompt/how-to/prompt-workbench-using-sdk': '/docs/prompt-workbench/sdk', + '/product/prompt/how-to/prompt-workbench-using-sdk': '/docs/prompt/features/sdk', '/product/prompt/overview': '/docs/prompt', - '/product/simulation/agent-definition': '/docs/simulation/set-up/agent-definition', - '/product/simulation/how-to/chat-simulation-using-sdk': '/docs/simulation/how-to/chat-simulation-using-sdk', + '/product/simulation/agent-definition': '/docs/simulation/concepts/agent-definition', + '/product/simulation/how-to/chat-simulation-using-sdk': '/docs/simulation/features/simulation-using-sdk', '/product/simulation/how-to/evaluate-tool-calling': '/docs/simulation/features/evaluate-tool-calling', '/product/simulation/how-to/fix-my-agent': '/docs/simulation/features/fix-my-agent', '/product/simulation/how-to/observe-to-simulate': '/docs/simulation/features/observe-to-simulate', '/product/simulation/how-to/prompt-simulation': '/docs/simulation/features/prompt-simulation', - '/product/simulation/how-to/voice-observability': '/docs/simulation/how-to/voice-observability', + '/product/simulation/how-to/voice-observability': '/docs/simulation/features/voice-replay', '/product/simulation/overview': '/docs/simulation', - '/product/simulation/personas': '/docs/simulation/set-up/personas', - '/product/simulation/run-tests': '/docs/simulation/set-up/run-tests', - '/product/simulation/scenarios': '/docs/simulation/set-up/scenarios', + '/product/simulation/personas': '/docs/simulation/concepts/personas', + '/product/simulation/run-tests': '/docs/simulation/features/run-simulation', + '/product/simulation/scenarios': '/docs/simulation/concepts/scenarios', '/quickstart/generate-synthetic-data': '/docs/quickstart/generate-synthetic-data', '/quickstart/running-evals-in-simulation': '/docs/quickstart/running-evals-in-simulation', '/quickstart/setup-mcp-server': '/docs/quickstart/setup-mcp-server', diff --git a/src/pages/docs/admin-settings/api-keys.mdx b/src/pages/docs/admin-settings/api-keys.mdx index 59222ada..a5ca2397 100644 --- a/src/pages/docs/admin-settings/api-keys.mdx +++ b/src/pages/docs/admin-settings/api-keys.mdx @@ -56,5 +56,5 @@ Never commit API keys to version control. Use environment variables or a secret ## Next Steps -- [Installation](/docs/quickstart/installation) +- [Installation](/docs/installation) - [Roles & Permissions](/docs/roles-and-permissions) diff --git a/src/pages/docs/admin-settings/integrations.mdx b/src/pages/docs/admin-settings/integrations.mdx index 5f71b8fc..4b4a9088 100644 --- a/src/pages/docs/admin-settings/integrations.mdx +++ b/src/pages/docs/admin-settings/integrations.mdx @@ -65,4 +65,4 @@ When connecting Datadog, select your site: ## Next Steps - [Workspace Management](/docs/admin-settings/workspace-management) - Organize projects and teams -- [Observability](/docs/observability) - Monitor your AI applications +- [Observability](/docs/tracing/auto) - Monitor your AI applications diff --git a/src/pages/docs/cookbook/decrease-hallucination.mdx b/src/pages/docs/cookbook/decrease-hallucination.mdx index be89420d..a479e351 100644 --- a/src/pages/docs/cookbook/decrease-hallucination.mdx +++ b/src/pages/docs/cookbook/decrease-hallucination.mdx @@ -35,7 +35,7 @@ To systematically reduce hallucinations in RAG workflows, this cookbook adopts a - **Instrumentation:** The evaluation from Future AGI is provided through the `fi_instrumentation` SDK. This setup allows evaluation in real-time across the following metrics: - **[Groundedness:](/docs/evaluation/builtin/groundedness)** Evaluates whether a response is firmly based on the provided context. - **[Context Adherence:](/docs/evaluation/builtin/context-adherence)** Evaluates how well responses stays within the provided context. - - **[Context Retrieval Quality:](/docs/evaluation/builtin/eval-context-retrieval)** Evaluates the quality of the context retrieved for generating a response. + - **[Context Retrieval Quality:](/docs/evaluation/builtin)** Evaluates the quality of the context retrieved for generating a response. Click [here](/docs/integrations/traceai/langchain) to learn how to setup trace provider in Future AGI diff --git a/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx b/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx index cbd6101d..0d5b8da1 100644 --- a/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx +++ b/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx @@ -363,7 +363,7 @@ You can now run and compare multiple optimization strategies on the same task to Optimize via dashboard UI - + All six optimizers compared diff --git a/src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx b/src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx index f0e470d9..d1708b71 100644 --- a/src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx +++ b/src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx @@ -193,7 +193,7 @@ You can now create custom eval metrics in the FutureAGI dashboard and run them p Score RAG faithfulness - + Bundle multiple evals diff --git a/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx b/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx index 381f73c0..67ea8dda 100644 --- a/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx +++ b/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx @@ -210,7 +210,7 @@ You can now create annotation views, define labels, assign annotators, and log a ## Next steps - + Full annotation reference diff --git a/src/pages/docs/cookbook/quickstart/manual-tracing.mdx b/src/pages/docs/cookbook/quickstart/manual-tracing.mdx index be37d914..f798c94d 100644 --- a/src/pages/docs/cookbook/quickstart/manual-tracing.mdx +++ b/src/pages/docs/cookbook/quickstart/manual-tracing.mdx @@ -177,7 +177,7 @@ In Tracing, filter by tags using the **Attribute** filter: select **Attribute** ![Traces filtered by tag in the Tracing dashboard](https://fi-cookbook-assets.s3.ap-south-1.amazonaws.com/quickstart/manual-tracing/step-4-tags.png) -You can combine `using_user`, `using_session`, `using_metadata`, and `using_tags` into a single `using_attributes()` call for convenience. See the [tracing reference](/docs/tracing/manual/set-up-tracing) for details. +You can combine `using_user`, `using_session`, `using_metadata`, and `using_tags` into a single `using_attributes()` call for convenience. See the [tracing reference](/docs/observe/features/manual-tracing/set-up-tracing) for details. @@ -325,7 +325,7 @@ You can now auto-trace LLM calls, add custom spans for non-LLM steps, attach use ## Next steps - + 20+ framework integrations diff --git a/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx b/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx index 89609f8e..24c312be 100644 --- a/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx +++ b/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx @@ -294,7 +294,7 @@ This guide uses **MetaPrompt** and **Bayesian Search**, but FutureAGI offers six | [**Random Search**](/docs/optimization/optimizers/random-search) | Quick baseline comparison | Generates random prompt variants and picks the best — useful as a sanity check | -Not sure which to pick? Start with **Meta-Prompt** for instruction tuning or **Bayesian Search** for few-shot tasks. See the [Optimizers Overview](/docs/optimization/optimizers/overview) for a detailed comparison and decision tree. +Not sure which to pick? Start with **Meta-Prompt** for instruction tuning or **Bayesian Search** for few-shot tasks. See the [Optimizers Overview](/docs/optimization) for a detailed comparison and decision tree. ## What you built @@ -313,7 +313,7 @@ You can now automatically optimize any prompt using MetaPromptOptimizer or Bayes ## Next steps - + Compare all six optimizers diff --git a/src/pages/docs/dataset/features/create.mdx b/src/pages/docs/dataset/features/create.mdx index 77f7ef5c..2dc75e82 100644 --- a/src/pages/docs/dataset/features/create.mdx +++ b/src/pages/docs/dataset/features/create.mdx @@ -206,7 +206,7 @@ Synthetically generate data and perform experimentations on it. | Property | Description | | -------- | ------------------------------------- | | Name | Name of the dataset | - | Knowledge Base (optional) | Select which knowledge base you want to use. | + | Knowledge Base (optional) | Select which knowledge base you want to use. | | Description | Describe the dataset you want to generate | | Objective (optional) | Use case of the dataset | | Pattern (optional) | Style, tone or behavioral traits of the generated dataset | diff --git a/src/pages/docs/dataset/features/experiments.mdx b/src/pages/docs/dataset/features/experiments.mdx index 5d81367f..85d7fdbe 100644 --- a/src/pages/docs/dataset/features/experiments.mdx +++ b/src/pages/docs/dataset/features/experiments.mdx @@ -67,7 +67,7 @@ You pick a **base column** (the generated responses you want to compare against) Use an existing prompt template or create a new one. You can add as many prompt templates as you need. - Click [here](/docs/prompt-workbench) to learn more about prompts. + Click [here](/docs/prompt) to learn more about prompts. diff --git a/src/pages/docs/evaluation/concepts/eval-types.mdx b/src/pages/docs/evaluation/concepts/eval-types.mdx index 0b015696..425949df 100644 --- a/src/pages/docs/evaluation/concepts/eval-types.mdx +++ b/src/pages/docs/evaluation/concepts/eval-types.mdx @@ -119,4 +119,4 @@ Multimodal evals (image, audio, conversation) require a judge model that support - [Built-in evals](/docs/evaluation/builtin): Full list with evaluation method and required inputs for each template. - [Create custom evals](/docs/evaluation/features/custom): Custom evals always use LLM as Judge. - [Judge models](/docs/evaluation/concepts/judge-models): Choose the right model for LLM as Judge and LLM as Ranker evals. -- [Eval groups](/docs/evaluation/features/groups): Combine different eval types and run them together in one pass. +- [Eval groups](/docs/evaluation): Combine different eval types and run them together in one pass. diff --git a/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx b/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx index 191fc331..70255eda 100644 --- a/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx +++ b/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx @@ -46,7 +46,7 @@ Using the same template across surfaces keeps results directly comparable withou - **[Eval templates](/docs/evaluation/concepts/eval-templates)**: The definition of what to measure. Built-in or custom. - **[Judge models](/docs/evaluation/concepts/judge-models)**: The model that applies the template criteria and produces the result. - **[Eval results](/docs/evaluation/concepts/eval-results)**: The output of a run: result value, reason, and aggregates. -- **[Eval groups](/docs/evaluation/features/groups)**: Named collections of templates you run together as a single unit. +- **[Eval groups](/docs/evaluation)**: Named collections of templates you run together as a single unit. --- @@ -55,4 +55,4 @@ Using the same template across surfaces keeps results directly comparable withou - [Evaluate via Platform & SDK](/docs/evaluation/features/evaluate): Run your first eval. - [Built-in evals](/docs/evaluation/builtin): 70+ templates across quality, safety, factuality, RAG, and more. - [Create custom evals](/docs/evaluation/features/custom): Define your own criteria and rule prompts. -- [Eval groups](/docs/evaluation/features/groups): Bundle multiple evals and run them in one pass. +- [Eval groups](/docs/evaluation): Bundle multiple evals and run them in one pass. diff --git a/src/pages/docs/evaluation/features/cicd.mdx b/src/pages/docs/evaluation/features/cicd.mdx index e6cc3950..fdca737d 100644 --- a/src/pages/docs/evaluation/features/cicd.mdx +++ b/src/pages/docs/evaluation/features/cicd.mdx @@ -407,7 +407,7 @@ The workflow posts a comment on your PR with the current version identifier and Define eval templates to use in your pipeline. - + Run multiple evals together as a group. diff --git a/src/pages/docs/evaluation/features/custom-models.mdx b/src/pages/docs/evaluation/features/custom-models.mdx index 9be5244e..b67b0143 100644 --- a/src/pages/docs/evaluation/features/custom-models.mdx +++ b/src/pages/docs/evaluation/features/custom-models.mdx @@ -126,7 +126,7 @@ Fields you may see when adding a model (from a provider or custom). **Applies to Define eval rules and select your custom model. - + Run multiple evals together as a group. diff --git a/src/pages/docs/evaluation/features/custom.mdx b/src/pages/docs/evaluation/features/custom.mdx index f7e36061..ba65dd2e 100644 --- a/src/pages/docs/evaluation/features/custom.mdx +++ b/src/pages/docs/evaluation/features/custom.mdx @@ -131,7 +131,7 @@ You can create custom evals from the **UI** or via the **SDK** (by calling the R Run evals from the UI or SDK. - + Add your custom eval to a group and run it with others. diff --git a/src/pages/docs/evaluation/features/evaluate.mdx b/src/pages/docs/evaluation/features/evaluate.mdx index 43b9b195..811accf2 100644 --- a/src/pages/docs/evaluation/features/evaluate.mdx +++ b/src/pages/docs/evaluation/features/evaluate.mdx @@ -152,7 +152,7 @@ For more eval templates and Future AGI models, see [Built-in evals](/docs/evalua Define your own eval rules and criteria. - + Run multiple evals together as a group. diff --git a/src/pages/docs/evaluation/features/futureagi-models.mdx b/src/pages/docs/evaluation/features/futureagi-models.mdx index 8ebb23d1..a96e5f02 100644 --- a/src/pages/docs/evaluation/features/futureagi-models.mdx +++ b/src/pages/docs/evaluation/features/futureagi-models.mdx @@ -80,7 +80,7 @@ All models are available in the platform UI and the SDK, and work with both buil Define your own eval rules and choose a model to run them. - + Run multiple evals together as a group. diff --git a/src/pages/docs/evaluation/index.mdx b/src/pages/docs/evaluation/index.mdx index a31d911a..78f44603 100644 --- a/src/pages/docs/evaluation/index.mdx +++ b/src/pages/docs/evaluation/index.mdx @@ -33,7 +33,7 @@ Future AGI ships 70+ built-in templates covering quality, safety, factuality, RA Define your own eval rules and output types. - + Bundle multiple evals and run them together. diff --git a/src/pages/docs/integrations/index.mdx b/src/pages/docs/integrations/index.mdx index 24d731d9..5656dfeb 100644 --- a/src/pages/docs/integrations/index.mdx +++ b/src/pages/docs/integrations/index.mdx @@ -43,7 +43,7 @@ TraceAI provides pre-built auto-instrumentation for the following frameworks and - + diff --git a/src/pages/docs/observe/features/quickstart.mdx b/src/pages/docs/observe/features/quickstart.mdx index 1ceaa99b..f2e4d9a5 100644 --- a/src/pages/docs/observe/features/quickstart.mdx +++ b/src/pages/docs/observe/features/quickstart.mdx @@ -79,7 +79,7 @@ This is how you connect your application to Future AGI so LLM calls are captured Use one of two options: - **Auto Instrumentor**: For supported frameworks (e.g. OpenAI). Use Future AGI's [Auto Instrumentation](/docs/tracing/auto); recommended for most apps. - - **Manual tracing**: For custom spans, use [OpenTelemetry](/docs/tracing/concepts/otel). [Learn more →](/docs/tracing/manual/set-up-tracing) + - **Manual tracing**: For custom spans, use [OpenTelemetry](/docs/tracing/concepts/otel). [Learn more →](/docs/observe/features/manual-tracing/set-up-tracing) Example with the OpenAI instrumentor: install the package, instrument with your trace provider, then use the OpenAI client as usual. Traces appear in your [Observe dashboard](https://app.futureagi.com/dashboard/projects/observe). diff --git a/src/pages/docs/observe/features/session.mdx b/src/pages/docs/observe/features/session.mdx index faccc465..821a2d4f 100644 --- a/src/pages/docs/observe/features/session.mdx +++ b/src/pages/docs/observe/features/session.mdx @@ -100,7 +100,7 @@ Sessions group related traces together under a single identifier. A chatbot conv - For more on setting `session.id` with Trace AI helpers and context, see the [manual tracing guide](/docs/tracing/manual/set-session-user-id). + For more on setting `session.id` with Trace AI helpers and context, see the [manual tracing guide](/docs/observe/features/manual-tracing/set-session-user-id). --- diff --git a/src/pages/docs/prompt/features/linked-traces.mdx b/src/pages/docs/prompt/features/linked-traces.mdx index 902eeb9d..f5c19ef8 100644 --- a/src/pages/docs/prompt/features/linked-traces.mdx +++ b/src/pages/docs/prompt/features/linked-traces.mdx @@ -40,7 +40,7 @@ Once linked, the Prompt Workbench shows aggregated metrics per prompt version al ## How to -To link prompts to traces, you need to associate the prompt used in a generation with the corresponding trace. The process is described in the observability and manual tracing docs: [Log prompt templates](/docs/tracing/manual/log-prompt-templates). Once your application sends traces that include the prompt template (or template ID), Future AGI links those traces to the prompt in the Prompt Workbench. +To link prompts to traces, you need to associate the prompt used in a generation with the corresponding trace. The process is described in the observability and manual tracing docs: [Log prompt templates](/docs/observe/features/manual-tracing/log-prompt-templates). Once your application sends traces that include the prompt template (or template ID), Future AGI links those traces to the prompt in the Prompt Workbench. --- @@ -70,7 +70,7 @@ Compare the same metric across **prompt versions** or **time ranges** to see if Manage and fetch prompts programmatically. - + Set up the trace-to-prompt connection in your application. diff --git a/src/pages/docs/quickstart/prompts.mdx b/src/pages/docs/quickstart/prompts.mdx index 5f12ebfa..b46622e9 100644 --- a/src/pages/docs/quickstart/prompts.mdx +++ b/src/pages/docs/quickstart/prompts.mdx @@ -135,6 +135,6 @@ description: "Create and manage AI prompts in Future AGI's Prompt Workbench. Des ## Next Steps -- [Use prompts via SDK](/docs/prompt-workbench/sdk) to serve and manage prompts programmatically in your application +- [Use prompts via SDK](/docs/prompt/features/sdk) to serve and manage prompts programmatically in your application - [Optimize your prompts](/docs/optimization) to automatically improve prompt performance using evaluation-driven feedback - [Run evaluations](/docs/evaluation) to measure how well your prompts perform across different inputs diff --git a/src/pages/docs/quickstart/setup-observability.mdx b/src/pages/docs/quickstart/setup-observability.mdx index 481c109f..265c66b2 100644 --- a/src/pages/docs/quickstart/setup-observability.mdx +++ b/src/pages/docs/quickstart/setup-observability.mdx @@ -77,7 +77,7 @@ Observe supports auto-instrumentation for OpenAI, Anthropic, LangChain, LlamaInd There are 2 ways to implement tracing in your project: 1. **Auto Instrumentor**: Automatically captures all LLM calls. Recommended for most use cases. - 2. **Manual Tracing**: Gives you full control over what gets traced using OpenTelemetry. [Learn more](/docs/tracing/manual/set-up-tracing) + 2. **Manual Tracing**: Gives you full control over what gets traced using OpenTelemetry. [Learn more](/docs/observe/features/manual-tracing/set-up-tracing) Here's a complete example using auto-instrumentation with OpenAI: @@ -136,5 +136,5 @@ Observe supports auto-instrumentation for OpenAI, Anthropic, LangChain, LlamaInd ## Next Steps - [Add more integrations](/docs/integrations) for Anthropic, LangChain, LlamaIndex, and others -- [Set up manual tracing](/docs/tracing/manual/set-up-tracing) for custom spans and attributes -- [Add inline evaluations](/docs/tracing/manual/in-line-evals) to evaluate traces as they come in \ No newline at end of file +- [Set up manual tracing](/docs/observe/features/manual-tracing/set-up-tracing) for custom spans and attributes +- [Add inline evaluations](/docs/observe/features/manual-tracing/in-line-evals) to evaluate traces as they come in \ No newline at end of file diff --git a/src/pages/docs/sdk/annotation-queues.mdx b/src/pages/docs/sdk/annotation-queues.mdx index ef8f2808..66cd3047 100644 --- a/src/pages/docs/sdk/annotation-queues.mdx +++ b/src/pages/docs/sdk/annotation-queues.mdx @@ -3,7 +3,7 @@ title: "Annotation Queues" description: "Reference for the AnnotationQueue class in the Future AGI Python SDK." --- -For step-by-step examples, see the [Annotation Queue Using SDK](/docs/observe/features/annotation-queue-using-sdk) guide. +For step-by-step examples, see the [Annotation Queue Using SDK](/docs/annotations/sdk/annotation-queue-using-sdk) guide. # `AnnotationQueue` Class diff --git a/src/pages/docs/sdk/tracing.mdx b/src/pages/docs/sdk/tracing.mdx index 62d27da4..b006910d 100644 --- a/src/pages/docs/sdk/tracing.mdx +++ b/src/pages/docs/sdk/tracing.mdx @@ -13,7 +13,7 @@ description: "Set up OpenTelemetry tracing across Python, TypeScript, Java, and The pattern is the same across all four languages: call `register()` once to set up the provider, then either auto-instrument your frameworks or use `FITracer` for custom spans. LLM calls, retrieval steps, and agent actions get captured as OpenTelemetry spans and sent to your dashboard. - Requires `FI_API_KEY` and `FI_SECRET_KEY` in your environment. For conceptual background on traces, spans, and attributes, see the [Tracing guide](/docs/tracing). + Requires `FI_API_KEY` and `FI_SECRET_KEY` in your environment. For conceptual background on traces, spans, and attributes, see the [Tracing guide](/docs/tracing/auto). ## Quick Example diff --git a/src/pages/docs/simulation/features/voice-replay.mdx b/src/pages/docs/simulation/features/voice-replay.mdx index d0195f2e..e599148d 100644 --- a/src/pages/docs/simulation/features/voice-replay.mdx +++ b/src/pages/docs/simulation/features/voice-replay.mdx @@ -33,7 +33,7 @@ The flow is: **select voice traces** → **create a replay session** → **gener - With **Voice Observability** integrated, your production voice calls (via Vapi, Retell, or other supported providers) are captured as traces with conversation-type spans. Each span stores the full call data including transcripts, recordings, and call metrics. See [Set Up Voice Observability](/docs/observe/voice/set-up) for integration details. + With **Voice Observability** integrated, your production voice calls (via Vapi, Retell, or other supported providers) are captured as traces with conversation-type spans. Each span stores the full call data including transcripts, recordings, and call metrics. See [Set Up Voice Observability](/docs/observe/features/voice) for integration details. From the **Observe** experience, select the voice traces you want to replay. Create a **replay session** with: @@ -103,13 +103,13 @@ The **Compare with baseline call** button only appears for call executions that Replay text-based production sessions using chat simulation. - + Set up voice call monitoring for production calls. - + Understand scenarios and how replay creates graph scenarios from transcripts. - + Configure voice agents for simulation, including provider settings and voice config. From 6918c35d902487c3e2bb98b284795f24d8272992 Mon Sep 17 00:00:00 2001 From: Shibu Date: Fri, 1 May 2026 00:38:09 +0530 Subject: [PATCH 03/51] ci: add PR checks for broken links and missing redirects on deleted pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds two automated checks that run on every PR to dev/main: 1. audit-links.mjs — fails if any nav link or MDX content link points to a missing page (catches broken hrefs introduced by a PR) 2. check-deleted-pages.mjs — fails if an MDX page is deleted without a corresponding entry in src/lib/redirects.ts (prevents the pattern that caused the April 404 incident: pages deleted with no redirects) Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/pr-checks.yml | 47 ++++++++++++++++++++ scripts/check-deleted-pages.mjs | 79 +++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .github/workflows/pr-checks.yml create mode 100644 scripts/check-deleted-pages.mjs diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml new file mode 100644 index 00000000..bf912b57 --- /dev/null +++ b/.github/workflows/pr-checks.yml @@ -0,0 +1,47 @@ +name: PR Checks + +on: + pull_request: + branches: [dev, main] + +jobs: + link-audit: + name: Link audit & redirect enforcement + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # full history needed for git diff + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Fetch @futureagi/chat-widget + run: | + git clone --depth 1 \ + https://x-access-token:${{ secrets.GH_PAT }}@github.com/future-agi/landing-page.git .landing-tmp + cp -r .landing-tmp/docs-agent/packages/chat-widget ./chat-widget + rm -rf .landing-tmp + + - name: Patch chat-widget dependency + run: | + sed -i 's|"@futureagi/chat-widget": "workspace:\*"|"@futureagi/chat-widget": "file:./chat-widget"|' package.json + + - name: Cache npm dependencies + uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json', 'package.json') }} + restore-keys: ${{ runner.os }}-npm- + + - name: Install dependencies + run: npm install + + - name: Check broken nav & content links + run: node scripts/audit-links.mjs + + - name: Check deleted pages have redirects + run: node scripts/check-deleted-pages.mjs ${{ github.base_ref }} diff --git a/scripts/check-deleted-pages.mjs b/scripts/check-deleted-pages.mjs new file mode 100644 index 00000000..897e61c8 --- /dev/null +++ b/scripts/check-deleted-pages.mjs @@ -0,0 +1,79 @@ +/** + * Checks that every MDX page deleted in this branch has a corresponding + * entry in src/lib/redirects.ts. Fails with exit code 1 if any are missing. + * + * Usage: node scripts/check-deleted-pages.mjs [base-branch] + * Default base branch: dev + */ +import { execSync } from 'child_process'; +import { readFileSync } from 'fs'; + +const baseBranch = process.argv[2] || 'dev'; + +// Get deleted MDX files compared to base branch +let deletedFiles; +try { + const output = execSync( + `git diff origin/${baseBranch}...HEAD --name-only --diff-filter=D`, + { encoding: 'utf-8' } + ); + deletedFiles = output.trim().split('\n').filter(Boolean); +} catch { + // If origin/base doesn't exist, try without origin/ + try { + const output = execSync( + `git diff ${baseBranch}...HEAD --name-only --diff-filter=D`, + { encoding: 'utf-8' } + ); + deletedFiles = output.trim().split('\n').filter(Boolean); + } catch { + console.log('Could not determine deleted files — skipping check.'); + process.exit(0); + } +} + +// Filter to only MDX pages under src/pages/ +const deletedPages = deletedFiles.filter(f => f.startsWith('src/pages/') && f.endsWith('.mdx')); + +if (deletedPages.length === 0) { + console.log('No MDX pages deleted in this branch. ✓'); + process.exit(0); +} + +// Convert file path to URL path +function fileToPath(file) { + return file + .replace(/^src\/pages/, '') + .replace(/\.mdx$/, '') + .replace(/\/index$/, '') || '/'; +} + +// Load redirects map +const redirectsRaw = readFileSync('src/lib/redirects.ts', 'utf-8'); +const redirectEntries = [...redirectsRaw.matchAll(/'([^']+)':\s*'([^']+)'/g)]; +const redirectMap = new Set(redirectEntries.map(([, from]) => from)); + +// Check each deleted page +const missing = []; +for (const file of deletedPages) { + const urlPath = fileToPath(file); + if (!redirectMap.has(urlPath)) { + missing.push({ file, urlPath }); + } +} + +if (missing.length === 0) { + console.log(`All ${deletedPages.length} deleted page(s) have redirects. ✓`); + process.exit(0); +} + +console.error(`\n✗ ${missing.length} deleted page(s) have no redirect in src/lib/redirects.ts:\n`); +for (const { file, urlPath } of missing) { + console.error(` ${urlPath}`); + console.error(` (deleted file: ${file})`); +} +console.error(` +To fix: add an entry to src/lib/redirects.ts for each path above, pointing to the closest current page. +Example: '${missing[0].urlPath}': '/docs/some-current-page', +`); +process.exit(1); From bae93085f2a50d0dab78c891ed570a19b2a2f00c Mon Sep 17 00:00:00 2001 From: Shibu Date: Sun, 3 May 2026 13:59:32 +0530 Subject: [PATCH 04/51] fix: remove heading tags from non-content UI elements for SEO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AiChatWidget: h3 → p for "FutureAGI AI Assistant" - TableOfContents: h4 → p for "On this page" - GiscusComments: h3 → p for "Questions & Discussion" - Card: h3 → p for all card titles - global.css: add .docs-section-title class (same styles as h2) - 171 MDX files: ## Next Steps and ## Related →
Every page H1 is now the first heading in the DOM. Co-Authored-By: Claude Sonnet 4.6 --- src/components/AiChatWidget.astro | 2 +- src/components/GiscusComments.tsx | 2 +- src/components/TableOfContents.astro | 4 ++-- src/components/docs/Card.astro | 4 ++-- src/pages/docs/admin-settings/ai-providers.mdx | 2 +- src/pages/docs/admin-settings/api-keys.mdx | 2 +- src/pages/docs/admin-settings/billing-pricing.mdx | 2 +- src/pages/docs/admin-settings/integrations.mdx | 2 +- src/pages/docs/admin-settings/organization-settings.mdx | 2 +- src/pages/docs/admin-settings/profile-security.mdx | 2 +- src/pages/docs/admin-settings/usage-summary.mdx | 2 +- src/pages/docs/admin-settings/user-management.mdx | 2 +- src/pages/docs/admin-settings/workspace-management.mdx | 2 +- .../concepts/understanding-agent-playground.mdx | 2 +- .../docs/agent-playground/concepts/versions-and-execution.mdx | 2 +- src/pages/docs/agent-playground/features/build-workflow.mdx | 2 +- src/pages/docs/agent-playground/features/create-graph.mdx | 2 +- src/pages/docs/agent-playground/features/run-and-monitor.mdx | 2 +- src/pages/docs/annotations/concepts/scores.mdx | 2 +- src/pages/docs/annotations/features/labels.mdx | 2 +- src/pages/docs/annotations/features/queues.mdx | 2 +- src/pages/docs/annotations/quickstart.mdx | 2 +- src/pages/docs/command-center/admin/organizations.mdx | 2 +- src/pages/docs/command-center/api/assistants.mdx | 2 +- src/pages/docs/command-center/api/async-batch.mdx | 2 +- src/pages/docs/command-center/api/chat.mdx | 2 +- src/pages/docs/command-center/api/embeddings.mdx | 2 +- src/pages/docs/command-center/api/endpoints.mdx | 2 +- src/pages/docs/command-center/api/files.mdx | 2 +- src/pages/docs/command-center/api/headers.mdx | 2 +- src/pages/docs/command-center/api/media.mdx | 2 +- src/pages/docs/command-center/concepts/api-reference.mdx | 2 +- src/pages/docs/command-center/concepts/configuration.mdx | 2 +- src/pages/docs/command-center/concepts/core.mdx | 2 +- .../docs/command-center/concepts/platform-integration.mdx | 2 +- src/pages/docs/command-center/concepts/virtual-keys.mdx | 2 +- src/pages/docs/command-center/deployment/self-hosted.mdx | 2 +- src/pages/docs/command-center/features/caching.mdx | 2 +- src/pages/docs/command-center/features/cost-tracking.mdx | 2 +- src/pages/docs/command-center/features/custom-properties.mdx | 2 +- src/pages/docs/command-center/features/guardrails.mdx | 2 +- src/pages/docs/command-center/features/mcp-a2a.mdx | 2 +- src/pages/docs/command-center/features/observability.mdx | 2 +- src/pages/docs/command-center/features/providers.mdx | 2 +- src/pages/docs/command-center/features/rate-limiting.mdx | 2 +- src/pages/docs/command-center/features/routing.mdx | 2 +- src/pages/docs/command-center/features/self-hosted-models.mdx | 2 +- src/pages/docs/command-center/features/shadow-experiments.mdx | 2 +- src/pages/docs/command-center/features/streaming.mdx | 2 +- src/pages/docs/command-center/features/webhooks.mdx | 2 +- src/pages/docs/command-center/guides/errors.mdx | 2 +- src/pages/docs/command-center/guides/troubleshooting.mdx | 2 +- src/pages/docs/command-center/quickstart.mdx | 2 +- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx | 2 +- src/pages/docs/cookbook/crewai-research-team.mdx | 2 +- src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx | 2 +- src/pages/docs/cookbook/observability.mdx | 2 +- src/pages/docs/cookbook/quickstart/distributed-tracing.mdx | 2 +- src/pages/docs/dataset/concept/dynamic-column.mdx | 2 +- src/pages/docs/dataset/concept/static-column.mdx | 2 +- src/pages/docs/dataset/concept/synthetic-data.mdx | 2 +- src/pages/docs/dataset/concept/understanding-dataset.mdx | 2 +- src/pages/docs/dataset/features/add-columns.mdx | 2 +- src/pages/docs/dataset/features/add-rows.mdx | 2 +- src/pages/docs/dataset/features/annotate.mdx | 2 +- src/pages/docs/dataset/features/create.mdx | 2 +- src/pages/docs/dataset/features/experiments.mdx | 2 +- src/pages/docs/dataset/features/run-prompt.mdx | 2 +- src/pages/docs/dataset/index.mdx | 2 +- src/pages/docs/error-feed/concepts/scoring.mdx | 2 +- src/pages/docs/error-feed/concepts/severity-and-status.mdx | 2 +- src/pages/docs/error-feed/concepts/taxonomy.mdx | 2 +- src/pages/docs/error-feed/features/deep-analysis.mdx | 2 +- src/pages/docs/error-feed/features/issue-overview.mdx | 2 +- src/pages/docs/error-feed/features/linear-integration.mdx | 2 +- src/pages/docs/error-feed/features/metadata-panel.mdx | 2 +- src/pages/docs/error-feed/features/sampling.mdx | 2 +- src/pages/docs/error-feed/features/state-graph.mdx | 2 +- src/pages/docs/error-feed/features/the-feed.mdx | 2 +- src/pages/docs/error-feed/features/traces.mdx | 2 +- src/pages/docs/error-feed/features/trends.mdx | 2 +- src/pages/docs/error-feed/features/triage-workflow.mdx | 2 +- src/pages/docs/evaluation/features/cicd.mdx | 2 +- src/pages/docs/evaluation/features/custom-models.mdx | 2 +- src/pages/docs/evaluation/features/custom.mdx | 2 +- src/pages/docs/evaluation/features/evaluate.mdx | 2 +- src/pages/docs/evaluation/features/futureagi-models.mdx | 2 +- src/pages/docs/falcon-ai/features/chat.mdx | 2 +- src/pages/docs/falcon-ai/features/mcp-connectors.mdx | 2 +- src/pages/docs/falcon-ai/features/skills.mdx | 2 +- src/pages/docs/falcon-ai/index.mdx | 2 +- src/pages/docs/knowledge-base/concepts/concept.mdx | 2 +- src/pages/docs/knowledge-base/features/sdk.mdx | 2 +- src/pages/docs/knowledge-base/features/ui.mdx | 2 +- src/pages/docs/knowledge-base/index.mdx | 2 +- src/pages/docs/observe/features/alerts.mdx | 2 +- src/pages/docs/observe/features/dashboard.mdx | 2 +- src/pages/docs/observe/features/evals.mdx | 2 +- .../features/manual-tracing/add-attributes-metadata-tags.mdx | 2 +- .../features/manual-tracing/add-events-exceptions-status.mdx | 2 +- .../features/manual-tracing/advanced-tracing-examples.mdx | 2 +- .../observe/features/manual-tracing/annotating-using-api.mdx | 2 +- .../observe/features/manual-tracing/create-tool-spans.mdx | 2 +- .../features/manual-tracing/get-current-span-context.mdx | 2 +- .../docs/observe/features/manual-tracing/in-line-evals.mdx | 2 +- .../manual-tracing/instrument-with-traceai-helpers.mdx | 2 +- .../observe/features/manual-tracing/langfuse-integration.mdx | 2 +- .../observe/features/manual-tracing/log-prompt-templates.mdx | 2 +- .../observe/features/manual-tracing/mask-span-attributes.mdx | 2 +- .../observe/features/manual-tracing/semantic-conventions.mdx | 2 +- .../observe/features/manual-tracing/set-session-user-id.mdx | 2 +- .../docs/observe/features/manual-tracing/set-up-tracing.mdx | 2 +- src/pages/docs/observe/features/quickstart.mdx | 2 +- src/pages/docs/observe/features/session.mdx | 2 +- src/pages/docs/observe/features/users.mdx | 2 +- src/pages/docs/observe/features/voice.mdx | 2 +- src/pages/docs/optimization/concepts/concept.mdx | 2 +- src/pages/docs/optimization/features/using-platform.mdx | 2 +- src/pages/docs/optimization/features/using-python-sdk.mdx | 2 +- src/pages/docs/prompt/concepts/understanding-prompts.mdx | 2 +- src/pages/docs/prompt/features/create-from-scratch.mdx | 2 +- src/pages/docs/prompt/features/create-from-template.mdx | 2 +- src/pages/docs/prompt/features/create-with-ai.mdx | 2 +- src/pages/docs/prompt/features/folders.mdx | 2 +- src/pages/docs/prompt/features/linked-traces.mdx | 2 +- src/pages/docs/prompt/features/sdk.mdx | 2 +- src/pages/docs/protect/features/run-protect.mdx | 2 +- src/pages/docs/prototype/features/choose-winner.mdx | 2 +- src/pages/docs/prototype/features/evals.mdx | 2 +- src/pages/docs/prototype/features/set-up-prototype.mdx | 2 +- src/pages/docs/quickstart/annotations.mdx | 2 +- src/pages/docs/quickstart/command-center-gateway.mdx | 2 +- src/pages/docs/quickstart/generate-synthetic-data.mdx | 2 +- src/pages/docs/quickstart/prompts.mdx | 2 +- src/pages/docs/quickstart/running-evals-in-simulation.mdx | 2 +- src/pages/docs/quickstart/setup-mcp-server.mdx | 2 +- src/pages/docs/quickstart/setup-observability.mdx | 2 +- src/pages/docs/sdk/datasets.mdx | 2 +- src/pages/docs/sdk/evals/autoeval.mdx | 2 +- src/pages/docs/sdk/evals/cloud-evals.mdx | 2 +- src/pages/docs/sdk/evals/code-security.mdx | 2 +- src/pages/docs/sdk/evals/distributed.mdx | 2 +- src/pages/docs/sdk/evals/evaluate.mdx | 2 +- src/pages/docs/sdk/evals/feedback.mdx | 2 +- src/pages/docs/sdk/evals/guardrails-module.mdx | 2 +- src/pages/docs/sdk/evals/llm-judge.mdx | 2 +- src/pages/docs/sdk/evals/local.mdx | 2 +- src/pages/docs/sdk/evals/metrics/agents.mdx | 2 +- src/pages/docs/sdk/evals/metrics/guardrails.mdx | 2 +- src/pages/docs/sdk/evals/metrics/hallucination.mdx | 2 +- src/pages/docs/sdk/evals/metrics/index.mdx | 2 +- src/pages/docs/sdk/evals/metrics/json.mdx | 2 +- src/pages/docs/sdk/evals/metrics/rag.mdx | 2 +- src/pages/docs/sdk/evals/metrics/string.mdx | 2 +- src/pages/docs/sdk/evals/otel.mdx | 2 +- src/pages/docs/sdk/evals/streaming.mdx | 2 +- src/pages/docs/sdk/index.mdx | 2 +- src/pages/docs/sdk/knowledgebase.mdx | 2 +- src/pages/docs/sdk/optimization.mdx | 2 +- src/pages/docs/sdk/protect.mdx | 2 +- src/pages/docs/sdk/simulate.mdx | 2 +- src/pages/docs/sdk/tracing.mdx | 2 +- src/pages/docs/self-hosting.mdx | 2 +- src/pages/docs/simulation/concepts/agent-definition.mdx | 2 +- src/pages/docs/simulation/concepts/global-nodes.mdx | 2 +- src/pages/docs/simulation/concepts/personas.mdx | 2 +- src/pages/docs/simulation/concepts/scenarios.mdx | 2 +- src/pages/docs/simulation/features/evaluate-tool-calling.mdx | 2 +- src/pages/docs/simulation/features/fix-my-agent.mdx | 2 +- src/pages/docs/simulation/features/observe-to-simulate.mdx | 2 +- src/pages/docs/simulation/features/prompt-simulation.mdx | 2 +- src/pages/docs/simulation/features/run-simulation.mdx | 2 +- src/pages/docs/simulation/features/simulation-using-sdk.mdx | 2 +- src/pages/docs/simulation/features/view-results.mdx | 2 +- src/pages/docs/tracing/concepts/index.mdx | 2 +- src/styles/global.css | 3 ++- 176 files changed, 179 insertions(+), 178 deletions(-) diff --git a/src/components/AiChatWidget.astro b/src/components/AiChatWidget.astro index 544b518a..0ca8ec5c 100644 --- a/src/components/AiChatWidget.astro +++ b/src/components/AiChatWidget.astro @@ -88,7 +88,7 @@ const turnstileSiteKey = import.meta.env.PUBLIC_TURNSTILE_SITE_KEY || '';
-

FutureAGI AI Assistant

+

FutureAGI AI Assistant

Ask me anything about the FutureAGI platform — I can search across all docs instantly.

diff --git a/src/components/GiscusComments.tsx b/src/components/GiscusComments.tsx index 2057f50a..20ec904c 100644 --- a/src/components/GiscusComments.tsx +++ b/src/components/GiscusComments.tsx @@ -28,7 +28,7 @@ export default function GiscusComments({ pagePath }: { pagePath: string }) { return (
-

Questions & Discussion

+

Questions & Discussion

); diff --git a/src/components/TableOfContents.astro b/src/components/TableOfContents.astro index 1c1cbfad..21780783 100644 --- a/src/components/TableOfContents.astro +++ b/src/components/TableOfContents.astro @@ -22,9 +22,9 @@ const feedbackUrl = `https://github.com/${GITHUB_REPO}/issues/new?title=${encode {toc.length > 0 && (
-

+

On this page -

+

diff --git a/src/pages/docs/simulation/features/prompt-simulation.mdx b/src/pages/docs/simulation/features/prompt-simulation.mdx index 62b8bb18..86bf089f 100644 --- a/src/pages/docs/simulation/features/prompt-simulation.mdx +++ b/src/pages/docs/simulation/features/prompt-simulation.mdx @@ -150,7 +150,7 @@ Before you start: have a **prompt template** with at least one saved **prompt ve --- -## Next Steps +
Next Steps
diff --git a/src/pages/docs/simulation/features/run-simulation.mdx b/src/pages/docs/simulation/features/run-simulation.mdx index e104d57b..031f75f0 100644 --- a/src/pages/docs/simulation/features/run-simulation.mdx +++ b/src/pages/docs/simulation/features/run-simulation.mdx @@ -49,7 +49,7 @@ Review the summary of your test configuration. Click **Create** to start the tes Once the test starts, you can monitor progress from the test detail page. See [View Results](/docs/simulation/features/view-results) for how to read scores, transcripts, and analytics. -## Next Steps +
Next Steps
diff --git a/src/pages/docs/simulation/features/simulation-using-sdk.mdx b/src/pages/docs/simulation/features/simulation-using-sdk.mdx index b6181391..65839261 100644 --- a/src/pages/docs/simulation/features/simulation-using-sdk.mdx +++ b/src/pages/docs/simulation/features/simulation-using-sdk.mdx @@ -133,7 +133,7 @@ You need: Python 3.10+, **FI_API_KEY** and **FI_SECRET_KEY**, a **chat simulatio --- -## Next Steps +
Next Steps
diff --git a/src/pages/docs/simulation/features/view-results.mdx b/src/pages/docs/simulation/features/view-results.mdx index 11cda9e6..62a1487e 100644 --- a/src/pages/docs/simulation/features/view-results.mdx +++ b/src/pages/docs/simulation/features/view-results.mdx @@ -106,7 +106,7 @@ Clicking on a specific call opens a detail drawer showing: --- -## Next Steps +
Next Steps
diff --git a/src/pages/docs/tracing/concepts/index.mdx b/src/pages/docs/tracing/concepts/index.mdx index c36ed2b1..70dc355c 100644 --- a/src/pages/docs/tracing/concepts/index.mdx +++ b/src/pages/docs/tracing/concepts/index.mdx @@ -42,7 +42,7 @@ Each **trace** is one request or execution. Each **span** is one operation (LLM, --- -## Next Steps +
Next Steps
diff --git a/src/styles/global.css b/src/styles/global.css index 9502c7ce..4498ae91 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -227,7 +227,8 @@ code:not(pre code) { line-height: 1.3; } - h2 { + h2, + .docs-section-title { font-size: 1.375rem; font-weight: 600; letter-spacing: -0.01em; From be13b6d9dbf2d24c76064516c90f5aa4320c0e15 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:14:53 +0530 Subject: [PATCH 05/51] SEO: optimize command-center/features batch 1 (caching, cost-tracking, custom-properties, guardrails, mcp-a2a) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/command-center/features/caching.mdx | 4 ++-- src/pages/docs/command-center/features/cost-tracking.mdx | 4 ++-- src/pages/docs/command-center/features/custom-properties.mdx | 4 ++-- src/pages/docs/command-center/features/guardrails.mdx | 4 ++-- src/pages/docs/command-center/features/mcp-a2a.mdx | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/command-center/features/caching.mdx b/src/pages/docs/command-center/features/caching.mdx index b5538669..a0c42a3f 100644 --- a/src/pages/docs/command-center/features/caching.mdx +++ b/src/pages/docs/command-center/features/caching.mdx @@ -1,6 +1,6 @@ --- -title: "Caching" -description: "Reduce costs and latency with exact match and semantic caching at the gateway level." +title: "LLM Response Caching in Agent Command Center" +description: "Cache LLM responses at the gateway with exact match and semantic caching. Cut provider costs and latency for repeated queries across all providers." --- ## About diff --git a/src/pages/docs/command-center/features/cost-tracking.mdx b/src/pages/docs/command-center/features/cost-tracking.mdx index b99c8728..d5e875ff 100644 --- a/src/pages/docs/command-center/features/cost-tracking.mdx +++ b/src/pages/docs/command-center/features/cost-tracking.mdx @@ -1,6 +1,6 @@ --- -title: "Cost tracking" -description: "Track LLM costs per request, attribute spend by team and feature, and configure budget alerts." +title: "LLM Cost Tracking, Attribution, and Budget Alerts" +description: "Automatically track LLM spend per request via x-agentcc-cost header. Attribute costs by team, feature, or user and configure budget threshold alerts." --- ## About diff --git a/src/pages/docs/command-center/features/custom-properties.mdx b/src/pages/docs/command-center/features/custom-properties.mdx index 0881ac62..f7700e83 100644 --- a/src/pages/docs/command-center/features/custom-properties.mdx +++ b/src/pages/docs/command-center/features/custom-properties.mdx @@ -1,6 +1,6 @@ --- -title: "Custom Properties" -description: "Define custom metadata schemas to attach structured data to your request logs." +title: "Custom Properties for Agent Command Center Request Logs" +description: "Define typed metadata schemas (String, Number, Boolean, Enum) to annotate gateway requests. Filter and segment logs by team, environment, or cost center." --- ## About diff --git a/src/pages/docs/command-center/features/guardrails.mdx b/src/pages/docs/command-center/features/guardrails.mdx index 6837f334..4281449a 100644 --- a/src/pages/docs/command-center/features/guardrails.mdx +++ b/src/pages/docs/command-center/features/guardrails.mdx @@ -1,6 +1,6 @@ --- -title: "Guardrails" -description: "Set up safety guardrails to protect your LLM traffic with PII detection, prompt injection prevention, content moderation, and more." +title: "Guardrails: LLM Safety for PII, Injection, and Content" +description: "Enforce PII detection, prompt injection blocking, and content moderation on LLM traffic. 18+ built-in guardrail types with enforce, monitor, or log modes." --- ## About diff --git a/src/pages/docs/command-center/features/mcp-a2a.mdx b/src/pages/docs/command-center/features/mcp-a2a.mdx index b6f64709..102fed4c 100644 --- a/src/pages/docs/command-center/features/mcp-a2a.mdx +++ b/src/pages/docs/command-center/features/mcp-a2a.mdx @@ -1,6 +1,6 @@ --- -title: "MCP & A2A" -description: "Connect AI agents to Agent Command Center using the Model Context Protocol (MCP) and Google's Agent-to-Agent (A2A) protocol." +title: "MCP and A2A Protocol Support in Agent Command Center" +description: "Connect AI agents via MCP (Model Context Protocol) and A2A (Agent-to-Agent) to aggregate tools, delegate tasks, and build multi-agent networks." --- ## About From 35c07e7f94067c62ad9574e96e7a95c98e4e3040 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:15:20 +0530 Subject: [PATCH 06/51] SEO: optimize command-center/features+guides batch 2 (observability, providers, rate-limiting, routing, self-hosted-models, shadow-experiments, streaming, webhooks, errors, troubleshooting) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/command-center/features/observability.mdx | 4 ++-- src/pages/docs/command-center/features/providers.mdx | 4 ++-- src/pages/docs/command-center/features/rate-limiting.mdx | 4 ++-- src/pages/docs/command-center/features/routing.mdx | 4 ++-- src/pages/docs/command-center/features/self-hosted-models.mdx | 4 ++-- src/pages/docs/command-center/features/shadow-experiments.mdx | 4 ++-- src/pages/docs/command-center/features/streaming.mdx | 4 ++-- src/pages/docs/command-center/features/webhooks.mdx | 4 ++-- src/pages/docs/command-center/guides/errors.mdx | 4 ++-- src/pages/docs/command-center/guides/troubleshooting.mdx | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/command-center/features/observability.mdx b/src/pages/docs/command-center/features/observability.mdx index 707faf7a..9426c1ab 100644 --- a/src/pages/docs/command-center/features/observability.mdx +++ b/src/pages/docs/command-center/features/observability.mdx @@ -1,6 +1,6 @@ --- -title: "Observability" -description: "Monitor Agent Command Center with logs, metrics, and distributed tracing." +title: "Request Logging and Observability in Agent Command Center" +description: "Log every LLM request automatically with token counts, cost, latency, cache status, and guardrail results. Export metrics to Prometheus and OpenTelemetry." --- ## About diff --git a/src/pages/docs/command-center/features/providers.mdx b/src/pages/docs/command-center/features/providers.mdx index 7f079971..39d195c3 100644 --- a/src/pages/docs/command-center/features/providers.mdx +++ b/src/pages/docs/command-center/features/providers.mdx @@ -1,6 +1,6 @@ --- -title: "Supported providers" -description: "All LLM providers Agent Command Center supports, how to add them, and how to switch providers at request time." +title: "Supported LLM Providers in Agent Command Center" +description: "Connect to 20+ cloud and self-hosted LLM providers via a unified OpenAI-compatible API. Add a provider once and switch by changing the model name." --- ## About diff --git a/src/pages/docs/command-center/features/rate-limiting.mdx b/src/pages/docs/command-center/features/rate-limiting.mdx index 85bfea70..5930201a 100644 --- a/src/pages/docs/command-center/features/rate-limiting.mdx +++ b/src/pages/docs/command-center/features/rate-limiting.mdx @@ -1,6 +1,6 @@ --- -title: "Rate limiting & budgets" -description: "Control request throughput and spending with per-key rate limits, org budgets, and managed key credits." +title: "Rate Limiting and Budget Controls in Agent Command Center" +description: "Set per-key, per-org, and global RPM limits. Enforce monthly spend budgets and per-key credit balances to prevent runaway costs and protect provider quotas." --- ## About diff --git a/src/pages/docs/command-center/features/routing.mdx b/src/pages/docs/command-center/features/routing.mdx index ebbf1a65..4416a727 100644 --- a/src/pages/docs/command-center/features/routing.mdx +++ b/src/pages/docs/command-center/features/routing.mdx @@ -1,6 +1,6 @@ --- -title: "Routing & Reliability" -description: "Configure load balancing, failover, retries, and circuit breaking across LLM providers." +title: "Agent Command Center Routing, Failover, and Load Balancing" +description: "Distribute LLM traffic across providers with automatic failover, retries, circuit breaking, and weight-based routing for high availability." --- ## About diff --git a/src/pages/docs/command-center/features/self-hosted-models.mdx b/src/pages/docs/command-center/features/self-hosted-models.mdx index 328ff4d0..3c89515c 100644 --- a/src/pages/docs/command-center/features/self-hosted-models.mdx +++ b/src/pages/docs/command-center/features/self-hosted-models.mdx @@ -1,6 +1,6 @@ --- -title: "Self-hosted models" -description: "Connect Agent Command Center to locally-running models via Ollama, vLLM, LM Studio, and other OpenAI-compatible servers." +title: "Self-Hosted Model Integration in Agent Command Center" +description: "Route requests to Ollama, vLLM, LM Studio, or any OpenAI-compatible inference server alongside cloud providers. All gateway features apply to local models." --- ## About diff --git a/src/pages/docs/command-center/features/shadow-experiments.mdx b/src/pages/docs/command-center/features/shadow-experiments.mdx index 6b469ef1..2c23b33c 100644 --- a/src/pages/docs/command-center/features/shadow-experiments.mdx +++ b/src/pages/docs/command-center/features/shadow-experiments.mdx @@ -1,6 +1,6 @@ --- -title: "Shadow experiments" -description: "Mirror a percentage of production LLM traffic to alternative models for zero-risk evaluation." +title: "Shadow Experiments for LLM Traffic in Agent Command Center" +description: "Silently mirror production LLM requests to a shadow model without affecting users. Compare cost, latency, and quality on real traffic before switching." --- ## About diff --git a/src/pages/docs/command-center/features/streaming.mdx b/src/pages/docs/command-center/features/streaming.mdx index 3bb69117..5bbd1bef 100644 --- a/src/pages/docs/command-center/features/streaming.mdx +++ b/src/pages/docs/command-center/features/streaming.mdx @@ -1,6 +1,6 @@ --- -title: "Streaming" -description: "Use Server-Sent Events (SSE) streaming with Agent Command Center for real-time LLM responses." +title: "Server-Sent Events Streaming in Agent Command Center" +description: "Stream LLM responses with OpenAI-compatible SSE by setting stream: true. Agent Command Center normalizes all provider formats to standard SSE chunks." --- ## About diff --git a/src/pages/docs/command-center/features/webhooks.mdx b/src/pages/docs/command-center/features/webhooks.mdx index 614e3a8c..4c408bb0 100644 --- a/src/pages/docs/command-center/features/webhooks.mdx +++ b/src/pages/docs/command-center/features/webhooks.mdx @@ -1,6 +1,6 @@ --- -title: "Webhooks" -description: "Configure webhook endpoints to receive real-time event notifications from the gateway." +title: "Webhooks and Event Notifications in Agent Command Center" +description: "Receive real-time HTTP notifications for completed requests, guardrail triggers, budget alerts, and errors. Build integrations and audit pipelines." --- ## About diff --git a/src/pages/docs/command-center/guides/errors.mdx b/src/pages/docs/command-center/guides/errors.mdx index f1cafac0..02b4efa9 100644 --- a/src/pages/docs/command-center/guides/errors.mdx +++ b/src/pages/docs/command-center/guides/errors.mdx @@ -1,6 +1,6 @@ --- -title: "Error handling" -description: "Error response format, HTTP status codes, and retry strategies for the Agent Command Center." +title: "Error Handling and HTTP Status Codes in Agent Command Center" +description: "Reference for Agent Command Center error JSON format, 4xx and 5xx status codes with machine-readable codes, and retry strategies." --- ## About diff --git a/src/pages/docs/command-center/guides/troubleshooting.mdx b/src/pages/docs/command-center/guides/troubleshooting.mdx index 5ad63d47..5a239d87 100644 --- a/src/pages/docs/command-center/guides/troubleshooting.mdx +++ b/src/pages/docs/command-center/guides/troubleshooting.mdx @@ -1,6 +1,6 @@ --- -title: "Troubleshooting" -description: "Step-by-step solutions for common Agent Command Center issues." +title: "Troubleshooting Agent Command Center Issues" +description: "Debug checklist and fixes for common Agent Command Center issues: model not found, 429 rate limits, provider 502 errors, and slow responses." --- ## About From 4856fa1a2f3549de4216a87e3a4773e6dac02ea8 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:19:29 +0530 Subject: [PATCH 07/51] SEO: optimize command-center index/quickstart + cookbook batch 3 Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/command-center/index.mdx | 2 +- src/pages/docs/command-center/quickstart.mdx | 4 ++-- src/pages/docs/cookbook/ai-agents.mdx | 2 +- src/pages/docs/cookbook/ai-sdr.mdx | 2 +- src/pages/docs/cookbook/basic-optimization.mdx | 4 ++-- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx | 4 ++-- src/pages/docs/cookbook/compare-optimization.mdx | 2 +- src/pages/docs/cookbook/crewai-research-team.mdx | 4 ++-- src/pages/docs/cookbook/decrease-hallucination.mdx | 2 +- src/pages/docs/cookbook/end-to-end-optimization.mdx | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/docs/command-center/index.mdx b/src/pages/docs/command-center/index.mdx index 05012e9a..67019f49 100644 --- a/src/pages/docs/command-center/index.mdx +++ b/src/pages/docs/command-center/index.mdx @@ -1,5 +1,5 @@ --- -title: "Agent Command Center" +title: "Agent Command Center: AI Gateway for 100+ LLM Providers" description: "A unified API gateway for 100+ LLM providers with built-in guardrails, intelligent routing, caching, cost controls, and full observability." --- diff --git a/src/pages/docs/command-center/quickstart.mdx b/src/pages/docs/command-center/quickstart.mdx index f4e56ca7..967d3a04 100644 --- a/src/pages/docs/command-center/quickstart.mdx +++ b/src/pages/docs/command-center/quickstart.mdx @@ -1,6 +1,6 @@ --- -title: "Quickstart" -description: "Make your first LLM request through Agent Command Center in under 5 minutes." +title: "Agent Command Center Quickstart: Connect in 5 Minutes" +description: "Set up Agent Command Center in under 5 minutes by changing two lines in your OpenAI SDK. Change base_url and api_key to route through the gateway." --- diff --git a/src/pages/docs/cookbook/ai-agents.mdx b/src/pages/docs/cookbook/ai-agents.mdx index ebf73313..99594d16 100644 --- a/src/pages/docs/cookbook/ai-agents.mdx +++ b/src/pages/docs/cookbook/ai-agents.mdx @@ -1,5 +1,5 @@ --- -title: "AI Agent Evaluation" +title: "Evaluating AI Agent Function Calling and Response Quality" description: "Evaluate AI agent function-calling and response quality using Future AGI's evaluation SDK with metrics like tool use accuracy and safety." --- diff --git a/src/pages/docs/cookbook/ai-sdr.mdx b/src/pages/docs/cookbook/ai-sdr.mdx index 0ba192fb..887c83ad 100644 --- a/src/pages/docs/cookbook/ai-sdr.mdx +++ b/src/pages/docs/cookbook/ai-sdr.mdx @@ -1,5 +1,5 @@ --- -title: "AI SDR Evaluation" +title: "Evaluating AI SDR Outreach Messages with Future AGI" description: "Evaluate AI-generated sales outreach messages using Future AGI. Score SDR openers for relevance, personalization, and value proposition alignment." --- diff --git a/src/pages/docs/cookbook/basic-optimization.mdx b/src/pages/docs/cookbook/basic-optimization.mdx index 1423aeea..b2e130ac 100644 --- a/src/pages/docs/cookbook/basic-optimization.mdx +++ b/src/pages/docs/cookbook/basic-optimization.mdx @@ -1,6 +1,6 @@ --- -title: "Basic Prompt Optimization" -description: "A hands-on guide to optimizing your first prompt using the agent-opt Python library with a simple Random Search strategy." +title: "Basic Prompt Optimization with the agent-opt Library" +description: "Optimize your first prompt using the agent-opt Python library with RandomSearchOptimizer. Generate prompt variations and select the best performer." --- This cookbook provides a step-by-step walkthrough for optimizing a prompt using the `agent-opt` Python library. We will use the `RandomSearchOptimizer` to demonstrate the core workflow of generating prompt variations and selecting the best one based on performance. diff --git a/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx b/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx index 219a90d6..3872f1a1 100644 --- a/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx +++ b/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx @@ -1,6 +1,6 @@ --- -title: "Chat Simulation with Fix My Agent" -description: "Simulate AI chat agents at scale and get instant AI-powered diagnostics to improve performance" +title: "AI Chat Agent Simulation and Fix My Agent Diagnostics" +description: "Simulate AI chat agents across multiple scenarios, analyze performance metrics, and use Fix My Agent for AI-powered diagnostics." --- This cookbook shows you how to test and improve your AI chat agents using Future AGI's simulation platform. You'll learn how to: diff --git a/src/pages/docs/cookbook/compare-optimization.mdx b/src/pages/docs/cookbook/compare-optimization.mdx index d861cbfe..87b8c7be 100644 --- a/src/pages/docs/cookbook/compare-optimization.mdx +++ b/src/pages/docs/cookbook/compare-optimization.mdx @@ -1,5 +1,5 @@ --- -title: "Choosing the Right Optimizer" +title: "Comparing Optimizers: Bayesian Search, GEPA, and Meta-Prompt" description: "A practical guide to selecting the best optimization strategy (Bayesian Search, Meta-Prompt, GEPA, etc.) based on your specific task and goals." --- diff --git a/src/pages/docs/cookbook/crewai-research-team.mdx b/src/pages/docs/cookbook/crewai-research-team.mdx index 73cff618..0223251e 100644 --- a/src/pages/docs/cookbook/crewai-research-team.mdx +++ b/src/pages/docs/cookbook/crewai-research-team.mdx @@ -1,6 +1,6 @@ --- -title: "CrewAI" -description: "Learn how to build a multi-agent research system using CrewAI with integrated observability and in-line evaluations from FutureAGI for real-time quality monitoring." +title: "Multi-Agent Research System with CrewAI and Future AGI" +description: "Build a multi-agent research system using CrewAI with Future AGI observability and in-line evaluations for real-time quality monitoring." --- ## Overview diff --git a/src/pages/docs/cookbook/decrease-hallucination.mdx b/src/pages/docs/cookbook/decrease-hallucination.mdx index be89420d..7ec080fa 100644 --- a/src/pages/docs/cookbook/decrease-hallucination.mdx +++ b/src/pages/docs/cookbook/decrease-hallucination.mdx @@ -1,5 +1,5 @@ --- -title: "Decrease Hallucinations in RAG" +title: "Decreasing Hallucinations in RAG Pipelines with Future AGI" description: "Reduce hallucinations in RAG pipelines by benchmarking chunking, retrieval, and chain strategies with Future AGI's evaluation suite." --- diff --git a/src/pages/docs/cookbook/end-to-end-optimization.mdx b/src/pages/docs/cookbook/end-to-end-optimization.mdx index ce509a4e..eebfecfe 100644 --- a/src/pages/docs/cookbook/end-to-end-optimization.mdx +++ b/src/pages/docs/cookbook/end-to-end-optimization.mdx @@ -1,5 +1,5 @@ --- -title: "End-to-End Prompt Optimization" +title: "End-to-End Prompt Optimization with Future AGI Evaluation" description: "Optimize prompts end-to-end with Future AGI. Learn evaluation-driven prompt refinement using automated scoring and version tracking." --- From 12bcac842a79596d8edf363dc821f4d50e7b9763 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:21:11 +0530 Subject: [PATCH 08/51] SEO: optimize cookbook batch 4 (error-feed/google-adk, eval-metrics, evaluate-rag, gepa, image-eval, import-datasets, index, langchain, llamaindex, meeting-summarization) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx | 4 ++-- src/pages/docs/cookbook/eval-metrics-optimization.mdx | 4 ++-- src/pages/docs/cookbook/evaluate-rag.mdx | 2 +- src/pages/docs/cookbook/gepa-optimization.mdx | 2 +- src/pages/docs/cookbook/image-evaluation.mdx | 2 +- src/pages/docs/cookbook/import-datasets.mdx | 4 ++-- src/pages/docs/cookbook/index.mdx | 4 ++-- src/pages/docs/cookbook/langchain-langgraph.mdx | 4 ++-- src/pages/docs/cookbook/llamaindex-pdf-rag.mdx | 2 +- src/pages/docs/cookbook/meeting-summarization.mdx | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx b/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx index af9c261b..e3d64954 100644 --- a/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx +++ b/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx @@ -1,6 +1,6 @@ --- -title: "Error Feed with Google ADK" -description: "Set up a multi-agent system using Google ADK, send traces to Future AGI, and analyze agent errors with Error Feed." +title: "Error Feed Analysis for Google ADK Multi-Agent Systems" +description: "Build a Google ADK multi-agent system with tracing, then use Future AGI Error Feed to analyze agent errors and surface recommendations on each trace." --- ## About diff --git a/src/pages/docs/cookbook/eval-metrics-optimization.mdx b/src/pages/docs/cookbook/eval-metrics-optimization.mdx index 20b8f6f3..f5eede53 100644 --- a/src/pages/docs/cookbook/eval-metrics-optimization.mdx +++ b/src/pages/docs/cookbook/eval-metrics-optimization.mdx @@ -1,6 +1,6 @@ --- -title: "Using Different Evaluation Metrics" -description: "Learn how to use the FutureAGI platform, local LLM-as-a-judge, and local heuristic metrics to guide your prompt optimization." +title: "Choosing Evaluation Metrics for Prompt Optimization" +description: "Compare three methods for evaluating prompt quality within agent-opt: the Future AGI platform, local LLM-as-a-judge, and local heuristic metrics." --- The quality of your prompt optimization is only as good as the evaluation metrics you use. A well-chosen evaluator provides a clear signal to the optimizer, guiding it toward prompts that produce high-quality results. diff --git a/src/pages/docs/cookbook/evaluate-rag.mdx b/src/pages/docs/cookbook/evaluate-rag.mdx index bf4131cd..8d849bdf 100644 --- a/src/pages/docs/cookbook/evaluate-rag.mdx +++ b/src/pages/docs/cookbook/evaluate-rag.mdx @@ -1,5 +1,5 @@ --- -title: "Evaluating RAG Applications" +title: "Evaluating RAG Applications with Future AGI" description: "Evaluate RAG applications with Future AGI using context adherence, retrieval quality, answer correctness, and other retrieval-augmented generation metrics." --- diff --git a/src/pages/docs/cookbook/gepa-optimization.mdx b/src/pages/docs/cookbook/gepa-optimization.mdx index 9be676a8..6024093f 100644 --- a/src/pages/docs/cookbook/gepa-optimization.mdx +++ b/src/pages/docs/cookbook/gepa-optimization.mdx @@ -1,5 +1,5 @@ --- -title: "Evolutionary Optimization with GEPA" +title: "Prompt Optimization with GEPA Evolutionary Algorithm" description: "A guide to using GEPA, a powerful evolutionary algorithm for state-of-the-art prompt optimization in complex, high-stakes scenarios." --- diff --git a/src/pages/docs/cookbook/image-evaluation.mdx b/src/pages/docs/cookbook/image-evaluation.mdx index 2e719977..b2621d51 100644 --- a/src/pages/docs/cookbook/image-evaluation.mdx +++ b/src/pages/docs/cookbook/image-evaluation.mdx @@ -1,5 +1,5 @@ --- -title: "Image Evaluation" +title: "Evaluating AI-Generated Images with Future AGI SDK" description: "Evaluate AI-generated images for description alignment, artistic requirements, and replacement quality using the Future AGI SDK." --- diff --git a/src/pages/docs/cookbook/import-datasets.mdx b/src/pages/docs/cookbook/import-datasets.mdx index faad87ac..6a66a1dc 100644 --- a/src/pages/docs/cookbook/import-datasets.mdx +++ b/src/pages/docs/cookbook/import-datasets.mdx @@ -1,6 +1,6 @@ --- -title: "Using Custom Datasets for Optimization" -description: "Learn how to prepare and integrate datasets from various sources (in-memory, CSV, JSON, JSONL) for effective prompt optimization." +title: "Using Custom Datasets for Prompt Optimization in agent-opt" +description: "Prepare and integrate datasets from in-memory, CSV, JSON, and JSONL sources for prompt optimization with the agent-opt library." --- Datasets are the backbone of effective prompt optimization. They provide the ground-truth examples that the `Evaluator` uses to score your prompts, guiding the optimizer towards better performance. A high-quality, representative dataset is the single most important factor for a successful optimization run. diff --git a/src/pages/docs/cookbook/index.mdx b/src/pages/docs/cookbook/index.mdx index 1effeed4..ba001f1b 100644 --- a/src/pages/docs/cookbook/index.mdx +++ b/src/pages/docs/cookbook/index.mdx @@ -1,6 +1,6 @@ --- -title: "Cookbooks" -description: "Practical guides and tutorials for using Future AGI products effectively" +title: "Future AGI Cookbooks: Guides and Tutorials" +description: "Practical step-by-step guides for evaluation, optimization, simulation, observability, RAG, and agent testing with Future AGI products." --- ## Getting Started diff --git a/src/pages/docs/cookbook/langchain-langgraph.mdx b/src/pages/docs/cookbook/langchain-langgraph.mdx index 2bf1a3d4..52f1c4dc 100644 --- a/src/pages/docs/cookbook/langchain-langgraph.mdx +++ b/src/pages/docs/cookbook/langchain-langgraph.mdx @@ -1,6 +1,6 @@ --- -title: "LangChain" -description: "Add observability and evaluation to LangChain and LangGraph agents using Future AGI's tracing SDK for completeness, groundedness, and hallucination detection." +title: "LangChain and LangGraph Observability with Future AGI" +description: "Add observability and evaluation to LangChain and LangGraph agents using Future AGI tracing. Detect completeness, groundedness, and hallucinations." --- Learn how to enhance the reliability of your LangChain/LangGraph application by integrating Future AGI’s observability framework
Open In Colab diff --git a/src/pages/docs/cookbook/llamaindex-pdf-rag.mdx b/src/pages/docs/cookbook/llamaindex-pdf-rag.mdx index ece72cc0..b9a7dff0 100644 --- a/src/pages/docs/cookbook/llamaindex-pdf-rag.mdx +++ b/src/pages/docs/cookbook/llamaindex-pdf-rag.mdx @@ -1,5 +1,5 @@ --- -title: "LlamaIndex" +title: "LlamaIndex PDF RAG Chatbot with Future AGI Observability" description: "Build a production-ready LlamaIndex PDF RAG chatbot with Future AGI observability, tracing, and real-time evaluation of retrieval quality." --- diff --git a/src/pages/docs/cookbook/meeting-summarization.mdx b/src/pages/docs/cookbook/meeting-summarization.mdx index 65cae3f0..5309cff9 100644 --- a/src/pages/docs/cookbook/meeting-summarization.mdx +++ b/src/pages/docs/cookbook/meeting-summarization.mdx @@ -1,5 +1,5 @@ --- -title: "Meeting Summarization" +title: "Evaluating Meeting Summarization Quality with Future AGI" description: "Evaluate meeting summarization quality using Future AGI. Score AI-generated summaries from transcripts for accuracy and completeness." --- From 8899bb4eb709ef6c88882311d64b436a267b4038 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:23:21 +0530 Subject: [PATCH 09/51] SEO: optimize cookbook batch 5 (mongodb, observability, portkey, batch-eval, chat-sim, cicd, compare-optimizers, conversation-eval) Skipped: async-batch-eval, custom-eval-metrics (already optimized) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/cookbook/mongodb.mdx | 4 ++-- src/pages/docs/cookbook/observability.mdx | 4 ++-- src/pages/docs/cookbook/portkey-integration.mdx | 2 +- src/pages/docs/cookbook/quickstart/batch-eval.mdx | 2 +- .../docs/cookbook/quickstart/chat-simulation-personas.mdx | 2 +- src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/compare-optimizers.mdx | 2 +- src/pages/docs/cookbook/quickstart/conversation-eval.mdx | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pages/docs/cookbook/mongodb.mdx b/src/pages/docs/cookbook/mongodb.mdx index 43d45034..c7df2cb4 100644 --- a/src/pages/docs/cookbook/mongodb.mdx +++ b/src/pages/docs/cookbook/mongodb.mdx @@ -1,6 +1,6 @@ --- -title: "MongoDB" -description: "Learn how to build production-grade PDF RAG chatbots using MongoDB Atlas for vector search and Future AGI to trace, evaluate, and real-time performance monitoring of LLM pipelines" +title: "PDF RAG Chatbot with MongoDB Atlas and Future AGI" +description: "Build a PDF RAG chatbot using MongoDB Atlas for vector search and Future AGI for tracing, evaluation, and LLM pipeline monitoring." --- ## 1. Introduction diff --git a/src/pages/docs/cookbook/observability.mdx b/src/pages/docs/cookbook/observability.mdx index c5dcb035..8ca51b1e 100644 --- a/src/pages/docs/cookbook/observability.mdx +++ b/src/pages/docs/cookbook/observability.mdx @@ -1,6 +1,6 @@ --- -title: "LangChain Chatbot" -description: "Master AI observability with FutureAGI. Track LLM performance, monitor metrics, and optimize Python apps. Step-by-step guide with examples." +title: "LLM Observability with a LangChain Chatbot and Future AGI" +description: "Instrument a LangChain chatbot with Future AGI tracing to monitor LLM performance, track metrics, and improve application stability." --- ## Observability in AI Systems Explained diff --git a/src/pages/docs/cookbook/portkey-integration.mdx b/src/pages/docs/cookbook/portkey-integration.mdx index d0cd35e4..8f2087b8 100644 --- a/src/pages/docs/cookbook/portkey-integration.mdx +++ b/src/pages/docs/cookbook/portkey-integration.mdx @@ -1,5 +1,5 @@ --- -title: "Portkey" +title: "Portkey and Future AGI: End-to-End LLM Observability" description: "Combine Portkey and Future AGI for end-to-end LLM observability. Benchmark multiple models on response quality, latency, and cost." --- diff --git a/src/pages/docs/cookbook/quickstart/batch-eval.mdx b/src/pages/docs/cookbook/quickstart/batch-eval.mdx index d934d6c0..a88367fa 100644 --- a/src/pages/docs/cookbook/quickstart/batch-eval.mdx +++ b/src/pages/docs/cookbook/quickstart/batch-eval.mdx @@ -1,6 +1,6 @@ --- title: "Dataset SDK: Upload, Evaluate, and Download Results" -description: "Upload a CSV, run batch evaluations across every row, and download scored results: all from the SDK." +description: "Upload a CSV dataset, run batch evaluations for groundedness and toxicity across every row, and download scored results from the SDK." --- diff --git a/src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx b/src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx index 85a2f121..caf7f71b 100644 --- a/src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx +++ b/src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx @@ -1,6 +1,6 @@ --- title: "Chat Simulation: Run Multi-Persona Conversations via SDK" -description: "Use FutureAGI's Chat Simulation feature to define personas, generate scenarios, execute multi-turn conversations via the SDK, and diagnose failures with Fix My Agent." +description: "Define personas, auto-generate scenarios, run multi-turn conversations via SDK, and diagnose failures with Fix My Agent using Future AGI Chat Simulation." --- diff --git a/src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx b/src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx index 6ad99e2e..7ac8ae34 100644 --- a/src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx +++ b/src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx @@ -1,6 +1,6 @@ --- -title: "CI/CD Eval Pipeline: Automate Quality Gates in GitHub Actions" -description: "Set up FutureAGI's CI/CD Eval Pipeline to run automated quality gates on every pull request, failing builds when eval scores drop below your configured thresholds." +title: "CI/CD Eval Pipeline: Automate Quality Gates on Every PR" +description: "Run automated faithfulness and toxicity eval gates on every pull request using Future AGI. Block merges when scores fall below configured thresholds." --- diff --git a/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx b/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx index cbd6101d..e2006cb5 100644 --- a/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx +++ b/src/pages/docs/cookbook/quickstart/compare-optimizers.mdx @@ -1,5 +1,5 @@ --- -title: "Compare Optimization Strategies: ProTeGi, GEPA, and PromptWizard" +title: "Comparing ProTeGi, GEPA, and PromptWizard Optimization" description: "Run three optimization algorithms on the same task with different evaluation metrics and compare results to pick the best strategy for your use case." --- diff --git a/src/pages/docs/cookbook/quickstart/conversation-eval.mdx b/src/pages/docs/cookbook/quickstart/conversation-eval.mdx index ecb6529b..981ec092 100644 --- a/src/pages/docs/cookbook/quickstart/conversation-eval.mdx +++ b/src/pages/docs/cookbook/quickstart/conversation-eval.mdx @@ -1,6 +1,6 @@ --- -title: "Evaluate Customer Agent Conversations" -description: "Score multi-turn conversations for quality, context retention, query handling, loop detection, escalation, and prompt conformance using built-in Turing metrics." +title: "Evaluating Customer Agent Multi-Turn Conversations" +description: "Score multi-turn conversations for quality, context retention, query handling, loop detection, and escalation using built-in conversation metrics." --- From d17bd3c68b5ae91f9908201324af78429d4aeddc Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:26:22 +0530 Subject: [PATCH 10/51] SEO: optimize cookbook/quickstart batch 6 (dataset-annotation, dataset-mgmt, dataset-opt, distributed-tracing, dynamic-columns, eval-driven-dev, experimentation, first-eval, hallucination, huggingface) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/cookbook/quickstart/dataset-annotation.mdx | 2 +- src/pages/docs/cookbook/quickstart/dataset-management.mdx | 2 +- src/pages/docs/cookbook/quickstart/dataset-optimization.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/distributed-tracing.mdx | 4 ++-- .../docs/cookbook/quickstart/dynamic-dataset-columns.mdx | 2 +- src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx | 2 +- .../cookbook/quickstart/experimentation-compare-prompts.mdx | 2 +- src/pages/docs/cookbook/quickstart/first-eval.mdx | 4 ++-- .../docs/cookbook/quickstart/hallucination-detection.mdx | 2 +- .../docs/cookbook/quickstart/huggingface-dataset-import.mdx | 4 ++-- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx b/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx index 381f73c0..5fa83522 100644 --- a/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx +++ b/src/pages/docs/cookbook/quickstart/dataset-annotation.mdx @@ -1,6 +1,6 @@ --- title: "Annotate Datasets with Human-in-the-Loop Workflows" -description: "Create annotation views, define labels, assign annotators, and log annotations programmatically via the SDK." +description: "Create annotation views with categorical, numeric, and text labels, assign annotators, and log annotations programmatically using the Future AGI SDK." --- diff --git a/src/pages/docs/cookbook/quickstart/dataset-management.mdx b/src/pages/docs/cookbook/quickstart/dataset-management.mdx index 8dabe80a..c664b391 100644 --- a/src/pages/docs/cookbook/quickstart/dataset-management.mdx +++ b/src/pages/docs/cookbook/quickstart/dataset-management.mdx @@ -1,6 +1,6 @@ --- title: "Create and Manage Datasets from the Dashboard" -description: "Create a dataset, add columns, enter rows manually, import from CSV, run evaluations, and export — all from the FutureAGI dashboard, no code required." +description: "Create a dataset, add columns, enter rows manually or via CSV, run evaluations, and export results from the Future AGI dashboard. No code required." --- diff --git a/src/pages/docs/cookbook/quickstart/dataset-optimization.mdx b/src/pages/docs/cookbook/quickstart/dataset-optimization.mdx index 0aef26f9..fd1dfdf7 100644 --- a/src/pages/docs/cookbook/quickstart/dataset-optimization.mdx +++ b/src/pages/docs/cookbook/quickstart/dataset-optimization.mdx @@ -1,6 +1,6 @@ --- -title: "Dataset Optimization: Improve Prompts Directly in Your Dataset" -description: "Use the dashboard Optimization tab to run automated prompt improvement on any Run Prompt column: no SDK code required." +title: "Dataset Optimization: Improve Prompts in Your Dataset" +description: "Run automated prompt optimization from the dashboard Optimization tab on any Run Prompt column. Review trial results and promote the winner." --- diff --git a/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx b/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx index e43e52ed..02038706 100644 --- a/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx +++ b/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx @@ -1,6 +1,6 @@ --- -title: "Distributed Tracing: Connect Spans Across Services into One Trace" -description: "Propagate OpenTelemetry trace context across microservices so every span - from your API gateway to your LLM backend - shows up in a single trace." +title: "Distributed Tracing Across Services with OpenTelemetry" +description: "Propagate OpenTelemetry trace context across microservices using W3C TraceContext headers. Spans from gateway to LLM backend land in one unified trace." --- diff --git a/src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx b/src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx index 66c11736..6f02a5d8 100644 --- a/src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx +++ b/src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx @@ -1,6 +1,6 @@ --- title: "Dynamic Dataset Columns: Enrich Rows with AI-Generated Data" -description: "Use Dynamic Columns to add AI-generated summaries, sentiment labels, extracted entities, vector-retrieved context, parsed JSON fields, and conditional routing to any dataset — no code required." +description: "Enrich datasets with AI-generated summaries, sentiment labels, entities, vector-retrieved context, and parsed JSON fields from the Future AGI dashboard." --- diff --git a/src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx b/src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx index 72398d87..c4ae8cda 100644 --- a/src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx +++ b/src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx @@ -1,5 +1,5 @@ --- -title: "Evaluation-Driven Development: Score Every Prompt Change Before Shipping" +title: "Evaluation-Driven Development: Gate Prompt Changes" description: "Build a local eval loop that scores prompts against a test suite, compare before-and-after results, and gate promotion on quality thresholds." --- diff --git a/src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx b/src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx index 698e8317..e9844385 100644 --- a/src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx +++ b/src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx @@ -1,6 +1,6 @@ --- title: "Experimentation: Compare Prompts and Models on a Dataset" -description: "Use the Experimentation feature to run multiple prompt variants across different models on the same dataset, evaluate outputs, and pick the winning configuration." +description: "Test multiple prompt variants and models on the same dataset, evaluate outputs, and pick the best configuration using weighted metric comparison." --- diff --git a/src/pages/docs/cookbook/quickstart/first-eval.mdx b/src/pages/docs/cookbook/quickstart/first-eval.mdx index fb5691d8..6f301425 100644 --- a/src/pages/docs/cookbook/quickstart/first-eval.mdx +++ b/src/pages/docs/cookbook/quickstart/first-eval.mdx @@ -1,6 +1,6 @@ --- -title: "Running Your First Eval" -description: "Score LLM outputs for hallucination, toxicity, and custom quality criteria — from local metrics to LLM-as-Judge." +title: "Running Your First Future AGI Evaluation" +description: "Score LLM outputs for hallucination, toxicity, and custom criteria using local metrics, Future AGI evaluation models, or LLM-as-Judge." --- diff --git a/src/pages/docs/cookbook/quickstart/hallucination-detection.mdx b/src/pages/docs/cookbook/quickstart/hallucination-detection.mdx index 097c3759..11119752 100644 --- a/src/pages/docs/cookbook/quickstart/hallucination-detection.mdx +++ b/src/pages/docs/cookbook/quickstart/hallucination-detection.mdx @@ -1,6 +1,6 @@ --- title: "Hallucination Detection with Faithfulness & Groundedness" -description: "Score RAG outputs for faithfulness and groundedness to catch hallucinations before they reach users." +description: "Catch LLM hallucinations in RAG outputs using faithfulness (local NLI) and groundedness metrics. Combine both in a single evaluate() call." --- diff --git a/src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx b/src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx index 47eb26bc..303cf772 100644 --- a/src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx +++ b/src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx @@ -1,6 +1,6 @@ --- -title: "Import Datasets from Hugging Face" -description: "Pull any public Hugging Face dataset into FutureAGI with a single SDK call and run evaluations on it." +title: "Importing Hugging Face Datasets into Future AGI" +description: "Import any public Hugging Face dataset into Future AGI with a single SDK call, run evaluations, and download scored results." --- From 90f077beb36d6c2f297a7d6d87a8547ea93b3044 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:28:11 +0530 Subject: [PATCH 11/51] SEO: optimize cookbook/quickstart batch 7 (inline-evals, knowledge-base, manual-tracing, monitoring-alerts, multimodal-eval, prompt-opt, prompt-versioning, prompt-workbench, protect-guardrails, prototype) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/knowledge-base.mdx | 2 +- src/pages/docs/cookbook/quickstart/manual-tracing.mdx | 2 +- src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/multimodal-eval.mdx | 2 +- src/pages/docs/cookbook/quickstart/prompt-optimization.mdx | 2 +- src/pages/docs/cookbook/quickstart/prompt-versioning.mdx | 2 +- .../docs/cookbook/quickstart/prompt-workbench-simulation.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/protect-guardrails.mdx | 2 +- src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx b/src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx index 95f47a3b..50af979c 100644 --- a/src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx +++ b/src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx @@ -1,6 +1,6 @@ --- -title: "Inline Evals in Tracing: Score Every Response as It's Generated" -description: "Attach quality scores directly to production traces so you can see faithfulness, toxicity, and custom evals alongside every LLM call in FutureAGI Tracing." +title: "Inline Evals in Tracing: Score LLM Responses as Generated" +description: "Attach quality scores directly to production traces and see faithfulness, toxicity, and custom evals alongside every LLM call in Future AGI Tracing." --- diff --git a/src/pages/docs/cookbook/quickstart/knowledge-base.mdx b/src/pages/docs/cookbook/quickstart/knowledge-base.mdx index c8fd2993..a53bef24 100644 --- a/src/pages/docs/cookbook/quickstart/knowledge-base.mdx +++ b/src/pages/docs/cookbook/quickstart/knowledge-base.mdx @@ -1,6 +1,6 @@ --- title: "Knowledge Base: Upload Documents and Query with the SDK" -description: "Upload documents to a Knowledge Base, manage files programmatically with the SDK, and use Knowledge Bases for grounded evaluations and synthetic data generation." +description: "Upload documents to a Knowledge Base via dashboard or SDK, and use them for domain-grounded evaluations and synthetic data generation." --- diff --git a/src/pages/docs/cookbook/quickstart/manual-tracing.mdx b/src/pages/docs/cookbook/quickstart/manual-tracing.mdx index be37d914..64da52be 100644 --- a/src/pages/docs/cookbook/quickstart/manual-tracing.mdx +++ b/src/pages/docs/cookbook/quickstart/manual-tracing.mdx @@ -1,6 +1,6 @@ --- title: "Manual Tracing: Add Custom Spans to Any Application" -description: "Instrument any Python application with custom spans, user context, and metadata - and see every call visualized in the FutureAGI Tracing dashboard." +description: "Instrument any Python application with custom spans, user context, and metadata and see every call visualized in the Future AGI Tracing dashboard." --- diff --git a/src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx b/src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx index f0f1e3db..07636891 100644 --- a/src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx +++ b/src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx @@ -1,6 +1,6 @@ --- -title: "Monitoring & Alerts: Track LLM Performance and Set Quality Thresholds" -description: "Generate rich trace data from a multi-step RAG agent, analyze historical performance trends in the Charts tab, and configure alerts with thresholds and notifications." +title: "Monitoring and Alerts: Track LLM Performance Thresholds" +description: "Instrument a multi-step RAG agent, analyze latency and cost trends in Charts, and configure warning and critical alerts with email or Slack notifications." --- diff --git a/src/pages/docs/cookbook/quickstart/multimodal-eval.mdx b/src/pages/docs/cookbook/quickstart/multimodal-eval.mdx index 5db0cc06..808bd5e1 100644 --- a/src/pages/docs/cookbook/quickstart/multimodal-eval.mdx +++ b/src/pages/docs/cookbook/quickstart/multimodal-eval.mdx @@ -1,6 +1,6 @@ --- title: "Multimodal Evaluation: Images, Audio, and PDF" -description: "Score image captions, detect AI-generated images, evaluate audio quality and TTS accuracy, and verify OCR output against source PDFs using built-in eval metrics." +description: "Score image captions, detect AI-generated images, evaluate audio quality and TTS accuracy, and verify OCR output using built-in multimodal eval metrics." --- diff --git a/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx b/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx index 89609f8e..1f8c965e 100644 --- a/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx +++ b/src/pages/docs/cookbook/quickstart/prompt-optimization.mdx @@ -1,6 +1,6 @@ --- title: "Prompt Optimization: Improve a Prompt Automatically" -description: "Use the agent-opt SDK to take a weak baseline prompt, run automated optimization, and deploy the best-performing variant - no manual prompt engineering required." +description: "Use agent-opt to take a weak baseline prompt, run automated optimization, and extract the best-performing variant. No manual prompt engineering required." --- diff --git a/src/pages/docs/cookbook/quickstart/prompt-versioning.mdx b/src/pages/docs/cookbook/quickstart/prompt-versioning.mdx index bf635921..50e5d5f8 100644 --- a/src/pages/docs/cookbook/quickstart/prompt-versioning.mdx +++ b/src/pages/docs/cookbook/quickstart/prompt-versioning.mdx @@ -1,6 +1,6 @@ --- title: "Prompt Versioning: Create, Label, and Serve Prompt Versions" -description: "Use FutureAGI's Prompt Versioning feature to create prompt templates, commit numbered versions, assign labels like production, and serve the right version at runtime via SDK." +description: "Create prompt templates, commit numbered versions, assign labels like production, and serve the right version at runtime via SDK or dashboard." --- diff --git a/src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx b/src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx index 85f0fd7b..e8c8a4ad 100644 --- a/src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx +++ b/src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx @@ -1,6 +1,6 @@ --- -title: "Simulate from the Prompt Workbench" -description: "Run a simulation against your prompt directly from the FutureAGI Prompts page — no SDK, no code required." +title: "Prompt Workbench Simulation Without SDK or Code" +description: "Launch multi-turn chat simulations against any saved prompt version directly from the Future AGI Prompts workbench. No SDK or agent definition required." --- diff --git a/src/pages/docs/cookbook/quickstart/protect-guardrails.mdx b/src/pages/docs/cookbook/quickstart/protect-guardrails.mdx index cfc2a9fd..47c49661 100644 --- a/src/pages/docs/cookbook/quickstart/protect-guardrails.mdx +++ b/src/pages/docs/cookbook/quickstart/protect-guardrails.mdx @@ -1,6 +1,6 @@ --- title: "Protect: Add Safety Guardrails to LLM Outputs" -description: "Use FutureAGI Protect to screen text for prompt injection, PII, toxicity, and bias with a single API call — stack multiple safety rules and switch to Protect Flash for high-volume pipelines." +description: "Screen text for prompt injection, PII, toxicity, and bias with a single Protect API call. Stack multiple safety rules and get structured pass/fail results." --- diff --git a/src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx b/src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx index 9ff48e07..9b29ffa5 100644 --- a/src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx +++ b/src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx @@ -1,6 +1,6 @@ --- title: "Prototype and Iterate on LLM Applications" -description: "Register a prototype project, auto-evaluate spans with EvalTags, iterate with versioned prompts, compare versions, and choose the winner before deploying to production." +description: "Register a Prototype project with automatic span evaluation, iterate with versioned prompts, and compare versions before deploying to production." --- From cc5b10f8977e0c39b2f24b82178722683e574ead Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:32:18 +0530 Subject: [PATCH 12/51] SEO: optimize cookbook batch 8 (session-observability, synthetic-data, text-to-sql-eval, voice-simulation, rag-langchain, simulate-sdk, text-to-sql) --- src/pages/docs/cookbook/quickstart/session-observability.mdx | 2 +- .../docs/cookbook/quickstart/synthetic-data-generation.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/voice-simulation.mdx | 4 ++-- src/pages/docs/cookbook/rag-langchain.mdx | 2 +- src/pages/docs/cookbook/simulate-sdk.mdx | 2 +- src/pages/docs/cookbook/text-to-sql.mdx | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/cookbook/quickstart/session-observability.mdx b/src/pages/docs/cookbook/quickstart/session-observability.mdx index b3ee5d39..312c4f88 100644 --- a/src/pages/docs/cookbook/quickstart/session-observability.mdx +++ b/src/pages/docs/cookbook/quickstart/session-observability.mdx @@ -1,6 +1,6 @@ --- title: "Session-Based Observability for Multi-Turn Conversations" -description: "Group every span from a multi-turn chatbot by session and user ID so conversations appear as a single, filterable unit in the FutureAGI Tracing dashboard." +description: "Group every span from a multi-turn chatbot by session and user ID so conversations appear as a single, filterable unit in the Future AGI Tracing dashboard." --- diff --git a/src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx b/src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx index c024ee59..551493c3 100644 --- a/src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx +++ b/src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx @@ -1,6 +1,6 @@ --- -title: "Synthetic Data Generation: Create Test Datasets from a Schema" -description: "Use FutureAGI's Synthetic Data Generation feature to define column schemas, set categorical distributions, and generate structured test datasets — no code required." +title: "Synthetic Data Generation from Column Schemas" +description: "Define column schemas with types and categorical distributions, then generate structured test datasets from the Future AGI dashboard. No code required." --- diff --git a/src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx b/src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx index 01e9b679..3c476b2a 100644 --- a/src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx +++ b/src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx @@ -1,6 +1,6 @@ --- -title: "Text-to-SQL Evaluation" -description: "Evaluate LLM-generated SQL queries using the built-in text_to_sql Turing metric, local string comparison, and execution-based validation against a live database." +title: "Text-to-SQL LLM Evaluation with Future AGI" +description: "Evaluate LLM-generated SQL queries with string comparison, execution-based validation against a live database, and built-in text_to_sql eval metrics." --- diff --git a/src/pages/docs/cookbook/quickstart/voice-simulation.mdx b/src/pages/docs/cookbook/quickstart/voice-simulation.mdx index e92a8957..bbd2ac29 100644 --- a/src/pages/docs/cookbook/quickstart/voice-simulation.mdx +++ b/src/pages/docs/cookbook/quickstart/voice-simulation.mdx @@ -1,6 +1,6 @@ --- -title: "Voice Simulation: Define Agents, Personas, and Run Call Tests" -description: "Use Voice Simulation to define voice agents with provider credentials, build caller personas with accent and speed controls, generate call scenarios, run parallel call tests with evaluations, and diagnose failures with Fix My Agent." +title: "Voice Simulation: Define Agents, Personas, Run Call Tests" +description: "Define voice agents with caller personas, generate test scenarios, run parallel call tests with evaluations, and diagnose failures with Fix My Agent." --- diff --git a/src/pages/docs/cookbook/rag-langchain.mdx b/src/pages/docs/cookbook/rag-langchain.mdx index 3b29d681..f081620b 100644 --- a/src/pages/docs/cookbook/rag-langchain.mdx +++ b/src/pages/docs/cookbook/rag-langchain.mdx @@ -1,5 +1,5 @@ --- -title: "Experimenting Langchain RAG" +title: "LangChain RAG Evaluation with Future AGI" description: "Experiment with LangChain RAG configurations using Future AGI. Build and evaluate a retrieval-augmented generation app with OpenAI embeddings." --- diff --git a/src/pages/docs/cookbook/simulate-sdk.mdx b/src/pages/docs/cookbook/simulate-sdk.mdx index b079af74..ec778e32 100644 --- a/src/pages/docs/cookbook/simulate-sdk.mdx +++ b/src/pages/docs/cookbook/simulate-sdk.mdx @@ -1,6 +1,6 @@ --- title: "Testing a Voice AI Agent with Agent Simulate SDK" -description: "This cookbook demonstrates how to use the agent-simulate SDK to test a conversational voice AI agent." +description: "Use the agent-simulate SDK to build automated tests for conversational voice AI agents and validate agent behavior across call scenarios." --- # Testing a Voice AI Agent with Agent Simulate SDK diff --git a/src/pages/docs/cookbook/text-to-sql.mdx b/src/pages/docs/cookbook/text-to-sql.mdx index 60c91faa..17ffe984 100644 --- a/src/pages/docs/cookbook/text-to-sql.mdx +++ b/src/pages/docs/cookbook/text-to-sql.mdx @@ -1,5 +1,5 @@ --- -title: "Text-to-SQL Agent" +title: "Building and Evaluating a Text-to-SQL Agent with Future AGI" description: "Build and evaluate a Text-to-SQL agent with Future AGI. Test natural language to SQL conversion accuracy using automated evaluation metrics." --- From 0424f53d4c06e7814fdaf403e486ada82273bc3e Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:40:00 +0530 Subject: [PATCH 13/51] SEO: optimize cookbook/dataset batch 9 (trustworthy-rag, end-to-end-agent-testing, using-futureagi-*, dynamic-column, static-column, synthetic-data) --- src/pages/docs/cookbook/trustworthy-rag.mdx | 2 +- .../docs/cookbook/use-cases/end-to-end-agent-testing.mdx | 2 +- src/pages/docs/cookbook/using-futureagi-dataset.mdx | 4 ++-- src/pages/docs/cookbook/using-futureagi-evals.mdx | 4 ++-- src/pages/docs/cookbook/using-futureagi-kb.mdx | 4 ++-- src/pages/docs/cookbook/using-futureagi-protect.mdx | 4 ++-- src/pages/docs/dataset/concept/dynamic-column.mdx | 4 ++-- src/pages/docs/dataset/concept/static-column.mdx | 4 ++-- src/pages/docs/dataset/concept/synthetic-data.mdx | 4 ++-- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/pages/docs/cookbook/trustworthy-rag.mdx b/src/pages/docs/cookbook/trustworthy-rag.mdx index 76918671..9b9fedc8 100644 --- a/src/pages/docs/cookbook/trustworthy-rag.mdx +++ b/src/pages/docs/cookbook/trustworthy-rag.mdx @@ -1,5 +1,5 @@ --- -title: "Trustworthy RAG Chatbots" +title: "Evaluating Trustworthiness in RAG Chatbots with Future AGI" description: "Evaluate RAG chatbot trustworthiness across retrieval accuracy, prompt injection resilience, privacy compliance, and tone adaptation with Future AGI." --- diff --git a/src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx b/src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx index fe647337..e7a59f42 100644 --- a/src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx +++ b/src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx @@ -1,6 +1,6 @@ --- title: "Test and Fix Your Chat Agent with Simulated Conversations" -description: "Simulate realistic multi-turn conversations against your chat agent, evaluate conversation quality automatically, diagnose failure patterns, and optimize the prompt." +description: "Simulate multi-turn conversations against your chat agent, evaluate quality automatically, diagnose failure patterns, and optimize the prompt." ---
diff --git a/src/pages/docs/cookbook/using-futureagi-dataset.mdx b/src/pages/docs/cookbook/using-futureagi-dataset.mdx index 03c7b6d0..0ba9ee6a 100644 --- a/src/pages/docs/cookbook/using-futureagi-dataset.mdx +++ b/src/pages/docs/cookbook/using-futureagi-dataset.mdx @@ -1,6 +1,6 @@ --- -title: "Dataset" -description: "Use FutureAGI Dataset to create and manage your datasets" +title: "Creating and Managing Datasets with the Future AGI SDK" +description: "Create and manage AI evaluation datasets using the Future AGI Python SDK. Define schema columns, add rows, and access datasets via the futureagi package." --- You can checkout the [colab notebook](https://colab.research.google.com/drive/1TCRKBGoVOmdjNm60HHH1LeGGBbWAvN2L?usp=sharing) to quickly get started with the FutureAGI Dataset. Open In Colab diff --git a/src/pages/docs/cookbook/using-futureagi-evals.mdx b/src/pages/docs/cookbook/using-futureagi-evals.mdx index 0fb044d3..4dce5719 100644 --- a/src/pages/docs/cookbook/using-futureagi-evals.mdx +++ b/src/pages/docs/cookbook/using-futureagi-evals.mdx @@ -1,6 +1,6 @@ --- -title: "Evals" -description: "Use FutureAGI Evals to evaluate your AI models" +title: "Evaluating AI Models with the Future AGI Evaluator SDK" +description: "Evaluate AI model outputs using the ai-evaluation package. Choose built-in templates, pass inputs, and receive scored results with the Evaluator class." --- ## Installing FutureAGI SDK diff --git a/src/pages/docs/cookbook/using-futureagi-kb.mdx b/src/pages/docs/cookbook/using-futureagi-kb.mdx index 16c7fce7..94dc20e5 100644 --- a/src/pages/docs/cookbook/using-futureagi-kb.mdx +++ b/src/pages/docs/cookbook/using-futureagi-kb.mdx @@ -1,6 +1,6 @@ --- -title: "Knowledge Base" -description: "Use FutureAGI Knowledge Base to create and manage your knowledge base" +title: "Managing Knowledge Bases with the Future AGI Python SDK" +description: "Initialize a KnowledgeBase client with the Future AGI SDK to create and manage knowledge bases, add files, update contents, and query stored documents." --- You can checkout the [colab notebook](https://colab.research.google.com/drive/1VPfOA6HlO-0WBE-gK98-mZ3sGd5L4en4?usp=sharing) to quickly get started with the FutureAGI Knowledge Base. Open In Colab diff --git a/src/pages/docs/cookbook/using-futureagi-protect.mdx b/src/pages/docs/cookbook/using-futureagi-protect.mdx index 2d74cb7e..8cb802cf 100644 --- a/src/pages/docs/cookbook/using-futureagi-protect.mdx +++ b/src/pages/docs/cookbook/using-futureagi-protect.mdx @@ -1,6 +1,6 @@ --- -title: "Protect" -description: "Use FutureAGI Protect to protect your data" +title: "Guarding LLM Outputs with Future AGI Protect Rules" +description: "Apply guardrail rules to LLM outputs with the Future AGI Protect class. Define tone, toxicity, and custom metric rules to block or flag harmful responses." --- You can checkout the [colab notebook](https://colab.research.google.com/drive/1ver05a3vBrYVfeM8NWqDU-TsaMsLT3cQ?usp=sharing) to quickly get started with the FutureAGI Protect. Open In Colab diff --git a/src/pages/docs/dataset/concept/dynamic-column.mdx b/src/pages/docs/dataset/concept/dynamic-column.mdx index 204538d8..8a53ef9d 100644 --- a/src/pages/docs/dataset/concept/dynamic-column.mdx +++ b/src/pages/docs/dataset/concept/dynamic-column.mdx @@ -1,6 +1,6 @@ --- -title: "Dynamic Columns" -description: "Columns that are generated automatically by running prompts, models, or code against your dataset rows." +title: "Dynamic Columns: Auto-Generated Dataset Values in Future AGI" +description: "Dataset columns auto-generated by running LLM prompts, evaluations, vector retrieval, entity extraction, or custom Python code against every row." --- ## About diff --git a/src/pages/docs/dataset/concept/static-column.mdx b/src/pages/docs/dataset/concept/static-column.mdx index 653ce8eb..e5cb4014 100644 --- a/src/pages/docs/dataset/concept/static-column.mdx +++ b/src/pages/docs/dataset/concept/static-column.mdx @@ -1,6 +1,6 @@ --- -title: "Static Columns" -description: "Static columns store fixed values in a dataset that only change when manually updated." +title: "Static Columns: Fixed Dataset Values in Future AGI" +description: "Dataset columns for storing fixed test inputs, expected outputs, labels, and metadata. Supports 9 data types including text, JSON, image, and audio." --- ## About diff --git a/src/pages/docs/dataset/concept/synthetic-data.mdx b/src/pages/docs/dataset/concept/synthetic-data.mdx index 6573119c..5f28844e 100644 --- a/src/pages/docs/dataset/concept/synthetic-data.mdx +++ b/src/pages/docs/dataset/concept/synthetic-data.mdx @@ -1,6 +1,6 @@ --- -title: "Synthetic Data" -description: "Generate realistic datasets from a schema without using real user data." +title: "Synthetic Data Generation for AI Testing in Future AGI" +description: "Generate schema-driven test datasets without using real user data. Define column types, constraints, and descriptions, then generate rows using Future AGI." --- ## About From f4dd8b5bb2c2f2d3f380d6b0622d8d7e1c61bf8b Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:46:19 +0530 Subject: [PATCH 14/51] SEO: optimize dataset/error-feed batch 10 (understanding-dataset, add-columns, add-rows, annotate, create, experiments, run-prompt, dataset-index, error-feed-concepts) --- src/pages/docs/dataset/concept/understanding-dataset.mdx | 4 ++-- src/pages/docs/dataset/features/add-columns.mdx | 2 +- src/pages/docs/dataset/features/add-rows.mdx | 4 ++-- src/pages/docs/dataset/features/annotate.mdx | 2 +- src/pages/docs/dataset/features/create.mdx | 4 ++-- src/pages/docs/dataset/features/experiments.mdx | 4 ++-- src/pages/docs/dataset/features/run-prompt.mdx | 4 ++-- src/pages/docs/dataset/index.mdx | 4 ++-- src/pages/docs/error-feed/concepts/how-it-works.mdx | 2 +- src/pages/docs/error-feed/concepts/scoring.mdx | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pages/docs/dataset/concept/understanding-dataset.mdx b/src/pages/docs/dataset/concept/understanding-dataset.mdx index e8737946..056c58ab 100644 --- a/src/pages/docs/dataset/concept/understanding-dataset.mdx +++ b/src/pages/docs/dataset/concept/understanding-dataset.mdx @@ -1,6 +1,6 @@ --- -title: "Understanding Datasets" -description: "How datasets work in Future AGI: structure, column types, creation methods, and lifecycle." +title: "Future AGI Datasets: Structure, Column Types, and Lifecycle" +description: "Each row is one example; each column is an attribute. Datasets are the foundation for running prompts, evals, experiments, and optimizations in Future AGI." --- ## About diff --git a/src/pages/docs/dataset/features/add-columns.mdx b/src/pages/docs/dataset/features/add-columns.mdx index 22f05470..759314b6 100644 --- a/src/pages/docs/dataset/features/add-columns.mdx +++ b/src/pages/docs/dataset/features/add-columns.mdx @@ -1,5 +1,5 @@ --- -title: "Add Columns to Dataset" +title: "Adding Static and Dynamic Columns to a Dataset" description: "Add static columns for fixed values or dynamic columns whose values are computed from other columns or external operations." --- diff --git a/src/pages/docs/dataset/features/add-rows.mdx b/src/pages/docs/dataset/features/add-rows.mdx index a6676ac4..6c81c579 100644 --- a/src/pages/docs/dataset/features/add-rows.mdx +++ b/src/pages/docs/dataset/features/add-rows.mdx @@ -1,6 +1,6 @@ --- -title: "Add Rows to Dataset" -description: "Learn how to add rows to your dataset" +title: "Adding Data Rows to an Existing Dataset in Future AGI" +description: "Add data points to an existing dataset manually, from another dataset, Hugging Face, from production traces, or by generating synthetic rows." --- ## About diff --git a/src/pages/docs/dataset/features/annotate.mdx b/src/pages/docs/dataset/features/annotate.mdx index db6ff282..522dc73d 100644 --- a/src/pages/docs/dataset/features/annotate.mdx +++ b/src/pages/docs/dataset/features/annotate.mdx @@ -1,5 +1,5 @@ --- -title: "Add Annotations" +title: "Adding Annotations to Dataset Rows in Future AGI" description: "Annotations are essential for refining datasets, evaluating model outputs, and improving the quality of AI-generated responses." --- diff --git a/src/pages/docs/dataset/features/create.mdx b/src/pages/docs/dataset/features/create.mdx index 77f7ef5c..0728e051 100644 --- a/src/pages/docs/dataset/features/create.mdx +++ b/src/pages/docs/dataset/features/create.mdx @@ -1,6 +1,6 @@ --- -title: "Create New Dataset" -description: "Learn to create datasets to do experimentations on them" +title: "Creating a Dataset in Future AGI from Files, SDK, or Traces" +description: "Create a dataset from CSV, Hugging Face, production traces, or synthetic generation. Use it as the container for prompts, evals, and experiments." --- ## About diff --git a/src/pages/docs/dataset/features/experiments.mdx b/src/pages/docs/dataset/features/experiments.mdx index 5d81367f..73b52576 100644 --- a/src/pages/docs/dataset/features/experiments.mdx +++ b/src/pages/docs/dataset/features/experiments.mdx @@ -1,6 +1,6 @@ --- -title: "Experiments in Dataset" -description: "To test, validate, and compare different prompt configurations" +title: "Dataset Experiments: Compare Prompts and Models Side by Side" +description: "Test different prompt and model combinations on the same dataset. Score outputs with built-in evals and compare results side by side." --- ## About diff --git a/src/pages/docs/dataset/features/run-prompt.mdx b/src/pages/docs/dataset/features/run-prompt.mdx index 44a95153..7a09a37e 100644 --- a/src/pages/docs/dataset/features/run-prompt.mdx +++ b/src/pages/docs/dataset/features/run-prompt.mdx @@ -1,6 +1,6 @@ --- -title: "Run Prompt in Dataset" -description: "Learn how to execute prompts against your dataset and generate responses" +title: "Run Prompt in a Dataset: Generate LLM Columns in Future AGI" +description: "Add a dynamic column to your dataset by running an LLM, TTS, STT, or image generation model on every row using a prompt with column placeholders." --- ## About diff --git a/src/pages/docs/dataset/index.mdx b/src/pages/docs/dataset/index.mdx index ceb0f257..ab2b51a3 100644 --- a/src/pages/docs/dataset/index.mdx +++ b/src/pages/docs/dataset/index.mdx @@ -1,6 +1,6 @@ --- -title: "Overview" -description: "Create, manage and analyze datasets for AI model development and evaluation" +title: "Future AGI Datasets: Evaluation and Experimentation Layer" +description: "Structured tables of examples for prompts, evaluations, and experiments. Create from file uploads, SDK, production traces, or synthetic generation." --- ## About diff --git a/src/pages/docs/error-feed/concepts/how-it-works.mdx b/src/pages/docs/error-feed/concepts/how-it-works.mdx index 2d3a5fad..dc003468 100644 --- a/src/pages/docs/error-feed/concepts/how-it-works.mdx +++ b/src/pages/docs/error-feed/concepts/how-it-works.mdx @@ -1,5 +1,5 @@ --- -title: "How Error Feed Works" +title: "How Error Feed Works: Trace Analysis and Issue Grouping" description: "The mental model behind Error Feed: how traces become analyzed issues, how similar errors are grouped, and how findings surface in the UI." --- diff --git a/src/pages/docs/error-feed/concepts/scoring.mdx b/src/pages/docs/error-feed/concepts/scoring.mdx index 7c93faef..7f841c3d 100644 --- a/src/pages/docs/error-feed/concepts/scoring.mdx +++ b/src/pages/docs/error-feed/concepts/scoring.mdx @@ -1,6 +1,6 @@ --- -title: "Scoring" -description: "The four quality metrics Error Feed uses to score every analyzed trace — what each one measures, how scores are assigned, and how to interpret them." +title: "Error Feed Quality Scoring: Four Trace Metrics Explained" +description: "The four quality metrics Error Feed uses to score every analyzed trace, what each one measures, how scores are assigned, and how to interpret them." --- ## About From 2e1a20da4a3a0514ed3e62b2c57940cc5000d4aa Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:50:50 +0530 Subject: [PATCH 15/51] SEO: optimize error-feed batch 11 (severity-status, taxonomy, deep-analysis, issue-overview, linear-integration, metadata-panel, sampling, state-graph, the-feed, traces) --- src/pages/docs/error-feed/concepts/severity-and-status.mdx | 4 ++-- src/pages/docs/error-feed/concepts/taxonomy.mdx | 4 ++-- src/pages/docs/error-feed/features/deep-analysis.mdx | 4 ++-- src/pages/docs/error-feed/features/issue-overview.mdx | 4 ++-- src/pages/docs/error-feed/features/linear-integration.mdx | 4 ++-- src/pages/docs/error-feed/features/metadata-panel.mdx | 4 ++-- src/pages/docs/error-feed/features/sampling.mdx | 2 +- src/pages/docs/error-feed/features/state-graph.mdx | 4 ++-- src/pages/docs/error-feed/features/the-feed.mdx | 2 +- src/pages/docs/error-feed/features/traces.mdx | 2 +- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pages/docs/error-feed/concepts/severity-and-status.mdx b/src/pages/docs/error-feed/concepts/severity-and-status.mdx index 76a9215d..6baeea0e 100644 --- a/src/pages/docs/error-feed/concepts/severity-and-status.mdx +++ b/src/pages/docs/error-feed/concepts/severity-and-status.mdx @@ -1,6 +1,6 @@ --- -title: "Severity and Status" -description: "How Error Feed classifies issue severity and how to move issues through the triage workflow using status labels." +title: "Error Feed Issue Severity and Triage Status" +description: "Error Feed severity levels classify how critical each issue is, and status labels track issues through triage from Open to Resolved." --- ## About diff --git a/src/pages/docs/error-feed/concepts/taxonomy.mdx b/src/pages/docs/error-feed/concepts/taxonomy.mdx index 4d28c5f7..1d29aefb 100644 --- a/src/pages/docs/error-feed/concepts/taxonomy.mdx +++ b/src/pages/docs/error-feed/concepts/taxonomy.mdx @@ -1,6 +1,6 @@ --- -title: "Error Taxonomy" -description: "The five categories of errors Error Feed detects in AI agent traces, with every subcategory and error type defined." +title: "Error Feed Taxonomy: Five AI Agent Error Categories" +description: "Reference for the five categories of errors Error Feed detects in AI agent traces, with every subcategory and error type defined." --- ## About diff --git a/src/pages/docs/error-feed/features/deep-analysis.mdx b/src/pages/docs/error-feed/features/deep-analysis.mdx index e1dab9ed..c36add3f 100644 --- a/src/pages/docs/error-feed/features/deep-analysis.mdx +++ b/src/pages/docs/error-feed/features/deep-analysis.mdx @@ -1,6 +1,6 @@ --- -title: "Deep Analysis" -description: "When to use Deep Analysis, what it produces, and how to run it from the Error Feed metadata panel." +title: "Error Feed Deep Analysis: On-Demand Trace Investigation" +description: "On-demand investigation that runs deeper root cause analysis on an Error Feed issue's trace and produces richer findings than the continuous scan." --- ## About diff --git a/src/pages/docs/error-feed/features/issue-overview.mdx b/src/pages/docs/error-feed/features/issue-overview.mdx index 2f277cce..f47ee9c0 100644 --- a/src/pages/docs/error-feed/features/issue-overview.mdx +++ b/src/pages/docs/error-feed/features/issue-overview.mdx @@ -1,6 +1,6 @@ --- -title: "Issue Overview" -description: "A walkthrough of the Overview tab on an issue detail page — every section explained, from the header to the AI-generated recommendations." +title: "Error Feed Issue Overview: Header to Recommendations" +description: "A walkthrough of the Overview tab on an issue detail page: every section explained, from the header to the AI-generated recommendations." --- ## About diff --git a/src/pages/docs/error-feed/features/linear-integration.mdx b/src/pages/docs/error-feed/features/linear-integration.mdx index c08e881f..e7c5c32c 100644 --- a/src/pages/docs/error-feed/features/linear-integration.mdx +++ b/src/pages/docs/error-feed/features/linear-integration.mdx @@ -1,6 +1,6 @@ --- -title: "Linear Integration" -description: "How to create Linear tickets from Error Feed issues — connecting your AI error monitoring to your engineering workflow." +title: "Creating Linear Tickets from Error Feed Issues" +description: "Create Linear tickets directly from Error Feed issues to link your AI error monitoring to your engineering workflow and track fixes." --- ## About diff --git a/src/pages/docs/error-feed/features/metadata-panel.mdx b/src/pages/docs/error-feed/features/metadata-panel.mdx index a8257d45..599a847a 100644 --- a/src/pages/docs/error-feed/features/metadata-panel.mdx +++ b/src/pages/docs/error-feed/features/metadata-panel.mdx @@ -1,6 +1,6 @@ --- -title: "Metadata Panel" -description: "Everything in the right-side metadata panel on an issue detail page — triage controls, cluster stats, timeline, AI metadata, evaluations, co-occurring issues, and integrations." +title: "Error Feed Metadata Panel: Triage, Stats, and Integrations" +description: "The right-side metadata panel on an Error Feed issue page covers triage controls, cluster stats, timeline, evaluations, and co-occurring issues." --- ## About diff --git a/src/pages/docs/error-feed/features/sampling.mdx b/src/pages/docs/error-feed/features/sampling.mdx index 1b755643..536e8abe 100644 --- a/src/pages/docs/error-feed/features/sampling.mdx +++ b/src/pages/docs/error-feed/features/sampling.mdx @@ -1,5 +1,5 @@ --- -title: "Sampling" +title: "Error Feed Sampling: Controlling Trace Analysis Rate" description: "How sampling rate controls what percentage of traces Error Feed analyzes, and how to configure it per project in Observe settings." --- diff --git a/src/pages/docs/error-feed/features/state-graph.mdx b/src/pages/docs/error-feed/features/state-graph.mdx index 86124c2a..42827f43 100644 --- a/src/pages/docs/error-feed/features/state-graph.mdx +++ b/src/pages/docs/error-feed/features/state-graph.mdx @@ -1,6 +1,6 @@ --- -title: "State Graph" -description: "How to read the State Graph tab — the agent decision flow diagram showing where traces diverge between success and failure paths." +title: "Error Feed State Graph: Agent Decision Flow Diagram" +description: "How to read the State Graph tab, the agent decision flow diagram showing where traces diverge between success and failure paths." --- ## About diff --git a/src/pages/docs/error-feed/features/the-feed.mdx b/src/pages/docs/error-feed/features/the-feed.mdx index 369760be..d7e7ec04 100644 --- a/src/pages/docs/error-feed/features/the-feed.mdx +++ b/src/pages/docs/error-feed/features/the-feed.mdx @@ -1,5 +1,5 @@ --- -title: "The Feed" +title: "The Error Feed Issue List: Filters, Stats, and Columns" description: "How to read the Error Feed issue list: filters, the stats bar, table columns, trend sparklines, and time range controls." --- diff --git a/src/pages/docs/error-feed/features/traces.mdx b/src/pages/docs/error-feed/features/traces.mdx index df080221..27d37103 100644 --- a/src/pages/docs/error-feed/features/traces.mdx +++ b/src/pages/docs/error-feed/features/traces.mdx @@ -1,5 +1,5 @@ --- -title: "Traces Tab" +title: "Error Feed Traces Tab: Navigating Failure Clusters" description: "How to use the Traces tab on an issue detail page to navigate every trace in a cluster and understand the distribution of failures." --- From 2c5428984b0d87dbe6fbd35af14cbc58732d9ab9 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 18:54:51 +0530 Subject: [PATCH 16/51] SEO: optimize error-feed/evaluation batch 12 (trends, triage-workflow, error-feed-index, answer-refusal, audio-quality, audio-transcription, bias-detection, bleu, caption-hallucination, chunk-attribution) --- src/pages/docs/error-feed/features/trends.mdx | 4 ++-- src/pages/docs/error-feed/features/triage-workflow.mdx | 4 ++-- src/pages/docs/error-feed/index.mdx | 4 ++-- src/pages/docs/evaluation/builtin/answer-refusal.mdx | 5 ++--- src/pages/docs/evaluation/builtin/audio-quality.mdx | 2 +- src/pages/docs/evaluation/builtin/audio-transcription.mdx | 4 ++-- src/pages/docs/evaluation/builtin/bias-detection.mdx | 4 ++-- src/pages/docs/evaluation/builtin/bleu.mdx | 4 ++-- src/pages/docs/evaluation/builtin/caption-hallucination.mdx | 4 ++-- src/pages/docs/evaluation/builtin/chunk-attribution.mdx | 4 ++-- 10 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/error-feed/features/trends.mdx b/src/pages/docs/error-feed/features/trends.mdx index 9d769f68..772604c7 100644 --- a/src/pages/docs/error-feed/features/trends.mdx +++ b/src/pages/docs/error-feed/features/trends.mdx @@ -1,6 +1,6 @@ --- -title: "Trends" -description: "How to use the Trends tab — Events Over Time, Score Trends, and the Activity Heatmap — to understand how an issue is evolving." +title: "Error Feed Trends: Score Trends and Activity Heatmap" +description: "How to use the Trends tab (Events Over Time, Score Trends, and the Activity Heatmap) to understand how an issue is evolving." --- ## About diff --git a/src/pages/docs/error-feed/features/triage-workflow.mdx b/src/pages/docs/error-feed/features/triage-workflow.mdx index f9431664..ee9f3e5a 100644 --- a/src/pages/docs/error-feed/features/triage-workflow.mdx +++ b/src/pages/docs/error-feed/features/triage-workflow.mdx @@ -1,6 +1,6 @@ --- -title: "Triage Workflow" -description: "How to move issues through the Error Feed triage workflow — resolving, acknowledging, ignoring, assigning, and escalating." +title: "Error Feed Triage Workflow: Resolve, Ignore, and Escalate" +description: "How to move issues through the Error Feed triage workflow: resolving, acknowledging, ignoring, assigning, and escalating." --- ## About diff --git a/src/pages/docs/error-feed/index.mdx b/src/pages/docs/error-feed/index.mdx index 60c17b9b..23a85838 100644 --- a/src/pages/docs/error-feed/index.mdx +++ b/src/pages/docs/error-feed/index.mdx @@ -1,6 +1,6 @@ --- -title: "Error Feed" -description: "Automatically detect, cluster, score, and triage errors in your AI agent traces — without any configuration beyond standard tracing." +title: "Future AGI Error Feed: AI Agent Trace Error Detection" +description: "Automatically detect, cluster, score, and triage errors in your AI agent traces, without any configuration beyond standard tracing." --- ## About diff --git a/src/pages/docs/evaluation/builtin/answer-refusal.mdx b/src/pages/docs/evaluation/builtin/answer-refusal.mdx index 6543d6af..0258fec1 100644 --- a/src/pages/docs/evaluation/builtin/answer-refusal.mdx +++ b/src/pages/docs/evaluation/builtin/answer-refusal.mdx @@ -1,7 +1,6 @@ --- -title: 'Answer Refusal' - -description: "Checks whether an AI model properly refuses to answer harmful, dangerous, or inappropriate requests. It identifies cases where the model should have declined to provide information but instead provided a potentially harmful response." +title: "Answer Refusal: AI Safety Refusal Detection Metric" +description: "Checks whether an AI model properly refuses harmful, dangerous, or inappropriate requests, and identifies cases where the model should have declined." --- diff --git a/src/pages/docs/evaluation/builtin/audio-quality.mdx b/src/pages/docs/evaluation/builtin/audio-quality.mdx index f40819de..462c39e2 100644 --- a/src/pages/docs/evaluation/builtin/audio-quality.mdx +++ b/src/pages/docs/evaluation/builtin/audio-quality.mdx @@ -1,5 +1,5 @@ --- -title: "Audio Quality" +title: "Audio Quality Evaluation Metric for LLM-Based Assessment" description: "Evaluates the perceptual quality of an audio input, assessing aspects like clarity, noise levels, and overall listenability using an LLM." --- diff --git a/src/pages/docs/evaluation/builtin/audio-transcription.mdx b/src/pages/docs/evaluation/builtin/audio-transcription.mdx index 28596e87..08213378 100644 --- a/src/pages/docs/evaluation/builtin/audio-transcription.mdx +++ b/src/pages/docs/evaluation/builtin/audio-transcription.mdx @@ -1,6 +1,6 @@ --- -title: "Audio Transcription" -description: "Analyses the accuracy of a provided transcription against the content of a given audio file." +title: "Audio Transcription Accuracy Evaluation Metric" +description: "Evaluates the accuracy of a provided transcription against the content of an audio file, checking for omissions, additions, and misrepresentations." --- diff --git a/src/pages/docs/evaluation/builtin/bias-detection.mdx b/src/pages/docs/evaluation/builtin/bias-detection.mdx index ca296819..1b04bf24 100644 --- a/src/pages/docs/evaluation/builtin/bias-detection.mdx +++ b/src/pages/docs/evaluation/builtin/bias-detection.mdx @@ -1,7 +1,7 @@ --- -title: "Bias Detection" -description: "Identifies various forms of bias, including gender, racial, cultural, or ideological bias in the output. It evaluates input for balanced perspectives and neutral language use." +title: "Bias Detection Evaluation Metric for AI Output" +description: "Identifies gender, racial, cultural, and ideological bias in AI output by evaluating for balanced perspectives and neutral language." --- diff --git a/src/pages/docs/evaluation/builtin/bleu.mdx b/src/pages/docs/evaluation/builtin/bleu.mdx index b76cf922..385153e9 100644 --- a/src/pages/docs/evaluation/builtin/bleu.mdx +++ b/src/pages/docs/evaluation/builtin/bleu.mdx @@ -1,6 +1,6 @@ --- -title: "BLEU Score" -description: Measures n-gram overlap precision between the generated and reference text. +title: "BLEU Score: N-Gram Overlap Metric for Text Evaluation" +description: "Measures n-gram overlap precision between generated and reference text. Commonly used for machine translation and summarization quality assessment." --- diff --git a/src/pages/docs/evaluation/builtin/caption-hallucination.mdx b/src/pages/docs/evaluation/builtin/caption-hallucination.mdx index 2a886710..79e6e873 100644 --- a/src/pages/docs/evaluation/builtin/caption-hallucination.mdx +++ b/src/pages/docs/evaluation/builtin/caption-hallucination.mdx @@ -1,6 +1,6 @@ --- -title: "Caption Hallucination" -description: "Evaluates whether an image caption contains fabricated information not actually visible in the image." +title: "Caption Hallucination Detection Metric for Images" +description: "Evaluates whether an image caption contains fabricated details not visible in the image, flagging invented content not grounded in the visual input." --- diff --git a/src/pages/docs/evaluation/builtin/chunk-attribution.mdx b/src/pages/docs/evaluation/builtin/chunk-attribution.mdx index f2d01dbf..12a7a842 100644 --- a/src/pages/docs/evaluation/builtin/chunk-attribution.mdx +++ b/src/pages/docs/evaluation/builtin/chunk-attribution.mdx @@ -1,6 +1,6 @@ --- -title: "Chunk Attribution" -description: "Evaluates whether a language model references the provided context chunks at all when generating its response. This metric assesses if the output acknowledges and incorporates information from the context, indicating the model's basic ability to leverage provided data." +title: "Chunk Attribution Metric for RAG Context Usage" +description: "Checks whether a language model references provided context chunks when generating a response, testing basic ability to leverage retrieved data." --- From fef31a8024f507df927b4a5b1173c3107df8ff1a Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:00:02 +0530 Subject: [PATCH 17/51] SEO: optimize evaluation/builtin batch 13 (chunk-utilization, clinically-inappropriate-tone, clip-score, completeness, contain, contains-valid-link, context-adherence, context-relevance, conversation-coherence, conversation-resolution) --- src/pages/docs/evaluation/builtin/chunk-utilization.mdx | 2 +- .../docs/evaluation/builtin/clinically-inappropriate-tone.mdx | 4 ++-- src/pages/docs/evaluation/builtin/clip-score.mdx | 2 +- src/pages/docs/evaluation/builtin/completeness.mdx | 4 ++-- src/pages/docs/evaluation/builtin/contain-evals.mdx | 4 ++-- src/pages/docs/evaluation/builtin/contains-valid-link.mdx | 4 ++-- src/pages/docs/evaluation/builtin/context-adherence.mdx | 4 ++-- src/pages/docs/evaluation/builtin/context-relevance.mdx | 4 ++-- src/pages/docs/evaluation/builtin/conversation-coherence.mdx | 4 ++-- src/pages/docs/evaluation/builtin/conversation-resolution.mdx | 4 ++-- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/chunk-utilization.mdx b/src/pages/docs/evaluation/builtin/chunk-utilization.mdx index 7b77a0ac..25d9680d 100644 --- a/src/pages/docs/evaluation/builtin/chunk-utilization.mdx +++ b/src/pages/docs/evaluation/builtin/chunk-utilization.mdx @@ -1,6 +1,6 @@ --- -title: "Chunk Utilization" +title: "Chunk Utilization: Context Coverage Evaluation Metric" description: "Measures how effectively a language model leverages information from the provided context to produce a coherent and contextually appropriate output." --- diff --git a/src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx b/src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx index f449274b..8724548f 100644 --- a/src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx +++ b/src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx @@ -1,6 +1,6 @@ --- -title: Clinically Inappropriate Tone -description: "Evaluates whether text uses an appropriate tone for clinical or healthcare contexts" +title: "Clinically Inappropriate Tone Detection Metric" +description: "Evaluates whether text uses an appropriate tone for clinical and healthcare contexts, flagging casual or unprofessional language in medical settings." --- diff --git a/src/pages/docs/evaluation/builtin/clip-score.mdx b/src/pages/docs/evaluation/builtin/clip-score.mdx index 70721875..2d4ec539 100644 --- a/src/pages/docs/evaluation/builtin/clip-score.mdx +++ b/src/pages/docs/evaluation/builtin/clip-score.mdx @@ -1,5 +1,5 @@ --- -title: "CLIP Score" +title: "CLIP Score: Image-Text Alignment Measurement Metric" description: "Measures how well images match their text descriptions. Higher scores indicate better image-text alignment (range: 0–100)." --- diff --git a/src/pages/docs/evaluation/builtin/completeness.mdx b/src/pages/docs/evaluation/builtin/completeness.mdx index 8748bc60..cbc941d3 100644 --- a/src/pages/docs/evaluation/builtin/completeness.mdx +++ b/src/pages/docs/evaluation/builtin/completeness.mdx @@ -1,7 +1,7 @@ --- -title: "Completeness" -description: "Evaluates whether the response fully addresses the input query. This evaluation is crucial for ensuring that the generated response is comprehensive and leaves no aspect of the query unanswered." +title: "Completeness: Response Coverage Evaluation Metric" +description: "Evaluates whether a response fully addresses all aspects of the input query, ensuring comprehensive coverage with no question left unanswered." --- diff --git a/src/pages/docs/evaluation/builtin/contain-evals.mdx b/src/pages/docs/evaluation/builtin/contain-evals.mdx index 5f7f3340..7245da94 100644 --- a/src/pages/docs/evaluation/builtin/contain-evals.mdx +++ b/src/pages/docs/evaluation/builtin/contain-evals.mdx @@ -1,6 +1,6 @@ --- -title: "Contain" -description: "In the context of text processing, validating the presence or absence of specific keywords or patterns is crucial for ensuring that generated content meets desired criteria." +title: "Contain: Keyword Presence and Pattern Validation Metric" +description: "Validates whether generated content contains specific keywords or patterns, checking presence or absence against desired criteria in text output." --- Following evals help in assessing whether the text aligns with specific requirements, such as containing necessary information, adhering to expected formats, or avoiding unwanted terms: diff --git a/src/pages/docs/evaluation/builtin/contains-valid-link.mdx b/src/pages/docs/evaluation/builtin/contains-valid-link.mdx index 78e4ee51..3ad1c080 100644 --- a/src/pages/docs/evaluation/builtin/contains-valid-link.mdx +++ b/src/pages/docs/evaluation/builtin/contains-valid-link.mdx @@ -1,6 +1,6 @@ --- -title: "Contains Valid Link" -description: "Evaluates whether the output text contains at least one valid hyperlink. It checks if the text includes a URL that adheres to standard URL formatting and is accessible." +title: "Contains Valid Link: URL Validation Evaluation Metric" +description: "Evaluates whether output text contains at least one valid hyperlink, checking that included URLs adhere to standard formatting and are accessible." --- diff --git a/src/pages/docs/evaluation/builtin/context-adherence.mdx b/src/pages/docs/evaluation/builtin/context-adherence.mdx index 0b782d5f..52b07e04 100644 --- a/src/pages/docs/evaluation/builtin/context-adherence.mdx +++ b/src/pages/docs/evaluation/builtin/context-adherence.mdx @@ -1,7 +1,7 @@ --- -title: "Context Adherence" -description: "Evaluates how well responses stay within the provided context by measuring if the output contains any information not present in the given context. This evaluation is crucial for ensuring factual consistency and preventing hallucination in responses." +title: "Context Adherence: Hallucination Prevention Metric" +description: "Evaluates whether a response is grounded in the provided context by detecting information absent from the context, preventing hallucination." --- diff --git a/src/pages/docs/evaluation/builtin/context-relevance.mdx b/src/pages/docs/evaluation/builtin/context-relevance.mdx index 259c583b..20da7838 100644 --- a/src/pages/docs/evaluation/builtin/context-relevance.mdx +++ b/src/pages/docs/evaluation/builtin/context-relevance.mdx @@ -1,7 +1,7 @@ --- -title: "Context Relevance" -description: "Evaluates whether the provided context is sufficient and relevant to answer the given input query. This evaluation is crucial for RAG systems to ensure that retrieved context pieces contain the necessary information to generate accurate responses." +title: "Context Relevance: RAG Retrieval Quality Metric" +description: "Evaluates whether provided context is sufficient and relevant to answer a query, ensuring RAG retrieval surfaces chunks that support accurate responses." --- diff --git a/src/pages/docs/evaluation/builtin/conversation-coherence.mdx b/src/pages/docs/evaluation/builtin/conversation-coherence.mdx index a77859ec..6cd96b1d 100644 --- a/src/pages/docs/evaluation/builtin/conversation-coherence.mdx +++ b/src/pages/docs/evaluation/builtin/conversation-coherence.mdx @@ -1,7 +1,7 @@ --- -title: "Conversation Coherence" -description: "Evaluates how logically a conversation flows and maintains context throughout the dialogue. This metric assesses whether responses are consistent, contextually appropriate, and maintain a natural progression of ideas within the conversation thread." +title: "Conversation Coherence: Dialogue Flow Evaluation Metric" +description: "Evaluates how logically a conversation flows and maintains context, measuring whether responses are consistent and follow a natural progression of ideas." --- diff --git a/src/pages/docs/evaluation/builtin/conversation-resolution.mdx b/src/pages/docs/evaluation/builtin/conversation-resolution.mdx index 7a9b960e..dc1b14ee 100644 --- a/src/pages/docs/evaluation/builtin/conversation-resolution.mdx +++ b/src/pages/docs/evaluation/builtin/conversation-resolution.mdx @@ -1,7 +1,7 @@ --- -title: "Conversation Resolution" -description: "Evaluates whether each user query or statement in a conversation receives an appropriate and complete response from the AI. This metric assesses if the conversation reaches satisfactory conclusions for each user interaction, ensuring that questions are answered and statements are appropriately acknowledged." +title: "Conversation Resolution: Query Completion Metric" +description: "Evaluates whether each user query receives a complete response, checking that questions are answered and conversations reach satisfactory conclusions." --- From 653c9e88c9b07a4c97b2b2ecf2c0484fa4eaf4cf Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:04:28 +0530 Subject: [PATCH 18/51] SEO: optimize evaluation/builtin batch 14 (cultural-sensitivity, customer-agent-* metrics) --- src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx | 4 ++-- .../builtin/customer-agent-clarification-seeking.mdx | 2 +- .../evaluation/builtin/customer-agent-context-retention.mdx | 2 +- .../builtin/customer-agent-conversation-quality.mdx | 2 +- .../evaluation/builtin/customer-agent-human-escalation.mdx | 2 +- .../builtin/customer-agent-interruption-handling.mdx | 2 +- .../evaluation/builtin/customer-agent-language-handling.mdx | 2 +- .../docs/evaluation/builtin/customer-agent-loop-detection.mdx | 2 +- .../evaluation/builtin/customer-agent-objection-handling.mdx | 2 +- .../evaluation/builtin/customer-agent-prompt-conformance.mdx | 4 ++-- 10 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx b/src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx index be039a2a..5400f216 100644 --- a/src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx +++ b/src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx @@ -1,7 +1,7 @@ --- -title: "Cultural Sensitivity" -description: "Analyses the output for cultural appropriateness, inclusive language, and awareness of cultural nuances. It identifies potential cultural biases or insensitive content, ensuring that the content respects diverse perspectives and avoids promoting stereotypes or discrimination." +title: "Cultural Sensitivity Evaluation Metric for AI Output" +description: "Evaluates output for cultural appropriateness, inclusive language, and awareness of cultural nuances, identifying biases or insensitive content." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx b/src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx index 99643fa0..b1cee04e 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Clarification Seeking" +title: "Customer Agent Clarification Seeking Evaluation Metric" description: "Evaluates if the agent appropriately seeks clarification when needed rather than guessing or responding incorrectly to ambiguous queries." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx b/src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx index 7338f2d3..36f8749d 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Context Retention" +title: "Customer Agent Context Retention Evaluation Metric" description: "Evaluates if the agent correctly retains and applies context from earlier in the conversation without asking for the same information again." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx b/src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx index 9bcc8c72..04d44257 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Conversation Quality" +title: "Customer Agent Conversation Quality Evaluation Metric" description: "Conversation-level quality metric that assesses overall user experience including clarity, helpfulness, responsiveness, tone, and user satisfaction." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx b/src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx index e5d90220..5e1c6432 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Human Escalation" +title: "Customer Agent Human Escalation Evaluation Metric" description: "Tracks if the agent escalates to a human agent appropriately based on user frustration, complexity of queries, or specific keywords." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx b/src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx index e4c71a0e..7afc2210 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Interruption Handling" +title: "Customer Agent Interruption Handling Evaluation Metric" description: "Evaluates how well the agent recovers after being interrupted by the user, resuming logically without restarting or losing context." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx b/src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx index d5d7b182..8fad2602 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Language Handling" +title: "Customer Agent Language Handling Evaluation Metric" description: "Verifies the agent correctly detects the language or dialect and responds appropriately, including mid-conversation language switching." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx b/src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx index 2e07c213..04c78edf 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Loop Detection" +title: "Customer Agent Loop Detection Evaluation Metric" description: "Detects if a customer agent is stuck asking the same question repeatedly or circling back in loops during a conversation." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx b/src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx index 9fb92079..455474f7 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx @@ -1,5 +1,5 @@ --- -title: "Customer Agent: Objection Handling" +title: "Customer Agent Objection Handling Evaluation Metric" description: "Monitors the agent's ability to handle customer objections, disinterest, hesitation, or refusals effectively and politely." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx b/src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx index deb3bff0..838991dd 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx @@ -1,6 +1,6 @@ --- -title: "Customer Agent: Prompt Conformance" -description: "Measures how well the agent adheres to system prompt constraints across the conversation, including persona consistency, language requirements, and conversation guidelines." +title: "Customer Agent Prompt Conformance Evaluation Metric" +description: "Measures how well the agent adheres to system prompt constraints, including persona consistency, language requirements, and conversation guidelines." --- From 5cf7e15ee4d3d5eb60ffd439ceacc8f592ce81f7 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:09:11 +0530 Subject: [PATCH 19/51] SEO: optimize evaluation/builtin batch 15 (customer-agent-query/termination, data-privacy, detect-hallucination, embedding-similarity, eval-ranking, fid-score, fuzzy-match, ground-truth-match, groundedness) --- .../docs/evaluation/builtin/customer-agent-query-handling.mdx | 4 ++-- .../builtin/customer-agent-termination-handling.mdx | 4 ++-- src/pages/docs/evaluation/builtin/data-privacy.mdx | 4 ++-- src/pages/docs/evaluation/builtin/detect-hallucination.mdx | 4 ++-- src/pages/docs/evaluation/builtin/embedding-similarity.mdx | 4 ++-- src/pages/docs/evaluation/builtin/eval-ranking.mdx | 4 ++-- src/pages/docs/evaluation/builtin/fid-score.mdx | 4 ++-- src/pages/docs/evaluation/builtin/fuzzy-match.mdx | 4 ++-- src/pages/docs/evaluation/builtin/ground-truth-match.mdx | 4 ++-- src/pages/docs/evaluation/builtin/groundedness.mdx | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx b/src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx index ce648c3e..d181de44 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx @@ -1,6 +1,6 @@ --- -title: "Customer Agent: Query Handling" -description: "Assesses how effectively the agent correctly interprets user queries and gives relevant, helpful answers." +title: "Customer Agent Query Handling Evaluation Metric" +description: "Assesses how effectively the agent interprets user queries and provides relevant, helpful answers, measuring query understanding and response quality." --- diff --git a/src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx b/src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx index 746522ee..c2f62e5a 100644 --- a/src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx +++ b/src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx @@ -1,6 +1,6 @@ --- -title: "Customer Agent: Termination Handling" -description: "Tracks occurrences of the agent freezing, hanging up abruptly, crashing, or cutting off the conversation early." +title: "Customer Agent Termination Handling Evaluation Metric" +description: "Tracks occurrences of the agent freezing, hanging up abruptly, crashing, or cutting off conversations early before resolution." --- diff --git a/src/pages/docs/evaluation/builtin/data-privacy.mdx b/src/pages/docs/evaluation/builtin/data-privacy.mdx index b0bb8f68..fd292acb 100644 --- a/src/pages/docs/evaluation/builtin/data-privacy.mdx +++ b/src/pages/docs/evaluation/builtin/data-privacy.mdx @@ -1,7 +1,7 @@ --- -title: "Data Privacy Compliance" -description: "Determines whether content aligns with key privacy regulations such as GDPR, HIPAA, ensuring adherence to data protection and compliance standards. This assessment is critical for mitigating risks associated with sensitive data exposure and regulatory violations." +title: "Data Privacy Compliance Evaluation Metric for AI" +description: "Determines whether content aligns with GDPR, HIPAA, and other privacy regulations to reduce risks from sensitive data exposure and compliance violations." --- diff --git a/src/pages/docs/evaluation/builtin/detect-hallucination.mdx b/src/pages/docs/evaluation/builtin/detect-hallucination.mdx index 0e5c72a6..490983ed 100644 --- a/src/pages/docs/evaluation/builtin/detect-hallucination.mdx +++ b/src/pages/docs/evaluation/builtin/detect-hallucination.mdx @@ -1,6 +1,6 @@ --- -title: "Detect Hallucination" -description: "Identifies if the model fabricated facts or added information that was not present in the input or context" +title: "Detect Hallucination: Fabricated Facts Identification" +description: "Identifies whether a model fabricated facts or added information not present in the input or provided context, detecting hallucinated content." --- diff --git a/src/pages/docs/evaluation/builtin/embedding-similarity.mdx b/src/pages/docs/evaluation/builtin/embedding-similarity.mdx index 84004b25..d248dea0 100644 --- a/src/pages/docs/evaluation/builtin/embedding-similarity.mdx +++ b/src/pages/docs/evaluation/builtin/embedding-similarity.mdx @@ -1,6 +1,6 @@ --- -title: "Embedding Similarity" -description: Measures semantic similarity between the generated and reference content. +title: "Embedding Similarity: Semantic Match Evaluation Metric" +description: "Measures semantic similarity between generated and reference content using embedding vectors, capturing meaning beyond surface-level text differences." --- diff --git a/src/pages/docs/evaluation/builtin/eval-ranking.mdx b/src/pages/docs/evaluation/builtin/eval-ranking.mdx index 60130d30..7c17a026 100644 --- a/src/pages/docs/evaluation/builtin/eval-ranking.mdx +++ b/src/pages/docs/evaluation/builtin/eval-ranking.mdx @@ -1,7 +1,7 @@ --- -title: "Eval Ranking" -description: "Provides a ranking score for each context based on specified criteria. This evaluation ensures that contexts are ranked according to their relevance and suitability for the given input." +title: "Eval Ranking: Context Relevance Scoring Metric" +description: "Assigns a ranking score to each context based on specified criteria, ensuring contexts are ordered by relevance and suitability for the given input." --- diff --git a/src/pages/docs/evaluation/builtin/fid-score.mdx b/src/pages/docs/evaluation/builtin/fid-score.mdx index ffb0528a..12faeda0 100644 --- a/src/pages/docs/evaluation/builtin/fid-score.mdx +++ b/src/pages/docs/evaluation/builtin/fid-score.mdx @@ -1,6 +1,6 @@ --- -title: "FID Score" -description: "Computes the Fréchet Inception Distance (FID) between two sets of images. Lower scores indicate more similar image distributions." +title: "FID Score: Fréchet Inception Distance for Image Sets" +description: "Computes the Frechet Inception Distance (FID) between two sets of images. Lower scores indicate more similar image distributions." --- diff --git a/src/pages/docs/evaluation/builtin/fuzzy-match.mdx b/src/pages/docs/evaluation/builtin/fuzzy-match.mdx index dd72cb06..320523e1 100644 --- a/src/pages/docs/evaluation/builtin/fuzzy-match.mdx +++ b/src/pages/docs/evaluation/builtin/fuzzy-match.mdx @@ -1,6 +1,6 @@ --- -title: "Fuzzy Match" -description: "Compares two texts for similarity using fuzzy matching techniques. It's useful for detecting approximate matches between expected and generated model output when exact matching might be too strict, accounting for minor differences in wording, spelling, or formatting." +title: "Fuzzy Match: Approximate Text Similarity Evaluation" +description: "Compares texts for similarity using fuzzy matching to detect approximate matches, accounting for minor wording, spelling, or formatting differences." --- diff --git a/src/pages/docs/evaluation/builtin/ground-truth-match.mdx b/src/pages/docs/evaluation/builtin/ground-truth-match.mdx index 88c2de7d..a7de5633 100644 --- a/src/pages/docs/evaluation/builtin/ground-truth-match.mdx +++ b/src/pages/docs/evaluation/builtin/ground-truth-match.mdx @@ -1,6 +1,6 @@ --- -title: "Ground Truth Match" -description: "Evaluates whether the model-generated output matches the provided ground-truth expected output." +title: "Ground Truth Match: Expected Output Evaluation Metric" +description: "Evaluates whether model-generated output matches the ground-truth expected output, checking semantic equivalence rather than exact string matching." --- diff --git a/src/pages/docs/evaluation/builtin/groundedness.mdx b/src/pages/docs/evaluation/builtin/groundedness.mdx index 03b6908d..2df4293f 100644 --- a/src/pages/docs/evaluation/builtin/groundedness.mdx +++ b/src/pages/docs/evaluation/builtin/groundedness.mdx @@ -1,7 +1,7 @@ --- -title: "Groundedness" -description: "Assesses whether a response is firmly based on the provided context. This evaluation ensures that the response does not introduce information that is not supported by the context, thereby maintaining factual accuracy and relevance." +title: "Groundedness: Response-to-Context Fidelity Metric" +description: "Assesses whether a response is grounded in the provided context, ensuring the output introduces no information unsupported by the context." --- From d52f1d7ab36fcf43dc8c62bd826f9afdfceda45a Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:12:59 +0530 Subject: [PATCH 20/51] SEO: optimize evaluation/builtin batch 16 (hit-rate, image-instruction-adherence, builtin-index, instruction-adherence, is-code, is-concise, is-email, is-good-summary, is-harmful-advice, is-helpful) --- src/pages/docs/evaluation/builtin/hit-rate.mdx | 4 ++-- .../docs/evaluation/builtin/image-instruction-adherence.mdx | 4 ++-- src/pages/docs/evaluation/builtin/index.mdx | 4 ++-- src/pages/docs/evaluation/builtin/instruction-adherence.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-code.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-concise.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-email.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-good-summary.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-harmful-advice.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-helpful.mdx | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/hit-rate.mdx b/src/pages/docs/evaluation/builtin/hit-rate.mdx index eaebe2cd..15243bed 100644 --- a/src/pages/docs/evaluation/builtin/hit-rate.mdx +++ b/src/pages/docs/evaluation/builtin/hit-rate.mdx @@ -1,6 +1,6 @@ --- -title: "Hit Rate" -description: "Checks whether at least one relevant chunk was retrieved. A simple, high-level retrieval-stage metric for RAG pipelines that measures basic retrieval coverage." +title: "Hit Rate: RAG Retrieval Coverage Evaluation Metric" +description: "Checks whether at least one relevant chunk was retrieved in a RAG pipeline, measuring basic retrieval coverage as a simple high-level metric." --- diff --git a/src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx b/src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx index 24c43103..5fa0bddb 100644 --- a/src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx +++ b/src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx @@ -1,6 +1,6 @@ --- -title: "Image Instruction Adherence" -description: "Measures how well generated images adhere to a given text instruction across subject, style, and composition." +title: "Image Instruction Adherence Evaluation Metric" +description: "Measures how well generated images adhere to a text instruction across subject, style, and composition, checking visual alignment with the prompt." --- diff --git a/src/pages/docs/evaluation/builtin/index.mdx b/src/pages/docs/evaluation/builtin/index.mdx index 6853ca9d..3510cd03 100644 --- a/src/pages/docs/evaluation/builtin/index.mdx +++ b/src/pages/docs/evaluation/builtin/index.mdx @@ -1,6 +1,6 @@ --- -title: "Built-in Evals" -description: "All built-in evaluation templates available on the platform." +title: "Future AGI Built-in Eval Templates Reference" +description: "Complete reference for all built-in evaluation templates available on the Future AGI platform, with quick access to metrics by name." --- **Built-in evals** are pre-configured evaluation templates you can attach to dataset runs, prompt runs, and simulations. Pick the evals you need, add them to your run, and the platform scores results automatically. diff --git a/src/pages/docs/evaluation/builtin/instruction-adherence.mdx b/src/pages/docs/evaluation/builtin/instruction-adherence.mdx index 9b7d8e48..43ff1af9 100644 --- a/src/pages/docs/evaluation/builtin/instruction-adherence.mdx +++ b/src/pages/docs/evaluation/builtin/instruction-adherence.mdx @@ -1,7 +1,7 @@ --- -title: "Prompt Instruction Adherence" -description: "Measures how closely an output follows given prompt instructions, checking for completion of requested tasks and adherence to specified constraints or formats. This evaluation is crucial for ensuring that generated content meets the intended requirements and follows given instructions accurately." +title: "Prompt Instruction Adherence Evaluation Metric" +description: "Measures how closely an output follows prompt instructions, checking task completion and adherence to specified constraints or output formats." --- diff --git a/src/pages/docs/evaluation/builtin/is-code.mdx b/src/pages/docs/evaluation/builtin/is-code.mdx index efd86082..694b28e0 100644 --- a/src/pages/docs/evaluation/builtin/is-code.mdx +++ b/src/pages/docs/evaluation/builtin/is-code.mdx @@ -1,6 +1,6 @@ --- -title: 'Contains Code' -description: 'Checks whether the output is valid code or contains expected code snippets.' +title: "Contains Code: Code Presence Validation Metric" +description: "Checks whether output is valid code or contains expected code snippets, validating code structure and syntax for LLM-generated programming output." --- diff --git a/src/pages/docs/evaluation/builtin/is-concise.mdx b/src/pages/docs/evaluation/builtin/is-concise.mdx index bbb95da2..5d525039 100644 --- a/src/pages/docs/evaluation/builtin/is-concise.mdx +++ b/src/pages/docs/evaluation/builtin/is-concise.mdx @@ -1,6 +1,6 @@ --- -title: 'Is Concise' -description: 'Evaluates whether the response is concise and to the point' +title: "Is Concise: Response Brevity Evaluation Metric" +description: "Evaluates whether a response is concise and to the point, detecting unnecessarily verbose or padded outputs that add length without substance." --- diff --git a/src/pages/docs/evaluation/builtin/is-email.mdx b/src/pages/docs/evaluation/builtin/is-email.mdx index 99d83007..2048c756 100644 --- a/src/pages/docs/evaluation/builtin/is-email.mdx +++ b/src/pages/docs/evaluation/builtin/is-email.mdx @@ -1,6 +1,6 @@ --- -title: "Is Email" -description: "Evaluates whether the input text is a valid email address. It checks if the text follows standard email formatting rules, including the presence of an @ symbol, a domain name, and a valid top-level domain." +title: "Is Email: Email Address Format Validation Metric" +description: "Evaluates whether input text is a valid email address, checking for standard formatting including an @ symbol, domain name, and valid top-level domain." --- diff --git a/src/pages/docs/evaluation/builtin/is-good-summary.mdx b/src/pages/docs/evaluation/builtin/is-good-summary.mdx index a5e8846b..b0e1eaa0 100644 --- a/src/pages/docs/evaluation/builtin/is-good-summary.mdx +++ b/src/pages/docs/evaluation/builtin/is-good-summary.mdx @@ -1,6 +1,6 @@ --- -title: "Is Good Summary" -description: "Evaluates whether a summary effectively captures the key information from the original source content" +title: "Is Good Summary: Summary Quality Evaluation Metric" +description: "Evaluates whether a summary effectively captures the key information from the original source content, assessing completeness and accuracy." --- diff --git a/src/pages/docs/evaluation/builtin/is-harmful-advice.mdx b/src/pages/docs/evaluation/builtin/is-harmful-advice.mdx index 4cb09f50..4634bdad 100644 --- a/src/pages/docs/evaluation/builtin/is-harmful-advice.mdx +++ b/src/pages/docs/evaluation/builtin/is-harmful-advice.mdx @@ -1,6 +1,6 @@ --- -title: "Is Harmful Advice" -description: "Evaluates whether content contains guidance, recommendations, or instructions that could lead to harm if followed." +title: "Is Harmful Advice: Harmful Guidance Detection Metric" +description: "Evaluates whether content contains guidance or instructions that could cause harm if followed, identifying dangerous or actionable harmful advice." --- diff --git a/src/pages/docs/evaluation/builtin/is-helpful.mdx b/src/pages/docs/evaluation/builtin/is-helpful.mdx index ce68859e..004c56a8 100644 --- a/src/pages/docs/evaluation/builtin/is-helpful.mdx +++ b/src/pages/docs/evaluation/builtin/is-helpful.mdx @@ -1,6 +1,6 @@ --- -title: 'Is Helpful' -description: 'Evaluates whether the response is helpful in solving the user problem or answering their question' +title: "Is Helpful: Response Helpfulness Evaluation Metric" +description: "Evaluates whether a response is helpful in solving the user problem or answering their question, assessing overall utility and relevance." --- From e80aaf73397ea0f4cfca46eb8b691a9ba166ed7a Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:17:26 +0530 Subject: [PATCH 21/51] SEO: optimize evaluation/builtin batch 17 (is-informal-tone, is-json, is-polite, lavenshtein-similarity, llm-function-calling, mrr, ndcg-at-k, no-age-bias, no-apologies, no-gender-bias) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/evaluation/builtin/is-informal-tone.mdx | 4 ++-- src/pages/docs/evaluation/builtin/is-json.mdx | 5 ++--- src/pages/docs/evaluation/builtin/is-polite.mdx | 4 ++-- src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx | 2 +- src/pages/docs/evaluation/builtin/llm-function-calling.mdx | 4 ++-- src/pages/docs/evaluation/builtin/mrr.mdx | 4 ++-- src/pages/docs/evaluation/builtin/ndcg-at-k.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-age-bias.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-apologies.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-gender-bias.mdx | 4 ++-- 10 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/is-informal-tone.mdx b/src/pages/docs/evaluation/builtin/is-informal-tone.mdx index 00608ff5..f68ca939 100644 --- a/src/pages/docs/evaluation/builtin/is-informal-tone.mdx +++ b/src/pages/docs/evaluation/builtin/is-informal-tone.mdx @@ -1,6 +1,6 @@ --- -title: "Is Informal Tone" -description: "Detects whether the tone is informal or casual (e.g., use of slang, contractions, emoji)" +title: "Is Informal Tone: Casual Language Detection Metric" +description: "Detects informal or casual language in AI output, including slang, contractions, and emoji. Returns Passed if informal tone is found, Failed if formal." --- diff --git a/src/pages/docs/evaluation/builtin/is-json.mdx b/src/pages/docs/evaluation/builtin/is-json.mdx index 167e9c1d..b109632a 100644 --- a/src/pages/docs/evaluation/builtin/is-json.mdx +++ b/src/pages/docs/evaluation/builtin/is-json.mdx @@ -1,7 +1,6 @@ --- - -title: "Is JSON" -description: "Determines whether a given text conforms to a valid JSON format. Ensuring valid JSON formatting is critical for seamless data interoperability, as incorrect structures can lead to parsing errors and system failures." +title: "Is JSON: Valid JSON Format Validation Metric" +description: "Determines whether output text conforms to valid JSON format, catching structural errors that cause parsing failures in downstream systems." --- diff --git a/src/pages/docs/evaluation/builtin/is-polite.mdx b/src/pages/docs/evaluation/builtin/is-polite.mdx index c7d2ff23..48914039 100644 --- a/src/pages/docs/evaluation/builtin/is-polite.mdx +++ b/src/pages/docs/evaluation/builtin/is-polite.mdx @@ -1,6 +1,6 @@ --- -title: 'Is Polite' -description: 'Evaluates whether response demonstrates politeness, respect, and appropriate social etiquette. It checks for the presence of courteous language, absence of rudeness, and adherence to social norms in communication.' +title: "Is Polite: Courtesy and Etiquette Evaluation Metric" +description: "Detects politeness and respect in AI responses, checking for courteous language, absence of rudeness, and adherence to social communication norms." --- diff --git a/src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx b/src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx index 0c4c00c9..7b316ff4 100644 --- a/src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx +++ b/src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx @@ -1,5 +1,5 @@ --- -title: "Levenshtein Similarity" +title: "Levenshtein Similarity: Edit Distance Evaluation Metric" description: "Measures text similarity based on the minimum number of single-character edits required to transform one text into another." --- diff --git a/src/pages/docs/evaluation/builtin/llm-function-calling.mdx b/src/pages/docs/evaluation/builtin/llm-function-calling.mdx index bf8294dc..634fe766 100644 --- a/src/pages/docs/evaluation/builtin/llm-function-calling.mdx +++ b/src/pages/docs/evaluation/builtin/llm-function-calling.mdx @@ -1,6 +1,6 @@ --- -title: "Evaluate Function Calling" -description: "Evaluates the accuracy and effectiveness of function calls made by LLM. It checks whether the output correctly identifies the need for a tool call and whether it accurately includes the tool with the appropriate parameters extracted from the input." +title: "LLM Function Calling Accuracy Evaluation Metric" +description: "Evaluates whether LLM output correctly identifies when to call a function, selects the right tool, and extracts the appropriate parameters from the input." --- diff --git a/src/pages/docs/evaluation/builtin/mrr.mdx b/src/pages/docs/evaluation/builtin/mrr.mdx index 04585d89..5c9c645e 100644 --- a/src/pages/docs/evaluation/builtin/mrr.mdx +++ b/src/pages/docs/evaluation/builtin/mrr.mdx @@ -1,6 +1,6 @@ --- -title: "MRR (Mean Reciprocal Rank)" -description: "Measures how early the first relevant chunk appears in the ranked retrieval results. A retrieval-stage metric for RAG pipelines that focuses on the position of the first correct answer." +title: "MRR: Mean Reciprocal Rank for RAG Retrieval Evaluation" +description: "Measures how early the first relevant result appears in ranked retrieval. A RAG metric that scores using the reciprocal rank of the first correct answer." --- diff --git a/src/pages/docs/evaluation/builtin/ndcg-at-k.mdx b/src/pages/docs/evaluation/builtin/ndcg-at-k.mdx index 935f53e7..31cdb384 100644 --- a/src/pages/docs/evaluation/builtin/ndcg-at-k.mdx +++ b/src/pages/docs/evaluation/builtin/ndcg-at-k.mdx @@ -1,6 +1,6 @@ --- -title: "NDCG@K" -description: "Normalized Discounted Cumulative Gain at K: measures ranking quality by giving more credit to relevant chunks that appear earlier in the retrieved results. A retrieval-stage metric for RAG pipelines." +title: "NDCG@K: Ranking Quality Evaluation Metric for RAG" +description: "Rates RAG retrieval ranking quality, rewarding relevant results that appear earlier in the top-K list using Normalized Discounted Cumulative Gain." --- diff --git a/src/pages/docs/evaluation/builtin/no-age-bias.mdx b/src/pages/docs/evaluation/builtin/no-age-bias.mdx index 014c5846..d0cb394b 100644 --- a/src/pages/docs/evaluation/builtin/no-age-bias.mdx +++ b/src/pages/docs/evaluation/builtin/no-age-bias.mdx @@ -1,6 +1,6 @@ --- -title: "No Age Bias" -description: "Evaluates whether a content contains age-related bias, stereotypes, or discriminatory content" +title: "No Age Bias: Age Discrimination Detection Metric" +description: "Detects age-related bias, stereotypes, and discriminatory language in AI output. Returns Passed if no age bias is found, Failed if detected." --- diff --git a/src/pages/docs/evaluation/builtin/no-apologies.mdx b/src/pages/docs/evaluation/builtin/no-apologies.mdx index 85034fbf..2c0a5814 100644 --- a/src/pages/docs/evaluation/builtin/no-apologies.mdx +++ b/src/pages/docs/evaluation/builtin/no-apologies.mdx @@ -1,6 +1,6 @@ --- -title: 'No Apologies' -description: 'Evaluates whether the response contains unnecessary apologies or apologetic language' +title: "No Apologies: Unnecessary Apologetic Language Detection" +description: "Detects unnecessary apologies and apologetic language in AI responses, flagging explicit phrases like 'sorry' and excessively deferential patterns." --- diff --git a/src/pages/docs/evaluation/builtin/no-gender-bias.mdx b/src/pages/docs/evaluation/builtin/no-gender-bias.mdx index 5a1f7a8b..105e8d8d 100644 --- a/src/pages/docs/evaluation/builtin/no-gender-bias.mdx +++ b/src/pages/docs/evaluation/builtin/no-gender-bias.mdx @@ -1,6 +1,6 @@ --- -title: "No Gender Bias" -description: "Evaluates whether a content contains gender-related bias, stereotypes, or discriminatory content" +title: "No Gender Bias: Gender Discrimination Detection Metric" +description: "Detects gender-related bias, stereotypes, and discriminatory language in AI output. Returns Passed if no gender bias is found, Failed if detected." --- From b1c791fe434c3a0bca72d3bcf71c628a1e0c2ed1 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:19:01 +0530 Subject: [PATCH 22/51] SEO: optimize evaluation/builtin batch 18 (no-harmful-therapeutic-guidance, no-invalid-links, no-llm-reference, no-racial-bias, numeric-similarity, ocr-evaluation, pii, precision-at-k, prompt-injection, recall-at-k) Co-Authored-By: Claude Sonnet 4.6 --- .../evaluation/builtin/no-harmful-therapeutic-guidance.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-invalid-links.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-llm-reference.mdx | 4 ++-- src/pages/docs/evaluation/builtin/no-racial-bias.mdx | 4 ++-- src/pages/docs/evaluation/builtin/numeric-similarity.mdx | 4 ++-- src/pages/docs/evaluation/builtin/ocr-evaluation.mdx | 2 +- src/pages/docs/evaluation/builtin/pii.mdx | 4 ++-- src/pages/docs/evaluation/builtin/precision-at-k.mdx | 4 ++-- src/pages/docs/evaluation/builtin/prompt-injection.mdx | 5 ++--- src/pages/docs/evaluation/builtin/recall-at-k.mdx | 4 ++-- 10 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx b/src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx index bf7c9e36..e6bc1d72 100644 --- a/src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx +++ b/src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx @@ -1,6 +1,6 @@ --- -title: "No Harmful Therapeutic Guidance" -description: "Evaluates whether content contains inappropriate or potentially harmful medical, psychological, or therapeutic advice." +title: "No Harmful Therapeutic Guidance Detection Metric" +description: "Evaluates whether content contains inappropriate or potentially harmful medical, psychological, or therapeutic advice. Returns Passed if safe." --- diff --git a/src/pages/docs/evaluation/builtin/no-invalid-links.mdx b/src/pages/docs/evaluation/builtin/no-invalid-links.mdx index e529f962..8bd28781 100644 --- a/src/pages/docs/evaluation/builtin/no-invalid-links.mdx +++ b/src/pages/docs/evaluation/builtin/no-invalid-links.mdx @@ -1,6 +1,6 @@ --- -title: "No Invalid Links" -description: "Evaluates whether the output text does not contain any invalid hyperlinks. It checks if the text is free from URLs that fail standard URL formatting validation." +title: "No Invalid Links: URL Format Validation Metric" +description: "Evaluates whether output text is free from invalid hyperlinks, checking all URLs against standard formatting validation rules." --- diff --git a/src/pages/docs/evaluation/builtin/no-llm-reference.mdx b/src/pages/docs/evaluation/builtin/no-llm-reference.mdx index 99d1caee..79f90687 100644 --- a/src/pages/docs/evaluation/builtin/no-llm-reference.mdx +++ b/src/pages/docs/evaluation/builtin/no-llm-reference.mdx @@ -1,6 +1,6 @@ --- -title: 'No LLM Reference' -description: 'Evaluates whether a model response contains references to any LLM provider (e.g., OpenAI, Anthropic, Meta) or model name/version (e.g., GPT-4, Claude 3, Llama 3)' +title: "No LLM Reference: AI Provider Mention Detection Metric" +description: "Detects references to LLM providers or model names in AI responses, flagging mentions of OpenAI, Anthropic, GPT-4, Claude, or Llama." --- diff --git a/src/pages/docs/evaluation/builtin/no-racial-bias.mdx b/src/pages/docs/evaluation/builtin/no-racial-bias.mdx index f4dbdc1c..4a8a3c80 100644 --- a/src/pages/docs/evaluation/builtin/no-racial-bias.mdx +++ b/src/pages/docs/evaluation/builtin/no-racial-bias.mdx @@ -1,6 +1,6 @@ --- -title: "No Racial Bias" -description: "Evaluates whether a content contains racial bias, stereotypes, or discriminatory content" +title: "No Racial Bias: Race Discrimination Detection Metric" +description: "Detects racial bias, stereotypes, and discriminatory language in AI output. Returns Passed if no racial bias is found, Failed if detected." --- diff --git a/src/pages/docs/evaluation/builtin/numeric-similarity.mdx b/src/pages/docs/evaluation/builtin/numeric-similarity.mdx index 67ce9caa..feefea03 100644 --- a/src/pages/docs/evaluation/builtin/numeric-similarity.mdx +++ b/src/pages/docs/evaluation/builtin/numeric-similarity.mdx @@ -1,6 +1,6 @@ --- -title: "Numeric Similarity" -description: "Extracts numeric values from generated output and compute absolute or normalised difference between numeric value in reference" +title: "Numeric Similarity: Number-Based Text Comparison Metric" +description: "Extracts numeric values from generated output and computes the absolute or normalized difference against a reference value." --- diff --git a/src/pages/docs/evaluation/builtin/ocr-evaluation.mdx b/src/pages/docs/evaluation/builtin/ocr-evaluation.mdx index 28cbf774..08b57b78 100644 --- a/src/pages/docs/evaluation/builtin/ocr-evaluation.mdx +++ b/src/pages/docs/evaluation/builtin/ocr-evaluation.mdx @@ -1,5 +1,5 @@ --- -title: "OCR Evaluation" +title: "OCR Evaluation: PDF to JSON Content Accuracy Metric" description: "Evaluates the quality of OCR output by verifying that the extracted JSON content faithfully represents the information in the source PDF document." --- diff --git a/src/pages/docs/evaluation/builtin/pii.mdx b/src/pages/docs/evaluation/builtin/pii.mdx index fd89f23f..0ed8cc76 100644 --- a/src/pages/docs/evaluation/builtin/pii.mdx +++ b/src/pages/docs/evaluation/builtin/pii.mdx @@ -1,6 +1,6 @@ --- -title: "PII" -description: "PII Detection evaluates text to identify the presence of personally identifiable information. This evaluation is crucial for ensuring privacy and compliance with data protection regulations by detecting and managing sensitive information in text data." +title: "PII Detection: Personally Identifiable Information Metric" +description: "Detects personally identifiable information in text, ensuring privacy and compliance with data protection regulations by flagging sensitive data." --- diff --git a/src/pages/docs/evaluation/builtin/precision-at-k.mdx b/src/pages/docs/evaluation/builtin/precision-at-k.mdx index 9d0886e6..87f8dd36 100644 --- a/src/pages/docs/evaluation/builtin/precision-at-k.mdx +++ b/src/pages/docs/evaluation/builtin/precision-at-k.mdx @@ -1,6 +1,6 @@ --- -title: "Precision@K" -description: "Out of the top K retrieved chunks, what fraction is actually relevant. A retrieval-stage metric for RAG pipelines that measures how much noise your retriever returns." +title: "Precision@K: Retrieval Accuracy Evaluation Metric for RAG" +description: "Measures the fraction of top-K retrieved chunks that are actually relevant. A RAG retrieval metric that quantifies how much noise your retriever returns." --- diff --git a/src/pages/docs/evaluation/builtin/prompt-injection.mdx b/src/pages/docs/evaluation/builtin/prompt-injection.mdx index 6eea5201..49714e5a 100644 --- a/src/pages/docs/evaluation/builtin/prompt-injection.mdx +++ b/src/pages/docs/evaluation/builtin/prompt-injection.mdx @@ -1,7 +1,6 @@ --- - -title: "Prompt Injection" -description: "Detects attempts to manipulate or bypass the intended behaviour of language models through carefully crafted inputs. This evaluation is crucial for ensuring the security and reliability of AI systems by identifying potential security vulnerabilities in prompt handling." +title: "Prompt Injection Attack Detection Evaluation Metric" +description: "Detects attempts to manipulate LLM behavior through crafted inputs, identifying prompt injection attacks and security vulnerabilities in AI systems." --- diff --git a/src/pages/docs/evaluation/builtin/recall-at-k.mdx b/src/pages/docs/evaluation/builtin/recall-at-k.mdx index 8bc4e836..c20c1dcd 100644 --- a/src/pages/docs/evaluation/builtin/recall-at-k.mdx +++ b/src/pages/docs/evaluation/builtin/recall-at-k.mdx @@ -1,6 +1,6 @@ --- -title: "Recall@K" -description: "Out of all truly relevant chunks, what fraction appears in the top K retrieved results. A core retrieval-stage metric for RAG pipelines that measures how well your retriever surfaces relevant context." +title: "Recall@K: Retrieval Coverage Evaluation Metric for RAG" +description: "Measures what fraction of all relevant chunks appear in the top-K retrieved results, assessing how well your RAG retriever surfaces relevant context." --- From ad7907d8982683f15d944c618f9c59837797e2ad Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:20:55 +0530 Subject: [PATCH 23/51] SEO: optimize evaluation/builtin batch 19 (rouge, semantic-list-contains, sexist, summary-quality, synthetic-image-evaluator, task-completion, text-to-sql, tone, toxicity, translation-accuracy) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/evaluation/builtin/rouge.mdx | 4 ++-- src/pages/docs/evaluation/builtin/semantic-list-contains.mdx | 4 ++-- src/pages/docs/evaluation/builtin/sexist.mdx | 5 ++--- src/pages/docs/evaluation/builtin/summary-quality.mdx | 4 ++-- .../docs/evaluation/builtin/synthetic-image-evaluator.mdx | 4 ++-- src/pages/docs/evaluation/builtin/task-completion.mdx | 4 ++-- src/pages/docs/evaluation/builtin/text-to-sql.mdx | 4 ++-- src/pages/docs/evaluation/builtin/tone.mdx | 4 ++-- src/pages/docs/evaluation/builtin/toxicity.mdx | 4 ++-- src/pages/docs/evaluation/builtin/translation-accuracy.mdx | 4 ++-- 10 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/rouge.mdx b/src/pages/docs/evaluation/builtin/rouge.mdx index 6228cf46..b45f7c71 100644 --- a/src/pages/docs/evaluation/builtin/rouge.mdx +++ b/src/pages/docs/evaluation/builtin/rouge.mdx @@ -1,6 +1,6 @@ --- -title: "ROUGE Score" -description: Recall-specific measurement of lexical overlap between generated hypothesis and reference +title: "ROUGE Score: Recall-Oriented Text Generation Evaluation" +description: "Recall-oriented measurement of lexical overlap between generated text and reference, commonly used for evaluating summarization and translation quality." --- diff --git a/src/pages/docs/evaluation/builtin/semantic-list-contains.mdx b/src/pages/docs/evaluation/builtin/semantic-list-contains.mdx index 605a7565..42d5a444 100644 --- a/src/pages/docs/evaluation/builtin/semantic-list-contains.mdx +++ b/src/pages/docs/evaluation/builtin/semantic-list-contains.mdx @@ -1,6 +1,6 @@ --- -title: "Semantic List Contains" -description: "Evaluates whether a generated response semantically contains one or more reference phrases or keywords." +title: "Semantic List Contains: Reference Phrase Match Metric" +description: "Evaluates whether a response semantically contains one or more reference phrases or keywords, using meaning-based matching rather than exact text." --- diff --git a/src/pages/docs/evaluation/builtin/sexist.mdx b/src/pages/docs/evaluation/builtin/sexist.mdx index 4760b720..4f852535 100644 --- a/src/pages/docs/evaluation/builtin/sexist.mdx +++ b/src/pages/docs/evaluation/builtin/sexist.mdx @@ -1,7 +1,6 @@ --- - -title: "Sexist" -description: "Detects content that has gender bias. This evaluation is essential for ensuring that content does not perpetuate gender stereotypes or discrimination, promoting inclusivity and respect." +title: "Sexist Content Detection Evaluation Metric" +description: "Detects gender-biased content that perpetuates stereotypes or discrimination, ensuring AI responses promote inclusivity and respect." --- diff --git a/src/pages/docs/evaluation/builtin/summary-quality.mdx b/src/pages/docs/evaluation/builtin/summary-quality.mdx index 3b444b97..e7fb9bba 100644 --- a/src/pages/docs/evaluation/builtin/summary-quality.mdx +++ b/src/pages/docs/evaluation/builtin/summary-quality.mdx @@ -1,6 +1,6 @@ --- -title: "Summary Quality" -description: "Evaluates whether a summary effectively captures the main points, maintains factual accuracy, and achieves an appropriate length while preserving the original meaning. It checks for both the inclusion of key information and the exclusion of unnecessary details." +title: "Summary Quality: Comprehensive Summary Assessment Metric" +description: "Evaluates whether a summary captures key points, maintains factual accuracy, and achieves appropriate length while preserving the original meaning." --- diff --git a/src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx b/src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx index c951f184..40419ce6 100644 --- a/src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx +++ b/src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx @@ -1,6 +1,6 @@ --- -title: "Synthetic Image Evaluator" -description: "Evaluates whether an image was generated by AI or captured by a camera/created by humans." +title: "Synthetic Image Evaluator: AI vs Human Image Detection" +description: "Evaluates whether an image was generated by AI or captured by a camera and created by humans. Returns Passed if the image is detected as AI-generated." --- diff --git a/src/pages/docs/evaluation/builtin/task-completion.mdx b/src/pages/docs/evaluation/builtin/task-completion.mdx index f542ba5a..b75bc920 100644 --- a/src/pages/docs/evaluation/builtin/task-completion.mdx +++ b/src/pages/docs/evaluation/builtin/task-completion.mdx @@ -1,6 +1,6 @@ --- -title: "Task Completion" -description: "Evaluates whether a response successfully completes the task requested in the input." +title: "Task Completion: Requested Task Success Evaluation Metric" +description: "Evaluates whether an AI response successfully completes the task or request described in the user's input. Returns Passed if the task was completed." --- diff --git a/src/pages/docs/evaluation/builtin/text-to-sql.mdx b/src/pages/docs/evaluation/builtin/text-to-sql.mdx index d8893c51..1d7c1694 100644 --- a/src/pages/docs/evaluation/builtin/text-to-sql.mdx +++ b/src/pages/docs/evaluation/builtin/text-to-sql.mdx @@ -1,6 +1,6 @@ --- -title: "Text to SQL" -description: "Evaluates the accuracy and quality of SQL queries generated from natural language instructions." +title: "Text to SQL: Natural Language to Query Accuracy Metric" +description: "Evaluates the accuracy and quality of SQL queries generated from natural language instructions, checking query correctness and structural integrity." --- diff --git a/src/pages/docs/evaluation/builtin/tone.mdx b/src/pages/docs/evaluation/builtin/tone.mdx index cd982b0f..e3e1b19d 100644 --- a/src/pages/docs/evaluation/builtin/tone.mdx +++ b/src/pages/docs/evaluation/builtin/tone.mdx @@ -1,6 +1,6 @@ --- -title: "Tone" -description: "Tone evaluation analyses the tone and sentiment of content. This evaluation helps in understanding the emotional context and intent behind the text, which is crucial for tailoring communication to specific audiences or purposes." +title: "Tone: Sentiment and Communication Style Evaluation Metric" +description: "Analyses the tone and sentiment of AI content, identifying the emotional context and intent to help tailor communication to specific audiences." --- diff --git a/src/pages/docs/evaluation/builtin/toxicity.mdx b/src/pages/docs/evaluation/builtin/toxicity.mdx index 4afd8617..5e9d7fae 100644 --- a/src/pages/docs/evaluation/builtin/toxicity.mdx +++ b/src/pages/docs/evaluation/builtin/toxicity.mdx @@ -1,6 +1,6 @@ --- -title: "Toxicity" -description: "Toxicity assesses the content for harmful or toxic language. This evaluation is crucial for ensuring that content does not contain language that could be offensive, abusive, or harmful to individuals or groups." +title: "Toxicity Detection: Harmful Language Evaluation Metric" +description: "Assesses AI content for toxic, offensive, or abusive language, detecting harmful patterns that could harm individuals or groups." --- diff --git a/src/pages/docs/evaluation/builtin/translation-accuracy.mdx b/src/pages/docs/evaluation/builtin/translation-accuracy.mdx index a3376650..36bab47d 100644 --- a/src/pages/docs/evaluation/builtin/translation-accuracy.mdx +++ b/src/pages/docs/evaluation/builtin/translation-accuracy.mdx @@ -1,6 +1,6 @@ --- -title: "Translation Accuracy" -description: "Evaluates the quality of translation by checking semantic accuracy, cultural appropriateness, and preservation of original meaning. It considers both literal accuracy and natural expression in the target language." +title: "Translation Accuracy: Semantic and Cultural Quality Metric" +description: "Evaluates translation quality by checking semantic accuracy, cultural appropriateness, and preservation of meaning in the target language." --- From e1c2b0fe7c4132c3c7cbd617fa68aeb89daa701d Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:22:29 +0530 Subject: [PATCH 24/51] SEO: optimize evaluation batch 20 (tts-accuracy, eval-results, eval-templates, eval-types, judge-models, understanding-evaluation, cicd, custom-models, custom, evaluate) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/evaluation/builtin/tts-accuracy.mdx | 2 +- src/pages/docs/evaluation/concepts/eval-results.mdx | 4 ++-- src/pages/docs/evaluation/concepts/eval-templates.mdx | 4 ++-- src/pages/docs/evaluation/concepts/eval-types.mdx | 2 +- src/pages/docs/evaluation/concepts/judge-models.mdx | 4 ++-- .../docs/evaluation/concepts/understanding-evaluation.mdx | 4 ++-- src/pages/docs/evaluation/features/cicd.mdx | 2 +- src/pages/docs/evaluation/features/custom-models.mdx | 4 ++-- src/pages/docs/evaluation/features/custom.mdx | 4 ++-- src/pages/docs/evaluation/features/evaluate.mdx | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pages/docs/evaluation/builtin/tts-accuracy.mdx b/src/pages/docs/evaluation/builtin/tts-accuracy.mdx index 7d3e00fd..310239fb 100644 --- a/src/pages/docs/evaluation/builtin/tts-accuracy.mdx +++ b/src/pages/docs/evaluation/builtin/tts-accuracy.mdx @@ -1,5 +1,5 @@ --- -title: "TTS Accuracy" +title: "TTS Accuracy: Text-to-Speech Output Evaluation Metric" description: "Analyzes if the text-to-speech output accurately reflects the intended message, including pronunciation, emphasis, and emotional tone." --- diff --git a/src/pages/docs/evaluation/concepts/eval-results.mdx b/src/pages/docs/evaluation/concepts/eval-results.mdx index c2ffe859..d11d1840 100644 --- a/src/pages/docs/evaluation/concepts/eval-results.mdx +++ b/src/pages/docs/evaluation/concepts/eval-results.mdx @@ -1,6 +1,6 @@ --- -title: "Eval Results" -description: "What eval results contain, how to read them, and how results are stored and aggregated across runs." +title: "Eval Results: Reading and Storing Evaluation Outputs" +description: "Understand what evaluation results contain, how to read them, and how results are stored and aggregated across runs in Future AGI." --- ## About diff --git a/src/pages/docs/evaluation/concepts/eval-templates.mdx b/src/pages/docs/evaluation/concepts/eval-templates.mdx index 8453f57a..4201fec8 100644 --- a/src/pages/docs/evaluation/concepts/eval-templates.mdx +++ b/src/pages/docs/evaluation/concepts/eval-templates.mdx @@ -1,6 +1,6 @@ --- -title: "Eval Templates" -description: "What eval templates are, the difference between built-in and custom templates, and how output types work." +title: "Eval Templates: Built-in and Custom Evaluation Templates" +description: "Explains what evaluation templates are, the difference between built-in and custom templates, and how output types determine what an eval returns." --- ## About diff --git a/src/pages/docs/evaluation/concepts/eval-types.mdx b/src/pages/docs/evaluation/concepts/eval-types.mdx index 0b015696..2eb257e5 100644 --- a/src/pages/docs/evaluation/concepts/eval-types.mdx +++ b/src/pages/docs/evaluation/concepts/eval-types.mdx @@ -1,5 +1,5 @@ --- -title: "Eval Types" +title: "Eval Types: Four Evaluation Methods in Future AGI" description: "The four evaluation methods in Future AGI: LLM as Judge, Deterministic, Statistical Metric, and LLM as Ranker, and how modality affects which ones apply." --- diff --git a/src/pages/docs/evaluation/concepts/judge-models.mdx b/src/pages/docs/evaluation/concepts/judge-models.mdx index 53e6cecf..60eacd86 100644 --- a/src/pages/docs/evaluation/concepts/judge-models.mdx +++ b/src/pages/docs/evaluation/concepts/judge-models.mdx @@ -1,6 +1,6 @@ --- -title: "Judge Models" -description: "What a judge model is, how it scores responses, and how to choose the right one for your evaluation." +title: "Judge Models: Choosing the Right Evaluation Scorer" +description: "Explains what a judge model is, how it scores AI responses, and how to choose the right judge model for your specific evaluation use case." --- ## About diff --git a/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx b/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx index 191fc331..1509d7f1 100644 --- a/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx +++ b/src/pages/docs/evaluation/concepts/understanding-evaluation.mdx @@ -1,6 +1,6 @@ --- -title: "Understanding Evaluation" -description: "How evaluation works in Future AGI: templates, judge models, results, and where evals run." +title: "Understanding AI Evaluation in Future AGI Platform" +description: "Covers how evaluation works in Future AGI: templates, judge models, eval types, results, and where evaluations run in the platform and SDK." --- ## About diff --git a/src/pages/docs/evaluation/features/cicd.mdx b/src/pages/docs/evaluation/features/cicd.mdx index e6cc3950..673fc274 100644 --- a/src/pages/docs/evaluation/features/cicd.mdx +++ b/src/pages/docs/evaluation/features/cicd.mdx @@ -1,5 +1,5 @@ --- -title: "Evaluate via CI/CD Pipeline" +title: "Evaluate via CI/CD Pipeline: Automated Quality Checks" description: "Run Future AGI evaluations in your CI/CD pipeline to assess model performance on every pull request and keep quality checks consistent before deployment." --- diff --git a/src/pages/docs/evaluation/features/custom-models.mdx b/src/pages/docs/evaluation/features/custom-models.mdx index 9be5244e..19169b12 100644 --- a/src/pages/docs/evaluation/features/custom-models.mdx +++ b/src/pages/docs/evaluation/features/custom-models.mdx @@ -1,6 +1,6 @@ --- -title: "Use Custom Models" -description: "Use your own or third-party models for evaluations via supported providers or a custom API endpoint." +title: "Use Custom Models for AI Evaluation in Future AGI" +description: "Use your own or third-party models for evaluations in Future AGI via supported providers or a custom API endpoint with full configuration control." --- ## About diff --git a/src/pages/docs/evaluation/features/custom.mdx b/src/pages/docs/evaluation/features/custom.mdx index f7e36061..f0f87d85 100644 --- a/src/pages/docs/evaluation/features/custom.mdx +++ b/src/pages/docs/evaluation/features/custom.mdx @@ -1,6 +1,6 @@ --- -title: "Create Custom Evals" -description: "Define custom evaluation criteria and rules for your use case beyond built-in templates." +title: "Create Custom Evaluation Templates in Future AGI" +description: "Define custom evaluation criteria and rules tailored to your use case, extending beyond the built-in templates available in Future AGI." --- ## About diff --git a/src/pages/docs/evaluation/features/evaluate.mdx b/src/pages/docs/evaluation/features/evaluate.mdx index 43b9b195..d270b7bd 100644 --- a/src/pages/docs/evaluation/features/evaluate.mdx +++ b/src/pages/docs/evaluation/features/evaluate.mdx @@ -1,6 +1,6 @@ --- -title: "Evaluate via Platform & SDK" -description: "Run evaluations via the Future AGI platform UI or the Python SDK." +title: "Evaluate via Platform and SDK in Future AGI" +description: "Run evaluations using the Future AGI platform UI or the Python SDK. Choose individual templates or batch runs for scalable model assessment." --- ## About From fab0c71d9499e0a2c6ca30ab3893765b812af07a Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:24:00 +0530 Subject: [PATCH 25/51] SEO: optimize evaluation+falcon-ai+faq+index+installation+integrations batch 21 Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/evaluation/features/futureagi-models.mdx | 4 ++-- src/pages/docs/evaluation/index.mdx | 4 ++-- src/pages/docs/falcon-ai/features/chat.mdx | 2 +- src/pages/docs/falcon-ai/features/mcp-connectors.mdx | 2 +- src/pages/docs/falcon-ai/features/skills.mdx | 2 +- src/pages/docs/falcon-ai/index.mdx | 2 +- src/pages/docs/faq.mdx | 4 ++-- src/pages/docs/index.mdx | 2 +- src/pages/docs/installation.mdx | 4 ++-- src/pages/docs/integrations/export/cloud-storage.mdx | 4 ++-- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/pages/docs/evaluation/features/futureagi-models.mdx b/src/pages/docs/evaluation/features/futureagi-models.mdx index 8ebb23d1..8b114114 100644 --- a/src/pages/docs/evaluation/features/futureagi-models.mdx +++ b/src/pages/docs/evaluation/features/futureagi-models.mdx @@ -1,6 +1,6 @@ --- -title: "Use Future AGI Models" -description: "Future AGI's proprietary models trained on a vast variety of datasets to perform evaluations." +title: "Use Future AGI Models for AI Evaluation and Scoring" +description: "Future AGI's proprietary judge models are trained on diverse datasets to perform accurate evaluations and score AI outputs." --- ## About diff --git a/src/pages/docs/evaluation/index.mdx b/src/pages/docs/evaluation/index.mdx index a31d911a..d1fc1b71 100644 --- a/src/pages/docs/evaluation/index.mdx +++ b/src/pages/docs/evaluation/index.mdx @@ -1,6 +1,6 @@ --- -title: "Overview" -description: "Measure and compare quality of prompts and agents across datasets, simulations, and experiments." +title: "Future AGI Evaluation: Measure Prompt and Agent Quality" +description: "Measure and compare the quality of prompts and agents across datasets, simulations, and experiments using built-in or custom eval templates." --- ## About diff --git a/src/pages/docs/falcon-ai/features/chat.mdx b/src/pages/docs/falcon-ai/features/chat.mdx index 06d7d4ef..dbc02992 100644 --- a/src/pages/docs/falcon-ai/features/chat.mdx +++ b/src/pages/docs/falcon-ai/features/chat.mdx @@ -1,5 +1,5 @@ --- -title: "Using Falcon AI" +title: "Using Falcon AI: Chat, File Upload, and Tool Calls" description: "Open Falcon AI from any page, ask questions, upload files, and get streaming responses with tool calls and completion cards." --- diff --git a/src/pages/docs/falcon-ai/features/mcp-connectors.mdx b/src/pages/docs/falcon-ai/features/mcp-connectors.mdx index 35ece8b3..c8ca3ee6 100644 --- a/src/pages/docs/falcon-ai/features/mcp-connectors.mdx +++ b/src/pages/docs/falcon-ai/features/mcp-connectors.mdx @@ -1,5 +1,5 @@ --- -title: "MCP Connectors" +title: "MCP Connectors: Connect External Tools to Falcon AI" description: "Connect external MCP servers to Falcon AI to use tools from services like Linear, Slack, GitHub, Sentry, and custom APIs." --- diff --git a/src/pages/docs/falcon-ai/features/skills.mdx b/src/pages/docs/falcon-ai/features/skills.mdx index 5fd8279b..6c708f5b 100644 --- a/src/pages/docs/falcon-ai/features/skills.mdx +++ b/src/pages/docs/falcon-ai/features/skills.mdx @@ -1,5 +1,5 @@ --- -title: "Skill Builder" +title: "Skill Builder: Custom Slash Commands for Falcon AI" description: "Use built-in skills for common workflows or create custom slash commands that package multi-step instructions for your team." --- diff --git a/src/pages/docs/falcon-ai/index.mdx b/src/pages/docs/falcon-ai/index.mdx index 54debfb3..399afdac 100644 --- a/src/pages/docs/falcon-ai/index.mdx +++ b/src/pages/docs/falcon-ai/index.mdx @@ -1,5 +1,5 @@ --- -title: "Falcon AI" +title: "Falcon AI: AI Copilot for the Future AGI Dashboard" description: "An AI copilot embedded in the Future AGI dashboard that handles platform tasks, runs analysis, and answers questions through natural language." --- diff --git a/src/pages/docs/faq.mdx b/src/pages/docs/faq.mdx index 6ff9551f..123fbbc3 100644 --- a/src/pages/docs/faq.mdx +++ b/src/pages/docs/faq.mdx @@ -1,6 +1,6 @@ --- -title: "FAQs" -description: "Find answers to common questions about Future AGI products." +title: "Frequently Asked Questions about Future AGI Products" +description: "Find answers to frequently asked questions about Future AGI products, pricing, features, SDK setup, and platform usage." --- ## About diff --git a/src/pages/docs/index.mdx b/src/pages/docs/index.mdx index bfdf4897..0ea10c94 100644 --- a/src/pages/docs/index.mdx +++ b/src/pages/docs/index.mdx @@ -1,5 +1,5 @@ --- -title: "Overview" +title: "Future AGI Docs: AI Testing, Guardrails, and Monitoring" description: "The complete platform to test, guard, and monitor AI agents. Build self-improving agents that ship smarter with every version." --- diff --git a/src/pages/docs/installation.mdx b/src/pages/docs/installation.mdx index fe60ed83..e6ba9323 100644 --- a/src/pages/docs/installation.mdx +++ b/src/pages/docs/installation.mdx @@ -1,6 +1,6 @@ --- -title: Installation -description: Install the Future AGI SDK and configure it for your project. +title: "Installation: Install and Configure the Future AGI SDK" +description: "Install the Future AGI Python SDK and configure your API key and project settings to start evaluating and monitoring AI models." --- ## Requirements diff --git a/src/pages/docs/integrations/export/cloud-storage.mdx b/src/pages/docs/integrations/export/cloud-storage.mdx index 40f327c7..b5f4313f 100644 --- a/src/pages/docs/integrations/export/cloud-storage.mdx +++ b/src/pages/docs/integrations/export/cloud-storage.mdx @@ -1,6 +1,6 @@ --- -title: "Export to Cloud Storage" -description: "Archive Agent Command Center logs to S3, Azure Blob Storage, or Google Cloud Storage as compressed JSONL files." +title: "Export to Cloud Storage: S3, Azure, and GCS Integration" +description: "Archive Agent Command Center logs to Amazon S3, Azure Blob Storage, or Google Cloud Storage as compressed JSONL files for long-term retention." --- From 7da5919ec35099fc0c08acecfa4b5ae70d889e02 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:25:21 +0530 Subject: [PATCH 26/51] SEO: optimize integrations batch 22 (datadog, message-queues, mixpanel, pagerduty, posthog, google-adk, google-genai, langfuse, integrations-index, openai-agents) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/integrations/export/datadog.mdx | 4 ++-- src/pages/docs/integrations/export/message-queues.mdx | 4 ++-- src/pages/docs/integrations/export/mixpanel.mdx | 4 ++-- src/pages/docs/integrations/export/pagerduty.mdx | 4 ++-- src/pages/docs/integrations/export/posthog.mdx | 4 ++-- src/pages/docs/integrations/google-adk.mdx | 2 +- src/pages/docs/integrations/google-genai.mdx | 2 +- src/pages/docs/integrations/import/langfuse.mdx | 4 ++-- src/pages/docs/integrations/index.mdx | 4 ++-- src/pages/docs/integrations/openai-agents.mdx | 2 +- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/pages/docs/integrations/export/datadog.mdx b/src/pages/docs/integrations/export/datadog.mdx index df5e91b4..8dbc8bc2 100644 --- a/src/pages/docs/integrations/export/datadog.mdx +++ b/src/pages/docs/integrations/export/datadog.mdx @@ -1,6 +1,6 @@ --- -title: "Export to Datadog" -description: "Forward Agent Command Center logs and metrics from Future AGI to Datadog automatically." +title: "Export to Datadog: Forward Future AGI Logs and Metrics" +description: "Forward Agent Command Center logs and metrics from Future AGI to Datadog automatically for centralized monitoring and alerting." --- diff --git a/src/pages/docs/integrations/export/message-queues.mdx b/src/pages/docs/integrations/export/message-queues.mdx index 0e7de5aa..9f0d65ab 100644 --- a/src/pages/docs/integrations/export/message-queues.mdx +++ b/src/pages/docs/integrations/export/message-queues.mdx @@ -1,6 +1,6 @@ --- -title: "Export to Message Queues" -description: "Stream Agent Command Center logs to Amazon SQS or Google Pub/Sub for real-time processing." +title: "Export to Message Queues: Amazon SQS and Google Pub/Sub" +description: "Stream Agent Command Center logs from Future AGI to Amazon SQS or Google Pub/Sub for real-time processing and downstream event handling." --- diff --git a/src/pages/docs/integrations/export/mixpanel.mdx b/src/pages/docs/integrations/export/mixpanel.mdx index 0f2ffa89..5e86be22 100644 --- a/src/pages/docs/integrations/export/mixpanel.mdx +++ b/src/pages/docs/integrations/export/mixpanel.mdx @@ -1,6 +1,6 @@ --- -title: "Export to Mixpanel" -description: "Send LLM usage events from Future AGI's Agent Command Center to Mixpanel for product analytics." +title: "Export to Mixpanel: LLM Usage Events for Product Analytics" +description: "Send LLM usage events from Future AGI's Agent Command Center to Mixpanel for product analytics, user behavior tracking, and funnel analysis." --- diff --git a/src/pages/docs/integrations/export/pagerduty.mdx b/src/pages/docs/integrations/export/pagerduty.mdx index 75088b65..64f98c28 100644 --- a/src/pages/docs/integrations/export/pagerduty.mdx +++ b/src/pages/docs/integrations/export/pagerduty.mdx @@ -1,6 +1,6 @@ --- -title: "PagerDuty Alerts" -description: "Route Future AGI alerts to PagerDuty so your on-call team gets paged when something breaks." +title: "PagerDuty Alerts: Route Future AGI Alerts to On-Call Teams" +description: "Route Future AGI alerts to PagerDuty so your on-call team receives notifications when something breaks in your AI agent pipeline." --- diff --git a/src/pages/docs/integrations/export/posthog.mdx b/src/pages/docs/integrations/export/posthog.mdx index 3b830363..b043e73a 100644 --- a/src/pages/docs/integrations/export/posthog.mdx +++ b/src/pages/docs/integrations/export/posthog.mdx @@ -1,6 +1,6 @@ --- -title: "Export to PostHog" -description: "Send LLM usage events from Future AGI's Agent Command Center to PostHog for product analytics." +title: "Export to PostHog: LLM Usage Events for Product Analytics" +description: "Send LLM usage events from Future AGI's Agent Command Center to PostHog for product analytics, user behavior tracking, and event-based insights." --- diff --git a/src/pages/docs/integrations/google-adk.mdx b/src/pages/docs/integrations/google-adk.mdx index 682fc477..0c34f384 100644 --- a/src/pages/docs/integrations/google-adk.mdx +++ b/src/pages/docs/integrations/google-adk.mdx @@ -1,5 +1,5 @@ --- -title: Google ADK +title: "Google ADK Integration with Future AGI for AI Tracing" description: "Set up Google ADK with Future AGI tracing. Install traceai-google-adk and configure auto-instrumentation for Google AI agent applications." --- diff --git a/src/pages/docs/integrations/google-genai.mdx b/src/pages/docs/integrations/google-genai.mdx index f54ec9ae..5584d03c 100644 --- a/src/pages/docs/integrations/google-genai.mdx +++ b/src/pages/docs/integrations/google-genai.mdx @@ -1,5 +1,5 @@ --- -title: Google GenAI +title: "Google GenAI Integration with Future AGI for Gemini Tracing" description: "Set up Google GenAI with Future AGI tracing. Install traceAI-google-genai to capture and monitor Gemini model interactions automatically." --- diff --git a/src/pages/docs/integrations/import/langfuse.mdx b/src/pages/docs/integrations/import/langfuse.mdx index 92f6959b..a41473ef 100644 --- a/src/pages/docs/integrations/import/langfuse.mdx +++ b/src/pages/docs/integrations/import/langfuse.mdx @@ -1,6 +1,6 @@ --- -title: "Import from Langfuse" -description: "Pull your existing Langfuse traces, spans, and scores into Future AGI automatically." +title: "Import from Langfuse: Pull Traces and Scores into Future AGI" +description: "Pull existing Langfuse traces, spans, and scores into Future AGI automatically to continue evaluation and analysis without re-instrumentation." --- diff --git a/src/pages/docs/integrations/index.mdx b/src/pages/docs/integrations/index.mdx index 24d731d9..ce8878f3 100644 --- a/src/pages/docs/integrations/index.mdx +++ b/src/pages/docs/integrations/index.mdx @@ -1,6 +1,6 @@ --- -title: "Integrations Overview" -description: "Connect Future AGI with your existing AI frameworks, LLM providers, and tools." +title: "Future AGI Integrations: Frameworks, LLMs, and Tools" +description: "Connect Future AGI with your existing AI frameworks, LLM providers, observability tools, and data export destinations for full-stack AI monitoring." --- ## TraceAI diff --git a/src/pages/docs/integrations/openai-agents.mdx b/src/pages/docs/integrations/openai-agents.mdx index 7e0af758..99225a06 100644 --- a/src/pages/docs/integrations/openai-agents.mdx +++ b/src/pages/docs/integrations/openai-agents.mdx @@ -1,5 +1,5 @@ --- -title: OpenAI Agents +title: "OpenAI Agents SDK Integration with Future AGI Tracing" description: "Set up OpenAI Agents SDK with Future AGI tracing. Install traceAI-openai-agents for automatic observability of agent workflows and tool usage." --- From ab93916d58552d74b8579e2d15ae497813075bcb Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:31:15 +0530 Subject: [PATCH 27/51] SEO: optimize integrations/traceai batch 23 (smol-agents, anthropic, autogen, bedrock, crewai, dspy, google_adk, google_genai, groq, guardrails) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/integrations/smol-agents.mdx | 2 +- src/pages/docs/integrations/traceai/anthropic.mdx | 2 +- src/pages/docs/integrations/traceai/autogen.mdx | 2 +- src/pages/docs/integrations/traceai/bedrock.mdx | 2 +- src/pages/docs/integrations/traceai/crewai.mdx | 2 +- src/pages/docs/integrations/traceai/dspy.mdx | 2 +- src/pages/docs/integrations/traceai/google_adk.mdx | 2 +- src/pages/docs/integrations/traceai/google_genai.mdx | 2 +- src/pages/docs/integrations/traceai/groq.mdx | 2 +- src/pages/docs/integrations/traceai/guardrails.mdx | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/integrations/smol-agents.mdx b/src/pages/docs/integrations/smol-agents.mdx index ced59bbc..be510781 100644 --- a/src/pages/docs/integrations/smol-agents.mdx +++ b/src/pages/docs/integrations/smol-agents.mdx @@ -1,5 +1,5 @@ --- -title: Smol Agents +title: "Smol Agents Integration with Future AGI for HF Tracing" description: "Set up Smol Agents with Future AGI tracing. Install traceAI-smolagents for automatic observability of Hugging Face smolagents workflows." --- diff --git a/src/pages/docs/integrations/traceai/anthropic.mdx b/src/pages/docs/integrations/traceai/anthropic.mdx index 14bd1f2b..930b7b48 100644 --- a/src/pages/docs/integrations/traceai/anthropic.mdx +++ b/src/pages/docs/integrations/traceai/anthropic.mdx @@ -1,5 +1,5 @@ --- -title: "Anthropic" +title: "Anthropic Claude Integration with Future AGI Tracing" description: "Integrate Anthropic Claude with Future AGI for auto-instrumented tracing. Install traceAI-anthropic and capture LLM calls with full observability." --- diff --git a/src/pages/docs/integrations/traceai/autogen.mdx b/src/pages/docs/integrations/traceai/autogen.mdx index a528a5e2..5c740e98 100644 --- a/src/pages/docs/integrations/traceai/autogen.mdx +++ b/src/pages/docs/integrations/traceai/autogen.mdx @@ -1,5 +1,5 @@ --- -title: "Autogen" +title: "Autogen Integration with Future AGI for Agent Tracing" description: "Integrate Autogen with Future AGI observability. Set up traceAI-autogen for automatic tracing of multi-agent conversations and workflows." --- diff --git a/src/pages/docs/integrations/traceai/bedrock.mdx b/src/pages/docs/integrations/traceai/bedrock.mdx index 5ac3682c..a06595f8 100644 --- a/src/pages/docs/integrations/traceai/bedrock.mdx +++ b/src/pages/docs/integrations/traceai/bedrock.mdx @@ -1,5 +1,5 @@ --- -title: "Bedrock" +title: "AWS Bedrock Integration with Future AGI for LLM Tracing" description: "Integrate AWS Bedrock with Future AGI for auto-instrumented tracing. Capture model invocations and monitor performance with traceAI-bedrock." --- diff --git a/src/pages/docs/integrations/traceai/crewai.mdx b/src/pages/docs/integrations/traceai/crewai.mdx index 09170c4d..3c157da8 100644 --- a/src/pages/docs/integrations/traceai/crewai.mdx +++ b/src/pages/docs/integrations/traceai/crewai.mdx @@ -1,5 +1,5 @@ --- -title: "Crew AI" +title: "CrewAI Integration with Future AGI for Multi-Agent Tracing" description: "Integrate CrewAI with Future AGI observability. Set up traceAI-crewai to trace multi-agent crew task execution and tool usage automatically." --- diff --git a/src/pages/docs/integrations/traceai/dspy.mdx b/src/pages/docs/integrations/traceai/dspy.mdx index 6af7ad92..9503eb5b 100644 --- a/src/pages/docs/integrations/traceai/dspy.mdx +++ b/src/pages/docs/integrations/traceai/dspy.mdx @@ -1,5 +1,5 @@ --- -title: "DSPy" +title: "DSPy Integration with Future AGI for Pipeline Tracing" description: "Integrate DSPy with Future AGI observability. Set up traceAI-DSPy to automatically trace DSPy program compilation and inference pipelines." --- diff --git a/src/pages/docs/integrations/traceai/google_adk.mdx b/src/pages/docs/integrations/traceai/google_adk.mdx index 05ab7a4c..4a034005 100644 --- a/src/pages/docs/integrations/traceai/google_adk.mdx +++ b/src/pages/docs/integrations/traceai/google_adk.mdx @@ -1,5 +1,5 @@ --- -title: "Google ADK" +title: "Google ADK Integration with Future AGI Agent Tracing" description: "Integrate Google ADK with Future AGI for auto-instrumented tracing. Monitor Google AI agent calls and tool usage with traceAI-google-adk." --- diff --git a/src/pages/docs/integrations/traceai/google_genai.mdx b/src/pages/docs/integrations/traceai/google_genai.mdx index fdb65508..ad1d62a8 100644 --- a/src/pages/docs/integrations/traceai/google_genai.mdx +++ b/src/pages/docs/integrations/traceai/google_genai.mdx @@ -1,5 +1,5 @@ --- -title: "Google GenAI" +title: "Google GenAI Integration with Future AGI for Gemini Tracing" description: "Integrate Google GenAI with Future AGI observability. Set up traceAI-google-genai to capture model calls and monitor performance automatically." --- diff --git a/src/pages/docs/integrations/traceai/groq.mdx b/src/pages/docs/integrations/traceai/groq.mdx index 87be4aee..ac644061 100644 --- a/src/pages/docs/integrations/traceai/groq.mdx +++ b/src/pages/docs/integrations/traceai/groq.mdx @@ -1,5 +1,5 @@ --- -title: "Groq" +title: "Groq Integration with Future AGI for High-Speed LLM Tracing" description: "Integrate Groq with Future AGI observability. Set up traceAI-groq to automatically trace high-speed inference calls and monitor LLM performance." --- diff --git a/src/pages/docs/integrations/traceai/guardrails.mdx b/src/pages/docs/integrations/traceai/guardrails.mdx index 57e71aa1..1c0d4fde 100644 --- a/src/pages/docs/integrations/traceai/guardrails.mdx +++ b/src/pages/docs/integrations/traceai/guardrails.mdx @@ -1,5 +1,5 @@ --- -title: "Guardrails" +title: "Guardrails AI Integration with Future AGI Tracing" description: "Integrate Guardrails AI with Future AGI observability. Trace guardrail validations and LLM interactions automatically using traceAI-guardrails." --- From 010c220ca817d3c63b36c0051c76b5a6a9cd59e7 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:33:57 +0530 Subject: [PATCH 28/51] SEO: optimize integrations/traceai batch 24 (haystack, instructor, java/anthropic, java/bedrock, java/cohere, java/frameworks, java-index, java/llm-providers, java/openai, java/pinecone) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/integrations/traceai/haystack.mdx | 2 +- src/pages/docs/integrations/traceai/instructor.mdx | 2 +- src/pages/docs/integrations/traceai/java/anthropic.mdx | 4 ++-- src/pages/docs/integrations/traceai/java/bedrock.mdx | 2 +- src/pages/docs/integrations/traceai/java/cohere.mdx | 4 ++-- src/pages/docs/integrations/traceai/java/frameworks.mdx | 2 +- src/pages/docs/integrations/traceai/java/index.mdx | 2 +- src/pages/docs/integrations/traceai/java/llm-providers.mdx | 4 ++-- src/pages/docs/integrations/traceai/java/openai.mdx | 4 ++-- src/pages/docs/integrations/traceai/java/pinecone.mdx | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/docs/integrations/traceai/haystack.mdx b/src/pages/docs/integrations/traceai/haystack.mdx index 239d13d4..ca4f5eba 100644 --- a/src/pages/docs/integrations/traceai/haystack.mdx +++ b/src/pages/docs/integrations/traceai/haystack.mdx @@ -1,5 +1,5 @@ --- -title: "Haystack" +title: "Haystack Integration with Future AGI for Pipeline Tracing" description: "Integrate Haystack with Future AGI observability. Set up traceAI-haystack to trace document processing pipelines and LLM calls automatically." --- diff --git a/src/pages/docs/integrations/traceai/instructor.mdx b/src/pages/docs/integrations/traceai/instructor.mdx index 4b71cc35..7d77873b 100644 --- a/src/pages/docs/integrations/traceai/instructor.mdx +++ b/src/pages/docs/integrations/traceai/instructor.mdx @@ -1,5 +1,5 @@ --- -title: "Instructor" +title: "Instructor Integration with Future AGI for Structured LLM" description: "Integrate Instructor with Future AGI observability. Trace structured LLM output extraction and validation automatically using traceAI-instructor." --- diff --git a/src/pages/docs/integrations/traceai/java/anthropic.mdx b/src/pages/docs/integrations/traceai/java/anthropic.mdx index 2d270694..1012f785 100644 --- a/src/pages/docs/integrations/traceai/java/anthropic.mdx +++ b/src/pages/docs/integrations/traceai/java/anthropic.mdx @@ -1,6 +1,6 @@ --- -title: "Anthropic (Java)" -description: "Trace Anthropic Messages API calls in Java with TracedAnthropicClient. Uses reflection for cross-version compatibility." +title: "Anthropic Java Integration with Future AGI Tracing" +description: "Trace Anthropic Messages API calls in Java with TracedAnthropicClient. Uses reflection for cross-version compatibility and automatic span capture." --- diff --git a/src/pages/docs/integrations/traceai/java/bedrock.mdx b/src/pages/docs/integrations/traceai/java/bedrock.mdx index 742a5b63..a7bbb147 100644 --- a/src/pages/docs/integrations/traceai/java/bedrock.mdx +++ b/src/pages/docs/integrations/traceai/java/bedrock.mdx @@ -1,5 +1,5 @@ --- -title: "AWS Bedrock (Java)" +title: "AWS Bedrock Java Integration with Future AGI Tracing" description: "Trace AWS Bedrock model invocations in Java with TracedBedrockRuntimeClient. Supports both InvokeModel (raw JSON) and Converse (typed API)." --- diff --git a/src/pages/docs/integrations/traceai/java/cohere.mdx b/src/pages/docs/integrations/traceai/java/cohere.mdx index 126eec55..05cf379f 100644 --- a/src/pages/docs/integrations/traceai/java/cohere.mdx +++ b/src/pages/docs/integrations/traceai/java/cohere.mdx @@ -1,6 +1,6 @@ --- -title: "Cohere (Java)" -description: "Trace Cohere chat, embedding, and reranking operations in Java with TracedCohereClient." +title: "Cohere Java Integration with Future AGI Tracing" +description: "Trace Cohere chat, embedding, and reranking operations in Java with TracedCohereClient for automatic LLM observability in Future AGI." --- diff --git a/src/pages/docs/integrations/traceai/java/frameworks.mdx b/src/pages/docs/integrations/traceai/java/frameworks.mdx index ee5542b3..3ce01fcd 100644 --- a/src/pages/docs/integrations/traceai/java/frameworks.mdx +++ b/src/pages/docs/integrations/traceai/java/frameworks.mdx @@ -1,5 +1,5 @@ --- -title: "Frameworks (Java)" +title: "LangChain4j and Semantic Kernel Java Tracing in Future AGI" description: "Trace LangChain4j and Semantic Kernel operations in Java. Framework-level wrappers that instrument chains, agents, and prompt invocations." --- diff --git a/src/pages/docs/integrations/traceai/java/index.mdx b/src/pages/docs/integrations/traceai/java/index.mdx index 534034cc..3c4ee858 100644 --- a/src/pages/docs/integrations/traceai/java/index.mdx +++ b/src/pages/docs/integrations/traceai/java/index.mdx @@ -1,5 +1,5 @@ --- -title: "Java SDK" +title: "TraceAI Java SDK Setup for Future AGI Observability" description: "Set up TraceAI for Java applications. Initialize the tracer, configure credentials, and instrument your LLM clients, vector databases, and frameworks." --- diff --git a/src/pages/docs/integrations/traceai/java/llm-providers.mdx b/src/pages/docs/integrations/traceai/java/llm-providers.mdx index 23fd9173..de42ed46 100644 --- a/src/pages/docs/integrations/traceai/java/llm-providers.mdx +++ b/src/pages/docs/integrations/traceai/java/llm-providers.mdx @@ -1,6 +1,6 @@ --- -title: "LLM Providers (Java)" -description: "Trace Google GenAI, Vertex AI, Azure OpenAI, Ollama, and Watsonx in Java. All use the same Traced wrapper pattern." +title: "LLM Provider Java Integrations with Future AGI Tracing" +description: "Trace Google GenAI, Vertex AI, Azure OpenAI, Ollama, and Watsonx in Java using Future AGI's Traced wrapper pattern for auto-instrumentation." --- diff --git a/src/pages/docs/integrations/traceai/java/openai.mdx b/src/pages/docs/integrations/traceai/java/openai.mdx index 45e379d6..265e789e 100644 --- a/src/pages/docs/integrations/traceai/java/openai.mdx +++ b/src/pages/docs/integrations/traceai/java/openai.mdx @@ -1,6 +1,6 @@ --- -title: "OpenAI (Java)" -description: "Trace OpenAI chat completions, embeddings, and streaming responses in Java with TracedOpenAIClient." +title: "OpenAI Java Integration with Future AGI Tracing" +description: "Trace OpenAI chat completions, embeddings, and streaming responses in Java with TracedOpenAIClient for automatic LLM observability in Future AGI." --- diff --git a/src/pages/docs/integrations/traceai/java/pinecone.mdx b/src/pages/docs/integrations/traceai/java/pinecone.mdx index 211f41ac..f17fad88 100644 --- a/src/pages/docs/integrations/traceai/java/pinecone.mdx +++ b/src/pages/docs/integrations/traceai/java/pinecone.mdx @@ -1,5 +1,5 @@ --- -title: "Pinecone (Java)" +title: "Pinecone Java Integration with Future AGI for Vector Tracing" description: "Trace Pinecone vector operations in Java with TracedPineconeIndex. Query, upsert, delete, and fetch with full span instrumentation." --- From e8feeb4d1c4e2726878bd81b8baeb08d2d8cdfb6 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:36:47 +0530 Subject: [PATCH 29/51] SEO: optimize integrations/traceai batch 25 (java/vector-databases, langchain, langgraph, litellm, livekit, llamaindex-workflows, llamaindex, mastra, mcp, mistralai) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/integrations/traceai/java/vector-databases.mdx | 2 +- src/pages/docs/integrations/traceai/langchain.mdx | 2 +- src/pages/docs/integrations/traceai/langgraph.mdx | 2 +- src/pages/docs/integrations/traceai/litellm.mdx | 2 +- src/pages/docs/integrations/traceai/livekit.mdx | 3 ++- src/pages/docs/integrations/traceai/llamaindex-workflows.mdx | 2 +- src/pages/docs/integrations/traceai/llamaindex.mdx | 2 +- src/pages/docs/integrations/traceai/mastra.mdx | 2 +- src/pages/docs/integrations/traceai/mcp.mdx | 2 +- src/pages/docs/integrations/traceai/mistralai.mdx | 2 +- 10 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/integrations/traceai/java/vector-databases.mdx b/src/pages/docs/integrations/traceai/java/vector-databases.mdx index 5f00f6ac..206248c6 100644 --- a/src/pages/docs/integrations/traceai/java/vector-databases.mdx +++ b/src/pages/docs/integrations/traceai/java/vector-databases.mdx @@ -1,5 +1,5 @@ --- -title: "Vector Databases (Java)" +title: "Java Vector Database Integrations with Future AGI Tracing" description: "Trace vector database operations in Java. Qdrant, Milvus, ChromaDB, Weaviate, MongoDB, Redis, pgvector, Azure AI Search, and Elasticsearch." --- diff --git a/src/pages/docs/integrations/traceai/langchain.mdx b/src/pages/docs/integrations/traceai/langchain.mdx index 2e050dbd..357497d8 100644 --- a/src/pages/docs/integrations/traceai/langchain.mdx +++ b/src/pages/docs/integrations/traceai/langchain.mdx @@ -1,5 +1,5 @@ --- -title: "LangChain" +title: "LangChain Integration with Future AGI for Chain Tracing" description: "Integrate LangChain with Future AGI for auto-instrumented tracing. Capture chain executions, tool calls, and LLM interactions with traceAI-langchain." --- diff --git a/src/pages/docs/integrations/traceai/langgraph.mdx b/src/pages/docs/integrations/traceai/langgraph.mdx index 9f3806e2..78d5dc6e 100644 --- a/src/pages/docs/integrations/traceai/langgraph.mdx +++ b/src/pages/docs/integrations/traceai/langgraph.mdx @@ -1,5 +1,5 @@ --- -title: "LangGraph" +title: "LangGraph Integration with Future AGI for Agent Tracing" description: "Integrate LangGraph with Future AGI observability. Trace agent graph execution, tool usage, and state transitions using the LangChain instrumentor." --- diff --git a/src/pages/docs/integrations/traceai/litellm.mdx b/src/pages/docs/integrations/traceai/litellm.mdx index 81c67819..685274d0 100644 --- a/src/pages/docs/integrations/traceai/litellm.mdx +++ b/src/pages/docs/integrations/traceai/litellm.mdx @@ -1,5 +1,5 @@ --- -title: "LiteLLM" +title: "LiteLLM Integration with Future AGI for Multi-LLM Tracing" description: "Integrate LiteLLM with Future AGI observability. Set up traceAI-litellm to trace calls across multiple LLM providers through a unified interface." --- diff --git a/src/pages/docs/integrations/traceai/livekit.mdx b/src/pages/docs/integrations/traceai/livekit.mdx index 7d4e1cdc..a0ca25e6 100644 --- a/src/pages/docs/integrations/traceai/livekit.mdx +++ b/src/pages/docs/integrations/traceai/livekit.mdx @@ -1,5 +1,6 @@ --- -title: "LiveKit" +title: "LiveKit Integration with Future AGI for Voice Agent Tracing" +description: "Integrate LiveKit with Future AGI observability using traceai-livekit. Trace voice agent sessions, audio pipelines, and tool calls automatically." --- ## 1. Installation diff --git a/src/pages/docs/integrations/traceai/llamaindex-workflows.mdx b/src/pages/docs/integrations/traceai/llamaindex-workflows.mdx index 16a77f0c..ae99e67b 100644 --- a/src/pages/docs/integrations/traceai/llamaindex-workflows.mdx +++ b/src/pages/docs/integrations/traceai/llamaindex-workflows.mdx @@ -1,5 +1,5 @@ --- -title: "Llama Index Workflows" +title: "LlamaIndex Workflows Integration with Future AGI Tracing" description: "Integrate LlamaIndex Workflows with Future AGI. Trace workflow-based agent execution and data processing using the LlamaIndex instrumentor." --- diff --git a/src/pages/docs/integrations/traceai/llamaindex.mdx b/src/pages/docs/integrations/traceai/llamaindex.mdx index c826b5e2..a7f73606 100644 --- a/src/pages/docs/integrations/traceai/llamaindex.mdx +++ b/src/pages/docs/integrations/traceai/llamaindex.mdx @@ -1,5 +1,5 @@ --- -title: "Llama Index" +title: "LlamaIndex Integration with Future AGI for RAG Tracing" description: "Integrate LlamaIndex with Future AGI observability. Set up traceAI-llamaindex to trace queries, retrieval, and response generation automatically." --- diff --git a/src/pages/docs/integrations/traceai/mastra.mdx b/src/pages/docs/integrations/traceai/mastra.mdx index aaaca100..68a4cd85 100644 --- a/src/pages/docs/integrations/traceai/mastra.mdx +++ b/src/pages/docs/integrations/traceai/mastra.mdx @@ -1,5 +1,5 @@ --- -title: "Mastra" +title: "Mastra Integration with Future AGI TypeScript Agent Tracing" description: "Integrate Mastra with Future AGI for TypeScript agent observability. Configure trace export using the @traceai/mastra package for LLM monitoring." --- diff --git a/src/pages/docs/integrations/traceai/mcp.mdx b/src/pages/docs/integrations/traceai/mcp.mdx index 81ab6837..4e1fdfa7 100644 --- a/src/pages/docs/integrations/traceai/mcp.mdx +++ b/src/pages/docs/integrations/traceai/mcp.mdx @@ -1,5 +1,5 @@ --- -title: "Model Context Protocol (MCP)" +title: "Model Context Protocol Integration with Future AGI Tracing" description: "Integrate Model Context Protocol (MCP) with Future AGI. Trace MCP server interactions and tool calls with traceAI-mcp auto-instrumentation." --- diff --git a/src/pages/docs/integrations/traceai/mistralai.mdx b/src/pages/docs/integrations/traceai/mistralai.mdx index 0f0932ba..a102daa9 100644 --- a/src/pages/docs/integrations/traceai/mistralai.mdx +++ b/src/pages/docs/integrations/traceai/mistralai.mdx @@ -1,5 +1,5 @@ --- -title: "Mistral AI" +title: "Mistral AI Integration with Future AGI for LLM Tracing" description: "Integrate Mistral AI with Future AGI observability. Set up traceAI-mistralai to capture model calls and monitor inference performance automatically." --- From 12acca3092176627dd4c76320e82c9626b747c0a Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 19:38:11 +0530 Subject: [PATCH 30/51] SEO: optimize integrations/traceai batch 26 (n8n, ollama, openai, openai_agents, pipecat, portkey, promptflow, smol_agents, spring-boot, togetherai) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/integrations/traceai/n8n.mdx | 4 ++-- src/pages/docs/integrations/traceai/ollama.mdx | 2 +- src/pages/docs/integrations/traceai/openai.mdx | 2 +- src/pages/docs/integrations/traceai/openai_agents.mdx | 2 +- src/pages/docs/integrations/traceai/pipecat.mdx | 2 +- src/pages/docs/integrations/traceai/portkey.mdx | 2 +- src/pages/docs/integrations/traceai/promptflow.mdx | 2 +- src/pages/docs/integrations/traceai/smol_agents.mdx | 2 +- src/pages/docs/integrations/traceai/spring-boot.mdx | 2 +- src/pages/docs/integrations/traceai/togetherai.mdx | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/docs/integrations/traceai/n8n.mdx b/src/pages/docs/integrations/traceai/n8n.mdx index 8a185a71..261f8510 100644 --- a/src/pages/docs/integrations/traceai/n8n.mdx +++ b/src/pages/docs/integrations/traceai/n8n.mdx @@ -1,6 +1,6 @@ --- -title: "n8n" -description: "With this integration, you can dynamically retrieve prompts from your Future AGI account, select specific versions, and compile prompts with variables - all within the familiar n8n interface." +title: "n8n Integration with Future AGI for Prompt Management" +description: "Dynamically retrieve prompts from your Future AGI account in n8n, select specific versions, and compile prompts with variables in the n8n interface." --- diff --git a/src/pages/docs/simulation/features/observe-to-simulate.mdx b/src/pages/docs/simulation/features/observe-to-simulate.mdx index c65bf100..48147c44 100644 --- a/src/pages/docs/simulation/features/observe-to-simulate.mdx +++ b/src/pages/docs/simulation/features/observe-to-simulate.mdx @@ -1,6 +1,6 @@ --- -title: "Replay" -description: "Replay real production sessions in a dev environment using chat simulation to debug, iterate, and improve your agent." +title: "Observe to Simulate: Replay Production Chat Sessions" +description: "Replay real production sessions in a dev environment using chat simulation to debug, iterate, and improve your agent. Works with Observe data." --- ## About diff --git a/src/pages/docs/simulation/features/prompt-simulation.mdx b/src/pages/docs/simulation/features/prompt-simulation.mdx index 62b8bb18..6a617ba0 100644 --- a/src/pages/docs/simulation/features/prompt-simulation.mdx +++ b/src/pages/docs/simulation/features/prompt-simulation.mdx @@ -1,6 +1,6 @@ --- -title: "Prompt Simulation" -description: "Test your prompts in realistic multi-turn conversations directly from the Prompt Workbench — no agent deployment or SDK required." +title: "Prompt Simulation: Test Prompts in Multi-Turn Conversations" +description: "Test your prompts in realistic multi-turn conversations directly from the Prompt Workbench, with no agent deployment or SDK required." --- ## About diff --git a/src/pages/docs/simulation/features/run-simulation.mdx b/src/pages/docs/simulation/features/run-simulation.mdx index e104d57b..66ce4f4a 100644 --- a/src/pages/docs/simulation/features/run-simulation.mdx +++ b/src/pages/docs/simulation/features/run-simulation.mdx @@ -1,6 +1,6 @@ --- -title: "Run Voice Simulation" -description: "Create and run voice simulation tests from the platform to test your agent against scenarios." +title: "Run Voice Simulation: Test Agents Against Scenarios" +description: "Create and run voice simulation tests from the Future AGI platform to evaluate your agent against predefined scenarios and personas." --- ## About diff --git a/src/pages/docs/simulation/features/simulation-using-sdk.mdx b/src/pages/docs/simulation/features/simulation-using-sdk.mdx index b6181391..354266e5 100644 --- a/src/pages/docs/simulation/features/simulation-using-sdk.mdx +++ b/src/pages/docs/simulation/features/simulation-using-sdk.mdx @@ -1,6 +1,6 @@ --- -title: "Chat Simulation Using SDK" -description: "Run Future AGI chat simulations from Python by providing an agent callback and executing an existing Run Test." +title: "Chat Simulation Using SDK: Run Tests from Python" +description: "Run Future AGI chat simulations from Python by providing an agent callback and executing Run Tests. Automate and scale simulation testing with the SDK." --- ## About diff --git a/src/pages/docs/simulation/features/view-results.mdx b/src/pages/docs/simulation/features/view-results.mdx index 11cda9e6..15b5656d 100644 --- a/src/pages/docs/simulation/features/view-results.mdx +++ b/src/pages/docs/simulation/features/view-results.mdx @@ -1,6 +1,6 @@ --- -title: "View Results" -description: "Read simulation results: transcripts, evaluation scores, performance analytics, and call logs." +title: "View Simulation Results: Transcripts, Scores, and Analytics" +description: "Read simulation results in Future AGI: view conversation transcripts, evaluation scores, performance analytics, and call logs for each agent run." --- ## About diff --git a/src/pages/docs/simulation/features/voice-replay.mdx b/src/pages/docs/simulation/features/voice-replay.mdx index d0195f2e..c3c88c6f 100644 --- a/src/pages/docs/simulation/features/voice-replay.mdx +++ b/src/pages/docs/simulation/features/voice-replay.mdx @@ -1,6 +1,6 @@ --- -title: "Voice Replay" -description: "Replay real production voice calls from Observe in simulation to debug, iterate, and improve your voice agent." +title: "Voice Replay: Debug Voice Agents from Production Calls" +description: "Replay real production voice calls from Future AGI Observe in simulation to debug, iterate, and improve your voice agent based on real usage." --- ## What it is diff --git a/src/pages/docs/simulation/index.mdx b/src/pages/docs/simulation/index.mdx index 1a4ac254..1ff0b441 100644 --- a/src/pages/docs/simulation/index.mdx +++ b/src/pages/docs/simulation/index.mdx @@ -1,6 +1,6 @@ --- -title: "Overview" -description: "Test AI agents and prompts through controlled simulations before deploying to production." +title: "Future AGI Simulation: Test Agents Before Production" +description: "Test AI agents and prompts through controlled simulations before deploying to production. Run voice and chat simulations, score results, and iterate." --- ## About diff --git a/src/pages/docs/tracing/auto/anthropic.mdx b/src/pages/docs/tracing/auto/anthropic.mdx index 0016e473..4dcfa9b2 100644 --- a/src/pages/docs/tracing/auto/anthropic.mdx +++ b/src/pages/docs/tracing/auto/anthropic.mdx @@ -1,5 +1,5 @@ --- -title: "Anthropic" +title: "Anthropic Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Anthropic Claude with Future AGI tracing. Install traceAI-anthropic to capture LLM spans, inputs, and outputs." --- diff --git a/src/pages/docs/tracing/auto/autogen.mdx b/src/pages/docs/tracing/auto/autogen.mdx index 30f7e1f7..4b282b48 100644 --- a/src/pages/docs/tracing/auto/autogen.mdx +++ b/src/pages/docs/tracing/auto/autogen.mdx @@ -1,5 +1,5 @@ --- -title: "Autogen" +title: "Autogen Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Autogen with Future AGI tracing. Install traceAI-autogen to capture multi-agent conversation spans automatically." --- From 95087c589e7f9652cc2b85f3c9880414bba19670 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:06:39 +0530 Subject: [PATCH 42/51] seo: optimize titles and descriptions for batch 38 (tracing auto-instrumentation) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/tracing/auto/bedrock.mdx | 2 +- src/pages/docs/tracing/auto/crewai.mdx | 2 +- src/pages/docs/tracing/auto/dspy.mdx | 2 +- src/pages/docs/tracing/auto/google_adk.mdx | 2 +- src/pages/docs/tracing/auto/google_genai.mdx | 2 +- src/pages/docs/tracing/auto/groq.mdx | 2 +- src/pages/docs/tracing/auto/guardrails.mdx | 2 +- src/pages/docs/tracing/auto/haystack.mdx | 2 +- src/pages/docs/tracing/auto/index.mdx | 4 ++-- src/pages/docs/tracing/auto/instructor.mdx | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/docs/tracing/auto/bedrock.mdx b/src/pages/docs/tracing/auto/bedrock.mdx index 174c14bd..066fae6f 100644 --- a/src/pages/docs/tracing/auto/bedrock.mdx +++ b/src/pages/docs/tracing/auto/bedrock.mdx @@ -1,5 +1,5 @@ --- -title: "Bedrock" +title: "AWS Bedrock Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for AWS Bedrock with Future AGI tracing. Install traceAI-bedrock to capture model invocation spans and metadata." --- diff --git a/src/pages/docs/tracing/auto/crewai.mdx b/src/pages/docs/tracing/auto/crewai.mdx index d49fd81d..fc6114a5 100644 --- a/src/pages/docs/tracing/auto/crewai.mdx +++ b/src/pages/docs/tracing/auto/crewai.mdx @@ -1,5 +1,5 @@ --- -title: "Crew AI" +title: "CrewAI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for CrewAI with Future AGI tracing. Install traceAI-crewai to capture crew task execution and agent interaction spans." --- diff --git a/src/pages/docs/tracing/auto/dspy.mdx b/src/pages/docs/tracing/auto/dspy.mdx index 3e207056..c23075e1 100644 --- a/src/pages/docs/tracing/auto/dspy.mdx +++ b/src/pages/docs/tracing/auto/dspy.mdx @@ -1,5 +1,5 @@ --- -title: "DSPy" +title: "DSPy Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for DSPy with Future AGI tracing. Install traceAI-DSPy to capture program compilation and prediction spans automatically." --- diff --git a/src/pages/docs/tracing/auto/google_adk.mdx b/src/pages/docs/tracing/auto/google_adk.mdx index 1ced5890..cc8889e2 100644 --- a/src/pages/docs/tracing/auto/google_adk.mdx +++ b/src/pages/docs/tracing/auto/google_adk.mdx @@ -1,5 +1,5 @@ --- -title: "Google ADK" +title: "Google ADK Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Google ADK with Future AGI tracing. Install traceai-google-adk to capture agent and tool execution spans." --- diff --git a/src/pages/docs/tracing/auto/google_genai.mdx b/src/pages/docs/tracing/auto/google_genai.mdx index c8853d4c..2e93f967 100644 --- a/src/pages/docs/tracing/auto/google_genai.mdx +++ b/src/pages/docs/tracing/auto/google_genai.mdx @@ -1,5 +1,5 @@ --- -title: "Google GenAI" +title: "Google GenAI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Google GenAI with Future AGI tracing. Install traceAI-google-genai to capture Gemini model interaction spans." --- diff --git a/src/pages/docs/tracing/auto/groq.mdx b/src/pages/docs/tracing/auto/groq.mdx index f009360a..aa8467f4 100644 --- a/src/pages/docs/tracing/auto/groq.mdx +++ b/src/pages/docs/tracing/auto/groq.mdx @@ -1,5 +1,5 @@ --- -title: "Groq" +title: "Groq Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Groq with Future AGI tracing. Install traceAI-groq to capture high-speed inference spans and performance data." --- diff --git a/src/pages/docs/tracing/auto/guardrails.mdx b/src/pages/docs/tracing/auto/guardrails.mdx index 9c3073bd..17eca308 100644 --- a/src/pages/docs/tracing/auto/guardrails.mdx +++ b/src/pages/docs/tracing/auto/guardrails.mdx @@ -1,5 +1,5 @@ --- -title: "Guardrails" +title: "Guardrails AI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Guardrails AI with Future AGI tracing. Install traceAI-guardrails to trace validation and LLM interaction spans." --- diff --git a/src/pages/docs/tracing/auto/haystack.mdx b/src/pages/docs/tracing/auto/haystack.mdx index 059bc9e8..f5b49379 100644 --- a/src/pages/docs/tracing/auto/haystack.mdx +++ b/src/pages/docs/tracing/auto/haystack.mdx @@ -1,5 +1,5 @@ --- -title: "Haystack" +title: "Haystack Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Haystack with Future AGI tracing. Install traceAI-haystack to capture document pipeline and retrieval spans." --- diff --git a/src/pages/docs/tracing/auto/index.mdx b/src/pages/docs/tracing/auto/index.mdx index 1e113a61..9eb6e48e 100644 --- a/src/pages/docs/tracing/auto/index.mdx +++ b/src/pages/docs/tracing/auto/index.mdx @@ -1,6 +1,6 @@ --- -title: "Integrations" -description: "Auto-instrumentation for LLM applications across Python, JavaScript, and Java." +title: "Auto-Instrumentation Integrations: Future AGI Tracing" +description: "Auto-instrumentation integrations for LLM frameworks in Python, JavaScript, and Java. Install a traceAI package to start capturing spans automatically." --- ## About diff --git a/src/pages/docs/tracing/auto/instructor.mdx b/src/pages/docs/tracing/auto/instructor.mdx index 28c98c54..d2be7649 100644 --- a/src/pages/docs/tracing/auto/instructor.mdx +++ b/src/pages/docs/tracing/auto/instructor.mdx @@ -1,5 +1,5 @@ --- -title: "Instructor" +title: "Instructor Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Instructor with Future AGI tracing. Install traceAI-instructor to capture structured output extraction spans." --- From 6d2bced45d1e12b5c32bc6f0551293a039e02129 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:08:46 +0530 Subject: [PATCH 43/51] seo: optimize titles and descriptions for batch 39 (tracing auto java, langchain) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/tracing/auto/java/anthropic.mdx | 4 ++-- src/pages/docs/tracing/auto/java/bedrock.mdx | 2 +- src/pages/docs/tracing/auto/java/cohere.mdx | 4 ++-- src/pages/docs/tracing/auto/java/frameworks.mdx | 2 +- src/pages/docs/tracing/auto/java/index.mdx | 2 +- src/pages/docs/tracing/auto/java/llm-providers.mdx | 4 ++-- src/pages/docs/tracing/auto/java/openai.mdx | 4 ++-- src/pages/docs/tracing/auto/java/pinecone.mdx | 2 +- src/pages/docs/tracing/auto/java/vector-databases.mdx | 2 +- src/pages/docs/tracing/auto/langchain.mdx | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/docs/tracing/auto/java/anthropic.mdx b/src/pages/docs/tracing/auto/java/anthropic.mdx index 2d270694..cfc57002 100644 --- a/src/pages/docs/tracing/auto/java/anthropic.mdx +++ b/src/pages/docs/tracing/auto/java/anthropic.mdx @@ -1,6 +1,6 @@ --- -title: "Anthropic (Java)" -description: "Trace Anthropic Messages API calls in Java with TracedAnthropicClient. Uses reflection for cross-version compatibility." +title: "Anthropic Java Tracing: TracedAnthropicClient Setup" +description: "Trace Anthropic Messages API calls in Java with TracedAnthropicClient. Uses reflection for cross-version compatibility with the Future AGI Java SDK." --- diff --git a/src/pages/docs/tracing/auto/java/bedrock.mdx b/src/pages/docs/tracing/auto/java/bedrock.mdx index 742a5b63..01b81262 100644 --- a/src/pages/docs/tracing/auto/java/bedrock.mdx +++ b/src/pages/docs/tracing/auto/java/bedrock.mdx @@ -1,5 +1,5 @@ --- -title: "AWS Bedrock (Java)" +title: "AWS Bedrock Java Tracing: TracedBedrockRuntimeClient" description: "Trace AWS Bedrock model invocations in Java with TracedBedrockRuntimeClient. Supports both InvokeModel (raw JSON) and Converse (typed API)." --- diff --git a/src/pages/docs/tracing/auto/java/cohere.mdx b/src/pages/docs/tracing/auto/java/cohere.mdx index 126eec55..cfcac7fd 100644 --- a/src/pages/docs/tracing/auto/java/cohere.mdx +++ b/src/pages/docs/tracing/auto/java/cohere.mdx @@ -1,6 +1,6 @@ --- -title: "Cohere (Java)" -description: "Trace Cohere chat, embedding, and reranking operations in Java with TracedCohereClient." +title: "Cohere Java Tracing: TracedCohereClient Setup" +description: "Trace Cohere chat, embedding, and reranking operations in Java with TracedCohereClient. Part of the Future AGI Java SDK for LLM observability." --- diff --git a/src/pages/docs/tracing/auto/java/frameworks.mdx b/src/pages/docs/tracing/auto/java/frameworks.mdx index ee5542b3..61fcca4f 100644 --- a/src/pages/docs/tracing/auto/java/frameworks.mdx +++ b/src/pages/docs/tracing/auto/java/frameworks.mdx @@ -1,5 +1,5 @@ --- -title: "Frameworks (Java)" +title: "Java Framework Tracing: LangChain4j and Semantic Kernel" description: "Trace LangChain4j and Semantic Kernel operations in Java. Framework-level wrappers that instrument chains, agents, and prompt invocations." --- diff --git a/src/pages/docs/tracing/auto/java/index.mdx b/src/pages/docs/tracing/auto/java/index.mdx index 534034cc..7f9e1851 100644 --- a/src/pages/docs/tracing/auto/java/index.mdx +++ b/src/pages/docs/tracing/auto/java/index.mdx @@ -1,5 +1,5 @@ --- -title: "Java SDK" +title: "Java SDK: TraceAI Setup and Instrumentation with Future AGI" description: "Set up TraceAI for Java applications. Initialize the tracer, configure credentials, and instrument your LLM clients, vector databases, and frameworks." --- diff --git a/src/pages/docs/tracing/auto/java/llm-providers.mdx b/src/pages/docs/tracing/auto/java/llm-providers.mdx index 23fd9173..bf032de4 100644 --- a/src/pages/docs/tracing/auto/java/llm-providers.mdx +++ b/src/pages/docs/tracing/auto/java/llm-providers.mdx @@ -1,6 +1,6 @@ --- -title: "LLM Providers (Java)" -description: "Trace Google GenAI, Vertex AI, Azure OpenAI, Ollama, and Watsonx in Java. All use the same Traced wrapper pattern." +title: "Java LLM Provider Tracing: Vertex, Azure, Ollama, Watsonx" +description: "Trace Google GenAI, Vertex AI, Azure OpenAI, Ollama, and Watsonx in Java with Future AGI. All providers use the same TracedClient wrapper pattern." --- diff --git a/src/pages/docs/tracing/auto/java/openai.mdx b/src/pages/docs/tracing/auto/java/openai.mdx index 45e379d6..d4b977d2 100644 --- a/src/pages/docs/tracing/auto/java/openai.mdx +++ b/src/pages/docs/tracing/auto/java/openai.mdx @@ -1,6 +1,6 @@ --- -title: "OpenAI (Java)" -description: "Trace OpenAI chat completions, embeddings, and streaming responses in Java with TracedOpenAIClient." +title: "OpenAI Java Tracing: TracedOpenAIClient Setup" +description: "Trace OpenAI chat completions, embeddings, and streaming responses in Java with TracedOpenAIClient. Part of the Future AGI Java observability SDK." --- diff --git a/src/pages/docs/tracing/auto/java/pinecone.mdx b/src/pages/docs/tracing/auto/java/pinecone.mdx index 211f41ac..4c41d460 100644 --- a/src/pages/docs/tracing/auto/java/pinecone.mdx +++ b/src/pages/docs/tracing/auto/java/pinecone.mdx @@ -1,5 +1,5 @@ --- -title: "Pinecone (Java)" +title: "Pinecone Java Tracing: TracedPineconeIndex Setup" description: "Trace Pinecone vector operations in Java with TracedPineconeIndex. Query, upsert, delete, and fetch with full span instrumentation." --- diff --git a/src/pages/docs/tracing/auto/java/vector-databases.mdx b/src/pages/docs/tracing/auto/java/vector-databases.mdx index 5f00f6ac..660c6ff7 100644 --- a/src/pages/docs/tracing/auto/java/vector-databases.mdx +++ b/src/pages/docs/tracing/auto/java/vector-databases.mdx @@ -1,5 +1,5 @@ --- -title: "Vector Databases (Java)" +title: "Java Vector Database Tracing: Qdrant, Milvus, and More" description: "Trace vector database operations in Java. Qdrant, Milvus, ChromaDB, Weaviate, MongoDB, Redis, pgvector, Azure AI Search, and Elasticsearch." --- diff --git a/src/pages/docs/tracing/auto/langchain.mdx b/src/pages/docs/tracing/auto/langchain.mdx index 56552fd0..df66c4de 100644 --- a/src/pages/docs/tracing/auto/langchain.mdx +++ b/src/pages/docs/tracing/auto/langchain.mdx @@ -1,5 +1,5 @@ --- -title: "LangChain" +title: "LangChain Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for LangChain with Future AGI tracing. Install traceAI-langchain to capture chain, tool, and LLM call spans." --- From f6f398390f3847df831a643e3dec2f4d02346fb9 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:12:16 +0530 Subject: [PATCH 44/51] seo: optimize titles for batch 40 (tracing auto: langgraph, litellm, livekit, llamaindex, etc.) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/tracing/auto/langgraph.mdx | 2 +- src/pages/docs/tracing/auto/litellm.mdx | 2 +- src/pages/docs/tracing/auto/livekit.mdx | 2 +- src/pages/docs/tracing/auto/llamaindex-workflows.mdx | 2 +- src/pages/docs/tracing/auto/llamaindex.mdx | 2 +- src/pages/docs/tracing/auto/mastra.mdx | 2 +- src/pages/docs/tracing/auto/mcp.mdx | 2 +- src/pages/docs/tracing/auto/mistralai.mdx | 2 +- src/pages/docs/tracing/auto/ollama.mdx | 2 +- src/pages/docs/tracing/auto/openai.mdx | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/pages/docs/tracing/auto/langgraph.mdx b/src/pages/docs/tracing/auto/langgraph.mdx index 0263b7e9..e78df745 100644 --- a/src/pages/docs/tracing/auto/langgraph.mdx +++ b/src/pages/docs/tracing/auto/langgraph.mdx @@ -1,5 +1,5 @@ --- -title: "LangGraph" +title: "LangGraph Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for LangGraph with Future AGI tracing. Capture agent graph execution and state transition spans via LangChain instrumentor." --- diff --git a/src/pages/docs/tracing/auto/litellm.mdx b/src/pages/docs/tracing/auto/litellm.mdx index 5c2c17b0..d3d91f66 100644 --- a/src/pages/docs/tracing/auto/litellm.mdx +++ b/src/pages/docs/tracing/auto/litellm.mdx @@ -1,5 +1,5 @@ --- -title: "LiteLLM" +title: "LiteLLM Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for LiteLLM with Future AGI tracing. Install traceAI-litellm to capture spans across multiple LLM provider calls." --- diff --git a/src/pages/docs/tracing/auto/livekit.mdx b/src/pages/docs/tracing/auto/livekit.mdx index 437a4d07..38bc2f66 100644 --- a/src/pages/docs/tracing/auto/livekit.mdx +++ b/src/pages/docs/tracing/auto/livekit.mdx @@ -1,5 +1,5 @@ --- -title: "LiveKit" +title: "LiveKit Tracing with Future AGI: Voice Agent Observability" description: "Integrate LiveKit with Future AGI for voice agent observability. Trace real-time voice interactions and monitor agent performance with traceAI-livekit." --- diff --git a/src/pages/docs/tracing/auto/llamaindex-workflows.mdx b/src/pages/docs/tracing/auto/llamaindex-workflows.mdx index 06b4f1b2..8b29d5a1 100644 --- a/src/pages/docs/tracing/auto/llamaindex-workflows.mdx +++ b/src/pages/docs/tracing/auto/llamaindex-workflows.mdx @@ -1,5 +1,5 @@ --- -title: "Llama Index Workflows" +title: "LlamaIndex Workflows Tracing with Future AGI" description: "Set up auto-instrumentation for LlamaIndex Workflows with Future AGI tracing. Trace workflow agent execution via the LlamaIndex instrumentor." --- diff --git a/src/pages/docs/tracing/auto/llamaindex.mdx b/src/pages/docs/tracing/auto/llamaindex.mdx index 6ef79406..8fd33d9f 100644 --- a/src/pages/docs/tracing/auto/llamaindex.mdx +++ b/src/pages/docs/tracing/auto/llamaindex.mdx @@ -1,5 +1,5 @@ --- -title: "Llama Index" +title: "LlamaIndex Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for LlamaIndex with Future AGI tracing. Install traceAI-llamaindex to capture query, retrieval, and response spans." --- diff --git a/src/pages/docs/tracing/auto/mastra.mdx b/src/pages/docs/tracing/auto/mastra.mdx index 8202a687..5e5f45f3 100644 --- a/src/pages/docs/tracing/auto/mastra.mdx +++ b/src/pages/docs/tracing/auto/mastra.mdx @@ -1,5 +1,5 @@ --- -title: "Mastra" +title: "Mastra Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Mastra with Future AGI tracing. Configure @traceai/mastra to export TypeScript agent spans to Future AGI." --- diff --git a/src/pages/docs/tracing/auto/mcp.mdx b/src/pages/docs/tracing/auto/mcp.mdx index d792036e..4fd76610 100644 --- a/src/pages/docs/tracing/auto/mcp.mdx +++ b/src/pages/docs/tracing/auto/mcp.mdx @@ -1,5 +1,5 @@ --- -title: "Model Context Protocol (MCP)" +title: "MCP Tracing with Future AGI: Model Context Protocol Spans" description: "Set up auto-instrumentation for MCP with Future AGI tracing. Install traceAI-mcp to capture Model Context Protocol server and tool call spans." --- diff --git a/src/pages/docs/tracing/auto/mistralai.mdx b/src/pages/docs/tracing/auto/mistralai.mdx index 73bf6b86..41de68f0 100644 --- a/src/pages/docs/tracing/auto/mistralai.mdx +++ b/src/pages/docs/tracing/auto/mistralai.mdx @@ -1,5 +1,5 @@ --- -title: "Mistral AI" +title: "Mistral AI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Mistral AI with Future AGI tracing. Install traceAI-mistralai to capture model inference spans and metadata." --- diff --git a/src/pages/docs/tracing/auto/ollama.mdx b/src/pages/docs/tracing/auto/ollama.mdx index 88ab6ada..d62219ee 100644 --- a/src/pages/docs/tracing/auto/ollama.mdx +++ b/src/pages/docs/tracing/auto/ollama.mdx @@ -1,5 +1,5 @@ --- -title: "Ollama" +title: "Ollama Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Ollama with Future AGI tracing. Use traceAI-openai to capture spans from Ollama's OpenAI-compatible local LLM API." --- diff --git a/src/pages/docs/tracing/auto/openai.mdx b/src/pages/docs/tracing/auto/openai.mdx index 81f56b2e..f29071fb 100644 --- a/src/pages/docs/tracing/auto/openai.mdx +++ b/src/pages/docs/tracing/auto/openai.mdx @@ -1,5 +1,5 @@ --- -title: "OpenAI" +title: "OpenAI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for OpenAI with Future AGI tracing. Install traceAI-openai to capture chat completion, embedding, and tool call spans." --- From 6e6343d80e75486886f101e44c8a64a65f97ac88 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:14:16 +0530 Subject: [PATCH 45/51] seo: optimize titles and descriptions for batch 41 (tracing auto remaining, tracing concepts) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/tracing/auto/openai_agents.mdx | 2 +- src/pages/docs/tracing/auto/pipecat.mdx | 2 +- src/pages/docs/tracing/auto/portkey.mdx | 2 +- src/pages/docs/tracing/auto/promptflow.mdx | 2 +- src/pages/docs/tracing/auto/smol_agents.mdx | 2 +- src/pages/docs/tracing/auto/spring-boot.mdx | 2 +- src/pages/docs/tracing/auto/togetherai.mdx | 2 +- src/pages/docs/tracing/auto/vercel.mdx | 2 +- src/pages/docs/tracing/auto/vertexai.mdx | 2 +- src/pages/docs/tracing/concepts/index.mdx | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/pages/docs/tracing/auto/openai_agents.mdx b/src/pages/docs/tracing/auto/openai_agents.mdx index 4aefb7f5..307e1250 100644 --- a/src/pages/docs/tracing/auto/openai_agents.mdx +++ b/src/pages/docs/tracing/auto/openai_agents.mdx @@ -1,5 +1,5 @@ --- -title: "OpenAI Agents" +title: "OpenAI Agents SDK Tracing with Future AGI" description: "Set up auto-instrumentation for OpenAI Agents SDK with Future AGI tracing. Install traceAI-openai-agents to capture agent workflow spans." --- diff --git a/src/pages/docs/tracing/auto/pipecat.mdx b/src/pages/docs/tracing/auto/pipecat.mdx index b21c188c..13130a7e 100644 --- a/src/pages/docs/tracing/auto/pipecat.mdx +++ b/src/pages/docs/tracing/auto/pipecat.mdx @@ -1,5 +1,5 @@ --- -title: "Pipecat" +title: "Pipecat Tracing with Future AGI: Voice Pipeline Spans" description: "Set up auto-instrumentation for Pipecat voice apps with Future AGI tracing. Install traceAI-pipecat to capture voice pipeline and processing spans." --- diff --git a/src/pages/docs/tracing/auto/portkey.mdx b/src/pages/docs/tracing/auto/portkey.mdx index 40ac2aaa..8e818d4d 100644 --- a/src/pages/docs/tracing/auto/portkey.mdx +++ b/src/pages/docs/tracing/auto/portkey.mdx @@ -1,5 +1,5 @@ --- -title: "Portkey" +title: "Portkey Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Portkey with Future AGI tracing. Install traceAI-portkey to capture routed LLM call spans and gateway metrics." --- diff --git a/src/pages/docs/tracing/auto/promptflow.mdx b/src/pages/docs/tracing/auto/promptflow.mdx index 3b196729..8e1b2abf 100644 --- a/src/pages/docs/tracing/auto/promptflow.mdx +++ b/src/pages/docs/tracing/auto/promptflow.mdx @@ -1,5 +1,5 @@ --- -title: "Prompt Flow" +title: "Prompt Flow Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Prompt Flow with Future AGI tracing. Use traceAI-openai to capture prompt flow execution and LLM call spans." --- diff --git a/src/pages/docs/tracing/auto/smol_agents.mdx b/src/pages/docs/tracing/auto/smol_agents.mdx index 53f564bb..5ecbe11a 100644 --- a/src/pages/docs/tracing/auto/smol_agents.mdx +++ b/src/pages/docs/tracing/auto/smol_agents.mdx @@ -1,5 +1,5 @@ --- -title: "Smol Agents" +title: "Smol Agents Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Smol Agents with Future AGI tracing. Install traceAI-smolagents to capture lightweight agent execution spans." --- diff --git a/src/pages/docs/tracing/auto/spring-boot.mdx b/src/pages/docs/tracing/auto/spring-boot.mdx index 9e337f4e..9faa9acd 100644 --- a/src/pages/docs/tracing/auto/spring-boot.mdx +++ b/src/pages/docs/tracing/auto/spring-boot.mdx @@ -1,5 +1,5 @@ --- -title: "Spring Boot" +title: "Spring Boot Tracing with Future AGI and Spring AI" description: "Add tracing to Spring Boot apps with Spring AI. Configure application.yml, wrap your ChatModel and EmbeddingModel, and traces are collected automatically." --- diff --git a/src/pages/docs/tracing/auto/togetherai.mdx b/src/pages/docs/tracing/auto/togetherai.mdx index c64fa051..4f4f5c83 100644 --- a/src/pages/docs/tracing/auto/togetherai.mdx +++ b/src/pages/docs/tracing/auto/togetherai.mdx @@ -1,5 +1,5 @@ --- -title: "Together AI" +title: "Together AI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Together AI with Future AGI tracing. Use traceAI-openai to capture inference spans from Together AI models." --- diff --git a/src/pages/docs/tracing/auto/vercel.mdx b/src/pages/docs/tracing/auto/vercel.mdx index 5d2f9605..7ea04eba 100644 --- a/src/pages/docs/tracing/auto/vercel.mdx +++ b/src/pages/docs/tracing/auto/vercel.mdx @@ -1,5 +1,5 @@ --- -title: "Vercel" +title: "Vercel AI SDK Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Vercel AI SDK with Future AGI tracing. Install @traceai/vercel to capture AI function call spans in Next.js apps." --- diff --git a/src/pages/docs/tracing/auto/vertexai.mdx b/src/pages/docs/tracing/auto/vertexai.mdx index 382a4fbf..da812f54 100644 --- a/src/pages/docs/tracing/auto/vertexai.mdx +++ b/src/pages/docs/tracing/auto/vertexai.mdx @@ -1,5 +1,5 @@ --- -title: "Vertex AI (Gemini)" +title: "Vertex AI Tracing with Future AGI: Auto-Instrumentation" description: "Set up auto-instrumentation for Vertex AI with Future AGI tracing. Install traceAI-vertexai to capture Gemini model invocation and response spans." --- diff --git a/src/pages/docs/tracing/concepts/index.mdx b/src/pages/docs/tracing/concepts/index.mdx index c36ed2b1..59d88314 100644 --- a/src/pages/docs/tracing/concepts/index.mdx +++ b/src/pages/docs/tracing/concepts/index.mdx @@ -1,6 +1,6 @@ --- -title: "Understanding Observability" -description: "Core concepts behind LLM observability: what gets captured, how data is structured, and why it matters." +title: "Understanding Observability: LLM Tracing Core Concepts" +description: "Core concepts behind LLM observability in Future AGI: what gets captured, how data is structured, and why monitoring matters for AI applications." --- ## About From f37513f3fcb5f670cee4769dd906b3546a0ee41f Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:15:19 +0530 Subject: [PATCH 46/51] =?UTF-8?q?seo:=20optimize=20titles=20and=20descript?= =?UTF-8?q?ions=20for=20batch=2042=20(tracing=20concepts=20=E2=80=94=20fin?= =?UTF-8?q?al=20batch)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/tracing/concepts/otel.mdx | 2 +- src/pages/docs/tracing/concepts/spans.mdx | 2 +- src/pages/docs/tracing/concepts/traceai.mdx | 2 +- src/pages/docs/tracing/concepts/traces.mdx | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/docs/tracing/concepts/otel.mdx b/src/pages/docs/tracing/concepts/otel.mdx index ad46bbbb..6b136d3f 100644 --- a/src/pages/docs/tracing/concepts/otel.mdx +++ b/src/pages/docs/tracing/concepts/otel.mdx @@ -1,5 +1,5 @@ --- -title: "What is OpenTelemetry?" +title: "What is OpenTelemetry? Future AGI Tracing Explained" description: "Learn how Future AGI uses OpenTelemetry for vendor-neutral, high-performance tracing of AI applications with standardized telemetry collection." --- diff --git a/src/pages/docs/tracing/concepts/spans.mdx b/src/pages/docs/tracing/concepts/spans.mdx index bb75a114..cd7699f6 100644 --- a/src/pages/docs/tracing/concepts/spans.mdx +++ b/src/pages/docs/tracing/concepts/spans.mdx @@ -1,5 +1,5 @@ --- -title: "What are Spans ?" +title: "What are Spans? LLM, Tool, and Chain Span Types" description: "Understand spans in Future AGI tracing. Learn about span types including LLM, tool, chain, retriever, and embedding spans with their attributes." --- diff --git a/src/pages/docs/tracing/concepts/traceai.mdx b/src/pages/docs/tracing/concepts/traceai.mdx index 9a8f3f77..39c2f188 100644 --- a/src/pages/docs/tracing/concepts/traceai.mdx +++ b/src/pages/docs/tracing/concepts/traceai.mdx @@ -1,5 +1,5 @@ --- -title: "What is traceAI?" +title: "What is traceAI? Future AGI Open-Source Tracing SDK" description: "Learn about traceAI, Future AGI's open-source package for standardized AI application tracing built on OpenTelemetry with framework-specific instrumentors." --- diff --git a/src/pages/docs/tracing/concepts/traces.mdx b/src/pages/docs/tracing/concepts/traces.mdx index d90594d9..1df11412 100644 --- a/src/pages/docs/tracing/concepts/traces.mdx +++ b/src/pages/docs/tracing/concepts/traces.mdx @@ -1,6 +1,6 @@ --- -title: "What are Traces ?" -description: "In observability frameworks, a Trace is a comprehensive representation of the execution flow of a request within a system. It is composed of multiple spans, each capturing a specific operation or step in the process. Traces provide a holistic view of how different components interact and contribute to the overall behavior of the system." +title: "What are Traces? Understanding Trace Structure" +description: "A trace in Future AGI represents the full execution flow of an AI request, composed of spans that capture each LLM call, tool use, and retrieval step." --- ## Key Features From 7be3468b9a1f4da3be4c871ec16ee09b71fe1ca9 Mon Sep 17 00:00:00 2001 From: Shibu Date: Wed, 6 May 2026 20:48:19 +0530 Subject: [PATCH 47/51] fix: harden check-deleted-pages script and restore card title size - process.exit(1) on git diff failure so CI surfaces the error instead of silently passing - regex updated to match both single and double quoted redirect entries - card title p element gets explicit text-[1.125rem] to match original h3 size Co-Authored-By: Claude Sonnet 4.6 --- scripts/check-deleted-pages.mjs | 6 +++--- src/components/docs/Card.astro | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/check-deleted-pages.mjs b/scripts/check-deleted-pages.mjs index 897e61c8..5361750d 100644 --- a/scripts/check-deleted-pages.mjs +++ b/scripts/check-deleted-pages.mjs @@ -27,8 +27,8 @@ try { ); deletedFiles = output.trim().split('\n').filter(Boolean); } catch { - console.log('Could not determine deleted files — skipping check.'); - process.exit(0); + console.error('Could not determine deleted files — failing to surface the error.'); + process.exit(1); } } @@ -50,7 +50,7 @@ function fileToPath(file) { // Load redirects map const redirectsRaw = readFileSync('src/lib/redirects.ts', 'utf-8'); -const redirectEntries = [...redirectsRaw.matchAll(/'([^']+)':\s*'([^']+)'/g)]; +const redirectEntries = [...redirectsRaw.matchAll(/["']([^"']+)["']:\s*["']([^"']+)["']/g)]; const redirectMap = new Set(redirectEntries.map(([, from]) => from)); // Check each deleted page diff --git a/src/components/docs/Card.astro b/src/components/docs/Card.astro index 5e1e4e10..4210fdc1 100644 --- a/src/components/docs/Card.astro +++ b/src/components/docs/Card.astro @@ -87,7 +87,7 @@ const Tag = href ? 'a' : 'div'; )}

{title} From c082cff439dd6a57ce457993a77f990f18039ab2 Mon Sep 17 00:00:00 2001 From: Shibu Date: Thu, 7 May 2026 01:24:06 +0530 Subject: [PATCH 48/51] seo: optimize titles and descriptions for remaining 209 pages (admin-settings, agent-playground, annotations, api/*, command-center, cookbook, self-hosting) Co-Authored-By: Claude Sonnet 4.6 --- src/pages/docs/admin-settings.mdx | 4 ++-- src/pages/docs/admin-settings/ai-providers.mdx | 4 ++-- src/pages/docs/admin-settings/api-keys.mdx | 4 ++-- src/pages/docs/admin-settings/billing-pricing.mdx | 4 ++-- src/pages/docs/admin-settings/index.mdx | 4 ++-- src/pages/docs/admin-settings/integrations.mdx | 4 ++-- src/pages/docs/admin-settings/organization-settings.mdx | 4 ++-- src/pages/docs/admin-settings/profile-security.mdx | 4 ++-- src/pages/docs/admin-settings/usage-summary.mdx | 4 ++-- src/pages/docs/admin-settings/user-management.mdx | 4 ++-- src/pages/docs/admin-settings/workspace-management.mdx | 4 ++-- .../concepts/understanding-agent-playground.mdx | 4 ++-- .../docs/agent-playground/concepts/versions-and-execution.mdx | 4 ++-- src/pages/docs/agent-playground/features/build-workflow.mdx | 4 ++-- src/pages/docs/agent-playground/features/create-graph.mdx | 4 ++-- src/pages/docs/agent-playground/features/run-and-monitor.mdx | 4 ++-- src/pages/docs/agent-playground/index.mdx | 4 ++-- src/pages/docs/annotations/concepts/scores.mdx | 4 ++-- src/pages/docs/annotations/features/add-items.mdx | 4 ++-- src/pages/docs/annotations/features/analytics.mdx | 4 ++-- src/pages/docs/annotations/features/annotate.mdx | 4 ++-- src/pages/docs/annotations/features/automation.mdx | 4 ++-- src/pages/docs/annotations/features/export.mdx | 4 ++-- src/pages/docs/annotations/features/inline.mdx | 4 ++-- src/pages/docs/annotations/features/labels.mdx | 4 ++-- src/pages/docs/annotations/features/queues.mdx | 4 ++-- src/pages/docs/annotations/index.mdx | 4 ++-- src/pages/docs/annotations/quickstart.mdx | 4 ++-- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx | 4 ++-- src/pages/docs/annotations/sdk/javascript.mdx | 4 ++-- src/pages/docs/annotations/sdk/python.mdx | 4 ++-- .../docs/api/agent-definitions/createagentdefinition.mdx | 4 ++-- .../docs/api/agent-definitions/deleteagentdefinitions.mdx | 4 ++-- .../docs/api/agent-definitions/fetchassistantfromprovider.mdx | 4 ++-- src/pages/docs/api/agent-definitions/getagentdefinition.mdx | 4 ++-- src/pages/docs/api/agent-definitions/listagentdefinitions.mdx | 4 ++-- src/pages/docs/api/agent-versions/createagentversion.mdx | 4 ++-- src/pages/docs/api/agent-versions/getagentversion.mdx | 4 ++-- .../docs/api/agent-versions/getversioncallexecutions.mdx | 4 ++-- src/pages/docs/api/agent-versions/getversionevalsummary.mdx | 4 ++-- src/pages/docs/api/agent-versions/listagentversions.mdx | 4 ++-- src/pages/docs/api/annotations/bulk/bulk-annotate-spans.mdx | 4 ++-- src/pages/docs/api/annotations/items/add-items.mdx | 4 ++-- src/pages/docs/api/annotations/items/assign-items.mdx | 4 ++-- src/pages/docs/api/annotations/items/bulk-remove-items.mdx | 4 ++-- src/pages/docs/api/annotations/items/complete-item.mdx | 4 ++-- src/pages/docs/api/annotations/items/get-annotate-detail.mdx | 4 ++-- src/pages/docs/api/annotations/items/get-item-annotations.mdx | 4 ++-- src/pages/docs/api/annotations/items/get-next-item.mdx | 4 ++-- src/pages/docs/api/annotations/items/list-items.mdx | 4 ++-- src/pages/docs/api/annotations/items/release-item.mdx | 4 ++-- src/pages/docs/api/annotations/items/skip-item.mdx | 4 ++-- src/pages/docs/api/annotations/items/submit-annotations.mdx | 4 ++-- src/pages/docs/api/annotations/labels/create-label.mdx | 4 ++-- src/pages/docs/api/annotations/labels/delete-label.mdx | 4 ++-- src/pages/docs/api/annotations/labels/get-label.mdx | 4 ++-- src/pages/docs/api/annotations/labels/list-labels.mdx | 4 ++-- src/pages/docs/api/annotations/labels/restore-label.mdx | 4 ++-- src/pages/docs/api/annotations/labels/update-label.mdx | 4 ++-- src/pages/docs/api/annotations/queues/add-label.mdx | 4 ++-- src/pages/docs/api/annotations/queues/create-queue.mdx | 4 ++-- src/pages/docs/api/annotations/queues/delete-queue.mdx | 4 ++-- src/pages/docs/api/annotations/queues/export-to-dataset.mdx | 4 ++-- src/pages/docs/api/annotations/queues/export.mdx | 4 ++-- .../docs/api/annotations/queues/find-queues-for-source.mdx | 4 ++-- src/pages/docs/api/annotations/queues/get-agreement.mdx | 4 ++-- src/pages/docs/api/annotations/queues/get-analytics.mdx | 4 ++-- .../docs/api/annotations/queues/get-or-create-default.mdx | 4 ++-- src/pages/docs/api/annotations/queues/get-progress.mdx | 4 ++-- src/pages/docs/api/annotations/queues/get-queue.mdx | 4 ++-- src/pages/docs/api/annotations/queues/list-queues.mdx | 4 ++-- src/pages/docs/api/annotations/queues/remove-label.mdx | 4 ++-- src/pages/docs/api/annotations/queues/update-queue.mdx | 4 ++-- src/pages/docs/api/annotations/queues/update-status.mdx | 4 ++-- src/pages/docs/api/annotations/scores/bulk-create-scores.mdx | 4 ++-- src/pages/docs/api/annotations/scores/create-score.mdx | 4 ++-- src/pages/docs/api/annotations/scores/delete-score.mdx | 4 ++-- .../docs/api/annotations/scores/get-scores-for-source.mdx | 4 ++-- src/pages/docs/api/annotations/scores/list-scores.mdx | 4 ++-- .../docs/api/call-executions/getcallexecutiondetails.mdx | 4 ++-- src/pages/docs/api/call-executions/getsessioncomparison.mdx | 4 ++-- .../docs/api/custom-eval-configs/check-config-exists.mdx | 4 ++-- .../api/custom-eval-configs/create-custom-eval-config.mdx | 4 ++-- .../api/custom-eval-configs/delete-custom-eval-config.mdx | 4 ++-- .../docs/api/custom-eval-configs/get-custom-eval-config.mdx | 4 ++-- .../docs/api/custom-eval-configs/list-configs-filtered.mdx | 4 ++-- .../api/custom-eval-configs/update-custom-eval-config.mdx | 4 ++-- src/pages/docs/api/dataset-evals/add-dataset-eval.mdx | 4 ++-- .../docs/api/dataset-evals/create-custom-eval-template.mdx | 4 ++-- src/pages/docs/api/dataset-evals/delete-dataset-eval.mdx | 4 ++-- src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx | 4 ++-- src/pages/docs/api/dataset-evals/get-eval-structure.mdx | 4 ++-- src/pages/docs/api/dataset-evals/get-eval-template-names.mdx | 4 ++-- src/pages/docs/api/dataset-evals/list-dataset-evals.mdx | 4 ++-- src/pages/docs/api/dataset-evals/start-evals-process.mdx | 4 ++-- src/pages/docs/api/datasets/add-as-new.mdx | 4 ++-- src/pages/docs/api/datasets/add-empty-rows.mdx | 4 ++-- src/pages/docs/api/datasets/add-rows-from-existing.mdx | 4 ++-- src/pages/docs/api/datasets/add-rows-from-file.mdx | 4 ++-- src/pages/docs/api/datasets/add-rows-from-huggingface.mdx | 4 ++-- src/pages/docs/api/datasets/analytics/annotation-summary.mdx | 4 ++-- src/pages/docs/api/datasets/analytics/eval-stats.mdx | 4 ++-- src/pages/docs/api/datasets/analytics/explanation-summary.mdx | 4 ++-- src/pages/docs/api/datasets/analytics/run-prompt-stats.mdx | 4 ++-- src/pages/docs/api/datasets/clone-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/columns/add-columns.mdx | 4 ++-- .../docs/api/datasets/columns/add-multiple-static-columns.mdx | 4 ++-- src/pages/docs/api/datasets/columns/add-static-column.mdx | 4 ++-- src/pages/docs/api/datasets/columns/delete-column.mdx | 4 ++-- src/pages/docs/api/datasets/columns/get-column-config.mdx | 4 ++-- src/pages/docs/api/datasets/columns/get-column-details.mdx | 4 ++-- src/pages/docs/api/datasets/columns/update-column-name.mdx | 4 ++-- src/pages/docs/api/datasets/columns/update-column-type.mdx | 4 ++-- .../docs/api/datasets/create-dataset-from-huggingface.mdx | 4 ++-- src/pages/docs/api/datasets/create-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/create-empty-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/delete-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/delete-rows.mdx | 4 ++-- src/pages/docs/api/datasets/duplicate-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/duplicate-rows.mdx | 4 ++-- src/pages/docs/api/datasets/list-datasets.mdx | 4 ++-- src/pages/docs/api/datasets/merge-dataset.mdx | 4 ++-- .../docs/api/datasets/run-prompt/add-run-prompt-column.mdx | 4 ++-- .../docs/api/datasets/run-prompt/edit-run-prompt-column.mdx | 4 ++-- src/pages/docs/api/datasets/run-prompt/get-column-values.mdx | 4 ++-- src/pages/docs/api/datasets/run-prompt/get-model-voices.mdx | 4 ++-- .../datasets/run-prompt/retrieve-run-prompt-column-config.mdx | 4 ++-- .../api/datasets/run-prompt/retrieve-run-prompt-options.mdx | 4 ++-- src/pages/docs/api/datasets/run-prompt/tts-voices.mdx | 4 ++-- src/pages/docs/api/datasets/update-cell-value.mdx | 4 ++-- src/pages/docs/api/datasets/update-dataset.mdx | 4 ++-- src/pages/docs/api/datasets/upload-dataset.mdx | 4 ++-- src/pages/docs/api/eval-tasks/bulk-delete-eval-tasks.mdx | 4 ++-- src/pages/docs/api/eval-tasks/create-eval-task.mdx | 4 ++-- src/pages/docs/api/eval-tasks/delete-eval-task.mdx | 4 ++-- src/pages/docs/api/eval-tasks/get-eval-task.mdx | 4 ++-- src/pages/docs/api/eval-tasks/list-eval-tasks-filtered.mdx | 4 ++-- src/pages/docs/api/eval-tasks/pause-eval-task.mdx | 4 ++-- src/pages/docs/api/eval-tasks/unpause-eval-task.mdx | 4 ++-- src/pages/docs/api/eval-tasks/update-eval-task.mdx | 4 ++-- src/pages/docs/api/health/healthcheck.mdx | 4 ++-- src/pages/docs/api/index.mdx | 4 ++-- src/pages/docs/api/personas/createpersona.mdx | 4 ++-- src/pages/docs/api/personas/deletepersona.mdx | 4 ++-- src/pages/docs/api/personas/duplicatepersona.mdx | 4 ++-- src/pages/docs/api/personas/listpersonas.mdx | 4 ++-- src/pages/docs/api/personas/updatepersona.mdx | 4 ++-- src/pages/docs/api/run-tests/addevalconfigs.mdx | 4 ++-- src/pages/docs/api/run-tests/compareevalsummaries.mdx | 4 ++-- src/pages/docs/api/run-tests/createruntest.mdx | 4 ++-- src/pages/docs/api/run-tests/deleteevalconfig.mdx | 4 ++-- src/pages/docs/api/run-tests/deleteruntest.mdx | 4 ++-- src/pages/docs/api/run-tests/deletetestexecutions.mdx | 4 ++-- src/pages/docs/api/run-tests/executeruntest.mdx | 4 ++-- src/pages/docs/api/run-tests/getcallexecutions.mdx | 4 ++-- src/pages/docs/api/run-tests/getevalsummary.mdx | 4 ++-- src/pages/docs/api/run-tests/getruntestdetails.mdx | 4 ++-- src/pages/docs/api/run-tests/gettestexecutions.mdx | 4 ++-- src/pages/docs/api/run-tests/gettestscenarios.mdx | 4 ++-- src/pages/docs/api/run-tests/listruntests.mdx | 4 ++-- src/pages/docs/api/run-tests/reruntestexecutions.mdx | 4 ++-- src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx | 4 ++-- src/pages/docs/api/run-tests/updateevalconfig.mdx | 4 ++-- src/pages/docs/api/run-tests/updatetestcomponents.mdx | 4 ++-- src/pages/docs/api/scenarios/addcolumns.mdx | 4 ++-- src/pages/docs/api/scenarios/addemptyrowstodataset.mdx | 4 ++-- src/pages/docs/api/scenarios/addscenariorowswithai.mdx | 4 ++-- src/pages/docs/api/scenarios/createscenario.mdx | 4 ++-- src/pages/docs/api/scenarios/deletescenario.mdx | 4 ++-- src/pages/docs/api/scenarios/editscenario.mdx | 4 ++-- src/pages/docs/api/scenarios/getscenario.mdx | 4 ++-- src/pages/docs/api/scenarios/listscenarios.mdx | 4 ++-- src/pages/docs/api/simulation-analytics/analytics.mdx | 4 ++-- src/pages/docs/api/simulation-analytics/metrics.mdx | 4 ++-- src/pages/docs/api/simulation-analytics/runs.mdx | 4 ++-- src/pages/docs/api/test-executions/cancelexecution.mdx | 4 ++-- .../docs/api/test-executions/getevalexplanationsummary.mdx | 4 ++-- src/pages/docs/api/test-executions/getkpis.mdx | 4 ++-- src/pages/docs/api/test-executions/getperformancesummary.mdx | 4 ++-- .../docs/api/test-executions/gettestexecutiondetails.mdx | 4 ++-- src/pages/docs/api/test-executions/reruncalls.mdx | 4 ++-- src/pages/docs/command-center/admin/organizations.mdx | 4 ++-- src/pages/docs/command-center/api/assistants.mdx | 4 ++-- src/pages/docs/command-center/api/async-batch.mdx | 4 ++-- src/pages/docs/command-center/api/chat.mdx | 4 ++-- src/pages/docs/command-center/api/embeddings.mdx | 4 ++-- src/pages/docs/command-center/api/endpoints.mdx | 4 ++-- src/pages/docs/command-center/api/files.mdx | 4 ++-- src/pages/docs/command-center/api/headers.mdx | 4 ++-- src/pages/docs/command-center/api/media.mdx | 4 ++-- src/pages/docs/command-center/concepts/api-reference.mdx | 4 ++-- src/pages/docs/command-center/concepts/configuration.mdx | 4 ++-- src/pages/docs/command-center/concepts/core.mdx | 4 ++-- .../docs/command-center/concepts/platform-integration.mdx | 4 ++-- src/pages/docs/command-center/concepts/virtual-keys.mdx | 4 ++-- src/pages/docs/command-center/deployment/self-hosted.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/async-batch-eval.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx | 4 ++-- src/pages/docs/cookbook/quickstart/rag-evaluation.mdx | 4 ++-- .../docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx | 4 ++-- .../docs/cookbook/quickstart/tool-calling-simulation.mdx | 4 ++-- .../docs/cookbook/use-cases/production-quality-monitoring.mdx | 4 ++-- src/pages/docs/self-hosting/configuration.mdx | 4 ++-- src/pages/docs/self-hosting/docker-compose.mdx | 4 ++-- src/pages/docs/self-hosting/environment.mdx | 4 ++-- src/pages/docs/self-hosting/production.mdx | 4 ++-- src/pages/docs/self-hosting/requirements.mdx | 4 ++-- src/pages/docs/self-hosting/troubleshooting.mdx | 4 ++-- src/pages/docs/self-hosting/user-management.mdx | 4 ++-- 209 files changed, 418 insertions(+), 418 deletions(-) diff --git a/src/pages/docs/admin-settings.mdx b/src/pages/docs/admin-settings.mdx index e666bb96..2b5125ab 100644 --- a/src/pages/docs/admin-settings.mdx +++ b/src/pages/docs/admin-settings.mdx @@ -1,6 +1,6 @@ --- -title: "Admin Settings" -description: "Learn how to access and manage your Future AGI API keys and secret keys from the developer dashboard for authentication." +title: "Admin Settings: API Keys Setup" +description: "Access and manage your Future AGI API keys and secret keys from the developer dashboard for SDK and API authentication." --- ## Accessing API Keys diff --git a/src/pages/docs/admin-settings/ai-providers.mdx b/src/pages/docs/admin-settings/ai-providers.mdx index 042ddf9e..e7e0b4f5 100644 --- a/src/pages/docs/admin-settings/ai-providers.mdx +++ b/src/pages/docs/admin-settings/ai-providers.mdx @@ -1,6 +1,6 @@ --- -title: "AI Providers" -description: "Configure LLM providers and custom models for evaluations, optimization, and other platform features." +title: "AI Providers: Connect LLM Services" +description: "Connect OpenAI, Anthropic, AWS Bedrock, Azure OpenAI, and custom model endpoints to Future AGI for evaluations and optimization." --- ## About diff --git a/src/pages/docs/admin-settings/api-keys.mdx b/src/pages/docs/admin-settings/api-keys.mdx index 59222ada..5b56b5e6 100644 --- a/src/pages/docs/admin-settings/api-keys.mdx +++ b/src/pages/docs/admin-settings/api-keys.mdx @@ -1,6 +1,6 @@ --- -title: "API Keys" -description: "Create and manage API keys for authenticating with Future AGI SDKs and APIs." +title: "API Keys: Create & Manage Credentials" +description: "Create, copy, and rotate FI_API_KEY and FI_SECRET_KEY credentials for authenticating with Future AGI Python and TypeScript SDKs." --- ## About diff --git a/src/pages/docs/admin-settings/billing-pricing.mdx b/src/pages/docs/admin-settings/billing-pricing.mdx index a0a6f5c5..3531b802 100644 --- a/src/pages/docs/admin-settings/billing-pricing.mdx +++ b/src/pages/docs/admin-settings/billing-pricing.mdx @@ -1,6 +1,6 @@ --- -title: "Billing & Pricing" -description: "Manage your subscription, add funds, configure auto-reload, and view invoices." +title: "Billing & Pricing: Plans and Wallet" +description: "Manage your Future AGI subscription plan, add wallet funds, configure auto-reload, update billing info, and view invoice history." --- ## About diff --git a/src/pages/docs/admin-settings/index.mdx b/src/pages/docs/admin-settings/index.mdx index 12be2a6e..1830cc90 100644 --- a/src/pages/docs/admin-settings/index.mdx +++ b/src/pages/docs/admin-settings/index.mdx @@ -1,6 +1,6 @@ --- -title: "Admin & Settings" -description: "Manage your account, organization, workspaces, API keys, integrations, billing, and team." +title: "Admin & Settings: Full Reference" +description: "Manage your Future AGI account: profile, organization, team members, workspaces, API keys, AI providers, integrations, usage, and billing." --- ## About diff --git a/src/pages/docs/admin-settings/integrations.mdx b/src/pages/docs/admin-settings/integrations.mdx index 5f71b8fc..e116b2be 100644 --- a/src/pages/docs/admin-settings/integrations.mdx +++ b/src/pages/docs/admin-settings/integrations.mdx @@ -1,6 +1,6 @@ --- -title: "Integrations" -description: "Connect Future AGI to external tools for observability, alerting, analytics, and log archival." +title: "Integrations: Datadog, PostHog & More" +description: "Connect Future AGI to Datadog, PostHog, PagerDuty, Langfuse, S3, and other platforms for observability, alerting, and log archival." --- ## About diff --git a/src/pages/docs/admin-settings/organization-settings.mdx b/src/pages/docs/admin-settings/organization-settings.mdx index 49c39afb..508dba43 100644 --- a/src/pages/docs/admin-settings/organization-settings.mdx +++ b/src/pages/docs/admin-settings/organization-settings.mdx @@ -1,6 +1,6 @@ --- -title: "Organization Settings" -description: "Configure your organization name and security policies." +title: "Organization Settings: Name & 2FA Policy" +description: "Configure your organization's display name and enforce mandatory two-factor authentication for all members in Future AGI." --- ## About diff --git a/src/pages/docs/admin-settings/profile-security.mdx b/src/pages/docs/admin-settings/profile-security.mdx index 5611bc91..1cb742c4 100644 --- a/src/pages/docs/admin-settings/profile-security.mdx +++ b/src/pages/docs/admin-settings/profile-security.mdx @@ -1,6 +1,6 @@ --- -title: "Profile & Security" -description: "Manage your profile information, password, two-factor authentication, and passkeys." +title: "Profile & Security: 2FA and Passkeys" +description: "Update your name, reset your password, enable TOTP two-factor authentication, register passkeys, and manage recovery codes in Future AGI." --- ## About diff --git a/src/pages/docs/admin-settings/usage-summary.mdx b/src/pages/docs/admin-settings/usage-summary.mdx index 17c78e46..d8892889 100644 --- a/src/pages/docs/admin-settings/usage-summary.mdx +++ b/src/pages/docs/admin-settings/usage-summary.mdx @@ -1,6 +1,6 @@ --- -title: "Usage Summary" -description: "Track API calls, token usage, and evaluation runs across your organization and workspaces." +title: "Usage Summary: Tokens & API Metrics" +description: "Monitor API call counts, input/output token usage, and evaluation runs broken down by month and workspace in Future AGI." --- ## About diff --git a/src/pages/docs/admin-settings/user-management.mdx b/src/pages/docs/admin-settings/user-management.mdx index 3c63550d..f2cdcea9 100644 --- a/src/pages/docs/admin-settings/user-management.mdx +++ b/src/pages/docs/admin-settings/user-management.mdx @@ -1,6 +1,6 @@ --- -title: "User Management" -description: "Invite users, assign roles, and manage team members across your organization." +title: "User Management: Invite & Assign Roles" +description: "Invite team members, assign Owner, Admin, Member, or Viewer roles, manage workspace access, and deactivate users in Future AGI." --- ## About diff --git a/src/pages/docs/admin-settings/workspace-management.mdx b/src/pages/docs/admin-settings/workspace-management.mdx index 6d4c18bb..071a5efd 100644 --- a/src/pages/docs/admin-settings/workspace-management.mdx +++ b/src/pages/docs/admin-settings/workspace-management.mdx @@ -1,6 +1,6 @@ --- -title: "Workspace Management" -description: "Create and configure workspaces to organize projects, teams, and resources." +title: "Workspace Management: Projects & Teams" +description: "Create workspaces to isolate environments and teams, manage workspace members, AI providers, integrations, and usage per workspace." --- ## About diff --git a/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx b/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx index baf8156c..5bf045fd 100644 --- a/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx +++ b/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx @@ -1,6 +1,6 @@ --- -title: "Understanding Agent Playground" -description: "Learn the core building blocks of Agent Playground: graphs, nodes, ports, edges, and node templates." +title: "Agent Playground: Core Concepts" +description: "Learn the core building blocks of Agent Playground: graphs, LLM nodes, subgraph nodes, ports, edges, and node templates." --- ## About diff --git a/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx b/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx index 00a0b377..8cfc810f 100644 --- a/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx +++ b/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx @@ -1,6 +1,6 @@ --- -title: "Versions & Execution" -description: "Understand the version lifecycle, execution model, data routing, and batch execution in Agent Playground." +title: "Agent Workflow Versions & Execution" +description: "Understand Agent Playground's draft/non-draft version lifecycle, topological execution model, node states, and data routing between nodes." --- ## About diff --git a/src/pages/docs/agent-playground/features/build-workflow.mdx b/src/pages/docs/agent-playground/features/build-workflow.mdx index e88aeb49..e2aff337 100644 --- a/src/pages/docs/agent-playground/features/build-workflow.mdx +++ b/src/pages/docs/agent-playground/features/build-workflow.mdx @@ -1,6 +1,6 @@ --- -title: "Build a Workflow" -description: "Add nodes, configure them, and connect them into an AI agent pipeline using the visual graph editor." +title: "Build an AI Agent Workflow" +description: "Add LLM Prompt and Agent nodes to the canvas, configure models and parameters, draw edges, and set global variables in Agent Playground." --- ## About diff --git a/src/pages/docs/agent-playground/features/create-graph.mdx b/src/pages/docs/agent-playground/features/create-graph.mdx index b2a3e4bd..0f839633 100644 --- a/src/pages/docs/agent-playground/features/create-graph.mdx +++ b/src/pages/docs/agent-playground/features/create-graph.mdx @@ -1,6 +1,6 @@ --- -title: "Create a Graph" -description: "Create your first agent graph, manage metadata, and work with versions in Agent Playground." +title: "Create an Agent Graph & Manage Versions" +description: "Create a new agent graph in Agent Playground, set metadata, manage draft and saved versions, and roll back to previous workflow snapshots." --- ## About diff --git a/src/pages/docs/agent-playground/features/run-and-monitor.mdx b/src/pages/docs/agent-playground/features/run-and-monitor.mdx index ab6ef0b7..97e0f06f 100644 --- a/src/pages/docs/agent-playground/features/run-and-monitor.mdx +++ b/src/pages/docs/agent-playground/features/run-and-monitor.mdx @@ -1,6 +1,6 @@ --- -title: "Run & Monitor" -description: "Execute agent workflows, view real-time results per node, and inspect execution history." +title: "Run & Monitor Agent Workflows" +description: "Execute AI agent workflows, watch per-node status in real time, inspect input/output data for each step, and browse full execution history." --- ## About diff --git a/src/pages/docs/agent-playground/index.mdx b/src/pages/docs/agent-playground/index.mdx index 6b9b9c71..9b2349f5 100644 --- a/src/pages/docs/agent-playground/index.mdx +++ b/src/pages/docs/agent-playground/index.mdx @@ -1,6 +1,6 @@ --- -title: "Overview" -description: "Build, test, and run multi-step AI workflows visually, no code required. Connect prompts, models, and agents on a drag-and-drop canvas." +title: "Agent Playground: Visual Workflow Builder" +description: "Design and run multi-step AI agent workflows on a drag-and-drop canvas. Chain LLM calls, embed sub-agents, version changes, and trace every execution." --- ## About diff --git a/src/pages/docs/annotations/concepts/scores.mdx b/src/pages/docs/annotations/concepts/scores.mdx index b323a3b6..38abd050 100644 --- a/src/pages/docs/annotations/concepts/scores.mdx +++ b/src/pages/docs/annotations/concepts/scores.mdx @@ -1,6 +1,6 @@ --- -title: "Scores" -description: "Understand the Score model -- the unified annotation primitive that stores labels, values, and metadata across all source types." +title: "Annotation Scores: Unified Data Model" +description: "Understand the Score model — the unified annotation primitive storing label values, annotator, source type, and queue context across all entity types." --- ## About diff --git a/src/pages/docs/annotations/features/add-items.mdx b/src/pages/docs/annotations/features/add-items.mdx index 92a85b0d..a779842e 100644 --- a/src/pages/docs/annotations/features/add-items.mdx +++ b/src/pages/docs/annotations/features/add-items.mdx @@ -1,6 +1,6 @@ --- -title: "Add Items to Queues" -description: "Learn how to add traces, spans, sessions, dataset rows, prototypes, and simulation calls to annotation queues." +title: "Add Items to Annotation Queues" +description: "Add traces, spans, sessions, dataset rows, prototype runs, and simulation calls to annotation queues for structured human review in Future AGI." --- ## About diff --git a/src/pages/docs/annotations/features/analytics.mdx b/src/pages/docs/annotations/features/analytics.mdx index 2cbca0a5..350f29ec 100644 --- a/src/pages/docs/annotations/features/analytics.mdx +++ b/src/pages/docs/annotations/features/analytics.mdx @@ -1,6 +1,6 @@ --- -title: "Analytics & Agreement" -description: "Track annotation progress, annotator performance, label distribution, and inter-annotator agreement metrics." +title: "Annotation Analytics & IAA Metrics" +description: "Track queue progress, annotator throughput, label distribution, and inter-annotator agreement using Cohen's and Fleiss' Kappa metrics." --- ## About diff --git a/src/pages/docs/annotations/features/annotate.mdx b/src/pages/docs/annotations/features/annotate.mdx index 3ac956d0..0922f2dd 100644 --- a/src/pages/docs/annotations/features/annotate.mdx +++ b/src/pages/docs/annotations/features/annotate.mdx @@ -1,6 +1,6 @@ --- -title: "Annotate Items" -description: "Complete guide to the annotation workspace -- label inputs, keyboard shortcuts, navigation, instructions, and completion workflow." +title: "Annotate Items in the Workspace" +description: "Use the annotation workspace to label traces, sessions, and datasets with categorical, numeric, star, and thumbs inputs plus keyboard shortcuts." --- ## About diff --git a/src/pages/docs/annotations/features/automation.mdx b/src/pages/docs/annotations/features/automation.mdx index 7da07526..dfe8c83d 100644 --- a/src/pages/docs/annotations/features/automation.mdx +++ b/src/pages/docs/annotations/features/automation.mdx @@ -1,6 +1,6 @@ --- -title: "Automation Rules" -description: "Set up rules to automatically add items to queues or pre-fill annotations based on conditions." +title: "Annotation Automation Rules" +description: "Create condition-based rules to automatically add matching traces, spans, or sessions to annotation queues without manual curation." --- ## About diff --git a/src/pages/docs/annotations/features/export.mdx b/src/pages/docs/annotations/features/export.mdx index 85811655..373276d0 100644 --- a/src/pages/docs/annotations/features/export.mdx +++ b/src/pages/docs/annotations/features/export.mdx @@ -1,6 +1,6 @@ --- -title: "Export Annotations" -description: "Export completed annotations as datasets (JSON/CSV) for fine-tuning, evaluation, or analysis." +title: "Export Annotations to Dataset or File" +description: "Export completed annotation queue results to a Future AGI dataset or download as JSON/CSV for fine-tuning, evaluation, and offline analysis." --- ## About diff --git a/src/pages/docs/annotations/features/inline.mdx b/src/pages/docs/annotations/features/inline.mdx index e970afc5..a64920ec 100644 --- a/src/pages/docs/annotations/features/inline.mdx +++ b/src/pages/docs/annotations/features/inline.mdx @@ -1,6 +1,6 @@ --- -title: "Inline Annotations" -description: "Annotate traces, spans, sessions, and prototypes directly from their detail views without using queues." +title: "Inline Annotations: Ad-Hoc Feedback" +description: "Score traces, sessions, dataset rows, and prototype runs directly from their detail views without setting up an annotation queue." --- ## About diff --git a/src/pages/docs/annotations/features/labels.mdx b/src/pages/docs/annotations/features/labels.mdx index 9fc1931d..fe710e97 100644 --- a/src/pages/docs/annotations/features/labels.mdx +++ b/src/pages/docs/annotations/features/labels.mdx @@ -1,6 +1,6 @@ --- -title: "Labels" -description: "Create, configure, and manage annotation labels. Understand the five label types and when to use each." +title: "Annotation Labels: 5 Types Explained" +description: "Create and configure annotation labels: categorical, numeric, text, star rating, and thumbs up/down. Reusable across all queues in your organization." --- ## About diff --git a/src/pages/docs/annotations/features/queues.mdx b/src/pages/docs/annotations/features/queues.mdx index 3d865d4d..3bd1c067 100644 --- a/src/pages/docs/annotations/features/queues.mdx +++ b/src/pages/docs/annotations/features/queues.mdx @@ -1,6 +1,6 @@ --- -title: "Queues" -description: "Create and manage annotation queues: assignment strategies, multi-annotator support, review workflows, and queue lifecycle." +title: "Annotation Queues: Setup & Management" +description: "Create annotation queues with round-robin or load-balanced assignment, multi-annotator support, reservation timeouts, and review workflows." --- ## About diff --git a/src/pages/docs/annotations/index.mdx b/src/pages/docs/annotations/index.mdx index 73763559..77a17818 100644 --- a/src/pages/docs/annotations/index.mdx +++ b/src/pages/docs/annotations/index.mdx @@ -1,6 +1,6 @@ --- -title: "Annotations" -description: "Add human feedback to your AI outputs with annotation labels, queues, and scores across traces, datasets, prototypes, and simulations." +title: "Annotations: Human-in-the-Loop Feedback" +description: "Capture human feedback on AI outputs using labels, queues, and scores across traces, spans, sessions, datasets, prototypes, and simulations." --- ## About diff --git a/src/pages/docs/annotations/quickstart.mdx b/src/pages/docs/annotations/quickstart.mdx index f6090188..fcdfe958 100644 --- a/src/pages/docs/annotations/quickstart.mdx +++ b/src/pages/docs/annotations/quickstart.mdx @@ -1,6 +1,6 @@ --- -title: "Quickstart" -description: "Get started with annotations in 5 minutes -- create a label, set up a queue, add items, and start annotating." +title: "Annotations Quickstart: Label & Queue" +description: "Create an annotation label, set up a queue, add traces, and annotate your first item in 5 minutes with this Future AGI walkthrough." --- ## What you will do diff --git a/src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx b/src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx index b246381c..5b84537b 100644 --- a/src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx +++ b/src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx @@ -1,6 +1,6 @@ --- -title: "Annotation Queue Using SDK" -description: "Create and manage annotation queues programmatically using the Future AGI Python SDK." +title: "Annotation Queues via Python SDK" +description: "Create queues, manage labels, add items, submit annotations, track progress, and export results programmatically with the Future AGI Python SDK." --- Annotation queues let you organize traces, sessions, datasets, and simulation outputs for structured human review. Using the SDK, you can: diff --git a/src/pages/docs/annotations/sdk/javascript.mdx b/src/pages/docs/annotations/sdk/javascript.mdx index 649a9f96..61e2bc16 100644 --- a/src/pages/docs/annotations/sdk/javascript.mdx +++ b/src/pages/docs/annotations/sdk/javascript.mdx @@ -1,6 +1,6 @@ --- -title: "JavaScript SDK" -description: "Annotate traces and manage annotation queues programmatically using the FutureAGI JavaScript/TypeScript SDK." +title: "Annotations JavaScript & TypeScript SDK" +description: "Log annotations, manage queues, submit scores, and export results using the FutureAGI JavaScript/TypeScript SDK's Annotation and AnnotationQueue classes." --- # JavaScript SDK diff --git a/src/pages/docs/annotations/sdk/python.mdx b/src/pages/docs/annotations/sdk/python.mdx index c7f8c2a8..37745faa 100644 --- a/src/pages/docs/annotations/sdk/python.mdx +++ b/src/pages/docs/annotations/sdk/python.mdx @@ -1,6 +1,6 @@ --- -title: "Python SDK" -description: "Annotate traces and manage annotation queues programmatically using the FutureAGI Python SDK." +title: "Annotations Python SDK: Log & Manage" +description: "Log annotations via DataFrame, retrieve labels, list projects, and submit human feedback to traces using the FutureAGI Python SDK." --- # Python SDK diff --git a/src/pages/docs/api/agent-definitions/createagentdefinition.mdx b/src/pages/docs/api/agent-definitions/createagentdefinition.mdx index 7bc06347..92127c83 100644 --- a/src/pages/docs/api/agent-definitions/createagentdefinition.mdx +++ b/src/pages/docs/api/agent-definitions/createagentdefinition.mdx @@ -1,6 +1,6 @@ --- -title: "Create Agent Definition" -description: "Creates a new agent definition along with its first version." +title: "Create Agent Definition — API" +description: "Create a new agent definition and its initial version. Accepts agent type, name, provider, API key, and system prompt. Returns the created agent object." ---

diff --git a/src/pages/docs/self-hosting/configuration.mdx b/src/pages/docs/self-hosting/configuration.mdx index db2f7215..fade7a33 100644 --- a/src/pages/docs/self-hosting/configuration.mdx +++ b/src/pages/docs/self-hosting/configuration.mdx @@ -1,6 +1,6 @@ --- -title: "System Configuration" -description: "Complete the configuration for the LLM gateway, PeerDB CDC mirrors, and Temporal workers." +title: "Self-Hosting System Configuration" +description: "Configure the LLM gateway config.yaml with provider API keys, set up PeerDB Postgres-to-ClickHouse CDC mirrors, and tune Temporal worker concurrency." --- ## About diff --git a/src/pages/docs/self-hosting/docker-compose.mdx b/src/pages/docs/self-hosting/docker-compose.mdx index a4098a84..1ce057d7 100644 --- a/src/pages/docs/self-hosting/docker-compose.mdx +++ b/src/pages/docs/self-hosting/docker-compose.mdx @@ -1,6 +1,6 @@ --- -title: "Docker Compose" -description: "Clone, configure, and run the full Future AGI stack. Covers all three deployment modes." +title: "Self-Hosting with Docker Compose" +description: "Deploy the full Future AGI stack with Docker Compose — all 21 services, dev overlay with hot reload, and frontend-only mode pointing at a remote backend." --- ## About diff --git a/src/pages/docs/self-hosting/environment.mdx b/src/pages/docs/self-hosting/environment.mdx index 0c63ef95..0967ef80 100644 --- a/src/pages/docs/self-hosting/environment.mdx +++ b/src/pages/docs/self-hosting/environment.mdx @@ -1,6 +1,6 @@ --- -title: "Environment Variables" -description: "Full .env reference — secrets, ports, runtime flags, LLM keys, and frontend config." +title: "Self-Hosting Environment Variables" +description: "Full .env reference for self-hosted Future AGI — secrets, database credentials, runtime flags, LLM provider keys, email, and frontend build-time configuration." --- ## About diff --git a/src/pages/docs/self-hosting/production.mdx b/src/pages/docs/self-hosting/production.mdx index bfb2180b..c5fbb682 100644 --- a/src/pages/docs/self-hosting/production.mdx +++ b/src/pages/docs/self-hosting/production.mdx @@ -1,6 +1,6 @@ --- -title: "Production" -description: "Hardening checklist, backups, monitoring, and upgrade runbook." +title: "Production Hardening & Operations" +description: "Production readiness checklist — replace secrets, configure TLS, set up managed data stores, run Postgres/ClickHouse/MinIO backups, and follow the upgrade runbook." --- ## About diff --git a/src/pages/docs/self-hosting/requirements.mdx b/src/pages/docs/self-hosting/requirements.mdx index a096bbf7..4e0ce3be 100644 --- a/src/pages/docs/self-hosting/requirements.mdx +++ b/src/pages/docs/self-hosting/requirements.mdx @@ -1,6 +1,6 @@ --- -title: "Requirements" -description: "Hardware sizing, platform compatibility, OS support, and network requirements." +title: "Self-Hosting Requirements" +description: "Hardware sizing tiers, supported platforms, OS compatibility, and network port requirements before deploying Future AGI with Docker Compose." --- ## About diff --git a/src/pages/docs/self-hosting/troubleshooting.mdx b/src/pages/docs/self-hosting/troubleshooting.mdx index 184f2f97..a94a29a7 100644 --- a/src/pages/docs/self-hosting/troubleshooting.mdx +++ b/src/pages/docs/self-hosting/troubleshooting.mdx @@ -1,6 +1,6 @@ --- -title: "Troubleshooting" -description: "Debugging guide and solutions for every known error." +title: "Self-Hosting Troubleshooting" +description: "Debug self-hosted Future AGI — symptoms, causes, and fixes for startup failures, network issues, PeerDB CDC errors, Temporal worker problems, and post-upgrade breaks." --- ## About diff --git a/src/pages/docs/self-hosting/user-management.mdx b/src/pages/docs/self-hosting/user-management.mdx index 1bb87d2d..a5008ddb 100644 --- a/src/pages/docs/self-hosting/user-management.mdx +++ b/src/pages/docs/self-hosting/user-management.mdx @@ -1,6 +1,6 @@ --- -title: "User Management" -description: "Create accounts, configure email delivery, and manage users via the Django admin shell." +title: "Self-Hosting User Management" +description: "Create user accounts, reset passwords, and manage roles in self-hosted Future AGI — via Mailgun email flow or directly through the Django admin shell." --- ## About From 5f1e5297d8c9c40d79f7d503d3a6ec75ee70c9f6 Mon Sep 17 00:00:00 2001 From: Shibu Date: Thu, 7 May 2026 17:41:20 +0530 Subject: [PATCH 49/51] revert: restore ## Next Steps and ## Related as proper h2 headings Reverts the 171-file change from bae9308 that converted these sections to
. Restoring them as ## headings per team decision. Co-Authored-By: Claude Sonnet 4.6 --- aeo-audit-report.md | 1322 +++++++++++++++++ claude-project-setup/SETUP-README.md | 180 +++ claude-project-setup/existing-seo-audit.md | 283 ++++ claude-project-setup/feature-glossary.md | 132 ++ claude-project-setup/platform-conventions.md | 384 +++++ claude-project-setup/project-instructions.md | 278 ++++ claude-project-setup/style-examples.md | 407 +++++ claude-project-setup/top-pages-template.md | 338 +++++ claude-project-setup/url-inventory.md | 730 +++++++++ packages/chat-widget/index.js | 1 + packages/chat-widget/package.json | 9 + packages/chat-widget/styles.css | 1 + scripts/aeo-audit.cjs | 364 +++++ scripts/seo-audit.cjs | 151 ++ seo-audit-report.md | 206 +++ .../docs/admin-settings/ai-providers.mdx | 2 +- src/pages/docs/admin-settings/api-keys.mdx | 2 +- .../docs/admin-settings/billing-pricing.mdx | 2 +- .../docs/admin-settings/integrations.mdx | 2 +- .../admin-settings/organization-settings.mdx | 2 +- .../docs/admin-settings/profile-security.mdx | 2 +- .../docs/admin-settings/usage-summary.mdx | 2 +- .../docs/admin-settings/user-management.mdx | 2 +- .../admin-settings/workspace-management.mdx | 2 +- .../understanding-agent-playground.mdx | 2 +- .../concepts/versions-and-execution.mdx | 2 +- .../features/build-workflow.mdx | 2 +- .../features/create-graph.mdx | 2 +- .../features/run-and-monitor.mdx | 2 +- .../docs/annotations/concepts/scores.mdx | 2 +- .../docs/annotations/features/labels.mdx | 2 +- .../docs/annotations/features/queues.mdx | 2 +- src/pages/docs/annotations/quickstart.mdx | 2 +- .../command-center/admin/organizations.mdx | 2 +- .../docs/command-center/api/assistants.mdx | 2 +- .../docs/command-center/api/async-batch.mdx | 2 +- src/pages/docs/command-center/api/chat.mdx | 2 +- .../docs/command-center/api/embeddings.mdx | 2 +- .../docs/command-center/api/endpoints.mdx | 2 +- src/pages/docs/command-center/api/files.mdx | 2 +- src/pages/docs/command-center/api/headers.mdx | 2 +- src/pages/docs/command-center/api/media.mdx | 2 +- .../command-center/concepts/api-reference.mdx | 2 +- .../command-center/concepts/configuration.mdx | 2 +- .../docs/command-center/concepts/core.mdx | 2 +- .../concepts/platform-integration.mdx | 2 +- .../command-center/concepts/virtual-keys.mdx | 2 +- .../command-center/deployment/self-hosted.mdx | 2 +- .../docs/command-center/features/caching.mdx | 2 +- .../command-center/features/cost-tracking.mdx | 2 +- .../features/custom-properties.mdx | 2 +- .../command-center/features/guardrails.mdx | 2 +- .../docs/command-center/features/mcp-a2a.mdx | 2 +- .../command-center/features/observability.mdx | 2 +- .../command-center/features/providers.mdx | 2 +- .../command-center/features/rate-limiting.mdx | 2 +- .../docs/command-center/features/routing.mdx | 2 +- .../features/self-hosted-models.mdx | 2 +- .../features/shadow-experiments.mdx | 2 +- .../command-center/features/streaming.mdx | 2 +- .../docs/command-center/features/webhooks.mdx | 2 +- .../docs/command-center/guides/errors.mdx | 2 +- .../command-center/guides/troubleshooting.mdx | 2 +- src/pages/docs/command-center/quickstart.mdx | 2 +- .../cookbook/chat-simulation-fix-agent.mdx | 2 +- .../docs/cookbook/crewai-research-team.mdx | 2 +- .../error-feed/google-adk-multi-agent.mdx | 2 +- src/pages/docs/cookbook/observability.mdx | 2 +- .../quickstart/distributed-tracing.mdx | 2 +- .../docs/dataset/concept/dynamic-column.mdx | 2 +- .../docs/dataset/concept/static-column.mdx | 2 +- .../docs/dataset/concept/synthetic-data.mdx | 2 +- .../dataset/concept/understanding-dataset.mdx | 2 +- .../docs/dataset/features/add-columns.mdx | 2 +- src/pages/docs/dataset/features/add-rows.mdx | 2 +- src/pages/docs/dataset/features/annotate.mdx | 2 +- src/pages/docs/dataset/features/create.mdx | 2 +- .../docs/dataset/features/experiments.mdx | 2 +- .../docs/dataset/features/run-prompt.mdx | 2 +- src/pages/docs/dataset/index.mdx | 2 +- .../docs/error-feed/concepts/scoring.mdx | 2 +- .../concepts/severity-and-status.mdx | 2 +- .../docs/error-feed/concepts/taxonomy.mdx | 2 +- .../error-feed/features/deep-analysis.mdx | 2 +- .../error-feed/features/issue-overview.mdx | 2 +- .../features/linear-integration.mdx | 2 +- .../error-feed/features/metadata-panel.mdx | 2 +- .../docs/error-feed/features/sampling.mdx | 2 +- .../docs/error-feed/features/state-graph.mdx | 2 +- .../docs/error-feed/features/the-feed.mdx | 2 +- src/pages/docs/error-feed/features/traces.mdx | 2 +- src/pages/docs/error-feed/features/trends.mdx | 2 +- .../error-feed/features/triage-workflow.mdx | 2 +- src/pages/docs/evaluation/features/cicd.mdx | 2 +- .../evaluation/features/custom-models.mdx | 2 +- src/pages/docs/evaluation/features/custom.mdx | 2 +- .../docs/evaluation/features/evaluate.mdx | 2 +- .../evaluation/features/futureagi-models.mdx | 2 +- src/pages/docs/falcon-ai/features/chat.mdx | 2 +- .../falcon-ai/features/mcp-connectors.mdx | 2 +- src/pages/docs/falcon-ai/features/skills.mdx | 2 +- src/pages/docs/falcon-ai/index.mdx | 2 +- .../docs/knowledge-base/concepts/concept.mdx | 2 +- .../docs/knowledge-base/features/sdk.mdx | 2 +- src/pages/docs/knowledge-base/features/ui.mdx | 2 +- src/pages/docs/knowledge-base/index.mdx | 2 +- src/pages/docs/observe/features/alerts.mdx | 2 +- src/pages/docs/observe/features/dashboard.mdx | 2 +- src/pages/docs/observe/features/evals.mdx | 2 +- .../add-attributes-metadata-tags.mdx | 2 +- .../add-events-exceptions-status.mdx | 2 +- .../advanced-tracing-examples.mdx | 2 +- .../manual-tracing/annotating-using-api.mdx | 2 +- .../manual-tracing/create-tool-spans.mdx | 2 +- .../get-current-span-context.mdx | 2 +- .../features/manual-tracing/in-line-evals.mdx | 2 +- .../instrument-with-traceai-helpers.mdx | 2 +- .../manual-tracing/langfuse-integration.mdx | 2 +- .../manual-tracing/log-prompt-templates.mdx | 2 +- .../manual-tracing/mask-span-attributes.mdx | 2 +- .../manual-tracing/semantic-conventions.mdx | 2 +- .../manual-tracing/set-session-user-id.mdx | 2 +- .../manual-tracing/set-up-tracing.mdx | 2 +- .../docs/observe/features/quickstart.mdx | 2 +- src/pages/docs/observe/features/session.mdx | 2 +- src/pages/docs/observe/features/users.mdx | 2 +- src/pages/docs/observe/features/voice.mdx | 2 +- .../docs/optimization/concepts/concept.mdx | 2 +- .../optimization/features/using-platform.mdx | 2 +- .../features/using-python-sdk.mdx | 2 +- .../prompt/concepts/understanding-prompts.mdx | 2 +- .../prompt/features/create-from-scratch.mdx | 2 +- .../prompt/features/create-from-template.mdx | 2 +- .../docs/prompt/features/create-with-ai.mdx | 2 +- src/pages/docs/prompt/features/folders.mdx | 2 +- .../docs/prompt/features/linked-traces.mdx | 2 +- src/pages/docs/prompt/features/sdk.mdx | 2 +- .../docs/protect/features/run-protect.mdx | 2 +- .../docs/prototype/features/choose-winner.mdx | 2 +- src/pages/docs/prototype/features/evals.mdx | 2 +- .../prototype/features/set-up-prototype.mdx | 2 +- src/pages/docs/quickstart/annotations.mdx | 2 +- .../quickstart/command-center-gateway.mdx | 2 +- .../quickstart/generate-synthetic-data.mdx | 2 +- src/pages/docs/quickstart/prompts.mdx | 2 +- .../running-evals-in-simulation.mdx | 2 +- .../docs/quickstart/setup-mcp-server.mdx | 2 +- .../docs/quickstart/setup-observability.mdx | 2 +- src/pages/docs/sdk/datasets.mdx | 2 +- src/pages/docs/sdk/evals/autoeval.mdx | 2 +- src/pages/docs/sdk/evals/cloud-evals.mdx | 2 +- src/pages/docs/sdk/evals/code-security.mdx | 2 +- src/pages/docs/sdk/evals/distributed.mdx | 2 +- src/pages/docs/sdk/evals/evaluate.mdx | 2 +- src/pages/docs/sdk/evals/feedback.mdx | 2 +- .../docs/sdk/evals/guardrails-module.mdx | 2 +- src/pages/docs/sdk/evals/llm-judge.mdx | 2 +- src/pages/docs/sdk/evals/local.mdx | 2 +- src/pages/docs/sdk/evals/metrics/agents.mdx | 2 +- .../docs/sdk/evals/metrics/guardrails.mdx | 2 +- .../docs/sdk/evals/metrics/hallucination.mdx | 2 +- src/pages/docs/sdk/evals/metrics/index.mdx | 2 +- src/pages/docs/sdk/evals/metrics/json.mdx | 2 +- src/pages/docs/sdk/evals/metrics/rag.mdx | 2 +- src/pages/docs/sdk/evals/metrics/string.mdx | 2 +- src/pages/docs/sdk/evals/otel.mdx | 2 +- src/pages/docs/sdk/evals/streaming.mdx | 2 +- src/pages/docs/sdk/index.mdx | 2 +- src/pages/docs/sdk/knowledgebase.mdx | 2 +- src/pages/docs/sdk/optimization.mdx | 2 +- src/pages/docs/sdk/protect.mdx | 2 +- src/pages/docs/sdk/simulate.mdx | 2 +- src/pages/docs/sdk/tracing.mdx | 2 +- src/pages/docs/self-hosting.mdx | 2 +- .../simulation/concepts/agent-definition.mdx | 2 +- .../docs/simulation/concepts/global-nodes.mdx | 2 +- .../docs/simulation/concepts/personas.mdx | 2 +- .../docs/simulation/concepts/scenarios.mdx | 2 +- .../features/evaluate-tool-calling.mdx | 2 +- .../docs/simulation/features/fix-my-agent.mdx | 2 +- .../features/observe-to-simulate.mdx | 2 +- .../simulation/features/prompt-simulation.mdx | 2 +- .../simulation/features/run-simulation.mdx | 2 +- .../features/simulation-using-sdk.mdx | 2 +- .../docs/simulation/features/view-results.mdx | 2 +- src/pages/docs/tracing/concepts/index.mdx | 2 +- 186 files changed, 4957 insertions(+), 171 deletions(-) create mode 100644 aeo-audit-report.md create mode 100644 claude-project-setup/SETUP-README.md create mode 100644 claude-project-setup/existing-seo-audit.md create mode 100644 claude-project-setup/feature-glossary.md create mode 100644 claude-project-setup/platform-conventions.md create mode 100644 claude-project-setup/project-instructions.md create mode 100644 claude-project-setup/style-examples.md create mode 100644 claude-project-setup/top-pages-template.md create mode 100644 claude-project-setup/url-inventory.md create mode 100644 packages/chat-widget/index.js create mode 100644 packages/chat-widget/package.json create mode 100644 packages/chat-widget/styles.css create mode 100644 scripts/aeo-audit.cjs create mode 100644 scripts/seo-audit.cjs create mode 100644 seo-audit-report.md diff --git a/aeo-audit-report.md b/aeo-audit-report.md new file mode 100644 index 00000000..eb001ed6 --- /dev/null +++ b/aeo-audit-report.md @@ -0,0 +1,1322 @@ +# AEO / GEO / SEO Audit Report + +**Site:** docs.futureagi.com | **Files scanned:** 612 | **Date:** 2026-05-06 + +--- + +## Summary Table + +| Check | Affected | % | +|---|---|---| +| Missing description | 0 | 0% | +| Duplicate title | 4 | 1% | +| No `## About` first heading | 434 | 71% | +| Title too short (<15) | 0 | 0% | +| Title too long (>60) | 1 | 0% | +| Generic/bare title | 0 | 0% | +| Description too short (<120) | 16 | 3% | +| Description too long (>155) | 47 | 8% | +| Description bad start phrase | 1 | 0% | +| Vague single-word headings | 20 | 3% | +| Heading hierarchy skip/H3-no-H2 | 127 | 21% | +| No TLDR block (AEO opportunity) | 525 | 86% | +| First para is code/list | 107 | 17% | +| Has question-style headings ✅ | 274 | 45% | +| Has Accordion/FAQ block ✅ | 18 | 3% | + +--- + +## 🔴 Critical Issues + +### 1. Missing `description` — 0 (0%) + +_None._ + +### 2. Duplicate Titles — 2 groups + +**"Google GenAI Integration with Future AGI for Gemini Tracing"** (2 files) + - src/pages/docs/integrations/google-genai.mdx + - src/pages/docs/integrations/traceai/google_genai.mdx + +**"OpenAI Agents SDK Integration with Future AGI Tracing"** (2 files) + - src/pages/docs/integrations/openai-agents.mdx + - src/pages/docs/integrations/traceai/openai_agents.mdx + +### 3. No `## About` First Heading — 434 (71%) + +**No headings at all** (148 files — typically API reference pages): +- src/pages/docs/api/agent-definitions/createagentdefinition.mdx +- src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx +- src/pages/docs/api/agent-definitions/fetchassistantfromprovider.mdx +- src/pages/docs/api/agent-definitions/getagentdefinition.mdx +- src/pages/docs/api/agent-definitions/listagentdefinitions.mdx +- src/pages/docs/api/agent-versions/createagentversion.mdx +- src/pages/docs/api/agent-versions/getagentversion.mdx +- src/pages/docs/api/agent-versions/getversioncallexecutions.mdx +- src/pages/docs/api/agent-versions/getversionevalsummary.mdx +- src/pages/docs/api/agent-versions/listagentversions.mdx +- src/pages/docs/api/annotations/bulk/bulk-annotate-spans.mdx +- src/pages/docs/api/annotations/items/add-items.mdx +- src/pages/docs/api/annotations/items/assign-items.mdx +- src/pages/docs/api/annotations/items/bulk-remove-items.mdx +- src/pages/docs/api/annotations/items/complete-item.mdx +- src/pages/docs/api/annotations/items/get-annotate-detail.mdx +- src/pages/docs/api/annotations/items/get-item-annotations.mdx +- src/pages/docs/api/annotations/items/get-next-item.mdx +- src/pages/docs/api/annotations/items/list-items.mdx +- src/pages/docs/api/annotations/items/release-item.mdx +- src/pages/docs/api/annotations/items/skip-item.mdx +- src/pages/docs/api/annotations/items/submit-annotations.mdx +- src/pages/docs/api/annotations/labels/create-label.mdx +- src/pages/docs/api/annotations/labels/delete-label.mdx +- src/pages/docs/api/annotations/labels/get-label.mdx +- src/pages/docs/api/annotations/labels/list-labels.mdx +- src/pages/docs/api/annotations/labels/restore-label.mdx +- src/pages/docs/api/annotations/labels/update-label.mdx +- src/pages/docs/api/annotations/queues/add-label.mdx +- src/pages/docs/api/annotations/queues/create-queue.mdx +- src/pages/docs/api/annotations/queues/delete-queue.mdx +- src/pages/docs/api/annotations/queues/export-to-dataset.mdx +- src/pages/docs/api/annotations/queues/export.mdx +- src/pages/docs/api/annotations/queues/find-queues-for-source.mdx +- src/pages/docs/api/annotations/queues/get-agreement.mdx +- src/pages/docs/api/annotations/queues/get-analytics.mdx +- src/pages/docs/api/annotations/queues/get-or-create-default.mdx +- src/pages/docs/api/annotations/queues/get-progress.mdx +- src/pages/docs/api/annotations/queues/get-queue.mdx +- src/pages/docs/api/annotations/queues/list-queues.mdx +- src/pages/docs/api/annotations/queues/remove-label.mdx +- src/pages/docs/api/annotations/queues/update-queue.mdx +- src/pages/docs/api/annotations/queues/update-status.mdx +- src/pages/docs/api/annotations/scores/bulk-create-scores.mdx +- src/pages/docs/api/annotations/scores/create-score.mdx +- src/pages/docs/api/annotations/scores/delete-score.mdx +- src/pages/docs/api/annotations/scores/get-scores-for-source.mdx +- src/pages/docs/api/annotations/scores/list-scores.mdx +- src/pages/docs/api/call-executions/getcallexecutiondetails.mdx +- src/pages/docs/api/call-executions/getsessioncomparison.mdx +- src/pages/docs/api/custom-eval-configs/check-config-exists.mdx +- src/pages/docs/api/custom-eval-configs/create-custom-eval-config.mdx +- src/pages/docs/api/custom-eval-configs/delete-custom-eval-config.mdx +- src/pages/docs/api/custom-eval-configs/get-custom-eval-config.mdx +- src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx +- src/pages/docs/api/custom-eval-configs/update-custom-eval-config.mdx +- src/pages/docs/api/dataset-evals/add-dataset-eval.mdx +- src/pages/docs/api/dataset-evals/create-custom-eval-template.mdx +- src/pages/docs/api/dataset-evals/delete-dataset-eval.mdx +- src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx +- src/pages/docs/api/dataset-evals/get-eval-structure.mdx +- src/pages/docs/api/dataset-evals/get-eval-template-names.mdx +- src/pages/docs/api/dataset-evals/list-dataset-evals.mdx +- src/pages/docs/api/dataset-evals/start-evals-process.mdx +- src/pages/docs/api/datasets/add-as-new.mdx +- src/pages/docs/api/datasets/add-empty-rows.mdx +- src/pages/docs/api/datasets/add-rows-from-existing.mdx +- src/pages/docs/api/datasets/add-rows-from-file.mdx +- src/pages/docs/api/datasets/add-rows-from-huggingface.mdx +- src/pages/docs/api/datasets/analytics/annotation-summary.mdx +- src/pages/docs/api/datasets/analytics/eval-stats.mdx +- src/pages/docs/api/datasets/analytics/explanation-summary.mdx +- src/pages/docs/api/datasets/analytics/run-prompt-stats.mdx +- src/pages/docs/api/datasets/clone-dataset.mdx +- src/pages/docs/api/datasets/columns/add-columns.mdx +- src/pages/docs/api/datasets/columns/add-multiple-static-columns.mdx +- src/pages/docs/api/datasets/columns/add-static-column.mdx +- src/pages/docs/api/datasets/columns/delete-column.mdx +- src/pages/docs/api/datasets/columns/get-column-config.mdx +- src/pages/docs/api/datasets/columns/get-column-details.mdx +- src/pages/docs/api/datasets/columns/update-column-name.mdx +- src/pages/docs/api/datasets/columns/update-column-type.mdx +- src/pages/docs/api/datasets/create-dataset-from-huggingface.mdx +- src/pages/docs/api/datasets/create-dataset.mdx +- src/pages/docs/api/datasets/create-empty-dataset.mdx +- src/pages/docs/api/datasets/delete-dataset.mdx +- src/pages/docs/api/datasets/delete-rows.mdx +- src/pages/docs/api/datasets/duplicate-dataset.mdx +- src/pages/docs/api/datasets/duplicate-rows.mdx +- src/pages/docs/api/datasets/list-datasets.mdx +- src/pages/docs/api/datasets/merge-dataset.mdx +- src/pages/docs/api/datasets/run-prompt/add-run-prompt-column.mdx +- src/pages/docs/api/datasets/run-prompt/edit-run-prompt-column.mdx +- src/pages/docs/api/datasets/run-prompt/get-column-values.mdx +- src/pages/docs/api/datasets/run-prompt/get-model-voices.mdx +- src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-column-config.mdx +- src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx +- src/pages/docs/api/datasets/run-prompt/tts-voices.mdx +- src/pages/docs/api/datasets/update-cell-value.mdx +- src/pages/docs/api/datasets/update-dataset.mdx +- src/pages/docs/api/eval-tasks/bulk-delete-eval-tasks.mdx +- src/pages/docs/api/eval-tasks/create-eval-task.mdx +- src/pages/docs/api/eval-tasks/delete-eval-task.mdx +- src/pages/docs/api/eval-tasks/get-eval-task.mdx +- src/pages/docs/api/eval-tasks/list-eval-tasks-filtered.mdx +- src/pages/docs/api/eval-tasks/pause-eval-task.mdx +- src/pages/docs/api/eval-tasks/unpause-eval-task.mdx +- src/pages/docs/api/eval-tasks/update-eval-task.mdx +- src/pages/docs/api/health/healthcheck.mdx +- src/pages/docs/api/personas/createpersona.mdx +- src/pages/docs/api/personas/deletepersona.mdx +- src/pages/docs/api/personas/duplicatepersona.mdx +- src/pages/docs/api/personas/listpersonas.mdx +- src/pages/docs/api/personas/updatepersona.mdx +- src/pages/docs/api/run-tests/addevalconfigs.mdx +- src/pages/docs/api/run-tests/compareevalsummaries.mdx +- src/pages/docs/api/run-tests/createruntest.mdx +- src/pages/docs/api/run-tests/deleteevalconfig.mdx +- src/pages/docs/api/run-tests/deleteruntest.mdx +- src/pages/docs/api/run-tests/deletetestexecutions.mdx +- src/pages/docs/api/run-tests/executeruntest.mdx +- src/pages/docs/api/run-tests/getcallexecutions.mdx +- src/pages/docs/api/run-tests/getevalsummary.mdx +- src/pages/docs/api/run-tests/getruntestdetails.mdx +- src/pages/docs/api/run-tests/gettestexecutions.mdx +- src/pages/docs/api/run-tests/gettestscenarios.mdx +- src/pages/docs/api/run-tests/listruntests.mdx +- src/pages/docs/api/run-tests/reruntestexecutions.mdx +- src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx +- src/pages/docs/api/run-tests/updateevalconfig.mdx +- src/pages/docs/api/run-tests/updatetestcomponents.mdx +- src/pages/docs/api/scenarios/addcolumns.mdx +- src/pages/docs/api/scenarios/addemptyrowstodataset.mdx +- src/pages/docs/api/scenarios/addscenariorowswithai.mdx +- src/pages/docs/api/scenarios/createscenario.mdx +- src/pages/docs/api/scenarios/deletescenario.mdx +- src/pages/docs/api/scenarios/editscenario.mdx +- src/pages/docs/api/scenarios/getscenario.mdx +- src/pages/docs/api/scenarios/listscenarios.mdx +- src/pages/docs/api/test-executions/cancelexecution.mdx +- src/pages/docs/api/test-executions/getevalexplanationsummary.mdx +- src/pages/docs/api/test-executions/getkpis.mdx +- src/pages/docs/api/test-executions/getperformancesummary.mdx +- src/pages/docs/api/test-executions/gettestexecutiondetails.mdx +- src/pages/docs/api/test-executions/reruncalls.mdx +- src/pages/docs/evaluation/builtin/context-relevance.mdx +- src/pages/docs/evaluation/builtin/index.mdx +- src/pages/docs/evaluation/builtin/prompt-injection.mdx + +**Different first heading** (286 files): +- `## Accessing API Keys` → src/pages/docs/admin-settings.mdx +- `## What you will do` → src/pages/docs/annotations/quickstart.mdx +- `## Installation` → src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx +- `# JavaScript SDK` → src/pages/docs/annotations/sdk/javascript.mdx +- `# Python SDK` → src/pages/docs/annotations/sdk/python.mdx +- `## Request Body` → src/pages/docs/api/datasets/upload-dataset.mdx +- `# Get Simulation Analytics` → src/pages/docs/api/simulation-analytics/analytics.mdx +- `# Get Simulation Metrics` → src/pages/docs/api/simulation-analytics/metrics.mdx +- `# Get Simulation Runs` → src/pages/docs/api/simulation-analytics/runs.mdx +- `## 1. Installing Future AGI's AI Evaluation Package` → src/pages/docs/cookbook/ai-agents.mdx +- `## 1. Installing FutureAGI` → src/pages/docs/cookbook/ai-sdr.mdx +- `## 1. Installation and Setup` → src/pages/docs/cookbook/basic-optimization.mdx +- `## 1. Installation` → src/pages/docs/cookbook/chat-simulation-fix-agent.mdx +- `## **Optimizer Comparison at a Glance**` → src/pages/docs/cookbook/compare-optimization.mdx +- `## Overview` → src/pages/docs/cookbook/crewai-research-team.mdx +- `## Objective` → src/pages/docs/cookbook/decrease-hallucination.mdx +- `## 1. Introduction` → src/pages/docs/cookbook/end-to-end-optimization.mdx +- `## 1. Using the FutureAGI Platform (Recommended)` → src/pages/docs/cookbook/eval-metrics-optimization.mdx +- `### Retreival Augmented Generation Evaluation using Future AGI` → src/pages/docs/cookbook/evaluate-rag.mdx +- `## **When to Use GEPA**` → src/pages/docs/cookbook/gepa-optimization.mdx +- `### In this cookbook we demonstrate how FutureAGI SDK can be used to evaluate images:` → src/pages/docs/cookbook/image-evaluation.mdx +- `## **The Required Data Format: A List of Dictionaries**` → src/pages/docs/cookbook/import-datasets.mdx +- `## Getting Started` → src/pages/docs/cookbook/index.mdx +- `## Introduction` → src/pages/docs/cookbook/langchain-langgraph.mdx +- `## 1. Introduction` → src/pages/docs/cookbook/llamaindex-pdf-rag.mdx +- `## 1. Loading Dataset` → src/pages/docs/cookbook/meeting-summarization.mdx +- `## 1. Introduction` → src/pages/docs/cookbook/mongodb.mdx +- `## Observability in AI Systems Explained` → src/pages/docs/cookbook/observability.mdx +- `### In this cookbook we’ll learn` → src/pages/docs/cookbook/portkey-integration.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/batch-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx +- `## Why eval in CI/CD?` → src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/compare-optimizers.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/conversation-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/dataset-annotation.mdx +- `## What you built` → src/pages/docs/cookbook/quickstart/dataset-management.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/dataset-optimization.mdx +- `## The Problem` → src/pages/docs/cookbook/quickstart/distributed-tracing.mdx +- `## Starter dataset` → src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx +- `## What you built` → src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/first-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/hallucination-detection.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/knowledge-base.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/manual-tracing.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/multimodal-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/prompt-optimization.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/prompt-versioning.mdx +- `## What is Prompt Workbench Simulation?` → src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/protect-guardrails.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/session-observability.mdx +- `## Tutorial` → src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx +- `## Install` → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx +- `## Key concepts` → src/pages/docs/cookbook/quickstart/voice-simulation.mdx +- `## 1. Installing The Depenencies` → src/pages/docs/cookbook/rag-langchain.mdx +- `# Testing a Voice AI Agent with Agent Simulate SDK` → src/pages/docs/cookbook/simulate-sdk.mdx +- `## 1. Installing Dependencies` → src/pages/docs/cookbook/text-to-sql.mdx +- `## 1. Installing Future AGI` → src/pages/docs/cookbook/trustworthy-rag.mdx +- `## Install` → src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx +- `## Install` → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx +- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-dataset.mdx +- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-evals.mdx +- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-kb.mdx +- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-protect.mdx +- `### What to Do When Answer Refusal Fails` → src/pages/docs/evaluation/builtin/answer-refusal.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/audio-quality.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/audio-transcription.mdx +- `### What to do if Bias is detected` → src/pages/docs/evaluation/builtin/bias-detection.mdx +- `### About BLEU` → src/pages/docs/evaluation/builtin/bleu.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/caption-hallucination.mdx +- `### What to Do When Chunk Attribution Fails` → src/pages/docs/evaluation/builtin/chunk-attribution.mdx +- `### What to Do When Chunk Utilization Score is Low` → src/pages/docs/evaluation/builtin/chunk-utilization.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx +- `### What to Do When CLIP Score is Low` → src/pages/docs/evaluation/builtin/clip-score.mdx +- `### What to do when Completeness is Low` → src/pages/docs/evaluation/builtin/completeness.mdx +- `### **1. Contains**` → src/pages/docs/evaluation/builtin/contain-evals.mdx +- `### What to Do When Contains Valid Link Evaluation Fails` → src/pages/docs/evaluation/builtin/contains-valid-link.mdx +- `### What to do when Context Adherence is Low` → src/pages/docs/evaluation/builtin/context-adherence.mdx +- `### What to do when Conversation Coherence is Low` → src/pages/docs/evaluation/builtin/conversation-coherence.mdx +- `### What to do when Conversation Resolution is Low` → src/pages/docs/evaluation/builtin/conversation-resolution.mdx +- `### What to Do When Cultural Sensitivity Fails` → src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx +- `### What to Do When Clarification Seeking is Poor` → src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx +- `### What to Do When Context Retention Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx +- `### What to Do When Conversation Quality Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx +- `### What to Do When Human Escalation Fails` → src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx +- `### What to Do When Interruption Handling Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx +- `### What to Do When Language Handling Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx +- `### What to Do When Loop Detection is Flagged` → src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx +- `### What to Do When Objection Handling is Poor` → src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx +- `### What to Do When Prompt Conformance Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx +- `### What to Do When Query Handling is Poor` → src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx +- `### What to Do When Termination Issues are Detected` → src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx +- `### What to do when Data Privacy Compliance Failed` → src/pages/docs/evaluation/builtin/data-privacy.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/detect-hallucination.mdx +- `### About Embedding Similarity` → src/pages/docs/evaluation/builtin/embedding-similarity.mdx +- `### What to do if the Eval Ranking is Low` → src/pages/docs/evaluation/builtin/eval-ranking.mdx +- `### What to Do When FID Score is High` → src/pages/docs/evaluation/builtin/fid-score.mdx +- `### What to Do When Fuzzy Match Score is Low` → src/pages/docs/evaluation/builtin/fuzzy-match.mdx +- `### What to Do When Ground Truth Match Fails` → src/pages/docs/evaluation/builtin/ground-truth-match.mdx +- `### What to do when Groundedness Evaluation Fails` → src/pages/docs/evaluation/builtin/groundedness.mdx +- `### Batch evaluation` → src/pages/docs/evaluation/builtin/hit-rate.mdx +- `### What to Do When Image Instruction Adherence Score is Low` → src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx +- `### What to Do if Prompt Instruction Adherence is Low` → src/pages/docs/evaluation/builtin/instruction-adherence.mdx +- `### What to Do When Contains Code Score is Low` → src/pages/docs/evaluation/builtin/is-code.mdx +- `### What to Do When Is Concise Score is Low` → src/pages/docs/evaluation/builtin/is-concise.mdx +- `### What to Do When "Is Email" Eval Fails` → src/pages/docs/evaluation/builtin/is-email.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/is-good-summary.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/is-harmful-advice.mdx +- `### What to Do When Is Helpful Score is Low` → src/pages/docs/evaluation/builtin/is-helpful.mdx +- `### What to do If you get Undesired Informal Tone` → src/pages/docs/evaluation/builtin/is-informal-tone.mdx +- `### What to Do When JSON Validation Fails` → src/pages/docs/evaluation/builtin/is-json.mdx +- `### What to Do When Is Polite Score is Low` → src/pages/docs/evaluation/builtin/is-polite.mdx +- `### About Levenshtein Similarity` → src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx +- `### What to Do When Function Calling Evaluation Fails` → src/pages/docs/evaluation/builtin/llm-function-calling.mdx +- `### Batch evaluation` → src/pages/docs/evaluation/builtin/mrr.mdx +- `### Batch evaluation` → src/pages/docs/evaluation/builtin/ndcg-at-k.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-age-bias.mdx +- `### What to Do When No Apologies Score is Low` → src/pages/docs/evaluation/builtin/no-apologies.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-gender-bias.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx +- `### What to Do When No Invalid Links Evaluation Fails` → src/pages/docs/evaluation/builtin/no-invalid-links.mdx +- `### What to Do When No LLM Reference Score is Low` → src/pages/docs/evaluation/builtin/no-llm-reference.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-racial-bias.mdx +- `### Purpose of Numeric Similarity Eval` → src/pages/docs/evaluation/builtin/numeric-similarity.mdx +- `### What to Do When OCR Evaluation Score is Low` → src/pages/docs/evaluation/builtin/ocr-evaluation.mdx +- `### Comparing PII Detection with Similar Evals` → src/pages/docs/evaluation/builtin/pii.mdx +- `### Batch evaluation` → src/pages/docs/evaluation/builtin/precision-at-k.mdx +- `### Batch evaluation` → src/pages/docs/evaluation/builtin/recall-at-k.mdx +- `### About ROUGE Score` → src/pages/docs/evaluation/builtin/rouge.mdx +- `### About Semantic List Contains` → src/pages/docs/evaluation/builtin/semantic-list-contains.mdx +- `### What to do when Sexist Content is Detected` → src/pages/docs/evaluation/builtin/sexist.mdx +- `### What to Do When Summary Quality Evaluation Gives a Low Score` → src/pages/docs/evaluation/builtin/summary-quality.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/task-completion.mdx +- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/text-to-sql.mdx +- `### What to do If you get Undesired Tone in Content` → src/pages/docs/evaluation/builtin/tone.mdx +- `### What to do when Toxicity is Detected` → src/pages/docs/evaluation/builtin/toxicity.mdx +- `### What to Do When Translation Accuracy Evaluation Gives a Low Score` → src/pages/docs/evaluation/builtin/translation-accuracy.mdx +- `### What to Do When TTS Accuracy Score is Low` → src/pages/docs/evaluation/builtin/tts-accuracy.mdx +- `## Simulate & Iterate` → src/pages/docs/index.mdx +- `## Requirements` → src/pages/docs/installation.mdx +- `## What this does` → src/pages/docs/integrations/export/cloud-storage.mdx +- `## What this does` → src/pages/docs/integrations/export/datadog.mdx +- `## What this does` → src/pages/docs/integrations/export/message-queues.mdx +- `## What this does` → src/pages/docs/integrations/export/mixpanel.mdx +- `## What this does` → src/pages/docs/integrations/export/pagerduty.mdx +- `## What this does` → src/pages/docs/integrations/export/posthog.mdx +- `## 1. Installation` → src/pages/docs/integrations/google-adk.mdx +- `## 1. Installation` → src/pages/docs/integrations/google-genai.mdx +- `## What this does` → src/pages/docs/integrations/import/langfuse.mdx +- `## TraceAI` → src/pages/docs/integrations/index.mdx +- `## 1. Installation` → src/pages/docs/integrations/openai-agents.mdx +- `## 1. Installation` → src/pages/docs/integrations/smol-agents.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/anthropic.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/autogen.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/bedrock.mdx +- `## 2. Set Environment Variables` → src/pages/docs/integrations/traceai/crewai.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/dspy.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/google_adk.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/google_genai.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/groq.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/guardrails.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/haystack.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/instructor.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/anthropic.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/bedrock.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/cohere.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/frameworks.mdx +- `## How it works` → src/pages/docs/integrations/traceai/java/index.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/llm-providers.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/openai.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/pinecone.mdx +- `## Prerequisites` → src/pages/docs/integrations/traceai/java/vector-databases.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/langchain.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/langgraph.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/litellm.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/livekit.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/llamaindex-workflows.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/llamaindex.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/mastra.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/mcp.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/mistralai.mdx +- `### Installing Community Nodes` → src/pages/docs/integrations/traceai/n8n.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/ollama.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/openai.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/openai_agents.mdx +- `## Overview` → src/pages/docs/integrations/traceai/pipecat.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/portkey.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/promptflow.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/smol_agents.mdx +- `## How it works` → src/pages/docs/integrations/traceai/spring-boot.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/togetherai.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/vercel.mdx +- `## 1. Installation` → src/pages/docs/integrations/traceai/vertexai.mdx +- `## When to Use Bayesian Search` → src/pages/docs/optimization/optimizers/bayesian-search.mdx +- `## When to Use GEPA` → src/pages/docs/optimization/optimizers/gepa.mdx +- `## When to Use Meta-Prompt` → src/pages/docs/optimization/optimizers/meta-prompt.mdx +- `## When to Use PromptWizard` → src/pages/docs/optimization/optimizers/promptwizard.mdx +- `## When to Use ProTeGi` → src/pages/docs/optimization/optimizers/protegi.mdx +- `## When to Use Random Search` → src/pages/docs/optimization/optimizers/random-search.mdx +- `## **Key Use Cases**` → src/pages/docs/protect/concepts/concept.mdx +- `## What you will do` → src/pages/docs/quickstart/annotations.mdx +- `## Week of 2026-04-21` → src/pages/docs/release-notes.mdx +- `## Organization Roles` → src/pages/docs/roles-and-permissions.mdx +- `# `AnnotationQueue` Class` → src/pages/docs/sdk/annotation-queues.mdx +- `## Quick Example` → src/pages/docs/sdk/datasets.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/autoeval.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/cloud-evals.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/code-security.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/distributed.mdx +- `## Quick Examples` → src/pages/docs/sdk/evals/evaluate.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/feedback.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/guardrails-module.mdx +- `# Local metric — runs instantly, no API key needed` → src/pages/docs/sdk/evals/index.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/llm-judge.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/local.mdx +- `## Agent Trajectory Metrics` → src/pages/docs/sdk/evals/metrics/agents.mdx +- `## Scanners` → src/pages/docs/sdk/evals/metrics/guardrails.mdx +- `## Metrics` → src/pages/docs/sdk/evals/metrics/hallucination.mdx +- `## Categories` → src/pages/docs/sdk/evals/metrics/index.mdx +- `## JSON Metrics` → src/pages/docs/sdk/evals/metrics/json.mdx +- `## Retrieval Metrics` → src/pages/docs/sdk/evals/metrics/rag.mdx +- `## String Check Metrics` → src/pages/docs/sdk/evals/metrics/string.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/otel.mdx +- `## Quick Example` → src/pages/docs/sdk/evals/streaming.mdx +- `## Language Support` → src/pages/docs/sdk/index.mdx +- `## Quick Example` → src/pages/docs/sdk/knowledgebase.mdx +- `## Quick Example` → src/pages/docs/sdk/optimization.mdx +- `## Quick Example` → src/pages/docs/sdk/protect.mdx +- `## Quick Example` → src/pages/docs/sdk/simulate.mdx +- `# Test Case Classes` → src/pages/docs/sdk/testcase.mdx +- `## Quick Example` → src/pages/docs/sdk/tracing.mdx +- `## What it is` → src/pages/docs/simulation/features/voice-replay.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/anthropic.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/autogen.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/bedrock.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/crewai.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/dspy.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/google_adk.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/google_genai.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/groq.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/guardrails.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/haystack.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/instructor.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/anthropic.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/bedrock.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/cohere.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/frameworks.mdx +- `## How it works` → src/pages/docs/tracing/auto/java/index.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/llm-providers.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/openai.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/pinecone.mdx +- `## Prerequisites` → src/pages/docs/tracing/auto/java/vector-databases.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/langchain.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/langgraph.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/litellm.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/livekit.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/llamaindex-workflows.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/llamaindex.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/mastra.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/mcp.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/mistralai.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/ollama.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/openai.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/openai_agents.mdx +- `## Overview` → src/pages/docs/tracing/auto/pipecat.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/portkey.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/promptflow.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/smol_agents.mdx +- `## How it works` → src/pages/docs/tracing/auto/spring-boot.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/togetherai.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/vercel.mdx +- `## 1. Installation` → src/pages/docs/tracing/auto/vertexai.mdx +- `## Why Use It?` → src/pages/docs/tracing/concepts/otel.mdx +- `## Structure of Spans` → src/pages/docs/tracing/concepts/spans.mdx +- `## Python` → src/pages/docs/tracing/concepts/traceai.mdx +- `## Key Features` → src/pages/docs/tracing/concepts/traces.mdx + +--- + +## 🟡 Warnings + +### 4. Title Too Short (<15 chars) — 0 (0%) + +_None._ + +### 5. Title Too Long (>60 chars) — 1 (0%) + +- "Understanding Prototype: Pre-Production Testing in Future AGI" (61) → src/pages/docs/prototype/concepts/understanding-prototype.mdx + +### 6. Generic / Keyword-Poor Title — 0 (0%) + +_None._ + +### 7. Description Too Short (<120 chars) — 16 (3%) + +- (119 chars) → src/pages/docs/admin-settings.mdx +- (116 chars) → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx +- (106 chars) → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx +- (115 chars) → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx +- (119 chars) → src/pages/docs/api/dataset-evals/start-evals-process.mdx +- (112 chars) → src/pages/docs/api/datasets/add-empty-rows.mdx +- (118 chars) → src/pages/docs/api/datasets/add-rows-from-existing.mdx +- (118 chars) → src/pages/docs/api/datasets/add-rows-from-file.mdx +- (119 chars) → src/pages/docs/api/datasets/columns/add-columns.mdx +- (113 chars) → src/pages/docs/api/datasets/delete-rows.mdx +- (119 chars) → src/pages/docs/api/datasets/duplicate-rows.mdx +- (116 chars) → src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx +- (113 chars) → src/pages/docs/api/eval-tasks/delete-eval-task.mdx +- (119 chars) → src/pages/docs/api/eval-tasks/pause-eval-task.mdx +- (119 chars) → src/pages/docs/faq.mdx +- (119 chars) → src/pages/docs/prompt/features/create-from-scratch.mdx + +### 8. Description Too Long (>155 chars) — 47 (8%) + +- (158 chars) → src/pages/docs/api/agent-versions/createagentversion.mdx +- (156 chars) → src/pages/docs/api/annotations/queues/get-or-create-default.mdx +- (157 chars) → src/pages/docs/api/annotations/queues/update-status.mdx +- (162 chars) → src/pages/docs/api/eval-tasks/create-eval-task.mdx +- (161 chars) → src/pages/docs/api/personas/createpersona.mdx +- (170 chars) → src/pages/docs/api/personas/listpersonas.mdx +- (182 chars) → src/pages/docs/api/run-tests/addevalconfigs.mdx +- (181 chars) → src/pages/docs/api/run-tests/compareevalsummaries.mdx +- (162 chars) → src/pages/docs/api/run-tests/createruntest.mdx +- (168 chars) → src/pages/docs/api/run-tests/deleteevalconfig.mdx +- (170 chars) → src/pages/docs/api/run-tests/executeruntest.mdx +- (165 chars) → src/pages/docs/api/run-tests/getcallexecutions.mdx +- (161 chars) → src/pages/docs/api/run-tests/getevalsummary.mdx +- (164 chars) → src/pages/docs/api/run-tests/getruntestdetails.mdx +- (162 chars) → src/pages/docs/api/run-tests/gettestexecutions.mdx +- (165 chars) → src/pages/docs/api/run-tests/listruntests.mdx +- (162 chars) → src/pages/docs/api/run-tests/reruntestexecutions.mdx +- (168 chars) → src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx +- (159 chars) → src/pages/docs/api/run-tests/updateevalconfig.mdx +- (161 chars) → src/pages/docs/api/run-tests/updatetestcomponents.mdx +- (159 chars) → src/pages/docs/api/scenarios/addcolumns.mdx +- (166 chars) → src/pages/docs/api/scenarios/addemptyrowstodataset.mdx +- (171 chars) → src/pages/docs/api/scenarios/addscenariorowswithai.mdx +- (167 chars) → src/pages/docs/api/scenarios/createscenario.mdx +- (168 chars) → src/pages/docs/api/scenarios/listscenarios.mdx +- (173 chars) → src/pages/docs/api/simulation-analytics/metrics.mdx +- (175 chars) → src/pages/docs/api/simulation-analytics/runs.mdx +- (165 chars) → src/pages/docs/api/test-executions/cancelexecution.mdx +- (178 chars) → src/pages/docs/api/test-executions/getevalexplanationsummary.mdx +- (167 chars) → src/pages/docs/api/test-executions/getperformancesummary.mdx +- (168 chars) → src/pages/docs/api/test-executions/gettestexecutiondetails.mdx +- (171 chars) → src/pages/docs/api/test-executions/reruncalls.mdx +- (162 chars) → src/pages/docs/command-center/api/headers.mdx +- (160 chars) → src/pages/docs/command-center/concepts/api-reference.mdx +- (162 chars) → src/pages/docs/command-center/concepts/configuration.mdx +- (161 chars) → src/pages/docs/command-center/concepts/platform-integration.mdx +- (161 chars) → src/pages/docs/command-center/deployment/self-hosted.mdx +- (156 chars) → src/pages/docs/command-center/features/rate-limiting.mdx +- (156 chars) → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx +- (156 chars) → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx +- (158 chars) → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx +- (157 chars) → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx +- (161 chars) → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx +- (157 chars) → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx +- (159 chars) → src/pages/docs/self-hosting/environment.mdx +- (163 chars) → src/pages/docs/self-hosting/production.mdx +- (166 chars) → src/pages/docs/self-hosting/troubleshooting.mdx + +### 9. Description Bad Start Phrase — 1 (0%) + +- "A guide to using GEPA, a powerful evolutionary algorithm for state-of-the-art pr..." → src/pages/docs/cookbook/gepa-optimization.mdx + +### 10. Vague Single-Word Headings — 20 (3%) files affected + +- src/pages/docs/command-center/features/caching.mdx + - `## Configuration` +- src/pages/docs/command-center/features/rate-limiting.mdx + - `### Configuration` +- src/pages/docs/command-center/features/self-hosted-models.mdx + - `## Configuration` +- src/pages/docs/command-center/features/shadow-experiments.mdx + - `## Configuration` +- src/pages/docs/cookbook/crewai-research-team.mdx + - `## Overview` + - `## Resources` +- src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx + - `## Setup` +- src/pages/docs/cookbook/langchain-langgraph.mdx + - `## Introduction` +- src/pages/docs/falcon-ai/features/mcp-connectors.mdx + - `## Examples` +- src/pages/docs/faq.mdx + - `## General` +- src/pages/docs/installation.mdx + - `## Configuration` +- src/pages/docs/integrations/index.mdx + - `### Other` +- src/pages/docs/integrations/traceai/pipecat.mdx + - `## Overview` +- src/pages/docs/sdk/evals/guardrails-module.mdx + - `## Configuration` +- src/pages/docs/sdk/evals/local.mdx + - `### Setup` +- src/pages/docs/sdk/evals/otel.mdx + - `## Setup` +- src/pages/docs/self-hosting/configuration.mdx + - `### Setup` +- src/pages/docs/self-hosting/docker-compose.mdx + - `## Setup` +- src/pages/docs/simulation/features/evaluate-tool-calling.mdx + - `## Notes` +- src/pages/docs/tracing/auto/index.mdx + - `## Other` +- src/pages/docs/tracing/auto/pipecat.mdx + - `## Overview` + +### 11. Heading Hierarchy Issues (skipped level / H3 before H2) — 127 (21%) + +- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx + - H1→H3 skip at "Export to a Dataset" +- src/pages/docs/api/simulation-analytics/analytics.mdx + - H1→H3 skip at "Python — Automated promotion gate" + - H1→H3 skip at "JavaScript — Dashboard integration" +- src/pages/docs/api/simulation-analytics/metrics.mdx + - H1→H3 skip at "Python" + - H1→H3 skip at "JavaScript" +- src/pages/docs/api/simulation-analytics/runs.mdx + - H1→H3 skip at "Python" + - H1→H3 skip at "JavaScript" +- src/pages/docs/command-center/api/async-batch.mdx + - H1→H3 skip at "Polling for results" + - H1→H3 skip at "Checking batch status" +- src/pages/docs/command-center/api/embeddings.mdx + - H1→H3 skip at "Encoding format" + - H1→H3 skip at "Response format" +- src/pages/docs/command-center/api/files.mdx + - H1→H3 skip at "Purpose values" + - H1→H3 skip at "Batch upload" + - H1→H3 skip at "Search a vector store" +- src/pages/docs/command-center/api/headers.mdx + - H1→H3 skip at "OpenAI SDK" + - H1→H3 skip at "OpenAI SDK with create_headers()" +- src/pages/docs/command-center/concepts/api-reference.mdx + - H1→H3 skip at "Embeddings" +- src/pages/docs/command-center/concepts/configuration.mdx + - H1→H3 skip at "Per-request overrides" +- src/pages/docs/command-center/features/mcp-a2a.mdx + - H1→H3 skip at "MCP methods" + - H1→H3 skip at "Listing registered agents" +- src/pages/docs/command-center/features/observability.mdx + - H1→H3 skip at "OpenTelemetry integration" + - H1→H3 skip at "Self-hosted metrics config" +- src/pages/docs/command-center/features/rate-limiting.mdx + - H1→H3 skip at "Response headers" +- src/pages/docs/command-center/features/shadow-experiments.mdx + - H1→H3 skip at "Configuration options" +- src/pages/docs/command-center/guides/errors.mdx + - H1→H3 skip at "What to retry" +- src/pages/docs/command-center/guides/troubleshooting.mdx + - H1→H3 skip at "Provider returns 404 upstream" + - H1→H3 skip at "Guardrails blocking legitimate requests" +- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx + - H1→H3 skip at "Create the Agent Function" + - H1→H3 skip at "Understanding the Results" +- src/pages/docs/cookbook/crewai-research-team.mdx + - H1→H3 skip at "2. Initialize Observability and Tracing" + - H1→H3 skip at "3. Define the Research Team Agents" + - H1→H3 skip at "4. Implement In-line Evaluations" + - H1→H3 skip at "6. Execute the Research Crew" + - H1→H3 skip at "7. Advanced Monitoring and Analysis" + - H1→H4 skip at "Issue 2: Completeness Gaps (0.85)" + - H1→H3 skip at "2. Continuous Monitoring" +- src/pages/docs/cookbook/decrease-hallucination.mdx + - H1→H3 skip at "**3. Installing Required Libraries**" +- src/pages/docs/cookbook/evaluate-rag.mdx + - H3 "Retreival Augmented Generation Evaluation using Future AGI" with no preceding H2 + - H3 "Available RAG evaluations in Future AGI :" with no preceding H2 + - H1→H3 skip at "Available RAG evaluations in Future AGI :" +- src/pages/docs/cookbook/image-evaluation.mdx + - H3 "In this cookbook we demonstrate how FutureAGI SDK can be used to evaluate images:" with no preceding H2 + - H3 "Making Necessary Imports" with no preceding H2 + - H1→H3 skip at "Making Necessary Imports" + - H3 "Loading and Visualising Data" with no preceding H2 + - H3 "Initializing the FutureAGI Evaluator Class and Deterministic Eval" with no preceding H2 + - H1→H3 skip at "Initializing the FutureAGI Evaluator Class and Deterministic Eval" +- src/pages/docs/cookbook/import-datasets.mdx + - H1→H3 skip at "**b. From a JSON File (List of Objects)**" + - H1→H3 skip at "**c. From a JSONL File (JSON Lines)**" +- src/pages/docs/cookbook/observability.mdx + - H1→H3 skip at "Key Features Explained" +- src/pages/docs/cookbook/portkey-integration.mdx + - H3 "In this cookbook we’ll learn" with no preceding H2 + - H3 "Core Concepts" with no preceding H2 + - H3 "Prerequisites" with no preceding H2 + - H3 "Step-by-Step Guide" with no preceding H2 + - H3 "Step 1: Basic Setup and Imports" with no preceding H2 + - H3 "Step 2: Setting Up Tracing with FutureAGI Evals" with no preceding H2 + - H3 "Step 3: Defining Models and Test Scenarios" with no preceding H2 + - H3 "Step 4: Executing a Test and Capturing Results" with no preceding H2 + - H3 "**Step 4: Orchestrate with a main Function**" with no preceding H2 + - H3 "**Trace Analysis**" with no preceding H2 + - H3 "How Utilizing Portkey and FutureAGI will help enhancing your CI/CD pipelines" with no preceding H2 + - H3 "Conclusion" with no preceding H2 +- src/pages/docs/cookbook/quickstart/distributed-tracing.mdx + - H1→H3 skip at "Backend (backend.py)" + - H1→H3 skip at "Run it" + - H1→H3 skip at "Install" + - H1→H3 skip at "Dependencies" + - H1→H3 skip at "Install" +- src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx + - H1→H3 skip at "Controls" +- src/pages/docs/cookbook/rag-langchain.mdx + - H1→H3 skip at "We will then utilize our sample Questionaire dataset and feed it to our RAG App, to get answers for evaluation" +- src/pages/docs/evaluation/builtin/answer-refusal.mdx + - H3 "What to Do When Answer Refusal Fails" with no preceding H2 + - H3 "Comparing Answer Refusal with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/audio-quality.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Audio Quality with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/audio-transcription.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Audio Transcription with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/bias-detection.mdx + - H3 "What to do if Bias is detected" with no preceding H2 + - H3 "Differentiating Bias Detection with [Cultural Sensitivity](/docs/evaluation/builtin/cultural-sensitivity)" with no preceding H2 +- src/pages/docs/evaluation/builtin/bleu.mdx + - H3 "About BLEU" with no preceding H2 + - H3 "n-gram" with no preceding H2 + - H3 "Modified n-gram Precision" with no preceding H2 + - H3 "Calculation of BLEU Score" with no preceding H2 + - H3 "What if BLEU Score is Low?" with no preceding H2 +- src/pages/docs/evaluation/builtin/caption-hallucination.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Caption Hallucination with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/chunk-attribution.mdx + - H3 "What to Do When Chunk Attribution Fails" with no preceding H2 + - H3 "Differentiating Chunk Attribution with [Chunk Utilization](/docs/evaluation/builtin/chunk-utilization)" with no preceding H2 +- src/pages/docs/evaluation/builtin/chunk-utilization.mdx + - H3 "What to Do When Chunk Utilization Score is Low" with no preceding H2 + - H3 "Comparing Chunk Utilization with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Clinically Inappropriate Tone with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/clip-score.mdx + - H3 "What to Do When CLIP Score is Low" with no preceding H2 + - H3 "Comparing CLIP Score with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/completeness.mdx + - H3 "What to do when Completeness is Low" with no preceding H2 +- src/pages/docs/evaluation/builtin/contain-evals.mdx + - H3 "**1. Contains**" with no preceding H2 + - H3 "**2. Contains Any**" with no preceding H2 + - H3 "**3. Contains All**" with no preceding H2 + - H3 "**4. Contains None**" with no preceding H2 + - H3 "**5. Starts With**" with no preceding H2 + - H3 "**6. Ends With**" with no preceding H2 + - H3 "**7. Equals**" with no preceding H2 +- src/pages/docs/evaluation/builtin/contains-valid-link.mdx + - H3 "What to Do When Contains Valid Link Evaluation Fails" with no preceding H2 + - H3 "Comparing Contains Valid Link with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/context-adherence.mdx + - H3 "What to do when Context Adherence is Low" with no preceding H2 + - H3 "Comparing Context Adherence with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/conversation-coherence.mdx + - H3 "What to do when Conversation Coherence is Low" with no preceding H2 + - H3 "Comparing Conversation Coherence with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/conversation-resolution.mdx + - H3 "What to do when Conversation Resolution is Low" with no preceding H2 + - H3 "Comparing Conversation Resolution with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx + - H3 "What to Do When Cultural Sensitivity Fails" with no preceding H2 + - H3 "Differentiating Cultural Sensitivity with [Tone](/docs/evaluation/builtin/tone)" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx + - H3 "What to Do When Clarification Seeking is Poor" with no preceding H2 + - H3 "Comparing Clarification Seeking with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx + - H3 "What to Do When Context Retention Score is Low" with no preceding H2 + - H3 "Comparing Context Retention with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx + - H3 "What to Do When Conversation Quality Score is Low" with no preceding H2 + - H3 "Comparing Conversation Quality with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx + - H3 "What to Do When Human Escalation Fails" with no preceding H2 + - H3 "Comparing Human Escalation with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx + - H3 "What to Do When Interruption Handling Score is Low" with no preceding H2 + - H3 "Comparing Interruption Handling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx + - H3 "What to Do When Language Handling Score is Low" with no preceding H2 + - H3 "Comparing Language Handling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx + - H3 "What to Do When Loop Detection is Flagged" with no preceding H2 + - H3 "Comparing Loop Detection with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx + - H3 "What to Do When Objection Handling is Poor" with no preceding H2 + - H3 "Comparing Objection Handling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx + - H3 "What to Do When Prompt Conformance Score is Low" with no preceding H2 + - H3 "Comparing Prompt Conformance with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx + - H3 "What to Do When Query Handling is Poor" with no preceding H2 + - H3 "Comparing Query Handling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx + - H3 "What to Do When Termination Issues are Detected" with no preceding H2 + - H3 "Comparing Termination Handling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/data-privacy.mdx + - H3 "What to do when Data Privacy Compliance Failed" with no preceding H2 + - H3 "Differentiating Data Privacy Compliance with [PII](/docs/evaluation/builtin/pii)" with no preceding H2 +- src/pages/docs/evaluation/builtin/detect-hallucination.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Detect Hallucination with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/embedding-similarity.mdx + - H3 "About Embedding Similarity" with no preceding H2 + - H3 "How Similarity Is Calculated?" with no preceding H2 +- src/pages/docs/evaluation/builtin/eval-ranking.mdx + - H3 "What to do if the Eval Ranking is Low" with no preceding H2 + - H3 "Differentiating Eval Ranking with [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 +- src/pages/docs/evaluation/builtin/fid-score.mdx + - H3 "What to Do When FID Score is High" with no preceding H2 + - H3 "Comparing FID Score with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/fuzzy-match.mdx + - H3 "What to Do When Fuzzy Match Score is Low" with no preceding H2 + - H3 "Comparing Fuzzy Match with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/ground-truth-match.mdx + - H3 "What to Do When Ground Truth Match Fails" with no preceding H2 + - H3 "Comparing Ground Truth Match with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/groundedness.mdx + - H3 "What to do when Groundedness Evaluation Fails" with no preceding H2 + - H3 "Differentiating Groundedness from [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 +- src/pages/docs/evaluation/builtin/hit-rate.mdx + - H3 "Batch evaluation" with no preceding H2 + - H3 "How it works" with no preceding H2 + - H1→H3 skip at "How it works" + - H3 "What to do when Hit Rate is Low" with no preceding H2 + - H3 "Differentiating Hit Rate with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx + - H3 "What to Do When Image Instruction Adherence Score is Low" with no preceding H2 + - H3 "Comparing Image Instruction Adherence with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/instruction-adherence.mdx + - H3 "What to Do if Prompt Instruction Adherence is Low" with no preceding H2 + - H3 "Differentiating Prompt/Instruction Adherence with [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-code.mdx + - H3 "What to Do When Contains Code Score is Low" with no preceding H2 + - H3 "Comparing Contains Code with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-concise.mdx + - H3 "What to Do When Is Concise Score is Low" with no preceding H2 + - H3 "Comparing Is Concise with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-email.mdx + - H3 "What to Do When "Is Email" Eval Fails" with no preceding H2 + - H3 "Differentiating "Is Email" with [Contain](/docs/evaluation/builtin/contain-evals) Eval" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-good-summary.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Is Good Summary with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-harmful-advice.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Is Harmful Advice with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-helpful.mdx + - H3 "What to Do When Is Helpful Score is Low" with no preceding H2 + - H3 "Comparing Is Helpful with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-informal-tone.mdx + - H3 "What to do If you get Undesired Informal Tone" with no preceding H2 + - H3 "Comparing Is Informal Tone with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-json.mdx + - H3 "What to Do When JSON Validation Fails" with no preceding H2 + - H3 "Comparing Is JSON with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/is-polite.mdx + - H3 "What to Do When Is Polite Score is Low" with no preceding H2 + - H3 "Comparing Is Polite with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx + - H3 "About Levenshtein Similarity" with no preceding H2 + - H3 "Edit Operations" with no preceding H2 + - H3 "Normalized Levenshtein Score" with no preceding H2 + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Levenshtein Similarity with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/llm-function-calling.mdx + - H3 "What to Do When Function Calling Evaluation Fails" with no preceding H2 + - H3 "Comparing Evaluate Function Calling with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/mrr.mdx + - H3 "Batch evaluation" with no preceding H2 + - H3 "How it works" with no preceding H2 + - H1→H3 skip at "How it works" + - H3 "What to do when MRR is Low" with no preceding H2 + - H3 "Differentiating MRR with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/ndcg-at-k.mdx + - H3 "Batch evaluation" with no preceding H2 + - H3 "How it works" with no preceding H2 + - H1→H3 skip at "How it works" + - H3 "What to do when NDCG@K is Low" with no preceding H2 + - H3 "Differentiating NDCG@K with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-age-bias.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing No Age Bias with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-apologies.mdx + - H3 "What to Do When No Apologies Score is Low" with no preceding H2 + - H3 "Comparing No Apologies with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-gender-bias.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing No Gender Bias with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing No Harmful Therapeutic Guidance with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-invalid-links.mdx + - H3 "What to Do When No Invalid Links Evaluation Fails" with no preceding H2 + - H3 "Comparing No Invalid Links with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-llm-reference.mdx + - H3 "What to Do When No LLM Reference Score is Low" with no preceding H2 +- src/pages/docs/evaluation/builtin/no-racial-bias.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing No Racial Bias with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/numeric-similarity.mdx + - H3 "Purpose of Numeric Similarity Eval" with no preceding H2 +- src/pages/docs/evaluation/builtin/ocr-evaluation.mdx + - H3 "What to Do When OCR Evaluation Score is Low" with no preceding H2 + - H3 "Comparing OCR Evaluation with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/pii.mdx + - H3 "Comparing PII Detection with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/precision-at-k.mdx + - H3 "Batch evaluation" with no preceding H2 + - H3 "How it works" with no preceding H2 + - H1→H3 skip at "How it works" + - H3 "What to do when Precision@K is Low" with no preceding H2 + - H3 "Differentiating Precision@K with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/recall-at-k.mdx + - H3 "Batch evaluation" with no preceding H2 + - H3 "How it works" with no preceding H2 + - H1→H3 skip at "How it works" + - H3 "What to do when Recall@K is Low" with no preceding H2 + - H3 "Differentiating Recall@K with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/rouge.mdx + - H3 "About ROUGE Score" with no preceding H2 + - H3 "ROUGE-N" with no preceding H2 + - H3 "ROUGE-L (Longest Common Subsequence)" with no preceding H2 + - H3 "Calculation of ROUGE Scores" with no preceding H2 + - H3 "When to Use ROUGE?" with no preceding H2 + - H3 "What if ROUGE Score is Low?" with no preceding H2 +- src/pages/docs/evaluation/builtin/semantic-list-contains.mdx + - H3 "About Semantic List Contains" with no preceding H2 + - H3 "How Semantic List Contains Evals Work?" with no preceding H2 + - H3 "What if Semantic List Contains Eval Score is Low?" with no preceding H2 +- src/pages/docs/evaluation/builtin/sexist.mdx + - H3 "What to do when Sexist Content is Detected" with no preceding H2 + - H3 "Comparing Sexist Evaluation with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/summary-quality.mdx + - H3 "What to Do When Summary Quality Evaluation Gives a Low Score" with no preceding H2 +- src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Synthetic Image Evaluator with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/task-completion.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Task Completion with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/text-to-sql.mdx + - H3 "What to do If you get Undesired Results" with no preceding H2 + - H3 "Comparing Text to SQL with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/tone.mdx + - H3 "What to do If you get Undesired Tone in Content" with no preceding H2 + - H3 "Comparing Tone with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/toxicity.mdx + - H3 "What to do when Toxicity is Detected" with no preceding H2 + - H3 "Comparing Toxicity with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/translation-accuracy.mdx + - H3 "What to Do When Translation Accuracy Evaluation Gives a Low Score" with no preceding H2 + - H3 "Comparing Translation Accuracy with Similar Evals" with no preceding H2 +- src/pages/docs/evaluation/builtin/tts-accuracy.mdx + - H3 "What to Do When TTS Accuracy Score is Low" with no preceding H2 + - H3 "Comparing TTS Accuracy with Similar Evals" with no preceding H2 +- src/pages/docs/integrations/traceai/n8n.mdx + - H3 "Installing Community Nodes" with no preceding H2 +- src/pages/docs/integrations/traceai/openai.mdx + - H1→H3 skip at "Image Generation" +- src/pages/docs/prompt/features/sdk.mdx + - H1→H3 skip at "Remove labels" +- src/pages/docs/sdk/datasets.mdx + - H1→H3 skip at "From HuggingFace" +- src/pages/docs/sdk/evals/autoeval.mdx + - H1→H3 skip at "From a template" +- src/pages/docs/sdk/evals/cloud-evals.mdx + - H1→H3 skip at "Filtering by tag" + - H1→H3 skip at "Available tags" + - H1→H3 skip at "With the Evaluator class" +- src/pages/docs/sdk/evals/code-security.mdx + - H1→H3 skip at "Language-specific analyzers" + - H1→H3 skip at "Custom detectors" + - H1→H4 skip at "Evaluate with a generator function" + - H1→H3 skip at "Autocomplete Mode" + - H1→H3 skip at "Run a benchmark" + - H1→H3 skip at "Generate reports" +- src/pages/docs/sdk/evals/distributed.mdx + - H1→H3 skip at "Distributed" +- src/pages/docs/sdk/evals/guardrails-module.mdx + - H1→H3 skip at "Response" + - H1→H3 skip at "Configuring individual scanners" + - H1→H3 skip at "Composing scanners" + - H1→H3 skip at "Screening sessions" +- src/pages/docs/sdk/evals/llm-judge.mdx + - H1→H3 skip at "Criteria with input references" + - H1→H3 skip at "Multi-dimensional criteria" +- src/pages/docs/sdk/evals/local.mdx + - H1→H3 skip at "Batch evaluation" + - H1→H3 skip at "Partition evaluations" + - H1→H3 skip at "Evaluate" + - H1→H3 skip at "Offline mode" + - H1→H3 skip at "Using with HybridEvaluator" + - H1→H3 skip at "Direct LLM usage" + - H1→H3 skip at "Factory" + - H1→H3 skip at "Registering custom metrics" + - H1→H3 skip at "Lazy registration" +- src/pages/docs/sdk/evals/metrics/agents.mdx + - H1→H3 skip at "step_efficiency" + - H1→H3 skip at "tool_selection_accuracy" + - H1→H3 skip at "trajectory_score" + - H1→H3 skip at "goal_progress" + - H1→H3 skip at "action_safety" + - H1→H3 skip at "reasoning_quality" + - H1→H3 skip at "parameter_validation" + - H1→H3 skip at "function_call_accuracy" + - H1→H3 skip at "function_call_exact_match" +- src/pages/docs/sdk/evals/metrics/guardrails.mdx + - H1→H3 skip at "pii_detection" + - H1→H3 skip at "secret_detection" + - H1→H3 skip at "sql_injection" +- src/pages/docs/sdk/evals/metrics/hallucination.mdx + - H1→H3 skip at "claim_support" + - H1→H3 skip at "factual_consistency" + - H1→H3 skip at "contradiction_detection" + - H1→H3 skip at "hallucination_score" +- src/pages/docs/sdk/evals/metrics/json.mdx + - H1→H3 skip at "contains_json" + - H1→H3 skip at "json_schema" + - H1→H3 skip at "json_validation" + - H1→H3 skip at "json_syntax" + - H1→H3 skip at "type_compliance" + - H1→H3 skip at "field_completeness" + - H1→H3 skip at "required_fields" + - H1→H3 skip at "field_coverage" + - H1→H3 skip at "hierarchy_score" + - H1→H3 skip at "tree_edit_distance" + - H1→H3 skip at "structured_output_score" + - H1→H3 skip at "quick_structured_check" +- src/pages/docs/sdk/evals/metrics/rag.mdx + - H1→H3 skip at "context_precision" + - H1→H3 skip at "context_entity_recall" + - H1→H3 skip at "noise_sensitivity" + - H1→H3 skip at "context_utilization" + - H1→H3 skip at "context_relevance_to_response" + - H1→H3 skip at "rag_faithfulness_with_reference" + - H1→H3 skip at "source_attribution" +- src/pages/docs/sdk/evals/metrics/string.mdx + - H1→H3 skip at "contains_all" + - H1→H3 skip at "contains_any" + - H1→H3 skip at "contains_none" + - H1→H3 skip at "contains_email" + - H1→H3 skip at "contains_link" + - H1→H3 skip at "contains_valid_link" + - H1→H3 skip at "is_email" + - H1→H3 skip at "one_line" + - H1→H3 skip at "equals" + - H1→H3 skip at "starts_with" + - H1→H3 skip at "ends_with" + - H1→H3 skip at "regex" + - H1→H3 skip at "length_less_than" + - H1→H3 skip at "length_greater_than" + - H1→H3 skip at "length_between" + - H1→H3 skip at "rouge_score" + - H1→H3 skip at "recall_score" + - H1→H3 skip at "levenshtein_similarity" + - H1→H3 skip at "numeric_similarity" + - H1→H3 skip at "embedding_similarity" + - H1→H3 skip at "semantic_list_contains" +- src/pages/docs/sdk/evals/otel.mdx + - H1→H3 skip at "Tracer utilities" + - H1→H3 skip at "Tracing LLM calls manually" + - H1→H3 skip at "Manual enrichment" + - H1→H3 skip at "Span context for scoring" + - H1→H3 skip at "Built-in pricing" + - H1→H3 skip at "Helper functions" +- src/pages/docs/sdk/evals/streaming.mdx + - H1→H3 skip at "Adding scoring functions" + - H1→H3 skip at "Processing tokens" + - H1→H3 skip at "Getting results" + - H1→H3 skip at "EarlyStopReason values" + - H1→H3 skip at "Callbacks for real-time monitoring" +- src/pages/docs/sdk/optimization.mdx + - H1→H3 skip at "Data Mapper" + - H1→H3 skip at "Result" +- src/pages/docs/sdk/simulate.mdx + - H1→H3 skip at "AgentInput" +- src/pages/docs/sdk/tracing.mdx + - H1→H3 skip at "Cleanup" +- src/pages/docs/self-hosting/configuration.mdx + - H1→H3 skip at "Provider config examples" +- src/pages/docs/self-hosting/production.mdx + - H1→H3 skip at "ClickHouse" +- src/pages/docs/tracing/auto/openai.mdx + - H1→H3 skip at "Image Generation" + +--- + +## 🔵 AEO / GEO Opportunities + +### 12. No TLDR Block — 525 (86%) files lack a summary block + +_A `` component or `## TL;DR` section near the top helps LLMs extract concise answers for AI-generated responses._ + +Pages with highest priority (most content, no TLDR) — top 30: + +- src/pages/docs/admin-settings/ai-providers.mdx +- src/pages/docs/admin-settings/api-keys.mdx +- src/pages/docs/admin-settings/billing-pricing.mdx +- src/pages/docs/admin-settings/integrations.mdx +- src/pages/docs/admin-settings/organization-settings.mdx +- src/pages/docs/admin-settings/profile-security.mdx +- src/pages/docs/admin-settings/usage-summary.mdx +- src/pages/docs/admin-settings/user-management.mdx +- src/pages/docs/admin-settings/workspace-management.mdx +- src/pages/docs/admin-settings.mdx +- src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx +- src/pages/docs/agent-playground/concepts/versions-and-execution.mdx +- src/pages/docs/agent-playground/features/build-workflow.mdx +- src/pages/docs/agent-playground/features/create-graph.mdx +- src/pages/docs/agent-playground/features/run-and-monitor.mdx +- src/pages/docs/annotations/concepts/scores.mdx +- src/pages/docs/annotations/features/add-items.mdx +- src/pages/docs/annotations/features/analytics.mdx +- src/pages/docs/annotations/features/annotate.mdx +- src/pages/docs/annotations/features/automation.mdx +- src/pages/docs/annotations/features/export.mdx +- src/pages/docs/annotations/features/inline.mdx +- src/pages/docs/annotations/features/labels.mdx +- src/pages/docs/annotations/features/queues.mdx +- src/pages/docs/annotations/quickstart.mdx +- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx +- src/pages/docs/annotations/sdk/javascript.mdx +- src/pages/docs/annotations/sdk/python.mdx +- src/pages/docs/command-center/admin/organizations.mdx +- src/pages/docs/command-center/concepts/api-reference.mdx + +_...and 495 more (mostly API reference pages)._ + +### 13. First Paragraph Is Code Block or List — 107 (17%) + +_Generative engines prefer prose definitions before code. Pages that open with a code block or bullet list after the heading miss the chance to define the concept in plain language._ + +- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx +- src/pages/docs/cookbook/ai-agents.mdx +- src/pages/docs/cookbook/ai-sdr.mdx +- src/pages/docs/cookbook/evaluate-rag.mdx +- src/pages/docs/cookbook/image-evaluation.mdx +- src/pages/docs/cookbook/quickstart/async-batch-eval.mdx +- src/pages/docs/cookbook/quickstart/batch-eval.mdx +- src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx +- src/pages/docs/cookbook/quickstart/compare-optimizers.mdx +- src/pages/docs/cookbook/quickstart/conversation-eval.mdx +- src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx +- src/pages/docs/cookbook/quickstart/dataset-annotation.mdx +- src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx +- src/pages/docs/cookbook/quickstart/first-eval.mdx +- src/pages/docs/cookbook/quickstart/hallucination-detection.mdx +- src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx +- src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx +- src/pages/docs/cookbook/quickstart/knowledge-base.mdx +- src/pages/docs/cookbook/quickstart/manual-tracing.mdx +- src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx +- src/pages/docs/cookbook/quickstart/multimodal-eval.mdx +- src/pages/docs/cookbook/quickstart/prompt-optimization.mdx +- src/pages/docs/cookbook/quickstart/prompt-versioning.mdx +- src/pages/docs/cookbook/quickstart/protect-guardrails.mdx +- src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx +- src/pages/docs/cookbook/quickstart/rag-evaluation.mdx +- src/pages/docs/cookbook/quickstart/session-observability.mdx +- src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx +- src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx +- src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx +- src/pages/docs/cookbook/quickstart/voice-simulation.mdx +- src/pages/docs/cookbook/rag-langchain.mdx +- src/pages/docs/cookbook/text-to-sql.mdx +- src/pages/docs/cookbook/trustworthy-rag.mdx +- src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx +- src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx +- src/pages/docs/cookbook/using-futureagi-dataset.mdx +- src/pages/docs/cookbook/using-futureagi-evals.mdx +- src/pages/docs/cookbook/using-futureagi-kb.mdx +- src/pages/docs/cookbook/using-futureagi-protect.mdx +- src/pages/docs/evaluation/builtin/answer-refusal.mdx +- src/pages/docs/evaluation/builtin/chunk-attribution.mdx +- src/pages/docs/evaluation/builtin/chunk-utilization.mdx +- src/pages/docs/evaluation/builtin/clip-score.mdx +- src/pages/docs/evaluation/builtin/contain-evals.mdx +- src/pages/docs/evaluation/builtin/conversation-coherence.mdx +- src/pages/docs/evaluation/builtin/conversation-resolution.mdx +- src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx +- src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx +- src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx +- src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx +- src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx +- src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx +- src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx +- src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx +- src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx +- src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx +- src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx +- src/pages/docs/evaluation/builtin/fid-score.mdx +- src/pages/docs/evaluation/builtin/fuzzy-match.mdx +- src/pages/docs/evaluation/builtin/ground-truth-match.mdx +- src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx +- src/pages/docs/evaluation/builtin/is-code.mdx +- src/pages/docs/evaluation/builtin/is-concise.mdx +- src/pages/docs/evaluation/builtin/is-helpful.mdx +- src/pages/docs/evaluation/builtin/is-json.mdx +- src/pages/docs/evaluation/builtin/is-polite.mdx +- src/pages/docs/evaluation/builtin/no-apologies.mdx +- src/pages/docs/evaluation/builtin/no-llm-reference.mdx +- src/pages/docs/evaluation/builtin/numeric-similarity.mdx +- src/pages/docs/evaluation/builtin/pii.mdx +- src/pages/docs/evaluation/builtin/tts-accuracy.mdx +- src/pages/docs/installation.mdx +- src/pages/docs/observe/features/alerts.mdx +- src/pages/docs/observe/features/dashboard.mdx +- src/pages/docs/optimization/features/using-platform.mdx +- src/pages/docs/optimization/features/using-python-sdk.mdx +- src/pages/docs/optimization/index.mdx +- src/pages/docs/protect/features/run-protect.mdx +- src/pages/docs/protect/index.mdx +- src/pages/docs/quickstart/generate-synthetic-data.mdx +- src/pages/docs/quickstart/prompts.mdx +- src/pages/docs/quickstart/running-evals-in-simulation.mdx +- src/pages/docs/quickstart/setup-observability.mdx +- src/pages/docs/sdk/datasets.mdx +- src/pages/docs/sdk/evals/autoeval.mdx +- src/pages/docs/sdk/evals/cloud-evals.mdx +- src/pages/docs/sdk/evals/code-security.mdx +- src/pages/docs/sdk/evals/distributed.mdx +- src/pages/docs/sdk/evals/feedback.mdx +- src/pages/docs/sdk/evals/guardrails-module.mdx +- src/pages/docs/sdk/evals/llm-judge.mdx +- src/pages/docs/sdk/evals/local.mdx +- src/pages/docs/sdk/evals/otel.mdx +- src/pages/docs/sdk/evals/streaming.mdx +- src/pages/docs/sdk/knowledgebase.mdx +- src/pages/docs/sdk/optimization.mdx +- src/pages/docs/sdk/protect.mdx +- src/pages/docs/sdk/simulate.mdx +- src/pages/docs/simulation/features/evaluate-tool-calling.mdx +- src/pages/docs/simulation/features/fix-my-agent.mdx +- src/pages/docs/simulation/features/observe-to-simulate.mdx +- src/pages/docs/simulation/features/prompt-simulation.mdx +- src/pages/docs/simulation/features/simulation-using-sdk.mdx +- src/pages/docs/simulation/features/voice-replay.mdx +- src/pages/docs/tracing/concepts/otel.mdx +- src/pages/docs/tracing/concepts/traces.mdx + +### 14. Question-Style Headings (AEO signal) ✅ + +274 pages already use question-style headings — good for AEO. + +**338 pages have no question-style headings** — opportunity to add "What is X?", "How does Y work?", "When should I use Z?" sub-sections. + +Pages with question headings (examples): +- src/pages/docs/admin-settings/ai-providers.mdx (1 question headings) +- src/pages/docs/admin-settings/api-keys.mdx (1 question headings) +- src/pages/docs/admin-settings/integrations.mdx (1 question headings) +- src/pages/docs/admin-settings/organization-settings.mdx (1 question headings) +- src/pages/docs/admin-settings/usage-summary.mdx (1 question headings) +- src/pages/docs/admin-settings/user-management.mdx (1 question headings) +- src/pages/docs/agent-playground/concepts/versions-and-execution.mdx (2 question headings) +- src/pages/docs/agent-playground/index.mdx (1 question headings) +- src/pages/docs/annotations/concepts/scores.mdx (1 question headings) +- src/pages/docs/annotations/features/add-items.mdx (2 question headings) +- src/pages/docs/annotations/features/annotate.mdx (1 question headings) +- src/pages/docs/annotations/features/automation.mdx (1 question headings) +- src/pages/docs/annotations/features/export.mdx (1 question headings) +- src/pages/docs/annotations/features/inline.mdx (1 question headings) +- src/pages/docs/annotations/features/labels.mdx (1 question headings) + +### 15. Accordion / FAQ Blocks (AEO signal) ✅ + +18 pages have `` or FAQ sections — these are strong AEO signals. + +- src/pages/docs/agent-playground/index.mdx +- src/pages/docs/command-center/index.mdx +- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx +- src/pages/docs/cookbook/compare-optimization.mdx +- src/pages/docs/cookbook/decrease-hallucination.mdx +- src/pages/docs/cookbook/end-to-end-optimization.mdx +- src/pages/docs/cookbook/gepa-optimization.mdx +- src/pages/docs/cookbook/import-datasets.mdx +- src/pages/docs/cookbook/observability.mdx +- src/pages/docs/integrations/export/cloud-storage.mdx +- src/pages/docs/integrations/export/datadog.mdx +- src/pages/docs/integrations/export/message-queues.mdx +- src/pages/docs/integrations/export/mixpanel.mdx +- src/pages/docs/integrations/export/pagerduty.mdx +- src/pages/docs/integrations/export/posthog.mdx +- src/pages/docs/integrations/import/langfuse.mdx +- src/pages/docs/roles-and-permissions.mdx +- src/pages/docs/sdk/index.mdx + +--- + +## 📋 Top 20 Pages by Issue Count (Priority Rewrite List) + +| # | File | Issues | +|---|---|---| +| 1 | src/pages/docs/sdk/evals/metrics/string.mdx | 23 | +| 2 | src/pages/docs/cookbook/portkey-integration.mdx | 15 | +| 3 | src/pages/docs/sdk/evals/metrics/json.mdx | 14 | +| 4 | src/pages/docs/sdk/evals/local.mdx | 13 | +| 5 | src/pages/docs/cookbook/crewai-research-team.mdx | 12 | +| 6 | src/pages/docs/evaluation/builtin/contain-evals.mdx | 11 | +| 7 | src/pages/docs/sdk/evals/metrics/agents.mdx | 11 | +| 8 | src/pages/docs/cookbook/image-evaluation.mdx | 10 | +| 9 | src/pages/docs/sdk/evals/otel.mdx | 10 | +| 10 | src/pages/docs/evaluation/builtin/rouge.mdx | 9 | +| 11 | src/pages/docs/sdk/evals/code-security.mdx | 9 | +| 12 | src/pages/docs/sdk/evals/metrics/rag.mdx | 9 | +| 13 | src/pages/docs/evaluation/builtin/bleu.mdx | 8 | +| 14 | src/pages/docs/evaluation/builtin/hit-rate.mdx | 8 | +| 15 | src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx | 8 | +| 16 | src/pages/docs/evaluation/builtin/mrr.mdx | 8 | +| 17 | src/pages/docs/evaluation/builtin/ndcg-at-k.mdx | 8 | +| 18 | src/pages/docs/evaluation/builtin/precision-at-k.mdx | 8 | +| 19 | src/pages/docs/evaluation/builtin/recall-at-k.mdx | 8 | +| 20 | src/pages/docs/sdk/evals/guardrails-module.mdx | 8 | diff --git a/claude-project-setup/SETUP-README.md b/claude-project-setup/SETUP-README.md new file mode 100644 index 00000000..533dd65f --- /dev/null +++ b/claude-project-setup/SETUP-README.md @@ -0,0 +1,180 @@ +# SEO / AEO / GEO Optimization Setup + +This folder contains everything you need to set up a Claude Project for optimizing 605 documentation pages on https://docs.futureagi.com. + +--- + +## Step 1: Create the Claude Project + +1. Go to https://claude.ai and sign in +2. Click **Projects** in the left sidebar +3. Click **New Project** +4. Name it: `Future AGI Docs SEO` +5. (Optional) Add a brief description: `Optimize 605 MDX docs pages for SEO, AEO, and GEO` + +--- + +## Step 2: Paste the Custom Instructions + +1. Inside the project, click **Edit project details** (or the settings gear) +2. Find the **Custom instructions** field +3. Open `claude-project-setup/project-instructions.md` and copy **everything after the `---` separator at the top** +4. Paste it into the Custom Instructions field +5. Save + +--- + +## Step 3: Upload Knowledge Files + +Upload these files to **Project Knowledge** (the project's persistent context): + +| File | Why it's needed | +|------|----------------| +| `claude-project-setup/url-inventory.md` | So Claude knows every valid URL and never invents paths | +| `claude-project-setup/platform-conventions.md` | Docs platform rules, component names, frontmatter schema | +| `claude-project-setup/feature-glossary.md` | Authoritative product feature names and descriptions | +| `claude-project-setup/existing-seo-audit.md` | Current state — Claude won't redo work or regress | +| `claude-project-setup/style-examples.md` | The target writing style with full examples | + +**How to upload:** +1. In the project, click **Add to project knowledge** +2. Upload each `.md` file above +3. Wait for each to finish processing before uploading the next + +> Do NOT upload `top-pages-template.md` until you've filled in the traffic data — it's for your reference, not Claude's context. + +--- + +## Step 4: Fill In Traffic Data + +Before you start optimizations, get real data: + +1. Go to Google Search Console → Performance → Pages +2. Export the top 200 pages by impressions +3. Open `claude-project-setup/top-pages-template.md` +4. Fill in **Monthly Visits** and **Position** for each URL +5. Use this to prioritize: optimize pages with high impressions but poor position (>10) first — that's where the quick wins are + +--- + +## Optimization Workflow (per page) + +### One chat per page + +Start a **new conversation** inside the Claude Project for each page you're optimizing. Do not use one long conversation for multiple pages — context gets stale. + +### What to paste in each conversation + +``` +I need you to optimize this documentation page for SEO, AEO, and GEO. + +URL: /docs/[section]/[page]/ +Current page content: + +[paste the full MDX file content here, including frontmatter] +``` + +Claude will return: +1. Optimized frontmatter (title + description) +2. Optimized body with same structure and components intact + +### What to do with the output + +1. Review the diff — check title, description, and any changed prose +2. Verify no components were removed or rewritten +3. Verify no URLs were invented +4. Verify code blocks are unchanged +5. Copy the optimized content into `src/pages/docs/[path].mdx` +6. Run `pnpm dev` and spot-check the rendered page locally +7. Commit with message: `seo: optimize [page title]` + +--- + +## Prioritization Order + +**Batch 1 — Quick wins (high impressions, position 10–30)** +Fill in from your Search Console data, but likely candidates: +- `/docs/quickstart/setup-observability/` +- `/docs/sdk/` +- `/docs/evaluation/` +- `/docs/observe/` +- `/docs/command-center/` +- `/docs/simulation/` + +**Batch 2 — Section index pages (all "Overview" pages)** +These have generic titles like `"Overview | Future AGI Docs"` — easy win to differentiate: +- All `/docs/*/` index pages (agent-playground, dataset, optimization, prompt, protect, prototype, etc.) + +**Batch 3 — High-value feature pages** +- `/docs/evaluation/features/evaluate/` +- `/docs/evaluation/features/cicd/` +- `/docs/evaluation/features/custom/` +- `/docs/command-center/features/routing/` +- `/docs/command-center/features/guardrails/` +- `/docs/observe/features/alerts/` +- All `/docs/sdk/evals/` pages + +**Batch 4 — Built-in eval pages (80 pages)** +These likely have thin content. Optimize in bulk — they follow a consistent pattern so you can batch 3–5 per conversation if they're similar. + +**Batch 5 — Integration pages (50+ pages)** +These are mostly install-and-use guides for specific frameworks. Lower priority unless Search Console shows traffic. + +**Skip for now:** `/docs/api/*` (177 auto-generated pages) — these serve developers who already know what they're looking for; SEO value is low compared to editorial pages. + +--- + +## QC Checklist (after each batch) + +After every 10–20 pages committed, do a quick sanity check: + +- [ ] `pnpm build` passes — no MDX syntax errors +- [ ] No `[INVALID]` links (run `pnpm audit-links` or check `scripts/audit-links.mjs`) +- [ ] Page titles are all unique (check for "Overview | Future AGI Docs" duplicates) +- [ ] No description exceeds 160 characters +- [ ] No component was accidentally removed (grep for ``, `` in changed files) +- [ ] "Future AGI" is spelled correctly everywhere (not FutureAGI or future agi) +- [ ] "Agent Command Center" is used (not Prism) +- [ ] Code blocks are identical to original (git diff the `.mdx` files) + +--- + +## AEO / GEO Specific Notes + +### Answer Engine Optimization (AEO) +Claude and Perplexity already have access to your site (see `robots.txt` — ClaudeBot and PerplexityBot are explicitly allowed). For AEO, each page should: +- Answer one specific question directly in the `## About` section +- Use concrete numbers: "76+ metrics", "under 10ms", "45+ frameworks" +- Define terms on first use (AI crawlers surface these as answers) +- The BreadcrumbList JSON-LD is already in place — good + +### Generative Engine Optimization (GEO) +The site already has `/llms.txt` and `/llms-full.txt` — these are good. Per-page: use consistent terminology from the feature glossary; avoid synonyms for product names; structured data (TechArticle) is already on every page. + +--- + +## Known Issues to Fix (from SEO Audit) + +These are systemic fixes separate from page-by-page optimization: + +| Issue | Priority | Fix | +|-------|----------|-----| +| 15+ pages titled "Overview" | High | Batch rename via the project | +| 4+ pages titled "Quickstart" | High | Batch rename via the project | +| `og:type` is "website" not "article" | Medium | Fix in `BaseLayout.astro` line ~54 | +| No `datePublished` in JSON-LD | Low | Add to `BaseLayout.astro` — use file `birthtime` | +| No `FAQPage` schema on `/docs/faq/` | Medium | Add JSON-LD to `faq.mdx` | +| Sitemap has prism URLs not command-center | High | Rebuild after next deploy; verify sitemap output | +| Static OG image for all pages | Low | Out of scope for this project | +| `roles-and-permissions.mdx` missing description | Quick win | Add in 5 minutes | + +--- + +## Tips + +- **One page per conversation** — Claude's context is best when focused +- **Always paste the full MDX** — partial content produces incomplete output +- **Trust the components** — never ask Claude to rewrite component usage +- **Verify URLs** — if Claude references a URL not in `url-inventory.md`, flag it +- **Commit often** — small commits are easy to revert if something breaks +- **Use `pnpm build`** before pushing — Astro will catch MDX syntax errors at build time diff --git a/claude-project-setup/existing-seo-audit.md b/claude-project-setup/existing-seo-audit.md new file mode 100644 index 00000000..a705badd --- /dev/null +++ b/claude-project-setup/existing-seo-audit.md @@ -0,0 +1,283 @@ +# Existing SEO Audit + +Site: `https://docs.futureagi.com` +Audit date: 2026-05-05 +Pages audited: 605 + +--- + +## Title Tags + +### How titles are generated +- **Template:** `{frontmatter.title} | Future AGI Docs` +- Set in `src/layouts/BaseLayout.astro` line 65: `{title}` +- Title value is `frontmatter.title` + literal ` | Future AGI Docs` (appended by DocsLayout) +- There is no per-page override mechanism — if `frontmatter.title` is set, that's what you get + +### Title length analysis +Average frontmatter title: **~20–35 characters** before the suffix. +Full rendered `` with suffix adds 16 characters (` | Future AGI Docs`). + +| Title fragment (frontmatter) | Full `<title>` tag | Chars | +|---|---|---| +| `"Setup Observability"` | `Setup Observability \| Future AGI Docs` | 37 | +| `"SDKs"` | `SDKs \| Future AGI Docs` | 22 | +| `"Overview"` | `Overview \| Future AGI Docs` | 25 | +| `"Annotations"` | `Annotations \| Future AGI Docs` | 29 | +| `"GEPA: Evolutionary Prompt Optimization"` | `GEPA: Evolutionary Prompt Optimization \| Future AGI Docs` | 56 | +| `"Customer Agent Conversation Quality"` | `Customer Agent Conversation Quality \| Future AGI Docs` | 54 | + +**Issues found:** +- Many section **index pages use generic titles** like `"Overview"` — the full title becomes `Overview | Future AGI Docs` with no product context. At least 15+ pages have this issue (agent-playground/index, dataset/index, observe/index, optimization/index, prototype/index, simulation/index, prompt/index, etc.) +- The title `"Quickstart"` appears on multiple pages (annotations quickstart, command-center quickstart, etc.) — these produce **duplicate title tags** +- Some titles are **too short**: `"SDKs"`, `"Overview"`, `"FAQs"` — underusing the ~60 character budget +- Some titles may approach 70+ characters when suffix is added: `"GEPA: Evolutionary Prompt Optimization | Future AGI Docs"` = 56 chars (acceptable but close for longer ones) +- **No keyword-optimized titles** found — titles describe function, not search intent + +### Duplicate titles (confirmed) +| Title | Affected pages | +|-------|----------------| +| `Overview \| Future AGI Docs` | agent-playground, dataset, observe, optimization, prompt, prototype, simulation, knowledge-base, and others | +| `Quickstart \| Future AGI Docs` | annotations/quickstart, command-center/quickstart, and potentially others | + +--- + +## Meta Descriptions + +### How descriptions are generated +- Source: `frontmatter.description` field (optional) +- Set in `src/layouts/BaseLayout.astro` line 24: `<meta name="description" content={description} />` +- **Default fallback** (when description is missing): `"Future AGI Documentation - Build, evaluate, and optimize your AI applications"` +- No per-section defaults — all missing descriptions get the same global fallback + +### Coverage +From sampling ~30 pages across sections, description coverage is approximately: +- Pages **with** `description`: ~80% (estimated — most sampled pages had one) +- Pages **without** `description`: ~20% (notably `roles-and-permissions.mdx` confirmed missing; likely others in the built-in evals section and API endpoints section) + +### Description length analysis +| Page | Description | Chars | +|------|-------------|-------| +| /docs/quickstart/setup-observability/ | "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." | 149 | +| /docs/sdk/ | "Evaluate LLM outputs, trace AI calls, optimize prompts, and test voice agents. Python, TypeScript, Java, and C# supported." | 121 | +| /docs/evaluation/ | "Measure and compare quality of prompts and agents across datasets, simulations, and experiments." | 96 | +| /docs/annotations/ | "Add human feedback to your AI outputs with annotation labels, queues, and scores across traces, datasets, prototypes, and simulations." | 132 | +| /docs/observe/ | "Monitor and evaluate LLM applications in production with real-time tracing, session analysis, and alerting." | 107 | +| /docs/admin-settings/ | "Manage your account, organization, workspaces, API keys, integrations, billing, and team." | 89 | + +Average length (sampled): **~100–130 characters** — within acceptable range but several could be more specific. + +**Issues found:** +- Pages missing description get the **same generic fallback** — search results for all missing pages show identical snippet text +- `roles-and-permissions.mdx` confirmed missing description +- The 80+ **built-in eval pages** (toxicity, bias-detection, groundedness, etc.) likely have thin or auto-patterned descriptions — TODO: audit individually +- The 177 **API reference pages** likely have auto-generated descriptions following a formula — not differentiated for search + +### Confirmed missing descriptions +- `/docs/roles-and-permissions/` — no `description` field in frontmatter (confirmed) +- TODO: Audit all 80 built-in eval pages individually +- TODO: Audit all API endpoint pages individually + +--- + +## Structured Data (JSON-LD) + +### TechArticle (all pages) +Emitted by `src/layouts/BaseLayout.astro`: +```json +{ + "@context": "https://schema.org", + "@type": "TechArticle", + "headline": "<page title>", + "description": "<meta description>", + "url": "<canonical URL>", + "inLanguage": "en", + "dateModified": "<file mtime ISO 8601>", + "publisher": { + "@type": "Organization", + "name": "Future AGI", + "url": "https://futureagi.com", + "logo": { "@type": "ImageObject", "url": "https://docs.futureagi.com/og-image.png" } + }, + "isPartOf": { + "@type": "WebSite", + "name": "Future AGI Documentation", + "url": "https://docs.futureagi.com", + "potentialAction": { "@type": "SearchAction", ... } + } +} +``` + +**Present on:** All pages via BaseLayout +**`dateModified`:** Derived from `fs.statSync(filePath).mtime.toISOString()` — actual file modification time from the build server filesystem (not from git history — may reflect deployment timestamps, not authorship dates) + +### BreadcrumbList (all docs pages) +Emitted by `src/layouts/DocsLayout.astro`: +- Auto-generated from URL path segments +- Segments converted: `hyphens → spaces → Title Case` +- Last segment overridden with `frontmatter.title` +- Only links to breadcrumb items that have actual pages (checks filesystem) + +**Present on:** All pages using DocsLayout (all `/docs/*` pages) + +### Missing schema types +- No `FAQPage` schema on `/docs/faq/` +- No `HowTo` schema on quickstart/step-by-step pages +- No `SoftwareApplication` schema for the product itself +- No `APIReference` type for API endpoint pages + +--- + +## Canonical Tags + +- **Set by:** `src/layouts/BaseLayout.astro` line 31 +- **Format:** `<link rel="canonical" href={canonicalURL.href} />` +- **Value:** `new URL(Astro.url.pathname, Astro.site)` — automatically constructed from the current page URL and `site: 'https://docs.futureagi.com'` in `astro.config.mjs` +- **Trailing slash:** All URLs end with `/` — canonical matches actual URL format +- **Coverage:** 100% of pages (canonical is always set) +- **Issues:** None confirmed — canonicals look correct. However, if `prism/*` redirects point to `command-center/*`, verify canonical on redirect target is `command-center/*` not `prism/*` + +--- + +## Open Graph Tags + +Set in `src/layouts/BaseLayout.astro`: +```html +<meta property="og:title" content="{title}" /> +<meta property="og:description" content="{description}" /> +<meta property="og:type" content="website" /> +<meta property="og:url" content="{canonical URL}" /> +<meta property="og:image" content="https://docs.futureagi.com/og-image.png" /> +<meta property="og:site_name" content="Future AGI Docs" /> +``` + +**Issues:** +- `og:image` is a **single static image** for all 605 pages — no per-page OG images +- `og:type` is `"website"` for all pages — should be `"article"` for content pages +- `og:title` inherits the full `{title} | Future AGI Docs` format — same duplicate-title issues apply + +--- + +## Twitter Card Tags + +```html +<meta name="twitter:card" content="summary_large_image" /> +<meta name="twitter:title" content="{title}" /> +<meta name="twitter:description" content="{description}" /> +<meta name="twitter:image" content="https://docs.futureagi.com/og-image.png" /> +``` + +**Present on:** All pages +**Issues:** Same as OG — static image, no per-page customization. No `twitter:site` or `twitter:creator` tags set. + +--- + +## Sitemap + +- **File:** `/sitemap.xml` (committed to repo root) +- **Generator:** `@astrojs/sitemap` auto-generates during build +- **Sitemap index:** `https://docs.futureagi.com/sitemap-index.xml` (referenced in robots.txt) +- **URL count (committed file):** 484 URLs +- **Actual page count:** 605 files + +**Missing from committed sitemap (~120 URLs unaccounted for):** +- The sitemap appears to be from a prior build. Notably, the sitemap contains **`/docs/prism/*`** URLs (16 entries) but **no `/docs/command-center/*`** URLs — this is the opposite of what you want if prism redirects to command-center. +- TODO: Verify which pages are excluded from sitemap generation (Astro sitemap excludes redirect-only routes by default) +- TODO: After next build, confirm sitemap contains command-center URLs and excludes prism URLs (since prism pages are 301 redirects) + +**`<lastmod>` tags:** Not present in committed sitemap — all URLs have no modification date +**`<priority>` tags:** Not present — all pages treated equally +**`<changefreq>` tags:** Not present + +--- + +## robots.txt + +Generated dynamically from `src/pages/robots.txt.ts`: +``` +User-agent: * +Allow: / + +User-agent: GPTBot +Allow: / + +User-agent: ChatGPT-User +Allow: / + +User-agent: ClaudeBot +Allow: / + +User-agent: PerplexityBot +Allow: / + +User-agent: Applebot-Extended +Allow: / + +User-agent: GoogleOther +Allow: / + +Sitemap: https://docs.futureagi.com/sitemap-index.xml +``` + +**Assessment:** Well-configured. Explicitly allows AI crawlers — good for GEO. References sitemap-index.xml correctly. No pages are disallowed. + +--- + +## `lastmod` / `updated` Date Handling + +- **Per-page:** `dateModified` in `TechArticle` JSON-LD comes from `fs.statSync(filePath).mtime` — filesystem modification time at build time +- **Sitemap:** No `<lastmod>` tags in the current committed sitemap +- **In-page display:** No visible "last updated" date shown to users +- **Risk:** `mtime` from build server may not reflect true content authorship dates — a file touched during CI will get the CI timestamp, not the author's edit date + +--- + +## Pages Missing H1 + +In Astro MDX docs, the H1 is rendered from `frontmatter.title` by the DocsLayout (not written as `# Title` in the MDX body). The layout outputs the title as an `<h1>` element in the article header. + +**Result:** All pages using DocsLayout have an H1 rendered from the layout. Pages would only be missing an H1 if they used a custom layout that doesn't output the title — no such pages found in sampling. + +**However:** Several pages open with `## About` as the first heading in body content, which is correct per the style guide. + +TODO: Verify that index.astro (homepage) has an H1 — it uses a different layout. + +--- + +## Duplicate H1s Across the Site + +Multiple pages share the same `frontmatter.title` value, which means identical H1 text across different URLs: + +| H1 text | Affected pages (estimated) | +|---------|---------------------------| +| `Overview` | 10+ section index pages | +| `Quickstart` | 4+ pages across different sections | +| `Concepts` | Unknown — possible | + +This is a significant SEO issue: search engines may have difficulty differentiating pages with identical H1s at different URLs. + +--- + +## Pages With No Internal Outgoing Links + +From the style guide, all feature pages should have a "Next Steps" section with internal links. Overview pages should link to feature pages via CardGroup. + +**Likely candidates for no outgoing links:** +- Built-in evaluation pages (80 pages in `/docs/evaluation/builtin/`) — these may be short reference pages with no links to other sections +- API endpoint pages — these may describe a single endpoint with no navigation links +- TODO: Systematic audit needed — run `scripts/audit-links.mjs` and check for pages with zero internal `href` attributes + +--- + +## Other SEO Issues + +1. **Missing `<html lang="en">` alternate tags** — no `hreflang` (single-language site, so not critical) +2. **No RSS/Atom autodiscovery for main content** — `/feed.xml` exists but may not cover all pages +3. **`og:type` should be `article` not `website`** for doc pages +4. **No `author` meta tag** anywhere +5. **No `keywords` meta tag** (not critical for modern SEO but worth noting for AEO) +6. **Static OG image** for all 605 pages — missed opportunity for per-page visual differentiation +7. **`datePublished` missing** from JSON-LD `TechArticle` — only `dateModified` present +8. **No FAQ schema** on the `/docs/faq/` page +9. **API endpoint pages** lack `APIReference` or `TechArticle` schema fields that map to their endpoint structure +10. **Bing Webmaster Tools** verification meta tag is present (`msvalidate.01`) but **no Google Search Console** verification meta tag found diff --git a/claude-project-setup/feature-glossary.md b/claude-project-setup/feature-glossary.md new file mode 100644 index 00000000..6343e665 --- /dev/null +++ b/claude-project-setup/feature-glossary.md @@ -0,0 +1,132 @@ +# Feature Glossary + +Total: **15 core features**, **53+ integrations**, **2 naming inconsistencies** flagged. + +--- + +## Core Features + +### Simulate & Test + +- **Simulation** — Test voice and chat agents against synthetic customers before production. Runs thousands of multi-turn conversations with configurable personas and scenarios, records transcripts, and scores with evals. — appears in: [/docs/simulation/](/docs/simulation/), [/docs/simulation/features/run-simulation/](/docs/simulation/features/run-simulation/), [/docs/quickstart/running-evals-in-simulation/](/docs/quickstart/running-evals-in-simulation/) + +- **Prototype** — Pre-production A/B testing environment. Run multiple prompt/model versions side-by-side against real inputs; each version is traced and scored; "Choose Winner" flow promotes the best version to production. — appears in: [/docs/prototype/](/docs/prototype/), [/docs/prototype/features/choose-winner/](/docs/prototype/features/choose-winner/), [/docs/prototype/features/set-up-prototype/](/docs/prototype/features/set-up-prototype/) + +- **Agent Playground** — Visual drag-and-drop workflow builder for multi-step AI agents. Nodes are LLM calls or sub-agents; edges define data flow; versions snapshot the graph. No code required. — appears in: [/docs/agent-playground/](/docs/agent-playground/), [/docs/agent-playground/features/build-workflow/](/docs/agent-playground/features/build-workflow/), [/docs/agent-playground/features/run-and-monitor/](/docs/agent-playground/features/run-and-monitor/) + +- **Dataset** — Core data layer for evaluation and experimentation. Tables with static columns (uploaded data) and dynamic columns (generated by running prompts or evals). Supports CSV/JSON upload, SDK, production traces, and synthetic generation. — appears in: [/docs/dataset/](/docs/dataset/), [/docs/dataset/features/create/](/docs/dataset/features/create/), [/docs/sdk/datasets/](/docs/sdk/datasets/) + +- **Prompt Workbench** — Versioned prompt management system. Every edit creates a new version; prompts use variables for dynamic inputs at runtime; reusable across datasets, simulations, and experiments. — appears in: [/docs/prompt/](/docs/prompt/), [/docs/prompt/features/create-from-scratch/](/docs/prompt/features/create-from-scratch/), [/docs/prompt/features/sdk/](/docs/prompt/features/sdk/) + +### Evaluate + +- **Evaluation** — Quality measurement layer. 70+ built-in templates (quality, safety, hallucination, faithfulness, RAG, format, bias, audio, image). Three engines: local heuristics (<1ms), cloud Turing (~1–3s), LLM-as-Judge (~2–5s). Create custom evals; bundle into eval groups. — appears in: [/docs/evaluation/](/docs/evaluation/), [/docs/evaluation/features/evaluate/](/docs/evaluation/features/evaluate/), [/docs/evaluation/builtin/](/docs/evaluation/builtin/) + +- **Error Feed** — Sentry-style error tracking for AI agents. Automatically surfaces, groups, and triages errors in five categories: hallucinated outputs, tool misuse, broken workflows, safety violations, reasoning gaps. Scores traces on four quality dimensions (0–5 scale). — appears in: [/docs/error-feed/](/docs/error-feed/), [/docs/error-feed/features/the-feed/](/docs/error-feed/features/the-feed/), [/docs/error-feed/concepts/taxonomy/](/docs/error-feed/concepts/taxonomy/) + +- **Protect** — Real-time safety and policy enforcement. Screens model inputs/outputs for toxicity, hate speech, prompt injection, PII (names, emails, SSNs). Built on Google Gemma 3n with fine-tuned adapters. Covers text, image, and audio. — appears in: [/docs/protect/](/docs/protect/), [/docs/protect/features/run-protect/](/docs/protect/features/run-protect/), [/docs/sdk/protect/](/docs/sdk/protect/) + +- **Annotations** — Human-in-the-loop labeling system. Built on three primitives: Labels, Queues, Scores. Five label types: categorical, numeric, free-text, star rating, thumbs up/down. Supports managed queues, inline annotations, multi-annotator workflows, and export to datasets. — appears in: [/docs/annotations/](/docs/annotations/), [/docs/annotations/features/queues/](/docs/annotations/features/queues/), [/docs/annotations/quickstart/](/docs/annotations/quickstart/) + +- **Knowledge Base** — Document store for grounding synthetic data generation and evaluations. Supports FAQs, SOPs, manuals, product specs. Upload via UI or SDK. — appears in: [/docs/knowledge-base/](/docs/knowledge-base/), [/docs/knowledge-base/features/ui/](/docs/knowledge-base/features/ui/), [/docs/sdk/knowledgebase/](/docs/sdk/knowledgebase/) + +### Optimize & Observe + +- **Observe** — Production observability product. Real-time tracing of every LLM call, retrieval, and tool invocation. Groups by session and user; scores automatically; alerts when values cross thresholds; supports OpenTelemetry. — appears in: [/docs/observe/](/docs/observe/), [/docs/quickstart/setup-observability/](/docs/quickstart/setup-observability/), [/docs/observe/features/alerts/](/docs/observe/features/alerts/) + +- **Optimization** — Prompt improvement engine. Takes a prompt, runs it against data, scores outputs with evals, generates better variants iteratively. Six algorithms: Random Search, Bayesian, Meta-Prompt, ProTeGi, GEPA, PromptWizard. Available via UI and `agent-opt` Python SDK. — appears in: [/docs/optimization/](/docs/optimization/), [/docs/optimization/features/using-python-sdk/](/docs/optimization/features/using-python-sdk/), [/docs/optimization/optimizers/gepa/](/docs/optimization/optimizers/gepa/) + +- **Agent Command Center** — Unified API gateway for 100+ LLM providers. Drop-in replacement for OpenAI SDK (change `base_url` + `api_key`). Features: intelligent routing with fallbacks, safety guardrails, semantic caching, cost tracking, rate limiting, shadow experiments, full observability. Deployable as Go binary or Docker container. — appears in: [/docs/command-center/](/docs/command-center/), [/docs/command-center/features/routing/](/docs/command-center/features/routing/), [/docs/command-center/features/guardrails/](/docs/command-center/features/guardrails/) + +- **Falcon AI** — AI copilot embedded in the Future AGI dashboard. 300+ platform tools; multi-step execution up to 50 tool calls per turn; page-aware context detection; MCP Connectors for Linear, Slack, GitHub, Sentry; skill builder for custom slash commands. — appears in: [/docs/falcon-ai/](/docs/falcon-ai/), [/docs/falcon-ai/features/chat/](/docs/falcon-ai/features/chat/), [/docs/falcon-ai/features/mcp-connectors/](/docs/falcon-ai/features/mcp-connectors/) + +- **SDKs** — Multi-language developer SDK. Python (`ai-evaluation`, `futureagi`, `fi-instrumentation-otel`, `traceai-*`, `agent-opt`, `agent-simulate`), TypeScript (`@future-agi/ai-evaluation`, `@future-agi/sdk`, `@traceai/fi-core`), Java (tracing, 25+ instrumentors via JitPack), C# (tracing via NuGet). — appears in: [/docs/sdk/](/docs/sdk/), [/docs/sdk/evals/](/docs/sdk/evals/), [/docs/sdk/tracing/](/docs/sdk/tracing/) + +--- + +## Integrations + +### LLM Providers (TraceAI auto-instrumentation) + +- **OpenAI** — `traceai-openai` — appears in: [/docs/integrations/traceai/openai/](/docs/integrations/traceai/openai/), [/docs/tracing/auto/openai/](/docs/tracing/auto/openai/) +- **Anthropic** — `traceai-anthropic` — appears in: [/docs/integrations/traceai/anthropic/](/docs/integrations/traceai/anthropic/) +- **Google GenAI** — `traceai-google-genai` — appears in: [/docs/integrations/traceai/google_genai/](/docs/integrations/traceai/google_genai/) +- **Google Vertex AI** — `traceai-vertexai` — appears in: [/docs/integrations/traceai/vertexai/](/docs/integrations/traceai/vertexai/) +- **AWS Bedrock** — `traceai-bedrock` — appears in: [/docs/integrations/traceai/bedrock/](/docs/integrations/traceai/bedrock/) +- **Mistral AI** — `traceai-mistralai` — appears in: [/docs/integrations/traceai/mistralai/](/docs/integrations/traceai/mistralai/) +- **Groq** — `traceai-groq` — appears in: [/docs/integrations/traceai/groq/](/docs/integrations/traceai/groq/) +- **LiteLLM** — `traceai-litellm` — appears in: [/docs/integrations/traceai/litellm/](/docs/integrations/traceai/litellm/) +- **Ollama** — `traceai-ollama` — appears in: [/docs/integrations/traceai/ollama/](/docs/integrations/traceai/ollama/) +- **Portkey** — `traceai-portkey` — appears in: [/docs/integrations/traceai/portkey/](/docs/integrations/traceai/portkey/) +- **Together AI** — `traceai-togetherai` — appears in: [/docs/integrations/traceai/togetherai/](/docs/integrations/traceai/togetherai/) + +### Frameworks & Agents (TraceAI auto-instrumentation) + +- **LangChain** — `traceai-langchain` — appears in: [/docs/integrations/traceai/langchain/](/docs/integrations/traceai/langchain/) +- **LangGraph** — `traceai-langgraph` — appears in: [/docs/integrations/traceai/langgraph/](/docs/integrations/traceai/langgraph/) +- **LlamaIndex** — `traceai-llamaindex` — appears in: [/docs/integrations/traceai/llamaindex/](/docs/integrations/traceai/llamaindex/) +- **LlamaIndex Workflows** — `traceai-llamaindex-workflows` — appears in: [/docs/integrations/traceai/llamaindex-workflows/](/docs/integrations/traceai/llamaindex-workflows/) +- **CrewAI** — `traceai-crewai` — appears in: [/docs/integrations/traceai/crewai/](/docs/integrations/traceai/crewai/) +- **OpenAI Agents SDK** — `traceai-openai-agents` — appears in: [/docs/integrations/traceai/openai_agents/](/docs/integrations/traceai/openai_agents/) +- **Microsoft AutoGen** — `traceai-autogen` — appears in: [/docs/integrations/traceai/autogen/](/docs/integrations/traceai/autogen/) +- **HuggingFace SmolAgents** — `traceai-smolagents` — appears in: [/docs/integrations/traceai/smol_agents/](/docs/integrations/traceai/smol_agents/) +- **Google Agent Dev Kit (ADK)** — `traceai-google-adk` — appears in: [/docs/integrations/traceai/google_adk/](/docs/integrations/traceai/google_adk/) +- **DSPy** — `traceai-dspy` — appears in: [/docs/integrations/traceai/dspy/](/docs/integrations/traceai/dspy/) +- **Haystack** — `traceai-haystack` — appears in: [/docs/integrations/traceai/haystack/](/docs/integrations/traceai/haystack/) +- **Instructor** — `traceai-instructor` — appears in: [/docs/integrations/traceai/instructor/](/docs/integrations/traceai/instructor/) +- **Guardrails AI** — `traceai-guardrails` — appears in: [/docs/integrations/traceai/guardrails/](/docs/integrations/traceai/guardrails/) +- **MCP (Model Context Protocol)** — `traceai-mcp` — appears in: [/docs/integrations/traceai/mcp/](/docs/integrations/traceai/mcp/) +- **Vercel AI SDK** — `traceai-vercel` — appears in: [/docs/integrations/traceai/vercel/](/docs/integrations/traceai/vercel/) +- **Mastra** — `traceai-mastra` — appears in: [/docs/integrations/traceai/mastra/](/docs/integrations/traceai/mastra/) +- **PromptFlow** — `traceai-promptflow` — appears in: [/docs/integrations/traceai/promptflow/](/docs/integrations/traceai/promptflow/) +- **n8n** — `traceai-n8n` — appears in: [/docs/integrations/traceai/n8n/](/docs/integrations/traceai/n8n/) +- **Spring Boot / Spring AI** — Java tracing — appears in: [/docs/integrations/traceai/spring-boot/](/docs/integrations/traceai/spring-boot/) + +### Voice Integrations + +- **LiveKit** — `traceai-livekit` — Real-time voice agent tracing — appears in: [/docs/integrations/traceai/livekit/](/docs/integrations/traceai/livekit/) +- **Pipecat** — `traceai-pipecat` — Voice pipeline tracing — appears in: [/docs/integrations/traceai/pipecat/](/docs/integrations/traceai/pipecat/) +- **Vapi** — Voice observability via Observe (no SDK required) — appears in: [/docs/observe/voice/](/docs/observe/voice/) +- **Retell** — Voice observability via Observe (no SDK required) — appears in: [/docs/observe/voice/](/docs/observe/voice/) + +### Import + +- **Langfuse** — Import existing traces from Langfuse into Future AGI — appears in: [/docs/integrations/import/langfuse/](/docs/integrations/import/langfuse/), [/docs/tracing/manual/langfuse-integration/](/docs/tracing/manual/langfuse-integration/) + +### Export / Alerting + +- **Datadog** — Export metrics, logs to Datadog infra monitoring — appears in: [/docs/integrations/export/datadog/](/docs/integrations/export/datadog/) +- **PostHog** — Product analytics export — appears in: [/docs/integrations/export/posthog/](/docs/integrations/export/posthog/) +- **Mixpanel** — Product analytics export — appears in: [/docs/integrations/export/mixpanel/](/docs/integrations/export/mixpanel/) +- **PagerDuty** — Alert routing and incident management — appears in: [/docs/integrations/export/pagerduty/](/docs/integrations/export/pagerduty/) +- **Cloud Storage (S3/GCS/Azure Blob)** — Compliance archival export — appears in: [/docs/integrations/export/cloud-storage/](/docs/integrations/export/cloud-storage/) +- **Message Queues (SQS/Pub/Sub)** — Event streaming export — appears in: [/docs/integrations/export/message-queues/](/docs/integrations/export/message-queues/) + +--- + +## Optimization Algorithms + +- **Random Search** — Baseline optimizer; explores random prompt variants — appears in: [/docs/optimization/optimizers/random-search/](/docs/optimization/optimizers/random-search/) +- **Bayesian Search** — Probabilistic optimizer; learns from trials to pick better few-shot configurations — appears in: [/docs/optimization/optimizers/bayesian-search/](/docs/optimization/optimizers/bayesian-search/) +- **ProTeGi** — Prompt optimization with textual gradients; identifies failures and applies targeted fixes — appears in: [/docs/optimization/optimizers/protegi/](/docs/optimization/optimizers/protegi/) +- **Meta-Prompt** — Teacher LLM for reasoning-based prompt refinement through failure analysis — appears in: [/docs/optimization/optimizers/meta-prompt/](/docs/optimization/optimizers/meta-prompt/) +- **PromptWizard** — Multi-stage feedback-driven optimizer: mutation, critique, refinement — appears in: [/docs/optimization/optimizers/promptwizard/](/docs/optimization/optimizers/promptwizard/) +- **GEPA** — Genetic Pareto evolutionary algorithm; evolves prompts over generations — appears in: [/docs/optimization/optimizers/gepa/](/docs/optimization/optimizers/gepa/) + +--- + +## Evaluation Model References + +- **Turing Models** — Future AGI's cloud evaluation models. Referenced as `turing_flash` in SDK examples. Used for cloud evals requiring semantic understanding (not local heuristics). — appears in: [/docs/sdk/evals/cloud-evals/](/docs/sdk/evals/cloud-evals/), [/docs/evaluation/features/futureagi-models/](/docs/evaluation/features/futureagi-models/) + +- **TraceAI** — The auto-instrumentation library for LLM-specific OpenTelemetry spans (separate from the OTel core). Packages prefixed `traceai-*`. — appears in: [/docs/tracing/concepts/traceai/](/docs/tracing/concepts/traceai/), [/docs/sdk/tracing/](/docs/sdk/tracing/) + +--- + +## Naming Inconsistencies `[INCONSISTENT]` + +- **Agent Command Center** vs **Prism** `[INCONSISTENT]` — "Prism" (and "Prism AI Gateway") was the former name for Agent Command Center. Commit `bcc4251` added redirects from `/docs/prism/*` → `/docs/command-center/*`. The sitemap.xml in the repo still contains `prism` URLs instead of `command-center` URLs — this is an SEO issue. The correct current name is **Agent Command Center**. Search for "Prism" in docs to find any remaining stale references. + +- **FutureAGI** vs **Future AGI** `[INCONSISTENT]` — SDK package names use `futureagi` (lowercase, no space: `pip install futureagi`, `@future-agi/sdk`). Brand/product references use "Future AGI" (two words, capitalized). Docs use both forms depending on context. Keep consistent: use "Future AGI" in prose, `futureagi` only when referring to the Python package by name. + +- **Quickstart** vs **Quickstart** page titles `[INCONSISTENT]` — Multiple pages have the title `"Quickstart"` (e.g., `annotations/quickstart.mdx` and `quickstart/annotations.mdx` both have `title: "Quickstart"`). These are duplicate titles that will produce identical `<title>` tags, hurting SEO differentiation. diff --git a/claude-project-setup/platform-conventions.md b/claude-project-setup/platform-conventions.md new file mode 100644 index 00000000..742780f7 --- /dev/null +++ b/claude-project-setup/platform-conventions.md @@ -0,0 +1,384 @@ +# Platform Conventions + +## Docs Platform + +- **Framework:** Astro 5.16.3 (static site generation) +- **Content format:** `.mdx` (Markdown with JSX — all doc pages) +- **Site URL:** `https://docs.futureagi.com` +- **Package name:** `bustling-binary` (internal, version `0.0.1`) +- **No Mintlify, Docusaurus, or GitBook** — pure Astro + +### Key dependencies (from `package.json`) +| Package | Version | Purpose | +|---------|---------|---------| +| `astro` | ^5.16.3 | Framework | +| `@astrojs/mdx` | ^4.3.12 | MDX support | +| `@astrojs/react` | ^4.3.1 | React for interactive components | +| `@astrojs/sitemap` | ^3.6.0 | Auto sitemap generation | +| `tailwindcss` | ^4.1.17 | Styling | +| `shiki` | ^3.18.0 | Syntax highlighting | +| `pagefind` | ^1.4.0 | Static full-text search | +| `fuse.js` | ^7.1.0 | Fuzzy search | +| `@giscus/react` | ^3.1.0 | Comments | + +--- + +## File Format and Location + +- All documentation pages are **`.mdx`** files +- Located under `src/pages/docs/` (605 files total) +- Root-level special pages: `src/pages/docs/faq.mdx`, `installation.mdx`, `release-notes.mdx`, `roles-and-permissions.mdx`, `self-hosting.mdx` +- Homepage: `src/pages/index.astro` (Astro component, not MDX) +- Changelog: `src/pages/changelog.mdx` + +--- + +## Frontmatter Schema + +Defined in `src/content/config.ts` using Astro content collections with Zod: + +```typescript +const docs = defineCollection({ + type: 'content', + schema: z.object({ + title: z.string(), // required + description: z.string().optional(), + order: z.number().optional(), + badge: z.string().optional(), + }), +}); +``` + +### Field usage across the site + +| Field | Required | Observed frequency | Notes | +|-------|----------|-------------------|-------| +| `title` | Yes | 100% of pages | Used as H1 and `<title>` tag | +| `description` | No | ~80% of pages (estimated) | Used as `<meta name="description">` | +| `order` | No | Rare — sidebar sort order | Not widely used in sampled pages | +| `badge` | No | Rare — "Beta", "Deprecated" indicators | Not widely used in sampled pages | + +### Example frontmatter (typical page) +```yaml +--- +title: "Setup Observability" +description: "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." +--- +``` + +### Example frontmatter (minimal — only required field) +```yaml +--- +title: "Overview" +--- +``` + +**Note:** No `layout`, `sidebarTitle`, `slug`, `tags`, `keywords`, `noindex`, `canonical`, or `image` fields are in the schema. Those SEO fields do not currently exist at the page level. + +--- + +## Routing Rules + +Astro file-based routing — file path maps directly to URL: + +| File path | URL | +|-----------|-----| +| `src/pages/docs/index.mdx` | `/docs/` | +| `src/pages/docs/sdk/index.mdx` | `/docs/sdk/` | +| `src/pages/docs/sdk/tracing.mdx` | `/docs/sdk/tracing/` | +| `src/pages/docs/evaluation/builtin/toxicity.mdx` | `/docs/evaluation/builtin/toxicity/` | + +- All URLs get a trailing slash +- No base path prefix beyond `/docs/` for documentation +- No custom slug overrides (file name = URL slug) + +--- + +## Anchor ID Behavior + +- Auto-generated from heading text by Astro/MDX +- Heading `## My Feature Name` → anchor `#my-feature-name` (lowercase, spaces → hyphens) +- No manual anchor ID syntax in current use +- Table of Contents component (`src/components/TableOfContents.astro`) reads the `headings` prop passed from the layout + +--- + +## Custom MDX Components + +All 32 components live in `src/components/docs/`. Import in individual pages is **not required** — components are globally available via Astro's MDX configuration. + +### Content Callouts + +| Component | Usage | Example | +|-----------|-------|---------| +| `<Note>` | Informational callout | `<Note>This requires Python 3.10+.</Note>` | +| `<Tip>` | Helpful suggestion | `<Tip>You don't need to install dependencies manually.</Tip>` | +| `<Warning>` | Important caution | `<Warning>Deleting a queue is irreversible.</Warning>` | +| `<Callout>` | Generic callout (type prop: info/success/warning/error) | `<Callout type="info">...</Callout>` | +| `<TLDR>` | Summary block at top of page | `<TLDR>- Python: evals, tracing\n- TypeScript: evals</TLDR>` | +| `<Check>` | Checkmark icon inline | `<Check /> Passed` | +| `<Update>` | Changelog entry / release note callout | `<Update>Added in v2.1</Update>` | +| `<Tooltip>` | Inline tooltip on hover | `<Tooltip tip="Hover text">Term</Tooltip>` | +| `<Prerequisites>` | Prerequisites block before steps | `<Prerequisites>...</Prerequisites>` | + +### Code Blocks + +| Component | Usage | Example | +|-----------|-------|---------| +| `<CodeGroup titles={["Python","JS/TS"]}>` | Tabbed multi-language code block | Wraps multiple ` ```lang ``` ` fences | +| `<CodeBlock>` | Single code block with syntax highlighting | `<CodeBlock lang="python">...</CodeBlock>` | +| `<CodePanel>` | Individual panel inside CodeGroup | Used internally by CodeGroup | + +**Standard pattern for multi-language examples:** +```mdx +<CodeGroup titles={["Python", "JS/TS"]}> +```python Python +pip install ai-evaluation +``` +```bash JS/TS +npm install @future-agi/ai-evaluation +``` +</CodeGroup> +``` + +### Navigation & Layout + +| Component | Usage | Example | +|-----------|-------|---------| +| `<Card title="..." icon="..." href="...">` | Linked card with icon | Navigation cards at bottom of overview pages | +| `<CardGroup cols={2}>` | Grid of cards (cols: 2, 3, or 4) | `<CardGroup cols={2}><Card .../><Card .../></CardGroup>` | +| `<CardGrid>` | Alternative card grid | Less common than CardGroup | +| `<Tabs>` | Tab group container | `<Tabs><Tab title="Python">...</Tab></Tabs>` | +| `<Tab title="...">` | Individual tab | Inside `<Tabs>` | +| `<TabPanel>` | Tab content panel | Used internally | +| `<Accordion title="...">` | Collapsible section | `<Accordion title="Common errors">...</Accordion>` | +| `<AccordionGroup>` | Wrapper for multiple accordions | `<AccordionGroup>...</AccordionGroup>` | +| `<Expandable>` | Expandable content block | Less common alternative to Accordion | + +### Step-by-Step Guides + +| Component | Usage | +|-----------|-------| +| `<Steps>` | Container for numbered steps | +| `<Step title="...">` | Individual step — auto-numbered by CSS counter | + +**Standard pattern:** +```mdx +<Steps> + <Step title="Install the SDK"> + Content here... + <CodeGroup titles={["Python", "JS/TS"]}>... + </CodeGroup> + </Step> + <Step title="Configure"> + ... + </Step> +</Steps> +``` + +### API Documentation + +| Component | Props | Purpose | +|-----------|-------|---------| +| `<ApiPlayground>` | method, endpoint, baseUrl, parameters, requestBody, responseExample, responseStatus | Interactive API explorer with code generation (cURL, Python, JS, SDK) | +| `<ApiSection>` | title | Groups request/response fields | +| `<ApiEndpoint>` | method, path | Displays endpoint badge | +| `<ApiCollapsible>` | — | Collapsible API response fields | +| `<ApiExplorer>` | — | Full interactive API explorer | +| `<ParamField>` | name, type, required | Documents request parameter | +| `<ResponseField>` | name, type | Documents response field | + +**Standard API page pattern:** +```mdx +<ApiPlayground + method="POST" + endpoint="/v1/agent-definitions" + baseUrl="https://api.futureagi.com" + parameters={[...]} + requestBody={{...}} + responseExample={{...}} + responseStatus={201} +/> +``` + +### Utility Components + +| Component | Purpose | +|-----------|---------| +| `<Icon name="...">` | SVG icon from Heroicons set | +| `<CopyButton>` | Copy-to-clipboard button | + +--- + +## Meta Tag Setup + +Meta tags are generated in **two layouts** — not in frontmatter directly. + +### `src/layouts/BaseLayout.astro` +Generates all SEO/social tags from `title` and `description` props: + +```html +<title>{title} | Future AGI Docs + + + + + + + + + + + + + + + + +``` + +Also generates `TechArticle` JSON-LD with `dateModified` from file system mtime. + +### `src/layouts/DocsLayout.astro` +Wraps `BaseLayout`, passes `frontmatter.title` and `frontmatter.description`. +Also generates **BreadcrumbList JSON-LD** per page. + +**Title format:** `{frontmatter.title} | Future AGI Docs` + +**Default description** (when frontmatter `description` is missing): +`"Future AGI Documentation - Build, evaluate, and optimize your AI applications"` + +--- + +## Structured Data (JSON-LD) + +Two schema types are emitted on every docs page: + +### 1. TechArticle (from BaseLayout) +```json +{ + "@context": "https://schema.org", + "@type": "TechArticle", + "headline": "", + "description": "", + "url": "", + "inLanguage": "en", + "dateModified": "", + "publisher": { + "@type": "Organization", + "name": "Future AGI", + "url": "https://futureagi.com", + "logo": { "@type": "ImageObject", "url": "https://docs.futureagi.com/og-image.png" } + }, + "isPartOf": { + "@type": "WebSite", + "name": "Future AGI Documentation", + "url": "https://docs.futureagi.com", + "potentialAction": { "@type": "SearchAction", ... } + } +} +``` + +### 2. BreadcrumbList (from DocsLayout) +```json +{ + "@context": "https://schema.org", + "@type": "BreadcrumbList", + "itemListElement": [ + { "@type": "ListItem", "position": 1, "name": "Docs", "item": "https://docs.futureagi.com/docs" }, + { "@type": "ListItem", "position": 2, "name": "SDK", "item": "https://docs.futureagi.com/docs/sdk" }, + { "@type": "ListItem", "position": 3, "name": "SDKs", "item": "https://docs.futureagi.com/docs/sdk/" } + ] +} +``` + +--- + +## Sitemap + +- **Location:** `sitemap.xml` at repo root (committed artifact) +- **Generator:** `@astrojs/sitemap` integration — auto-generated during `pnpm build` +- **Sitemap index:** `sitemap-index.xml` (referenced in robots.txt) +- **Format:** Standard XML Sitemap Protocol +- **No `` or `` tags** in current entries +- **Count:** 484 URLs in current committed sitemap + +--- + +## robots.txt + +Dynamically generated from `src/pages/robots.txt.ts`: + +``` +User-agent: * +Allow: / + +User-agent: GPTBot +Allow: / + +User-agent: ChatGPT-User +Allow: / + +User-agent: ClaudeBot +Allow: / + +User-agent: PerplexityBot +Allow: / + +User-agent: Applebot-Extended +Allow: / + +User-agent: GoogleOther +Allow: / + +Sitemap: https://docs.futureagi.com/sitemap-index.xml +``` + +AI crawlers are **explicitly allowed** — this is intentional GEO (Generative Engine Optimization) configuration. + +--- + +## Additional Special Files + +| File | URL | Purpose | +|------|-----|---------| +| `src/pages/llms.txt.ts` | `/llms.txt` | LLM-friendly plain-text doc index | +| `src/pages/llms-full.txt.ts` | `/llms-full.txt` | Full content for LLM indexing | +| `src/pages/feed.xml.ts` | `/feed.xml` | RSS feed for aggregators and AI crawlers | +| `src/pages/search-data.json.ts` | `/search-data.json` | Pagefind search index | +| `src/pages/robots.txt.ts` | `/robots.txt` | Dynamic robots file | + +--- + +## Style Guide Summary + +From `STYLE-GUIDE.md` in repo root — three page types: + +### Overview Pages +- `## About` heading first (plain language, no marketing) +- Optional concept sections +- Cross-links to related features +- Getting Started `` at bottom +- No code examples, no UI screenshots + +### Concept Pages +- `## About` with examples or diagrams +- "When to use" section +- Concept-specific sections with tables +- No step-by-step instructions + +### Feature Pages +- `## About` (1–2 sentences max) +- Steps/configuration using ``, ``, or tables +- Code examples (required for SDK usage — use `` for Python/TypeScript/cURL) +- Screenshots where relevant +- Next Steps links at bottom + +### Writing Rules (from STYLE-GUIDE.md) +- First heading must be `## About` +- No em-dashes in prose +- No excessive bold or marketing language +- Specific, verifiable claims only +- All internal links must resolve +- Code examples must be complete and copy-pasteable +- Use ``, ``, `` sparingly — one per logical section at most diff --git a/claude-project-setup/project-instructions.md b/claude-project-setup/project-instructions.md new file mode 100644 index 00000000..1efd1858 --- /dev/null +++ b/claude-project-setup/project-instructions.md @@ -0,0 +1,278 @@ +# Claude Project Instructions + +_Paste this text verbatim into the "Custom Instructions" field when creating your Claude Project._ + +--- + +## Product Context + +**Product name:** Future AGI +**Docs site:** https://docs.futureagi.com +**Company:** Future AGI (futureagi.com) +**Framework version:** Astro 5.16.3 (NOT Mintlify, Docusaurus, or Next.js) +**Docs format:** MDX (Markdown with JSX — file extension `.mdx`) +**SDK version:** Package version is `0.0.1` in package.json (the product itself does not publish a single semantic version; each package is versioned independently: `ai-evaluation`, `futureagi`, `fi-instrumentation-otel`, etc.) + +### Key packages (Python) +- `pip install ai-evaluation` — 76+ local evals, 100+ cloud templates, guardrails +- `pip install futureagi` — datasets, prompt versioning, knowledge bases +- `pip install fi-instrumentation-otel` — OpenTelemetry tracing core +- `pip install traceai-` — auto-instrumentation (e.g., `traceai-openai`, `traceai-langchain`) +- `pip install agent-opt` — prompt optimization (6 algorithms) +- `pip install agent-simulate` — voice AI simulation testing + +### Key packages (TypeScript) +- `npm install @future-agi/ai-evaluation` +- `npm install @future-agi/sdk` +- `npm install @traceai/fi-core` +- `npm install @traceai/openai` (and other `@traceai/*` instrumentors) + +--- + +## Docs Platform & File Format + +- **File format:** `.mdx` — Markdown with JSX components +- **Doc root:** `src/pages/docs/` +- **URL pattern:** File path → URL directly. `src/pages/docs/sdk/tracing.mdx` → `/docs/sdk/tracing/` +- **All URLs have trailing slashes** +- **No base path prefix** — docs are at `/docs/` not `/v2/docs/` or similar + +### Frontmatter schema (the only valid fields) +```yaml +--- +title: "Page Title" # required — becomes

and tag +description: "..." # optional but important — becomes <meta description> +order: 1 # optional — sidebar sort order +badge: "Beta" # optional — visual badge label +--- +``` + +**Do not invent or add frontmatter fields** that don't exist in the schema (`keywords`, `tags`, `sidebarTitle`, `slug`, `noindex`, `image`, `author`, `canonical` are all absent from the schema and will be ignored or cause errors). + +### Title tag format +Every page renders: `{frontmatter.title} | Future AGI Docs` +The suffix ` | Future AGI Docs` is added by the layout — do NOT include it in the frontmatter title itself. + +### Meta description source +`frontmatter.description` → `<meta name="description">`. If missing, all pages fall back to: `"Future AGI Documentation - Build, evaluate, and optimize your AI applications"`. Pages missing `description` lose the ability to differentiate in search results. + +--- + +## Custom MDX Components + +These components are globally available in all `.mdx` files — **no import statement required**. Never invent component names; use exactly these: + +### Callouts +```mdx +<Note>Important information that users must know.</Note> +<Tip>Helpful suggestion that improves their experience.</Tip> +<Warning>Critical caution — may cause data loss or breakage.</Warning> +<TLDR> +- Bullet summary at the top of the page +- Short, scannable, 3-5 items max +</TLDR> +<Prerequisites> +- Python 3.10+ +- FI_API_KEY and FI_SECRET_KEY set +</Prerequisites> +``` + +### Code (multi-language) +```mdx +<CodeGroup titles={["Python", "JS/TS"]}> +```python Python +pip install ai-evaluation +``` +```bash JS/TS +npm install @future-agi/ai-evaluation +``` +</CodeGroup> +``` + +Use `<CodeGroup>` for ANY code example that has a Python AND a TypeScript/JavaScript variant. This is required for all SDK usage examples. + +### Steps +```mdx +<Steps> + <Step title="Install the SDK"> + Content here... + <CodeGroup titles={["Python", "JS/TS"]}>...</CodeGroup> + </Step> + <Step title="Configure"> + ... + </Step> +</Steps> +``` + +### Cards & Navigation +```mdx +<CardGroup cols={2}> + <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> + One-sentence description. + </Card> + <Card title="Tracing" icon="eye" href="/docs/sdk/tracing"> + One-sentence description. + </Card> +</CardGroup> +``` + +### Tabs +```mdx +<Tabs> + <Tab title="Python"> + Content... + </Tab> + <Tab title="TypeScript"> + Content... + </Tab> +</Tabs> +``` + +### Accordion +```mdx +<AccordionGroup> + <Accordion title="Getting an error? Check these common issues"> + Content... + </Accordion> +</AccordionGroup> +``` + +### API Documentation (for API reference pages only) +```mdx +<ApiPlayground method="POST" endpoint="/v1/..." /> +<ApiSection title="Request Body"> + <ParamField name="project_name" type="string" required>Description.</ParamField> +</ApiSection> +<ResponseField name="id" type="string">Description.</ResponseField> +``` + +--- + +## Page Structure Rules + +All pages follow one of three structures defined in `STYLE-GUIDE.md`: + +### Overview Pages (section index pages) +1. Frontmatter (`title`, `description`) +2. `## About` — 2–4 sentences, plain language, no marketing +3. Optional: concept/architecture sections with tables +4. `<CardGroup>` of links to sub-pages +5. NO code examples, NO step-by-step instructions + +### Concept Pages +1. Frontmatter +2. `## About` — with examples or diagrams +3. "When to use" or "How it works" section +4. Concept-specific sections with tables +5. Next Steps links + +### Feature Pages +1. Frontmatter +2. `## About` — 1–2 sentences max +3. Steps/configuration using `<Steps>`, `<Tabs>`, or tables +4. Complete code examples (use `<CodeGroup>` for Python/TypeScript/cURL) +5. Screenshots where relevant +6. Next Steps section with internal links + +--- + +## Tone & Writing Rules + +- **Terse, pro-developer tone** — Assume the reader is a software engineer. No hand-holding. +- **No marketing language** — Never use: "powerful", "cutting-edge", "revolutionary", "best-in-class", "next-generation", "state-of-the-art" +- **No em-dashes** in prose (use `--` if needed, or restructure the sentence) +- **No excessive bold** — Bold only proper nouns, UI element names, and key technical terms +- **First heading in body must be `## About`** — this is a hard requirement +- **Active voice** — "Run the command" not "The command should be run" +- **Specific, verifiable claims** — "76+ local metrics" not "many metrics" +- **No vague statements** — "under 10ms" not "fast" or "low-latency" +- **Complete code examples** — every snippet must be runnable as-is +- **Correct product name:** "Future AGI" (two words, both capitalized) — NOT "FutureAGI", "future agi", or "Future-AGI" +- **Correct feature name:** "Agent Command Center" — NOT "Prism", "Prism AI Gateway", or "command center" + +--- + +## Product Features & Naming (authoritative list) + +Use these exact names: + +| Correct Name | Never Use | +|-------------|-----------| +| Future AGI | FutureAGI (except in package names: `futureagi`) | +| Agent Command Center | Prism, Prism AI Gateway, Command Center | +| Observe | Observability module, Trace viewer | +| Prototype | A/B testing tool, experimentation | +| Simulation | Simulation testing, agent testing | +| Error Feed | Error tracking, issue tracker | +| Falcon AI | AI copilot, assistant | +| Annotations | HITL, labeling tool | +| Prompt Workbench | Prompt editor, prompt manager | +| TraceAI | traceai (ok in code), trace AI | +| Turing models | turing (ok in code references like `turing_flash`) | + +--- + +## URL Rules + +- All internal links must use the format `/docs/section/page/` (trailing slash, leading slash) +- **Never invent URLs** — only link to pages that exist in the URL inventory +- Base domain is `https://docs.futureagi.com` — do not include domain in internal links +- App URLs: `https://app.futureagi.com` (not docs) +- API base URL: `https://api.futureagi.com` + +--- + +## SEO Optimization Output Format + +When optimizing a page, output the following and NOTHING ELSE: + +``` +## Optimized Frontmatter + +--- +title: "..." +description: "..." +--- + +## Optimized Body + +[full MDX content here] +``` + +### Title optimization rules +- 40–60 characters in the frontmatter field (excluding the ` | Future AGI Docs` suffix added by layout) +- Include the primary keyword naturally — do not keyword-stuff +- Be specific: use "Detect Hallucination in LLM Outputs" not just "Hallucination" +- Do not repeat "Future AGI" in the title — it's in the suffix already + +### Description optimization rules +- 120–155 characters +- Include primary keyword and 1–2 secondary keywords naturally +- Answer: what does this page teach? What problem does it solve? +- Do not start with "This page", "Learn how to", or the page title +- End with a concrete benefit or outcome + +### Body optimization rules +- Keep all `<CodeGroup>`, `<Steps>`, `<Note>`, `<Tip>`, `<Warning>`, `<Card>`, `<CardGroup>`, `<Tabs>`, `<Accordion>`, `<ApiPlayground>`, `<ParamField>`, `<ResponseField>` components exactly as-is +- **Never modify, remove, or rewrite code blocks** +- Add semantically relevant H2/H3 headings where content can be sub-divided +- First heading in body must remain `## About` +- Use natural language that answers questions a developer would ask (AEO focus) +- Add a definition or context sentence for technical terms on first use +- Keep existing internal links; add 2–3 contextually relevant internal links if missing +- Do not add external links unless they already exist in the original + +--- + +## Hard Rules + +1. **Never invent features, versions, or capabilities** that aren't documented in the repo +2. **Never invent URLs** — only reference paths from the URL inventory +3. **Preserve all code blocks exactly** — character-for-character, including whitespace and comments +4. **Preserve all component usage** — don't replace `<Steps>` with a numbered list, etc. +5. **No new files** — only optimize the content of the MDX file given to you +6. **No structural changes** — if the page uses Steps, keep Steps; if it uses Tabs, keep Tabs +7. **Frontmatter fields only** — only set `title`, `description`, `order`, `badge` +8. **No hallucinated integrations** — only reference integrations that exist at `/docs/integrations/` +9. **Respect the style guide** — first heading is `## About`, no marketing language, no em-dashes +10. **Do not add "Updated:" or "Last modified:" text** — dates are handled by the layout automatically diff --git a/claude-project-setup/style-examples.md b/claude-project-setup/style-examples.md new file mode 100644 index 00000000..f3812ad3 --- /dev/null +++ b/claude-project-setup/style-examples.md @@ -0,0 +1,407 @@ +# Style Examples + +Three pages that best represent the documentation's ideal style: clear structure, terse developer tone, useful tables and code examples, no marketing fluff. + +--- + +## Example 1: `/docs/sdk/` — SDKs Overview + +**Why it's good:** The language-support table up front answers "what can I do in my language?" in 10 seconds. TLDR block handles scanners. Dependency graph using ASCII art is precise and eliminates "do I need to install X separately?" confusion. Tab components let readers self-select their language without reading irrelevant content. Zero marketing language — it's entirely functional. + +```mdx +--- +title: "SDKs" +description: "Evaluate LLM outputs, trace AI calls, optimize prompts, and test voice agents. Python, TypeScript, Java, and C# supported." +--- + +<TLDR> +- **Python:** evals, tracing, datasets, prompts, optimization, simulation +- **TypeScript:** evals, tracing, datasets, prompts +- **Java / C#:** tracing +- `pip install ai-evaluation` or `npm install @future-agi/ai-evaluation` to get started +</TLDR> + +Future AGI is a set of packages that evaluate LLM outputs, trace calls across your stack, optimize prompts, and load-test voice agents. Install what you need, skip what you don't. + +## Language Support + +| Module | Python | TypeScript | Java | C# | +|--------|--------|------------|------|----| +| Evaluations | Full | Full | — | — | +| Tracing | Full (45+) | Full (40+) | Full (25+) | Full | +| Datasets | Full | Full | — | — | +| Prompts | Full | Full | — | — | +| Prompt Optimization | Full | — | — | — | +| Simulation | Full | — | — | — | + +## Quickstart + +<Tabs> + <Tab title="Python"> + ```bash + pip install ai-evaluation + ``` + + Requires Python 3.10+. This also installs `futureagi` ([datasets](/docs/sdk/datasets), [prompts](/docs/sdk/datasets), [knowledge bases](/docs/sdk/knowledgebase)) automatically. + + ```bash + export FI_API_KEY="your-api-key" + export FI_SECRET_KEY="your-secret-key" + ``` + + ```python + from fi.evals import evaluate + + # Local metric — no API key needed + result = evaluate("contains", output="Hello world", keyword="Hello") + print(result.score) # 1.0 + print(result.passed) # True + + # Cloud metric — needs FI_API_KEY and FI_SECRET_KEY + result = evaluate("toxicity", output="Hello world", model="turing_flash") + print(result.score) # 1.0 + print(result.passed) # True + ``` + + Want tracing too? Add the instrumentor for your provider: + + ```bash + pip install fi-instrumentation-otel traceai-openai + ``` + </Tab> + <Tab title="TypeScript"> + ```bash + npm install @future-agi/ai-evaluation + ``` + + ```bash + export FI_API_KEY="your-api-key" + export FI_SECRET_KEY="your-secret-key" + ``` + + ```typescript + import { Evaluator, Tone } from "@future-agi/ai-evaluation"; + + const evaluator = new Evaluator(); + + const result = await evaluator.evaluate({ + evalTemplates: [new Tone()], + inputs: [{ + query: "Write a professional email", + response: "Dear Sir/Madam, I hope this message finds you well..." + }], + modelName: "turing_flash" + }); + + console.log(result); + ``` + </Tab> + <Tab title="Java"> + Java support covers tracing only. 25+ instrumentors including Spring AI and LangChain4j. + + ```xml + <!-- Maven — add the JitPack repository --> + <repository> + <id>jitpack.io</id> + <url>https://jitpack.io</url> + </repository> + + <dependency> + <groupId>com.github.future-agi.traceAI</groupId> + <artifactId>traceai-java-openai</artifactId> + <version>LATEST</version> + </dependency> + ``` + + See the [Tracing docs](/docs/sdk/tracing) for setup instructions. + </Tab> + <Tab title="C#"> + C# support covers tracing only. + + ```bash + dotnet add package fi-instrumentation-otel + ``` + + See the [Tracing docs](/docs/sdk/tracing) for setup instructions. + </Tab> +</Tabs> + +<AccordionGroup> + <Accordion title="Getting an error? Check these common issues"> + **`ModuleNotFoundError: No module named 'fi'`** — The package is called `ai-evaluation`, not `future-agi` or `futureagi-sdk`: + ```bash + pip install ai-evaluation + ``` + + **`AuthenticationError`** — Both `FI_API_KEY` and `FI_SECRET_KEY` must be set. The API key alone is not enough. + + **`Python version error`** — `ai-evaluation` requires Python 3.10+. Check with `python --version`. + </Accordion> +</AccordionGroup> + +## Packages + +### Python + +Six packages, each installable independently: + +| Package | Install | What it does | Python | +|---------|---------|--------------|--------| +| **futureagi** | `pip install futureagi` | Datasets, prompt versioning, knowledge bases | 3.9+ | +| **ai-evaluation** | `pip install ai-evaluation` | 76+ local metrics + 100+ cloud templates, guardrails, streaming eval | 3.10+ | +| **fi-instrumentation-otel** | `pip install fi-instrumentation-otel` | OpenTelemetry tracing for AI apps | 3.9+ | +| **traceai-\*** | `pip install traceai-openai` | Auto-instrumentation for 45+ frameworks | 3.9+ | +| **agent-opt** | `pip install agent-opt` | Prompt optimization (6 algorithms) | 3.10+ | +| **agent-simulate** | `pip install agent-simulate` | Simulate voice AI agents at scale | 3.10+ | + +``` +futureagi ← standalone base layer + └── ai-evaluation ← installs futureagi automatically + └── agent-opt ← installs ai-evaluation automatically + +fi-instrumentation-otel ← standalone tracing layer + ├── traceai-* ← each installs fi-instrumentation-otel + └── agent-simulate ← installs fi-instrumentation-otel +``` + +<Tip> + You don't need to install dependencies manually. `pip install ai-evaluation` gives you `futureagi` too. `pip install traceai-openai` gives you `fi-instrumentation-otel` too. +</Tip> +``` + +--- + +## Example 2: `/docs/quickstart/setup-observability/` — Setup Observability + +**Why it's good:** Steps component turns a multi-step setup into a linear, unambiguous workflow. Every step has a concrete, copy-pasteable code block in Python and TypeScript. Configuration parameters are documented inline after the code — no hunting. The final step tells you exactly what to look at in the dashboard, not just "you're done." Description is specific and keyword-rich. + +```mdx +--- +title: "Setup Observability" +description: "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." +--- + +## About + +**Observe** is Future AGI's observability product. It gives you full visibility into how your AI application behaves in production by capturing every LLM call, tool use, and agent decision as a trace. You can monitor performance, detect anomalies, track costs, and debug issues without changing your application logic. + +Observe supports auto-instrumentation for OpenAI, Anthropic, LangChain, LlamaIndex, CrewAI and [30+ other frameworks](/docs/integrations). By the end of this guide, you'll have traces flowing into your Future AGI dashboard. + +--- + +<Steps> + <Step title="Install the SDK"> + Install the Future AGI instrumentation package and the OpenAI integration (used in this example). + + <CodeGroup titles={["Python", "JS/TS"]}> + ```bash Python + pip install fi-instrumentation traceAI-openai openai + ``` + + ```bash JS/TS + npm install @traceai/fi-core @traceai/openai openai + ``` + </CodeGroup> + </Step> + <Step title="Configure Your Environment"> + Set up your environment variables to connect to Future AGI. Get your API keys [here](https://app.futureagi.com/dashboard/keys). + + <CodeGroup titles={["Python", "JS/TS"]}> + ```python Python + import os + os.environ["FI_API_KEY"] = "YOUR_API_KEY" + os.environ["FI_SECRET_KEY"] = "YOUR_SECRET_KEY" + os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY" + ``` + + ```typescript JS/TS + process.env.FI_API_KEY = "YOUR_API_KEY"; + process.env.FI_SECRET_KEY = "YOUR_SECRET_KEY"; + process.env.OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"; + ``` + </CodeGroup> + </Step> + <Step title="Register Your Observe Project"> + Register your project with the necessary configuration. + + <CodeGroup titles={["Python", "JS/TS"]}> + ```python Python + from fi_instrumentation import register, Transport + from fi_instrumentation.fi_types import ProjectType + + trace_provider = register( + project_type=ProjectType.OBSERVE, + project_name="my-llm-app", + transport=Transport.GRPC, + ) + ``` + + ```typescript JS/TS + import { register, ProjectType } from "@traceai/fi-core"; + + const traceProvider = register({ + project_type: ProjectType.OBSERVE, + project_name: "my-llm-app", + }); + ``` + </CodeGroup> + + **Configuration Parameters:** + - **project_type**: Set as `ProjectType.OBSERVE` for observe + - **project_name**: A descriptive name for your project + - **transport** (optional): Set the transport for your traces. The available options are `GRPC` and `HTTP`. + </Step> + <Step title="Instrument and Run"> + There are 2 ways to implement tracing in your project: + + 1. **Auto Instrumentor**: Automatically captures all LLM calls. Recommended for most use cases. + 2. **Manual Tracing**: Gives you full control over what gets traced using OpenTelemetry. [Learn more](/docs/observe/features/manual-tracing/set-up-tracing) + + Here's a complete example using auto-instrumentation with OpenAI: + + <CodeGroup titles={["Python", "JS/TS"]}> + ```python Python + from traceai_openai import OpenAIInstrumentor + from openai import OpenAI + + # Enable auto-instrumentation + OpenAIInstrumentor().instrument(tracer_provider=trace_provider) + + # Use OpenAI as normal + client = OpenAI() + + completion = client.chat.completions.create( + model="gpt-4o", + messages=[{"role": "user", "content": "Write a one-sentence bedtime story about a unicorn."}] + ) + + print(completion.choices[0].message.content) + ``` + + ```typescript JS/TS + import { OpenAIInstrumentation } from "@traceai/openai"; + import { OpenAI } from "openai"; + + const openaiInstrumentation = new OpenAIInstrumentation({ + tracerProvider: traceProvider, + }); + + const client = new OpenAI(); + + const completion = await client.chat.completions.create({ + model: "gpt-4o", + messages: [{ role: "user", content: "Write a one-sentence bedtime story about a unicorn." }], + }); + + console.log(completion.choices[0].message.content); + ``` + </CodeGroup> + </Step> + <Step title="View Your Traces"> + Open your [Future AGI dashboard](https://app.futureagi.com) and navigate to the **Observe** tab. You should see your project listed with the trace from the OpenAI call above. + + Each trace shows the full request and response, latency, token usage, and cost. From here you can set up alerts, track sessions, and add inline evaluations. + </Step> +</Steps> + +<div class="docs-section-title">Next Steps</div> + +- [Add more integrations](/docs/integrations) for Anthropic, LangChain, LlamaIndex, and others +- [Set up manual tracing](/docs/observe/features/manual-tracing/set-up-tracing) for custom spans and attributes +- [Add inline evaluations](/docs/observe/features/manual-tracing/in-line-evals) to evaluate traces as they come in +``` + +--- + +## Example 3: `/docs/annotations/` — Annotations Overview + +**Why it's good:** The three-primitives table (Labels / Queues / Scores) gives readers an instant mental model before they dive into feature pages. Supported source types as a table with raw entity names (`trace`, `observation_span`) respects developer intelligence — no hand-wavy abstractions. Key capabilities use a tight bullet list, not paragraphs. The use-case table maps real-world tasks to concrete label types and examples in one glance. + +```mdx +--- +title: "Annotations" +description: "Add human feedback to your AI outputs with annotation labels, queues, and scores across traces, datasets, prototypes, and simulations." +--- + +## About + +Annotations are human labels applied to AI outputs -- traces, spans, sessions, dataset rows, prototype runs, and simulation executions. They capture subjective judgments (sentiment, quality, helpfulness) and factual assessments (correctness, safety, relevance) that automated evals alone cannot provide. + +Human-in-the-loop (HITL) feedback is essential for GenAI systems because: + +- **Quality control** -- Catch hallucinations, off-topic responses, and policy violations before they reach users. +- **Feedback loops** -- Route human judgments back into prompt tuning, guardrail configuration, and model selection. +- **Fine-tuning data** -- Build high-quality labeled datasets from production traffic to improve your models. +- **Safety and compliance** -- Document human review for regulated or high-stakes use cases. + +## Architecture + +Annotations are built on three primitives: + +| Primitive | Purpose | +|-----------|---------| +| **Labels** | Reusable annotation templates (categorical, numeric, text, star rating, thumbs up/down) shared across your organization. | +| **Queues** | Managed annotation campaigns that assign items to annotators, track progress, and enforce review workflows. | +| **Scores** | The unified data record created each time an annotator (or automation) applies a label to a source. | + +Labels define *what* you measure. Queues organize *how* the work gets done. Scores store *every individual annotation*. + +## Supported source types + +| Source Type | Description | +|-------------|-------------| +| `trace` | An LLM trace from Observe | +| `observation_span` | A specific span within a trace | +| `trace_session` | A conversation session (group of traces) | +| `dataset_row` | A row in a dataset | +| `call_execution` | A simulation call execution | +| `prototype_run` | A prototype/experiment run | + +## How it works + +The typical annotation workflow follows three steps: + +1. **Define labels** -- Create the annotation templates your team will use (e.g. a "Sentiment" categorical label or a "Quality" star rating). +2. **Set up a queue** -- Build an annotation campaign by choosing labels, adding annotators, and configuring assignment rules. +3. **Annotate and review** -- Add items (traces, dataset rows, etc.) to the queue. Annotators score each item. Reviewers optionally approve results. + +Annotations can also be created **inline** -- directly from any trace, session, or dataset view -- without a queue, for ad-hoc feedback. + +## Key capabilities + +- **5 label types** -- Categorical, numeric, free-text, star rating, and thumbs up/down to cover any feedback need. +- **Managed queues** -- Round-robin, load-balanced, or manual assignment strategies with reservation timeouts. +- **Inline annotations** -- Annotate directly from trace detail, session grid, or dataset views without opening a queue. +- **Multi-annotator support** -- Require 1-10 annotators per item for inter-annotator agreement. +- **Review workflows** -- Route completed items through a reviewer before finalizing. +- **Export to dataset** -- Turn annotated data into training or eval datasets. +- **Python and JS SDK** -- Create labels, manage queues, and submit scores programmatically. + +## Common use cases + +| Use Case | Label Type | Example | +|----------|------------|---------| +| Sentiment classification | Categorical | Positive / Negative / Neutral | +| Factual accuracy | Thumbs up/down | Correct vs. hallucinated | +| Toxicity screening | Categorical | Safe / Borderline / Toxic | +| Response relevance | Numeric (1-10) | How relevant was the answer? | +| Grammar and style | Text | Free-form correction notes | +| Prompt A vs. B comparison | Star rating | Rate each variant 1-5 stars | + +## Get started + +<CardGroup cols={2}> + <Card title="Quickstart" icon="rocket" href="/docs/annotations/quickstart"> + Create a label, set up a queue, and annotate your first item in 5 minutes. + </Card> + <Card title="Annotation Labels" icon="tags" href="/docs/annotations/features/labels"> + Understand the five label types and when to use each one. + </Card> + <Card title="Queues & Workflow" icon="list-check" href="/docs/annotations/features/queues"> + Learn how queues organize work with assignment strategies and review workflows. + </Card> + <Card title="Scores" icon="chart-simple" href="/docs/annotations/concepts/scores"> + Dive into the unified Score model that powers all annotation data. + </Card> +</CardGroup> +``` diff --git a/claude-project-setup/top-pages-template.md b/claude-project-setup/top-pages-template.md new file mode 100644 index 00000000..984cf0cf --- /dev/null +++ b/claude-project-setup/top-pages-template.md @@ -0,0 +1,338 @@ +# Top Pages Template + +Fill in **Monthly Visits** and **Position** from Google Search Console or Google Analytics. +Priority column is pre-filled based on section importance and page type. + +Prioritization key: +- **P1** — Core product entry points, quickstarts, section indices +- **P2** — Feature pages with high search potential +- **P3** — Concept/reference pages, long-tail +- **P4** — Auto-generated API pages, integration stubs + +--- + +## High-Priority Pages (P1 & P2) + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/ | Overview | | | P1 | +| /docs/installation/ | Installation | | | P1 | +| /docs/quickstart/setup-observability/ | Setup Observability | | | P1 | +| /docs/sdk/ | SDKs | | | P1 | +| /docs/evaluation/ | Evaluation Overview | | | P1 | +| /docs/observe/ | Observe Overview | | | P1 | +| /docs/simulation/ | Simulation Overview | | | P1 | +| /docs/command-center/ | Agent Command Center | | | P1 | +| /docs/annotations/ | Annotations | | | P1 | +| /docs/prototype/ | Prototype Overview | | | P1 | +| /docs/optimization/ | Optimization Overview | | | P1 | +| /docs/dataset/ | Dataset Overview | | | P1 | +| /docs/protect/ | Protect Overview | | | P1 | +| /docs/tracing/ | Tracing Overview | | | P1 | +| /docs/faq/ | FAQs | | | P1 | +| /docs/sdk/evals/ | Evaluations (SDK) | | | P2 | +| /docs/sdk/tracing/ | Tracing (SDK) | | | P2 | +| /docs/sdk/evals/metrics/ | Metrics Reference | | | P2 | +| /docs/evaluation/builtin/ | Built-in Evaluations | | | P2 | +| /docs/command-center/features/routing/ | Routing & Reliability | | | P2 | +| /docs/command-center/features/guardrails/ | Guardrails (Command Center) | | | P2 | +| /docs/command-center/features/caching/ | Caching | | | P2 | +| /docs/command-center/features/providers/ | Supported Providers | | | P2 | +| /docs/observe/features/alerts/ | Alerts and Monitors | | | P2 | +| /docs/observe/features/evals/ | Run Evals on Traces | | | P2 | +| /docs/evaluation/features/cicd/ | CI/CD Integration | | | P2 | +| /docs/evaluation/features/custom/ | Custom Evaluations | | | P2 | +| /docs/self-hosting/ | Self-Hosting | | | P2 | +| /docs/falcon-ai/ | Falcon AI | | | P2 | +| /docs/error-feed/ | Error Feed | | | P2 | + +--- + +## Quickstarts & Getting Started + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/quickstart/generate-synthetic-data/ | Generate Synthetic Data | | | P1 | +| /docs/quickstart/prompts/ | Create Prompts | | | P1 | +| /docs/quickstart/running-evals-in-simulation/ | Running Evals in Simulation | | | P1 | +| /docs/quickstart/setup-mcp-server/ | Setup MCP Server | | | P2 | +| /docs/annotations/quickstart/ | Annotations Quickstart | | | P2 | +| /docs/command-center/quickstart/ | Command Center Quickstart | | | P2 | + +--- + +## Admin & Settings + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/admin-settings/ | Admin & Settings | | | P2 | +| /docs/admin-settings/api-keys/ | API Keys | | | P2 | +| /docs/admin-settings/billing-pricing/ | Billing & Pricing | | | P3 | +| /docs/admin-settings/user-management/ | User Management | | | P3 | +| /docs/admin-settings/ai-providers/ | AI Providers | | | P3 | +| /docs/admin-settings/organization-settings/ | Organization Settings | | | P3 | +| /docs/admin-settings/workspace-management/ | Workspace Management | | | P3 | +| /docs/admin-settings/profile-security/ | Profile & Security | | | P3 | +| /docs/admin-settings/usage-summary/ | Usage Summary | | | P3 | +| /docs/admin-settings/integrations/ | Integrations (Admin) | | | P3 | +| /docs/roles-and-permissions/ | Roles & Permissions | | | P3 | + +--- + +## Agent Playground + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/agent-playground/ | Agent Playground Overview | | | P2 | +| /docs/agent-playground/features/build-workflow/ | Build a Workflow | | | P2 | +| /docs/agent-playground/features/run-and-monitor/ | Run & Monitor | | | P2 | +| /docs/agent-playground/features/create-graph/ | Create a Graph | | | P3 | +| /docs/agent-playground/concepts/understanding-agent-playground/ | Understanding Agent Playground | | | P3 | +| /docs/agent-playground/concepts/versions-and-execution/ | Versions & Execution | | | P3 | + +--- + +## Annotations + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/annotations/ | Annotations | | | P1 | +| /docs/annotations/quickstart/ | Quickstart | | | P2 | +| /docs/annotations/features/labels/ | Labels | | | P2 | +| /docs/annotations/features/queues/ | Queues | | | P2 | +| /docs/annotations/features/annotate/ | Annotate Items | | | P2 | +| /docs/annotations/features/analytics/ | Analytics & Agreement | | | P3 | +| /docs/annotations/features/add-items/ | Add Items to Queues | | | P3 | +| /docs/annotations/features/automation/ | Automation Rules | | | P3 | +| /docs/annotations/features/export/ | Export Annotations | | | P3 | +| /docs/annotations/features/inline/ | Inline Annotations | | | P3 | +| /docs/annotations/concepts/scores/ | Scores | | | P3 | +| /docs/annotations/sdk/python/ | Python SDK | | | P3 | +| /docs/annotations/sdk/javascript/ | JavaScript SDK | | | P3 | + +--- + +## Command Center (Agent Command Center) + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/command-center/ | Agent Command Center | | | P1 | +| /docs/command-center/quickstart/ | Quickstart | | | P1 | +| /docs/command-center/features/routing/ | Routing & Reliability | | | P2 | +| /docs/command-center/features/guardrails/ | Guardrails | | | P2 | +| /docs/command-center/features/caching/ | Caching | | | P2 | +| /docs/command-center/features/providers/ | Supported Providers | | | P2 | +| /docs/command-center/features/cost-tracking/ | Cost Tracking | | | P2 | +| /docs/command-center/features/rate-limiting/ | Rate Limiting & Budgets | | | P2 | +| /docs/command-center/features/shadow-experiments/ | Shadow Experiments | | | P2 | +| /docs/command-center/features/streaming/ | Streaming | | | P3 | +| /docs/command-center/features/mcp-a2a/ | MCP & A2A | | | P3 | +| /docs/command-center/features/observability/ | Observability | | | P3 | +| /docs/command-center/features/webhooks/ | Webhooks | | | P3 | +| /docs/command-center/features/custom-properties/ | Custom Properties | | | P3 | +| /docs/command-center/features/self-hosted-models/ | Self-Hosted Models | | | P3 | +| /docs/command-center/concepts/core/ | How It Works | | | P3 | +| /docs/command-center/concepts/configuration/ | Configuration | | | P3 | +| /docs/command-center/concepts/virtual-keys/ | Virtual Keys & Access Control | | | P3 | +| /docs/command-center/concepts/platform-integration/ | Platform Integration | | | P3 | +| /docs/command-center/concepts/api-reference/ | API Reference | | | P3 | +| /docs/command-center/deployment/self-hosted/ | Self-Hosted Deployment | | | P3 | +| /docs/command-center/admin/organizations/ | Organization Management | | | P3 | +| /docs/command-center/api/chat/ | Chat Completions | | | P3 | +| /docs/command-center/api/embeddings/ | Embeddings & Reranking | | | P3 | +| /docs/command-center/api/assistants/ | Assistants API | | | P3 | +| /docs/command-center/api/async-batch/ | Async & Batch | | | P3 | +| /docs/command-center/api/endpoints/ | Endpoints Overview | | | P3 | +| /docs/command-center/api/headers/ | Request & Response Headers | | | P3 | +| /docs/command-center/api/files/ | Files & Vector Stores | | | P3 | +| /docs/command-center/api/media/ | Media Endpoints | | | P3 | +| /docs/command-center/guides/errors/ | Error Handling | | | P3 | +| /docs/command-center/guides/troubleshooting/ | Troubleshooting | | | P3 | + +--- + +## Dataset + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/dataset/ | Dataset Overview | | | P1 | +| /docs/dataset/features/create/ | Create New Dataset | | | P2 | +| /docs/dataset/features/add-columns/ | Add Columns to Dataset | | | P2 | +| /docs/dataset/features/experiments/ | Experiments in Dataset | | | P2 | +| /docs/dataset/concept/understanding-dataset/ | Understanding Datasets | | | P3 | +| /docs/dataset/concept/dynamic-column/ | Dynamic Columns | | | P3 | +| /docs/dataset/concept/static-column/ | Static Columns | | | P3 | +| /docs/dataset/concept/synthetic-data/ | Synthetic Data | | | P3 | +| /docs/dataset/features/add-rows/ | Add Rows to Dataset | | | P3 | +| /docs/dataset/features/annotate/ | Add Annotations | | | P3 | +| /docs/dataset/features/run-prompt/ | Run Prompt in Dataset | | | P3 | + +--- + +## Error Feed + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/error-feed/ | Error Feed | | | P2 | +| /docs/error-feed/concepts/taxonomy/ | Error Taxonomy | | | P2 | +| /docs/error-feed/features/the-feed/ | The Feed | | | P2 | +| /docs/error-feed/features/triage-workflow/ | Triage Workflow | | | P3 | +| /docs/error-feed/features/deep-analysis/ | Deep Analysis | | | P3 | +| /docs/error-feed/features/issue-overview/ | Issue Overview | | | P3 | +| /docs/error-feed/features/state-graph/ | State Graph | | | P3 | +| /docs/error-feed/features/trends/ | Trends | | | P3 | +| /docs/error-feed/features/traces/ | Traces Tab | | | P3 | +| /docs/error-feed/features/sampling/ | Sampling | | | P3 | +| /docs/error-feed/features/metadata-panel/ | Metadata Panel | | | P3 | +| /docs/error-feed/features/linear-integration/ | Linear Integration | | | P3 | +| /docs/error-feed/concepts/how-it-works/ | How Error Feed Works | | | P3 | +| /docs/error-feed/concepts/scoring/ | Scoring | | | P3 | +| /docs/error-feed/concepts/severity-and-status/ | Severity and Status | | | P3 | + +--- + +## Evaluation + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/evaluation/ | Evaluation Overview | | | P1 | +| /docs/evaluation/builtin/ | Built-in Evaluations | | | P2 | +| /docs/evaluation/features/evaluate/ | Evaluate via Platform & SDK | | | P2 | +| /docs/evaluation/features/custom/ | Custom Evaluations | | | P2 | +| /docs/evaluation/features/cicd/ | CI/CD Integration | | | P2 | +| /docs/evaluation/features/groups/ | Eval Groups | | | P2 | +| /docs/evaluation/features/futureagi-models/ | Future AGI Models | | | P2 | +| /docs/evaluation/features/custom-models/ | Custom Models | | | P3 | +| /docs/evaluation/concepts/understanding-evaluation/ | Understanding Evaluation | | | P3 | +| /docs/evaluation/concepts/eval-types/ | Eval Types | | | P3 | +| /docs/evaluation/concepts/eval-templates/ | Eval Templates | | | P3 | +| /docs/evaluation/concepts/eval-results/ | Eval Results | | | P3 | +| /docs/evaluation/concepts/judge-models/ | Judge Models | | | P3 | +| /docs/evaluation/builtin/detect-hallucination/ | Detect Hallucination | | | P3 | +| /docs/evaluation/builtin/toxicity/ | Toxicity | | | P3 | +| /docs/evaluation/builtin/groundedness/ | Groundedness | | | P3 | +| /docs/evaluation/builtin/context-relevance/ | Context Relevance | | | P3 | +| /docs/evaluation/builtin/pii/ | PII Detection | | | P3 | +| /docs/evaluation/builtin/prompt-injection/ | Prompt Injection | | | P3 | +| /docs/evaluation/builtin/task-completion/ | Task Completion | | | P3 | +| /docs/evaluation/builtin/instruction-adherence/ | Instruction Adherence | | | P3 | +| /docs/evaluation/builtin/rouge/ | ROUGE Score | | | P3 | +| /docs/evaluation/builtin/bleu/ | BLEU Score | | | P3 | +| /docs/evaluation/builtin/bias-detection/ | Bias Detection | | | P3 | +| /docs/evaluation/builtin/summary-quality/ | Summary Quality | | | P3 | +| /docs/evaluation/builtin/completeness/ | Completeness | | | P3 | +| /docs/evaluation/builtin/context-adherence/ | Context Adherence | | | P3 | +| /docs/evaluation/builtin/llm-function-calling/ | LLM Function Calling | | | P3 | + +--- + +## Integrations + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/integrations/ | Integrations Overview | | | P2 | +| /docs/integrations/traceai/openai/ | OpenAI | | | P2 | +| /docs/integrations/traceai/anthropic/ | Anthropic | | | P2 | +| /docs/integrations/traceai/langchain/ | LangChain | | | P2 | +| /docs/integrations/traceai/langgraph/ | LangGraph | | | P2 | +| /docs/integrations/traceai/llamaindex/ | LlamaIndex | | | P2 | +| /docs/integrations/traceai/crewai/ | CrewAI | | | P2 | +| /docs/integrations/traceai/vertexai/ | Vertex AI | | | P3 | +| /docs/integrations/traceai/bedrock/ | AWS Bedrock | | | P3 | +| /docs/integrations/traceai/google_adk/ | Google ADK | | | P3 | +| /docs/integrations/traceai/mistralai/ | Mistral AI | | | P3 | +| /docs/integrations/traceai/groq/ | Groq | | | P3 | +| /docs/integrations/traceai/litellm/ | LiteLLM | | | P3 | +| /docs/integrations/traceai/mcp/ | MCP | | | P3 | +| /docs/integrations/traceai/vercel/ | Vercel AI SDK | | | P3 | +| /docs/integrations/traceai/dspy/ | DSPy | | | P3 | +| /docs/integrations/traceai/autogen/ | AutoGen | | | P3 | +| /docs/integrations/traceai/openai_agents/ | OpenAI Agents SDK | | | P3 | +| /docs/integrations/traceai/pipecat/ | Pipecat | | | P3 | +| /docs/integrations/traceai/livekit/ | LiveKit | | | P3 | +| /docs/integrations/export/datadog/ | Datadog | | | P3 | +| /docs/integrations/export/posthog/ | PostHog | | | P3 | +| /docs/integrations/export/pagerduty/ | PagerDuty | | | P3 | +| /docs/integrations/import/langfuse/ | Langfuse | | | P3 | +| /docs/integrations/traceai/java/ | Java Tracing Overview | | | P3 | + +--- + +## SDK (selected) + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/sdk/ | SDKs | | | P1 | +| /docs/sdk/evals/ | Evaluations | | | P1 | +| /docs/sdk/tracing/ | Tracing | | | P1 | +| /docs/sdk/evals/metrics/ | Metrics Reference | | | P2 | +| /docs/sdk/evals/cloud-evals/ | Cloud Evals | | | P2 | +| /docs/sdk/evals/llm-judge/ | LLM-as-Judge | | | P2 | +| /docs/sdk/evals/guardrails-module/ | Guardrails | | | P2 | +| /docs/sdk/datasets/ | Datasets | | | P2 | +| /docs/sdk/optimize/ | Prompt Optimization | | | P2 | +| /docs/sdk/protect/ | Protect | | | P2 | +| /docs/sdk/simulate/ | Simulation Testing | | | P2 | +| /docs/sdk/evals/evaluate/ | Running Evaluations | | | P2 | +| /docs/sdk/evals/local/ | Local & Hybrid Evaluation | | | P3 | +| /docs/sdk/evals/distributed/ | Distributed Evaluator | | | P3 | +| /docs/sdk/evals/streaming/ | Streaming Evaluation | | | P3 | +| /docs/sdk/evals/autoeval/ | AutoEval | | | P3 | +| /docs/sdk/evals/code-security/ | Code Security | | | P3 | +| /docs/sdk/evals/otel/ | OpenTelemetry Integration | | | P3 | +| /docs/sdk/evals/feedback/ | Feedback Loops | | | P3 | +| /docs/sdk/evals/metrics/rag/ | RAG Metrics | | | P3 | +| /docs/sdk/evals/metrics/hallucination/ | Hallucination Detection | | | P3 | +| /docs/sdk/evals/metrics/agents/ | Agents & Function Calling | | | P3 | +| /docs/sdk/knowledgebase/ | Knowledge Base | | | P3 | +| /docs/sdk/annotation-queues/ | Annotation Queues | | | P3 | + +--- + +## Observe, Optimization, Prompt, Protect, Prototype, Simulation (selected) + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/observe/ | Observe Overview | | | P1 | +| /docs/observe/features/quickstart/ | Set Up Observability | | | P1 | +| /docs/observe/features/alerts/ | Alerts and Monitors | | | P2 | +| /docs/observe/features/evals/ | Run Evals on Traces | | | P2 | +| /docs/observe/features/session/ | Group Traces by Session | | | P2 | +| /docs/observe/features/users/ | User Dashboard | | | P2 | +| /docs/observe/voice/ | Voice Observability | | | P2 | +| /docs/observe/features/dashboard/ | Dashboards | | | P3 | +| /docs/observe/features/manual-tracing/set-up-tracing/ | Set Up Tracing | | | P3 | +| /docs/observe/features/manual-tracing/in-line-evals/ | In-line Evaluations | | | P3 | +| /docs/optimization/ | Optimization Overview | | | P1 | +| /docs/optimization/features/using-platform/ | Using the Platform | | | P2 | +| /docs/optimization/features/using-python-sdk/ | Using the Python SDK | | | P2 | +| /docs/optimization/optimizers/gepa/ | GEPA Optimizer | | | P3 | +| /docs/optimization/optimizers/protegi/ | ProTeGi Optimizer | | | P3 | +| /docs/optimization/optimizers/promptwizard/ | PromptWizard Optimizer | | | P3 | +| /docs/prompt/ | Prompt Overview | | | P1 | +| /docs/prompt/features/create-from-scratch/ | Create Prompt from Scratch | | | P2 | +| /docs/prompt/features/sdk/ | Prompt Workbench Using SDK | | | P2 | +| /docs/protect/ | Protect Overview | | | P1 | +| /docs/protect/features/run-protect/ | Run Protect via SDK | | | P2 | +| /docs/prototype/ | Prototype Overview | | | P1 | +| /docs/prototype/features/set-up-prototype/ | Set Up Prototype | | | P2 | +| /docs/prototype/features/choose-winner/ | Choose Winner | | | P2 | +| /docs/simulation/ | Simulation Overview | | | P1 | +| /docs/simulation/features/run-simulation/ | Run Voice Simulation | | | P2 | +| /docs/simulation/features/fix-my-agent/ | Fix My Agent | | | P2 | +| /docs/simulation/features/prompt-simulation/ | Prompt Simulation | | | P2 | +| /docs/knowledge-base/ | Knowledge Base Overview | | | P2 | + +--- + +## API Reference (top pages only — full list in url-inventory.md) + +| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | +|-----|-------|--------------------------|-------------------|----------| +| /docs/api/ | API Reference | | | P2 | +| /docs/api/annotations/items/add-items/ | Add Items | | | P4 | +| /docs/api/annotations/queues/create-queue/ | Create Queue | | | P4 | +| /docs/api/datasets/create-dataset/ | Create Dataset | | | P4 | +| /docs/api/eval-groups/createevalgroup/ | Create Eval Group | | | P4 | +| /docs/api/run-tests/createruntest/ | Create Run Test | | | P4 | +| /docs/api/health/healthcheck/ | Health Check | | | P4 | diff --git a/claude-project-setup/url-inventory.md b/claude-project-setup/url-inventory.md new file mode 100644 index 00000000..0607df02 --- /dev/null +++ b/claude-project-setup/url-inventory.md @@ -0,0 +1,730 @@ +# URL Inventory + +**Total pages: 605** +Base URL: `https://docs.futureagi.com` +File location: `src/pages/docs/` + +Note: `[AUTO-GEN]` marks pages that appear to be generated from OpenAPI specs or structured data rather than hand-authored. API endpoint pages follow a programmatic naming pattern consistent with code generation. + +--- + +## Root Level (7 pages) + +- `/docs/` — Overview +- `/docs/faq/` — FAQs +- `/docs/installation/` — Installation +- `/docs/release-notes/` — Release Notes +- `/docs/roles-and-permissions/` — Roles & Permissions +- `/docs/self-hosting/` — Self-Hosting +- `/docs/admin-settings/` — (redirect stub — see Admin Settings section) + +--- + +## Admin Settings (10 pages) + +- `/docs/admin-settings/` — Admin & Settings +- `/docs/admin-settings/ai-providers/` — AI Providers +- `/docs/admin-settings/api-keys/` — API Keys +- `/docs/admin-settings/billing-pricing/` — Billing & Pricing +- `/docs/admin-settings/integrations/` — Integrations +- `/docs/admin-settings/organization-settings/` — Organization Settings +- `/docs/admin-settings/profile-security/` — Profile & Security +- `/docs/admin-settings/usage-summary/` — Usage Summary +- `/docs/admin-settings/user-management/` — User Management +- `/docs/admin-settings/workspace-management/` — Workspace Management + +--- + +## Agent Playground (6 pages) + +- `/docs/agent-playground/` — Overview +- `/docs/agent-playground/concepts/understanding-agent-playground/` — Understanding Agent Playground +- `/docs/agent-playground/concepts/versions-and-execution/` — Versions & Execution +- `/docs/agent-playground/features/build-workflow/` — Build a Workflow +- `/docs/agent-playground/features/create-graph/` — Create a Graph +- `/docs/agent-playground/features/run-and-monitor/` — Run & Monitor + +--- + +## Annotations (13 pages) + +- `/docs/annotations/` — Annotations +- `/docs/annotations/quickstart/` — Quickstart +- `/docs/annotations/concepts/scores/` — Scores +- `/docs/annotations/features/add-items/` — Add Items to Queues +- `/docs/annotations/features/analytics/` — Analytics & Agreement +- `/docs/annotations/features/annotate/` — Annotate Items +- `/docs/annotations/features/automation/` — Automation Rules +- `/docs/annotations/features/export/` — Export Annotations +- `/docs/annotations/features/inline/` — Inline Annotations +- `/docs/annotations/features/labels/` — Labels +- `/docs/annotations/features/queues/` — Queues +- `/docs/annotations/sdk/javascript/` — JavaScript SDK +- `/docs/annotations/sdk/python/` — Python SDK + +--- + +## API Reference (177 pages) `[AUTO-GEN]` + +Most of these pages are auto-generated from API endpoint definitions. The naming pattern (camelCase endpoint names) and component usage (`<ApiPlayground>`, `<ParamField>`, `<ResponseField>`) are consistent with code generation. + +- `/docs/api/` — API Reference + +### Agent Definitions +- `/docs/api/agent-definitions/createagentdefinition/` — Create Agent Definition `[AUTO-GEN]` +- `/docs/api/agent-definitions/deleteagentdefinition/` — Delete Agent Definition `[AUTO-GEN]` +- `/docs/api/agent-definitions/fetchassistantid/` — Fetch Assistant ID `[AUTO-GEN]` +- `/docs/api/agent-definitions/getagentdefinition/` — Get Agent Definition `[AUTO-GEN]` +- `/docs/api/agent-definitions/listagentdefinitions/` — List Agent Definitions `[AUTO-GEN]` + +### Agent Versions +- `/docs/api/agent-versions/createagentversion/` — Create Agent Version `[AUTO-GEN]` +- `/docs/api/agent-versions/getagentversion/` — Get Agent Version `[AUTO-GEN]` +- `/docs/api/agent-versions/getagentversioncallexecutions/` — Get Agent Version Call Executions `[AUTO-GEN]` +- `/docs/api/agent-versions/getagentversionevalsummary/` — Get Agent Version Eval Summary `[AUTO-GEN]` +- `/docs/api/agent-versions/listagentversions/` — List Agent Versions `[AUTO-GEN]` + +### Annotations — Bulk +- `/docs/api/annotations/bulk/bulk-annotate-spans/` — Bulk Annotate Spans `[AUTO-GEN]` + +### Annotations — Items +- `/docs/api/annotations/items/add-items/` — Add Items `[AUTO-GEN]` +- `/docs/api/annotations/items/assign-items/` — Assign Items `[AUTO-GEN]` +- `/docs/api/annotations/items/bulk-remove-items/` — Bulk Remove Items `[AUTO-GEN]` +- `/docs/api/annotations/items/complete-item/` — Complete Item `[AUTO-GEN]` +- `/docs/api/annotations/items/get-annotate-detail/` — Get Annotate Detail `[AUTO-GEN]` +- `/docs/api/annotations/items/get-item-annotations/` — Get Item Annotations `[AUTO-GEN]` +- `/docs/api/annotations/items/get-next-item/` — Get Next Item `[AUTO-GEN]` +- `/docs/api/annotations/items/list-items/` — List Items `[AUTO-GEN]` +- `/docs/api/annotations/items/release-item/` — Release Item `[AUTO-GEN]` +- `/docs/api/annotations/items/skip-item/` — Skip Item `[AUTO-GEN]` +- `/docs/api/annotations/items/submit-annotations/` — Submit Annotations `[AUTO-GEN]` + +### Annotations — Labels +- `/docs/api/annotations/labels/create-label/` — Create Label `[AUTO-GEN]` +- `/docs/api/annotations/labels/delete-label/` — Delete Label `[AUTO-GEN]` +- `/docs/api/annotations/labels/get-label/` — Get Label `[AUTO-GEN]` +- `/docs/api/annotations/labels/list-labels/` — List Labels `[AUTO-GEN]` +- `/docs/api/annotations/labels/restore-label/` — Restore Label `[AUTO-GEN]` +- `/docs/api/annotations/labels/update-label/` — Update Label `[AUTO-GEN]` + +### Annotations — Queues +- `/docs/api/annotations/queues/add-label/` — Add Label to Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/create-queue/` — Create Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/delete-queue/` — Delete Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/export/` — Export Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/export-to-dataset/` — Export Queue to Dataset `[AUTO-GEN]` +- `/docs/api/annotations/queues/find-queues-for-source/` — Find Queues for Source `[AUTO-GEN]` +- `/docs/api/annotations/queues/get-agreement/` — Get Queue Agreement `[AUTO-GEN]` +- `/docs/api/annotations/queues/get-analytics/` — Get Queue Analytics `[AUTO-GEN]` +- `/docs/api/annotations/queues/get-or-create-default/` — Get or Create Default Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/get-progress/` — Get Queue Progress `[AUTO-GEN]` +- `/docs/api/annotations/queues/get-queue/` — Get Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/list-queues/` — List Queues `[AUTO-GEN]` +- `/docs/api/annotations/queues/remove-label/` — Remove Label from Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/update-queue/` — Update Queue `[AUTO-GEN]` +- `/docs/api/annotations/queues/update-status/` — Update Queue Status `[AUTO-GEN]` + +### Annotations — Scores +- `/docs/api/annotations/scores/bulk-create-scores/` — Bulk Create Scores `[AUTO-GEN]` +- `/docs/api/annotations/scores/create-score/` — Create Score `[AUTO-GEN]` +- `/docs/api/annotations/scores/delete-score/` — Delete Score `[AUTO-GEN]` +- `/docs/api/annotations/scores/get-scores-for-source/` — Get Scores for Source `[AUTO-GEN]` +- `/docs/api/annotations/scores/list-scores/` — List Scores `[AUTO-GEN]` + +### Datasets (API) +- `/docs/api/datasets/create-dataset/` — Create Dataset `[AUTO-GEN]` +- `/docs/api/datasets/upload-dataset/` — Upload Dataset `[AUTO-GEN]` +- (Additional dataset API endpoints — TODO: enumerate from src/pages/docs/api/datasets/) + +### Eval Groups +- `/docs/api/eval-groups/applyevalgroup/` — Apply Eval Group `[AUTO-GEN]` +- `/docs/api/eval-groups/createevalgroup/` — Create Eval Group `[AUTO-GEN]` +- `/docs/api/eval-groups/deleteevalgroup/` — Delete Eval Group `[AUTO-GEN]` +- `/docs/api/eval-groups/editevallist/` — Edit Eval List `[AUTO-GEN]` +- `/docs/api/eval-groups/listevalgroups/` — List Eval Groups `[AUTO-GEN]` +- `/docs/api/eval-groups/retrieveevalgroup/` — Retrieve Eval Group `[AUTO-GEN]` +- `/docs/api/eval-groups/updateevalgroup/` — Update Eval Group `[AUTO-GEN]` + +### Other API endpoints +- `/docs/api/eval-logs-metrics/getevallogdetails/` — Get Eval Log Details `[AUTO-GEN]` +- `/docs/api/evals-list/getevalslist/` — Get Evals List `[AUTO-GEN]` +- `/docs/api/health/healthcheck/` — Health Check `[AUTO-GEN]` +- `/docs/api/run-tests/createruntest/` — Create Run Test `[AUTO-GEN]` +- `/docs/api/run-tests/executeruntest/` — Execute Run Test `[AUTO-GEN]` +- `/docs/api/scenarios/addemptyrowstodataset/` — Add Empty Rows to Dataset `[AUTO-GEN]` +- `/docs/api/scenarios/addscenariorowswithai/` — Add Scenario Rows with AI `[AUTO-GEN]` +- `/docs/api/scenarios/createscenario/` — Create Scenario `[AUTO-GEN]` +- `/docs/api/scenarios/editscenario/` — Edit Scenario `[AUTO-GEN]` + +--- + +## Agent Command Center (32 pages) + +_Note: The legacy product name was "Prism AI Gateway". URLs migrated from `/docs/prism/*` → `/docs/command-center/*`. The committed sitemap.xml still shows prism URLs — the build-generated sitemap should show command-center URLs after next build._ + +- `/docs/command-center/` — Agent Command Center +- `/docs/command-center/quickstart/` — Quickstart + +### API +- `/docs/command-center/api/assistants/` — Assistants API +- `/docs/command-center/api/async-batch/` — Async & Batch +- `/docs/command-center/api/chat/` — Chat Completions +- `/docs/command-center/api/embeddings/` — Embeddings & Reranking +- `/docs/command-center/api/endpoints/` — Endpoints Overview +- `/docs/command-center/api/files/` — Files & Vector Stores +- `/docs/command-center/api/headers/` — Request & Response Headers +- `/docs/command-center/api/media/` — Media Endpoints + +### Admin +- `/docs/command-center/admin/organizations/` — Organization Management + +### Concepts +- `/docs/command-center/concepts/api-reference/` — API Reference +- `/docs/command-center/concepts/configuration/` — Configuration +- `/docs/command-center/concepts/core/` — How It Works +- `/docs/command-center/concepts/platform-integration/` — Platform Integration +- `/docs/command-center/concepts/virtual-keys/` — Virtual Keys & Access Control + +### Deployment +- `/docs/command-center/deployment/self-hosted/` — Self-Hosted Deployment + +### Features +- `/docs/command-center/features/caching/` — Caching +- `/docs/command-center/features/cost-tracking/` — Cost Tracking +- `/docs/command-center/features/custom-properties/` — Custom Properties +- `/docs/command-center/features/guardrails/` — Guardrails +- `/docs/command-center/features/mcp-a2a/` — MCP & A2A +- `/docs/command-center/features/observability/` — Observability +- `/docs/command-center/features/providers/` — Supported Providers +- `/docs/command-center/features/rate-limiting/` — Rate Limiting & Budgets +- `/docs/command-center/features/routing/` — Routing & Reliability +- `/docs/command-center/features/self-hosted-models/` — Self-Hosted Models +- `/docs/command-center/features/shadow-experiments/` — Shadow Experiments +- `/docs/command-center/features/streaming/` — Streaming +- `/docs/command-center/features/webhooks/` — Webhooks + +### Guides +- `/docs/command-center/guides/errors/` — Error Handling +- `/docs/command-center/guides/troubleshooting/` — Troubleshooting + +--- + +## Cookbook (52 pages) + +- `/docs/cookbook/` — Cookbook +- `/docs/cookbook/ai-agents/` — AI Agents +- `/docs/cookbook/ai-sdr/` — AI SDR +- `/docs/cookbook/basic-optimization/` — Basic Optimization +- `/docs/cookbook/chat-simulation-fix-agent/` — Chat Simulation Fix Agent +- `/docs/cookbook/compare-optimization/` — Compare Optimization +- `/docs/cookbook/crewai-research-team/` — CrewAI Research Team +- `/docs/cookbook/decrease-hallucination/` — Decrease Hallucination +- `/docs/cookbook/end-to-end-optimization/` — End-to-End Optimization +- `/docs/cookbook/error-feed/google-adk-multi-agent/` — Google ADK Multi-Agent (Error Feed) +- `/docs/cookbook/eval-metrics-optimization/` — Eval Metrics Optimization +- `/docs/cookbook/evaluate-rag/` — Evaluate RAG +- `/docs/cookbook/gepa-optimization/` — GEPA Optimization +- `/docs/cookbook/image-evaluation/` — Image Evaluation +- `/docs/cookbook/import-datasets/` — Import Datasets +- `/docs/cookbook/langchain-langgraph/` — LangChain & LangGraph +- `/docs/cookbook/llamaindex-pdf-rag/` — LlamaIndex PDF RAG +- `/docs/cookbook/meeting-summarization/` — Meeting Summarization +- `/docs/cookbook/mongodb/` — MongoDB +- `/docs/cookbook/observability/` — Observability +- `/docs/cookbook/portkey-integration/` — Portkey Integration +- `/docs/cookbook/rag-langchain/` — RAG with LangChain +- `/docs/cookbook/simulate-sdk/` — Simulate SDK +- `/docs/cookbook/text-to-sql/` — Text-to-SQL +- `/docs/cookbook/trustworthy-rag/` — Trustworthy RAG +- `/docs/cookbook/using-futureagi-dataset/` — Using Future AGI Dataset +- `/docs/cookbook/using-futureagi-evals/` — Using Future AGI Evals +- `/docs/cookbook/using-futureagi-kb/` — Using Future AGI Knowledge Base +- `/docs/cookbook/using-futureagi-protect/` — Using Future AGI Protect + +### Quickstart recipes +- `/docs/cookbook/quickstart/agent-compass-debug/` — Agent Compass Debug +- `/docs/cookbook/quickstart/async-batch-eval/` — Async Batch Eval +- `/docs/cookbook/quickstart/batch-eval/` — Batch Eval +- `/docs/cookbook/quickstart/chat-simulation-personas/` — Chat Simulation Personas +- `/docs/cookbook/quickstart/cicd-eval-pipeline/` — CI/CD Eval Pipeline +- `/docs/cookbook/quickstart/compare-optimizers/` — Compare Optimizers +- `/docs/cookbook/quickstart/conversation-eval/` — Conversation Eval +- `/docs/cookbook/quickstart/custom-eval-metrics/` — Custom Eval Metrics +- `/docs/cookbook/quickstart/dataset-annotation/` — Dataset Annotation +- `/docs/cookbook/quickstart/dataset-management/` — Dataset Management +- `/docs/cookbook/quickstart/dataset-optimization/` — Dataset Optimization +- `/docs/cookbook/quickstart/distributed-tracing/` — Distributed Tracing +- `/docs/cookbook/quickstart/dynamic-dataset-columns/` — Dynamic Dataset Columns +- `/docs/cookbook/quickstart/eval-driven-dev/` — Eval-Driven Development +- `/docs/cookbook/quickstart/experimentation-compare-prompts/` — Experimentation: Compare Prompts +- `/docs/cookbook/quickstart/first-eval/` — First Eval +- `/docs/cookbook/quickstart/hallucination-detection/` — Hallucination Detection +- `/docs/cookbook/quickstart/huggingface-dataset-import/` — HuggingFace Dataset Import +- `/docs/cookbook/quickstart/inline-evals-tracing/` — Inline Evals & Tracing +- `/docs/cookbook/quickstart/knowledge-base/` — Knowledge Base +- `/docs/cookbook/quickstart/manual-tracing/` — Manual Tracing +- `/docs/cookbook/quickstart/monitoring-alerts/` — Monitoring Alerts +- `/docs/cookbook/quickstart/multimodal-eval/` — Multimodal Eval +- `/docs/cookbook/quickstart/prompt-optimization/` — Prompt Optimization +- `/docs/cookbook/quickstart/prompt-versioning/` — Prompt Versioning +- `/docs/cookbook/quickstart/prompt-workbench-simulation/` — Prompt Workbench Simulation +- `/docs/cookbook/quickstart/protect-guardrails/` — Protect Guardrails +- `/docs/cookbook/quickstart/prototype-llm-app/` — Prototype LLM App +- `/docs/cookbook/quickstart/rag-evaluation/` — RAG Evaluation +- `/docs/cookbook/quickstart/session-observability/` — Session Observability +- `/docs/cookbook/quickstart/synthetic-data-generation/` — Synthetic Data Generation +- `/docs/cookbook/quickstart/text-to-sql-eval/` — Text-to-SQL Eval +- `/docs/cookbook/quickstart/tone-toxicity-bias-eval/` — Tone, Toxicity & Bias Eval +- `/docs/cookbook/quickstart/tool-calling-simulation/` — Tool Calling Simulation +- `/docs/cookbook/quickstart/voice-simulation/` — Voice Simulation + +--- + +## Dataset (11 pages) + +- `/docs/dataset/` — Overview +- `/docs/dataset/concept/dynamic-column/` — Dynamic Columns +- `/docs/dataset/concept/static-column/` — Static Columns +- `/docs/dataset/concept/synthetic-data/` — Synthetic Data +- `/docs/dataset/concept/understanding-dataset/` — Understanding Datasets +- `/docs/dataset/features/add-columns/` — Add Columns to Dataset +- `/docs/dataset/features/add-rows/` — Add Rows to Dataset +- `/docs/dataset/features/annotate/` — Add Annotations +- `/docs/dataset/features/create/` — Create New Dataset +- `/docs/dataset/features/experiments/` — Experiments in Dataset +- `/docs/dataset/features/run-prompt/` — Run Prompt in Dataset + +--- + +## Error Feed (15 pages) + +- `/docs/error-feed/` — Error Feed +- `/docs/error-feed/concepts/how-it-works/` — How Error Feed Works +- `/docs/error-feed/concepts/scoring/` — Scoring +- `/docs/error-feed/concepts/severity-and-status/` — Severity and Status +- `/docs/error-feed/concepts/taxonomy/` — Error Taxonomy +- `/docs/error-feed/features/deep-analysis/` — Deep Analysis +- `/docs/error-feed/features/issue-overview/` — Issue Overview +- `/docs/error-feed/features/linear-integration/` — Linear Integration +- `/docs/error-feed/features/metadata-panel/` — Metadata Panel +- `/docs/error-feed/features/sampling/` — Sampling +- `/docs/error-feed/features/state-graph/` — State Graph +- `/docs/error-feed/features/the-feed/` — The Feed +- `/docs/error-feed/features/traces/` — Traces Tab +- `/docs/error-feed/features/trends/` — Trends +- `/docs/error-feed/features/triage-workflow/` — Triage Workflow + +--- + +## Evaluation (132 pages) + +- `/docs/evaluation/` — Overview + +### Built-in Evals (80 pages) + +- `/docs/evaluation/builtin/` — Built-in Evaluations +- `/docs/evaluation/builtin/answer-refusal/` — Answer Refusal +- `/docs/evaluation/builtin/audio-quality/` — Audio Quality +- `/docs/evaluation/builtin/audio-transcription/` — Audio Transcription +- `/docs/evaluation/builtin/bias-detection/` — Bias Detection +- `/docs/evaluation/builtin/bleu/` — BLEU Score +- `/docs/evaluation/builtin/caption-hallucination/` — Caption Hallucination +- `/docs/evaluation/builtin/chunk-attribution/` — Chunk Attribution +- `/docs/evaluation/builtin/chunk-utilization/` — Chunk Utilization +- `/docs/evaluation/builtin/clinically-inappropriate-tone/` — Clinically Inappropriate Tone +- `/docs/evaluation/builtin/clip-score/` — CLIP Score +- `/docs/evaluation/builtin/completeness/` — Completeness +- `/docs/evaluation/builtin/contain-evals/` — Contain Evals +- `/docs/evaluation/builtin/contains-valid-link/` — Contains Valid Link +- `/docs/evaluation/builtin/context-adherence/` — Context Adherence +- `/docs/evaluation/builtin/context-relevance/` — Context Relevance +- `/docs/evaluation/builtin/conversation-coherence/` — Conversation Coherence +- `/docs/evaluation/builtin/conversation-resolution/` — Conversation Resolution +- `/docs/evaluation/builtin/cultural-sensitivity/` — Cultural Sensitivity +- `/docs/evaluation/builtin/customer-agent-clarification-seeking/` — Customer Agent: Clarification Seeking +- `/docs/evaluation/builtin/customer-agent-context-retention/` — Customer Agent: Context Retention +- `/docs/evaluation/builtin/customer-agent-conversation-quality/` — Customer Agent: Conversation Quality +- `/docs/evaluation/builtin/customer-agent-human-escalation/` — Customer Agent: Human Escalation +- `/docs/evaluation/builtin/customer-agent-interruption-handling/` — Customer Agent: Interruption Handling +- `/docs/evaluation/builtin/customer-agent-language-handling/` — Customer Agent: Language Handling +- `/docs/evaluation/builtin/customer-agent-loop-detection/` — Customer Agent: Loop Detection +- `/docs/evaluation/builtin/customer-agent-objection-handling/` — Customer Agent: Objection Handling +- `/docs/evaluation/builtin/customer-agent-prompt-conformance/` — Customer Agent: Prompt Conformance +- `/docs/evaluation/builtin/customer-agent-query-handling/` — Customer Agent: Query Handling +- `/docs/evaluation/builtin/customer-agent-termination-handling/` — Customer Agent: Termination Handling +- `/docs/evaluation/builtin/data-privacy/` — Data Privacy +- `/docs/evaluation/builtin/detect-hallucination/` — Detect Hallucination +- `/docs/evaluation/builtin/embedding-similarity/` — Embedding Similarity +- `/docs/evaluation/builtin/eval-ranking/` — Eval Ranking +- `/docs/evaluation/builtin/fid-score/` — FID Score +- `/docs/evaluation/builtin/fuzzy-match/` — Fuzzy Match +- `/docs/evaluation/builtin/ground-truth-match/` — Ground Truth Match +- `/docs/evaluation/builtin/groundedness/` — Groundedness +- `/docs/evaluation/builtin/hit-rate/` — Hit Rate +- `/docs/evaluation/builtin/image-instruction-adherence/` — Image Instruction Adherence +- `/docs/evaluation/builtin/instruction-adherence/` — Instruction Adherence +- `/docs/evaluation/builtin/is-code/` — Is Code +- `/docs/evaluation/builtin/is-concise/` — Is Concise +- `/docs/evaluation/builtin/is-email/` — Is Email +- `/docs/evaluation/builtin/is-good-summary/` — Is Good Summary +- `/docs/evaluation/builtin/is-harmful-advice/` — Is Harmful Advice +- `/docs/evaluation/builtin/is-helpful/` — Is Helpful +- `/docs/evaluation/builtin/is-informal-tone/` — Is Informal Tone +- `/docs/evaluation/builtin/is-json/` — Is JSON +- `/docs/evaluation/builtin/is-polite/` — Is Polite +- `/docs/evaluation/builtin/lavenshtein-similarity/` — Levenshtein Similarity +- `/docs/evaluation/builtin/llm-function-calling/` — LLM Function Calling +- `/docs/evaluation/builtin/mrr/` — MRR +- `/docs/evaluation/builtin/ndcg-at-k/` — NDCG@K +- `/docs/evaluation/builtin/no-age-bias/` — No Age Bias +- `/docs/evaluation/builtin/no-apologies/` — No Apologies +- `/docs/evaluation/builtin/no-gender-bias/` — No Gender Bias +- `/docs/evaluation/builtin/no-harmful-therapeutic-guidance/` — No Harmful Therapeutic Guidance +- `/docs/evaluation/builtin/no-invalid-links/` — No Invalid Links +- `/docs/evaluation/builtin/no-llm-reference/` — No LLM Reference +- `/docs/evaluation/builtin/no-racial-bias/` — No Racial Bias +- `/docs/evaluation/builtin/numeric-similarity/` — Numeric Similarity +- `/docs/evaluation/builtin/ocr-evaluation/` — OCR Evaluation +- `/docs/evaluation/builtin/pii/` — PII Detection +- `/docs/evaluation/builtin/precision-at-k/` — Precision@K +- `/docs/evaluation/builtin/prompt-injection/` — Prompt Injection +- `/docs/evaluation/builtin/recall-at-k/` — Recall@K +- `/docs/evaluation/builtin/rouge/` — ROUGE Score +- `/docs/evaluation/builtin/semantic-list-contains/` — Semantic List Contains +- `/docs/evaluation/builtin/sexist/` — Sexist Content +- `/docs/evaluation/builtin/summary-quality/` — Summary Quality +- `/docs/evaluation/builtin/synthetic-image-evaluator/` — Synthetic Image Evaluator +- `/docs/evaluation/builtin/task-completion/` — Task Completion +- `/docs/evaluation/builtin/text-to-sql/` — Text-to-SQL Accuracy +- `/docs/evaluation/builtin/tone/` — Tone +- `/docs/evaluation/builtin/toxicity/` — Toxicity +- `/docs/evaluation/builtin/translation-accuracy/` — Translation Accuracy +- `/docs/evaluation/builtin/tts-accuracy/` — TTS Accuracy + +### Concepts +- `/docs/evaluation/concepts/eval-results/` — Eval Results +- `/docs/evaluation/concepts/eval-templates/` — Eval Templates +- `/docs/evaluation/concepts/eval-types/` — Eval Types +- `/docs/evaluation/concepts/judge-models/` — Judge Models +- `/docs/evaluation/concepts/understanding-evaluation/` — Understanding Evaluation + +### Features +- `/docs/evaluation/features/cicd/` — CI/CD Integration +- `/docs/evaluation/features/custom/` — Custom Evaluations +- `/docs/evaluation/features/custom-models/` — Custom Models +- `/docs/evaluation/features/evaluate/` — Evaluate via Platform & SDK +- `/docs/evaluation/features/futureagi-models/` — Future AGI Models +- `/docs/evaluation/features/groups/` — Eval Groups + +--- + +## Falcon AI (4 pages) + +- `/docs/falcon-ai/` — Falcon AI +- `/docs/falcon-ai/features/chat/` — Using Falcon AI +- `/docs/falcon-ai/features/mcp-connectors/` — MCP Connectors +- `/docs/falcon-ai/features/skills/` — Skill Builder + +--- + +## Integrations (48 pages) + +- `/docs/integrations/` — Integrations Overview +- `/docs/integrations/google-adk/` — Google ADK +- `/docs/integrations/google-genai/` — Google GenAI +- `/docs/integrations/openai-agents/` — OpenAI Agents +- `/docs/integrations/smol-agents/` — SmolAgents + +### Export +- `/docs/integrations/export/cloud-storage/` — Cloud Storage +- `/docs/integrations/export/datadog/` — Datadog +- `/docs/integrations/export/message-queues/` — Message Queues +- `/docs/integrations/export/mixpanel/` — Mixpanel +- `/docs/integrations/export/pagerduty/` — PagerDuty +- `/docs/integrations/export/posthog/` — PostHog + +### Import +- `/docs/integrations/import/langfuse/` — Langfuse + +### TraceAI +- `/docs/integrations/traceai/anthropic/` — Anthropic +- `/docs/integrations/traceai/autogen/` — AutoGen +- `/docs/integrations/traceai/bedrock/` — AWS Bedrock +- `/docs/integrations/traceai/crewai/` — CrewAI +- `/docs/integrations/traceai/dspy/` — DSPy +- `/docs/integrations/traceai/google_adk/` — Google ADK +- `/docs/integrations/traceai/google_genai/` — Google GenAI +- `/docs/integrations/traceai/groq/` — Groq +- `/docs/integrations/traceai/guardrails/` — Guardrails AI +- `/docs/integrations/traceai/haystack/` — Haystack +- `/docs/integrations/traceai/instructor/` — Instructor +- `/docs/integrations/traceai/langchain/` — LangChain +- `/docs/integrations/traceai/langgraph/` — LangGraph +- `/docs/integrations/traceai/litellm/` — LiteLLM +- `/docs/integrations/traceai/livekit/` — LiveKit +- `/docs/integrations/traceai/llamaindex/` — LlamaIndex +- `/docs/integrations/traceai/llamaindex-workflows/` — LlamaIndex Workflows +- `/docs/integrations/traceai/mastra/` — Mastra +- `/docs/integrations/traceai/mcp/` — MCP +- `/docs/integrations/traceai/mistralai/` — Mistral AI +- `/docs/integrations/traceai/n8n/` — n8n +- `/docs/integrations/traceai/ollama/` — Ollama +- `/docs/integrations/traceai/openai/` — OpenAI +- `/docs/integrations/traceai/openai_agents/` — OpenAI Agents SDK +- `/docs/integrations/traceai/pipecat/` — Pipecat +- `/docs/integrations/traceai/portkey/` — Portkey +- `/docs/integrations/traceai/promptflow/` — PromptFlow +- `/docs/integrations/traceai/smol_agents/` — SmolAgents +- `/docs/integrations/traceai/spring-boot/` — Spring Boot +- `/docs/integrations/traceai/togetherai/` — Together AI +- `/docs/integrations/traceai/vercel/` — Vercel AI SDK +- `/docs/integrations/traceai/vertexai/` — Vertex AI + +### Java (TraceAI) +- `/docs/integrations/traceai/java/` — Java Tracing Overview +- `/docs/integrations/traceai/java/anthropic/` — Java: Anthropic +- `/docs/integrations/traceai/java/bedrock/` — Java: AWS Bedrock +- `/docs/integrations/traceai/java/cohere/` — Java: Cohere +- `/docs/integrations/traceai/java/frameworks/` — Java: Frameworks +- `/docs/integrations/traceai/java/llm-providers/` — Java: LLM Providers +- `/docs/integrations/traceai/java/openai/` — Java: OpenAI +- `/docs/integrations/traceai/java/pinecone/` — Java: Pinecone +- `/docs/integrations/traceai/java/vector-databases/` — Java: Vector Databases + +--- + +## Knowledge Base (4 pages) + +- `/docs/knowledge-base/` — Overview +- `/docs/knowledge-base/concepts/concept/` — Understanding Knowledge Base +- `/docs/knowledge-base/features/sdk/` — Create a Knowledge Base using SDK +- `/docs/knowledge-base/features/ui/` — Create a Knowledge Base using UI + +--- + +## Observe (30 pages) + +- `/docs/observe/` — Overview +- `/docs/observe/features/quickstart/` — Set Up Observability +- `/docs/observe/features/alerts/` — Alerts and Monitors +- `/docs/observe/features/dashboard/` — Dashboards +- `/docs/observe/features/evals/` — Run Evals on Traces +- `/docs/observe/features/session/` — Group Traces by Session +- `/docs/observe/features/users/` — User Dashboard +- `/docs/observe/voice/` — Voice Observability +- `/docs/observe/voice/set-up/` — Set Up Voice Observability + +### Manual Tracing +- `/docs/observe/features/manual-tracing/add-attributes-metadata-tags/` — Enriching Spans with Attributes, Metadata, and Tags +- `/docs/observe/features/manual-tracing/add-events-exceptions-status/` — Integrate Events, Exceptions, and Status into Spans +- `/docs/observe/features/manual-tracing/advanced-tracing-examples/` — Advanced Tracing (OTEL) +- `/docs/observe/features/manual-tracing/annotating-using-api/` — Adding Annotations to Your Spans +- `/docs/observe/features/manual-tracing/create-tool-spans/` — Tool Spans Creation +- `/docs/observe/features/manual-tracing/get-current-span-context/` — Get Current Tracer and Span +- `/docs/observe/features/manual-tracing/in-line-evals/` — In-line Evaluations +- `/docs/observe/features/manual-tracing/instrument-with-traceai-helpers/` — Instrument with TraceAI Helpers +- `/docs/observe/features/manual-tracing/langfuse-integration/` — Langfuse Integration +- `/docs/observe/features/manual-tracing/log-prompt-templates/` — Logging Prompt Templates & Variables +- `/docs/observe/features/manual-tracing/mask-span-attributes/` — Mask Span Attributes +- `/docs/observe/features/manual-tracing/semantic-conventions/` — FI Semantic Conventions +- `/docs/observe/features/manual-tracing/set-session-user-id/` — Set Session ID and User ID +- `/docs/observe/features/manual-tracing/set-up-tracing/` — Set Up Tracing +- `/docs/observe/features/annotation-queue-using-sdk/` — Annotation Queue Using SDK + +--- + +## Optimization (10 pages) + +- `/docs/optimization/` — Overview +- `/docs/optimization/concepts/concept/` — Understanding Optimization +- `/docs/optimization/features/using-platform/` — Using the Platform +- `/docs/optimization/features/using-python-sdk/` — Using the Python SDK +- `/docs/optimization/optimizers/bayesian-search/` — Bayesian Search Optimizer +- `/docs/optimization/optimizers/gepa/` — GEPA: Evolutionary Prompt Optimization +- `/docs/optimization/optimizers/meta-prompt/` — Meta-Prompt Optimizer +- `/docs/optimization/optimizers/promptwizard/` — PromptWizard Optimizer +- `/docs/optimization/optimizers/protegi/` — ProTeGi Optimizer +- `/docs/optimization/optimizers/random-search/` — Random Search Optimizer + +--- + +## Prompt (10 pages) + +- `/docs/prompt/` — Overview +- `/docs/prompt/concepts/prompt-engineering/` — Prompt Engineering +- `/docs/prompt/concepts/understanding-prompts/` — Understanding Prompts +- `/docs/prompt/concepts/versions-and-labels/` — Versions and Labels +- `/docs/prompt/features/create-from-scratch/` — Create Prompt from Scratch +- `/docs/prompt/features/create-from-template/` — Create Prompt from Existing Template +- `/docs/prompt/features/create-with-ai/` — Create Prompt with AI +- `/docs/prompt/features/folders/` — Manage Prompt Folders +- `/docs/prompt/features/linked-traces/` — Linked Traces +- `/docs/prompt/features/sdk/` — Prompt Workbench Using SDK + +--- + +## Protect (3 pages) + +- `/docs/protect/` — Overview +- `/docs/protect/concepts/concept/` — Use Cases +- `/docs/protect/features/run-protect/` — Run Protect via SDK + +--- + +## Prototype (6 pages) + +- `/docs/prototype/` — Overview +- `/docs/prototype/concepts/understanding-prototype/` — Understanding Prototype +- `/docs/prototype/concepts/versions-and-runs/` — Versions and Runs +- `/docs/prototype/features/choose-winner/` — Choose Winner +- `/docs/prototype/features/evals/` — Configure Evals for Prototype +- `/docs/prototype/features/set-up-prototype/` — Set Up Prototype + +--- + +## Quickstart (7 pages) + +- `/docs/quickstart/generate-synthetic-data/` — Generate Synthetic Data +- `/docs/quickstart/prompts/` — Create Prompts +- `/docs/quickstart/running-evals-in-simulation/` — Running Evals in Simulation +- `/docs/quickstart/setup-mcp-server/` — Setup MCP Server +- `/docs/quickstart/setup-observability/` — Setup Observability +- `/docs/quickstart/annotations/` — Quickstart (Annotations) +- `/docs/quickstart/command-center-gateway/` — Quickstart (Agent Command Center) + +--- + +## SDK (28 pages) + +- `/docs/sdk/` — SDKs +- `/docs/sdk/annotation-queues/` — Annotation Queues +- `/docs/sdk/datasets/` — Datasets +- `/docs/sdk/knowledgebase/` — Knowledge Base +- `/docs/sdk/optimization/` — Prompt Optimization +- `/docs/sdk/protect/` — Protect +- `/docs/sdk/simulate/` — Simulation Testing +- `/docs/sdk/testcase/` — Test Case +- `/docs/sdk/tracing/` — Tracing + +### Evals +- `/docs/sdk/evals/` — Evaluations +- `/docs/sdk/evals/autoeval/` — AutoEval +- `/docs/sdk/evals/cloud-evals/` — Cloud Evals +- `/docs/sdk/evals/code-security/` — Code Security +- `/docs/sdk/evals/distributed/` — Distributed Evaluator +- `/docs/sdk/evals/evaluate/` — Running Evaluations +- `/docs/sdk/evals/feedback/` — Feedback Loops +- `/docs/sdk/evals/guardrails-module/` — Guardrails +- `/docs/sdk/evals/llm-judge/` — LLM-as-Judge +- `/docs/sdk/evals/local/` — Local & Hybrid Evaluation +- `/docs/sdk/evals/otel/` — OpenTelemetry Integration +- `/docs/sdk/evals/streaming/` — Streaming Evaluation +- `/docs/sdk/evals/metrics/` — Metrics Reference +- `/docs/sdk/evals/metrics/agents/` — Agents & Function Calling +- `/docs/sdk/evals/metrics/guardrails/` — Guardrails Metrics +- `/docs/sdk/evals/metrics/hallucination/` — Hallucination Detection +- `/docs/sdk/evals/metrics/json/` — JSON & Structured Output +- `/docs/sdk/evals/metrics/rag/` — RAG Metrics +- `/docs/sdk/evals/metrics/string/` — String & Similarity + +--- + +## Simulation (13 pages) + +- `/docs/simulation/` — Overview +- `/docs/simulation/concepts/agent-definition/` — Agent Definition +- `/docs/simulation/concepts/global-nodes/` — Global Nodes +- `/docs/simulation/concepts/personas/` — Personas +- `/docs/simulation/concepts/scenarios/` — Scenarios +- `/docs/simulation/features/evaluate-tool-calling/` — Evaluate Tool Calling +- `/docs/simulation/features/fix-my-agent/` — Fix My Agent +- `/docs/simulation/features/observe-to-simulate/` — Replay +- `/docs/simulation/features/prompt-simulation/` — Prompt Simulation +- `/docs/simulation/features/run-simulation/` — Run Voice Simulation +- `/docs/simulation/features/simulation-using-sdk/` — Chat Simulation Using SDK +- `/docs/simulation/features/view-results/` — View Results +- `/docs/simulation/features/voice-replay/` — Voice Replay + +--- + +## Tracing (64 pages) + +- `/docs/tracing/` — Tracing Overview +- `/docs/tracing/concepts/` — Concepts +- `/docs/tracing/concepts/components/` — Components +- `/docs/tracing/concepts/otel/` — OpenTelemetry +- `/docs/tracing/concepts/spans/` — Spans +- `/docs/tracing/concepts/traceai/` — TraceAI +- `/docs/tracing/concepts/traces/` — Traces + +### Auto-Instrumentation +- `/docs/tracing/auto/` — Auto-Instrumentation Overview +- `/docs/tracing/auto/anthropic/` — Anthropic +- `/docs/tracing/auto/autogen/` — AutoGen +- `/docs/tracing/auto/bedrock/` — AWS Bedrock +- `/docs/tracing/auto/crewai/` — CrewAI +- `/docs/tracing/auto/dspy/` — DSPy +- `/docs/tracing/auto/google_adk/` — Google ADK +- `/docs/tracing/auto/google_genai/` — Google GenAI +- `/docs/tracing/auto/groq/` — Groq +- `/docs/tracing/auto/guardrails/` — Guardrails AI +- `/docs/tracing/auto/haystack/` — Haystack +- `/docs/tracing/auto/instructor/` — Instructor +- `/docs/tracing/auto/langchain/` — LangChain +- `/docs/tracing/auto/langgraph/` — LangGraph +- `/docs/tracing/auto/litellm/` — LiteLLM +- `/docs/tracing/auto/livekit/` — LiveKit +- `/docs/tracing/auto/llamaindex/` — LlamaIndex +- `/docs/tracing/auto/llamaindex-workflows/` — LlamaIndex Workflows +- `/docs/tracing/auto/mastra/` — Mastra +- `/docs/tracing/auto/mcp/` — MCP +- `/docs/tracing/auto/mistralai/` — Mistral AI +- `/docs/tracing/auto/ollama/` — Ollama +- `/docs/tracing/auto/openai/` — OpenAI +- `/docs/tracing/auto/openai_agents/` — OpenAI Agents SDK +- `/docs/tracing/auto/pipecat/` — Pipecat +- `/docs/tracing/auto/portkey/` — Portkey +- `/docs/tracing/auto/promptflow/` — PromptFlow +- `/docs/tracing/auto/smol_agents/` — SmolAgents +- `/docs/tracing/auto/spring-boot/` — Spring Boot +- `/docs/tracing/auto/togetherai/` — Together AI +- `/docs/tracing/auto/vercel/` — Vercel AI SDK +- `/docs/tracing/auto/vertexai/` — Vertex AI + +### Java (Tracing) +- `/docs/tracing/auto/java/` — Java Tracing Overview +- `/docs/tracing/auto/java/anthropic/` — Java: Anthropic +- `/docs/tracing/auto/java/bedrock/` — Java: AWS Bedrock +- `/docs/tracing/auto/java/cohere/` — Java: Cohere +- `/docs/tracing/auto/java/frameworks/` — Java: Frameworks +- `/docs/tracing/auto/java/llm-providers/` — Java: LLM Providers +- `/docs/tracing/auto/java/openai/` — Java: OpenAI +- `/docs/tracing/auto/java/pinecone/` — Java: Pinecone +- `/docs/tracing/auto/java/vector-databases/` — Java: Vector Databases + +### Manual Tracing +- `/docs/tracing/manual/add-attributes-metadata-tags/` — Add Attributes, Metadata, and Tags +- `/docs/tracing/manual/add-events-exceptions-status/` — Add Events, Exceptions, and Status +- `/docs/tracing/manual/advanced-tracing-examples/` — Advanced Tracing Examples +- `/docs/tracing/manual/annotating-using-api/` — Annotating Using API +- `/docs/tracing/manual/create-tool-spans/` — Create Tool Spans +- `/docs/tracing/manual/get-current-span-context/` — Get Current Span Context +- `/docs/tracing/manual/in-line-evals/` — In-line Evaluations +- `/docs/tracing/manual/instrument-with-traceai-helpers/` — Instrument with TraceAI Helpers +- `/docs/tracing/manual/langfuse-integration/` — Langfuse Integration +- `/docs/tracing/manual/log-prompt-templates/` — Log Prompt Templates +- `/docs/tracing/manual/mask-span-attributes/` — Mask Span Attributes +- `/docs/tracing/manual/semantic-conventions/` — Semantic Conventions +- `/docs/tracing/manual/set-session-user-id/` — Set Session ID and User ID +- `/docs/tracing/manual/set-up-tracing/` — Set Up Tracing + +--- + +## Notes + +1. The `/docs/tracing/` and `/docs/observe/features/manual-tracing/` sections have overlapping content — many pages appear to exist at both paths. This is likely a migration in progress (observe is the product surface, tracing is the SDK reference). Canonical tags should be audited on these pages. + +2. The API section at `/docs/api/` (177 pages) was enumerated from the inventory agent. The complete list of all endpoint pages wasn't fully enumerated above due to the nested structure. TODO: run `Get-ChildItem -Path src/pages/docs/api -Recurse -Filter "*.mdx"` to get the full flat list. + +3. Several cookbook pages may not have standardized frontmatter titles — their file names are the best guide to their content. diff --git a/packages/chat-widget/index.js b/packages/chat-widget/index.js new file mode 100644 index 00000000..48da7249 --- /dev/null +++ b/packages/chat-widget/index.js @@ -0,0 +1 @@ +export function ChatSidebar() { return null; } diff --git a/packages/chat-widget/package.json b/packages/chat-widget/package.json new file mode 100644 index 00000000..b4d90ac2 --- /dev/null +++ b/packages/chat-widget/package.json @@ -0,0 +1,9 @@ +{ + "name": "@futureagi/chat-widget", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": "./index.js", + "./styles.css": "./styles.css" + } +} diff --git a/packages/chat-widget/styles.css b/packages/chat-widget/styles.css new file mode 100644 index 00000000..ed538942 --- /dev/null +++ b/packages/chat-widget/styles.css @@ -0,0 +1 @@ +/* stub */ diff --git a/scripts/aeo-audit.cjs b/scripts/aeo-audit.cjs new file mode 100644 index 00000000..3a81444a --- /dev/null +++ b/scripts/aeo-audit.cjs @@ -0,0 +1,364 @@ +const fs = require('fs'); +const path = require('path'); + +const ROOT = 'C:/Users/Shibu/docs'; +const DOCS_DIR = path.join(ROOT, 'src/pages/docs'); + +// ── Helpers ────────────────────────────────────────────────────────────────── + +function getAllMdx(dir) { + const results = []; + for (const entry of fs.readdirSync(dir)) { + const full = path.join(dir, entry); + if (fs.statSync(full).isDirectory()) results.push(...getAllMdx(full)); + else if (entry.endsWith('.mdx') || entry.endsWith('.md')) results.push(full); + } + return results; +} + +function parseFrontmatter(content) { + const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/); + if (!match) return { _raw: '' }; + const fm = { _raw: match[1] }; + const re = /^(\w+):\s*(?:"([^"]*?)"|'([^']*?)'|(.*?))\s*$/gm; + let m; + while ((m = re.exec(match[1])) !== null) { + fm[m[1]] = m[2] !== undefined ? m[2] : m[3] !== undefined ? m[3] : (m[4] || ''); + } + return fm; +} + +function getBody(content) { + return content.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, ''); +} + +// Extract headings with their level and line number +function extractHeadings(body) { + const lines = body.split(/\r?\n/); + const headings = []; + for (let i = 0; i < lines.length; i++) { + const m = lines[i].match(/^(#{1,6})\s+(.+)/); + if (m) headings.push({ level: m[1].length, text: m[2].trim(), line: i + 1 }); + } + return headings; +} + +// Get first non-empty paragraph after the first heading +function firstParaAfterFirstHeading(body) { + const lines = body.split(/\r?\n/); + let pastFirstHeading = false; + let para = []; + for (const line of lines) { + if (!pastFirstHeading && /^#{1,6}\s/.test(line)) { pastFirstHeading = true; continue; } + if (!pastFirstHeading) continue; + if (line.trim() === '') { + if (para.length > 0) break; + continue; + } + para.push(line.trim()); + } + return para.join(' '); +} + +// ── Constants ───────────────────────────────────────────────────────────────── + +const GENERIC_TITLES = new Set([ + 'overview', 'quickstart', 'concepts', 'concepts', 'features', 'guides', + 'introduction', 'getting started', 'faqs', 'faq', 'index', 'home', + 'details', 'more', 'info', 'docs', 'documentation', 'setup', 'configuration', + 'reference', 'examples', 'tutorials', 'about', 'summary' +]); + +const VAGUE_HEADINGS = new Set([ + 'overview', 'details', 'info', 'more', 'introduction', 'background', + 'notes', 'summary', 'misc', 'other', 'additional', 'extra', 'further', + 'general', 'basics', 'advanced', 'setup', 'configuration', 'usage', + 'example', 'examples', 'reference', 'resources', 'related' +]); + +const BAD_DESC_STARTS = [ + /^this page/i, + /^learn how to/i, + /^a guide to/i, + /^an overview of/i, + /^this document/i, + /^this section/i, + /^welcome to/i, +]; + +// ── Audit ───────────────────────────────────────────────────────────────────── + +const files = getAllMdx(DOCS_DIR); +const rel = (f) => path.relative(ROOT, f).split(path.sep).join('/'); + +const issues = { + // Critical + missingDesc: [], + dupTitle: {}, // title -> [files] + noAboutHeading: [], + // Warning + titleTooShort: [], + titleTooLong: [], + titleGeneric: [], + descTooShort: [], + descTooLong: [], + descBadStart: [], + descNoKeywords: [], + vagueHeading: [], // [{rel, headings}] + skippedHeadingLevel: [], + h3WithoutH2: [], + // Info / AEO + noTldr: [], + firstParaIsCodeOrList: [], + hasQuestionHeadings: [], // pages that DO have question headings (good) + noQuestionHeadings: [], // pages that don't (opportunity) + hasAccordionOrFaq: [], +}; + +const pageScores = {}; // rel -> issue count +const titleMap = {}; + +for (const f of files) { + const r = rel(f); + const content = fs.readFileSync(f, 'utf-8'); + // Only read first 100 lines for most checks (speed), full file for heading hierarchy + const lines = content.split(/\r?\n/); + const head100 = lines.slice(0, 100).join('\n'); + + const fm = parseFrontmatter(content); + const body = getBody(content); + const headings = extractHeadings(body); + + const title = (fm.title || '').trim(); + const desc = (fm.description || '').trim(); + let issueCount = 0; + + // ── 1. Missing description ── + if (!desc) { issues.missingDesc.push(r); issueCount += 3; } + + // ── 2. Duplicate titles ── + if (title) { + if (!titleMap[title]) titleMap[title] = []; + titleMap[title].push(r); + } + + // ── 3. Title length ── + if (title && title.length < 15) { issues.titleTooShort.push({ r, title, len: title.length }); issueCount++; } + if (title && title.length > 60) { issues.titleTooLong.push({ r, title, len: title.length }); issueCount++; } + + // ── 4. Generic/keyword-poor title ── + if (title && GENERIC_TITLES.has(title.toLowerCase())) { + issues.titleGeneric.push({ r, title }); issueCount += 2; + } + + // ── 5. Description length ── + if (desc && desc.length < 120) { issues.descTooShort.push({ r, len: desc.length }); issueCount++; } + if (desc && desc.length > 155) { issues.descTooLong.push({ r, len: desc.length }); issueCount++; } + + // ── 6. Description bad starts ── + if (desc) { + for (const pat of BAD_DESC_STARTS) { + if (pat.test(desc)) { issues.descBadStart.push({ r, desc: desc.slice(0, 80) }); issueCount++; break; } + } + } + + // ── 7. Description repeats title verbatim ── + if (desc && title && desc.toLowerCase().startsWith(title.toLowerCase())) { + issues.descNoKeywords.push({ r, note: 'starts with title verbatim' }); issueCount++; + } + + // ── 8. First heading == ## About ── + const firstH = headings[0]; + if (!firstH || !(firstH.level === 2 && firstH.text.toLowerCase().startsWith('about'))) { + issues.noAboutHeading.push({ r, firstH: firstH ? `${'#'.repeat(firstH.level)} ${firstH.text}` : '(none)' }); + issueCount += 2; + } + + // ── 9. Vague single-word headings ── + const vagueFound = headings.filter(h => VAGUE_HEADINGS.has(h.text.toLowerCase())); + if (vagueFound.length > 0) { + issues.vagueHeading.push({ r, headings: vagueFound.map(h => `${'#'.repeat(h.level)} ${h.text}`) }); + issueCount += vagueFound.length; + } + + // ── 10. Heading hierarchy: skipped levels or H3 without H2 ── + let hasH2 = false; + let prevLevel = 0; + let hierarchyIssues = []; + for (const h of headings) { + if (h.level === 2) hasH2 = true; + if (h.level === 3 && !hasH2) hierarchyIssues.push(`H3 "${h.text}" with no preceding H2`); + if (prevLevel > 0 && h.level > prevLevel + 1) hierarchyIssues.push(`H${prevLevel}→H${h.level} skip at "${h.text}"`); + prevLevel = h.level; + } + if (hierarchyIssues.length > 0) { + issues.skippedHeadingLevel.push({ r, problems: hierarchyIssues }); + issueCount += hierarchyIssues.length; + } + + // ── 11. Question-style headings ── + const questionH = headings.filter(h => h.text.endsWith('?') || /^(what|how|why|when|where|which|can|does|is|are|do)\b/i.test(h.text)); + if (questionH.length > 0) { + issues.hasQuestionHeadings.push({ r, count: questionH.length }); + } else { + issues.noQuestionHeadings.push(r); + } + + // ── 12. TLDR block ── + if (!/<TLDR|<tldr|:::tip\s*TLDR|## TL;DR|## TLDR/i.test(body)) { + issues.noTldr.push(r); issueCount++; + } + + // ── 13. First para after first heading is code/list ── + const firstPara = firstParaAfterFirstHeading(body); + if (firstPara.startsWith('```') || firstPara.startsWith('<CodeBlock') || firstPara.startsWith('- ') || firstPara.startsWith('1.') || firstPara.startsWith('*')) { + issues.firstParaIsCodeOrList.push(r); issueCount++; + } + + // ── 14. FAQ / Accordion blocks ── + if (/<Accordion|<details|## FAQ|## Frequently Asked/i.test(body)) { + issues.hasAccordionOrFaq.push(r); + } + + pageScores[r] = issueCount; +} + +// Finalize duplicate titles +for (const [t, fs_] of Object.entries(titleMap)) { + if (fs_.length > 1) issues.dupTitle[t] = fs_; +} +const dupTitleFiles = Object.values(issues.dupTitle).flat(); + +// Top-20 most issues +const top20 = Object.entries(pageScores) + .sort((a, b) => b[1] - a[1]) + .slice(0, 20); + +// ── Report ──────────────────────────────────────────────────────────────────── + +const total = files.length; +const pct = (n) => `${n} (${Math.round(n / total * 100)}%)`; + +let out = `# AEO / GEO / SEO Audit Report\n\n`; +out += `**Site:** docs.futureagi.com | **Files scanned:** ${total} | **Date:** ${new Date().toISOString().slice(0, 10)}\n\n`; + +out += `---\n\n## Summary Table\n\n`; +out += `| Check | Affected | % |\n|---|---|---|\n`; +out += `| Missing description | ${issues.missingDesc.length} | ${Math.round(issues.missingDesc.length/total*100)}% |\n`; +out += `| Duplicate title | ${dupTitleFiles.length} | ${Math.round(dupTitleFiles.length/total*100)}% |\n`; +out += `| No \`## About\` first heading | ${issues.noAboutHeading.length} | ${Math.round(issues.noAboutHeading.length/total*100)}% |\n`; +out += `| Title too short (<15) | ${issues.titleTooShort.length} | ${Math.round(issues.titleTooShort.length/total*100)}% |\n`; +out += `| Title too long (>60) | ${issues.titleTooLong.length} | ${Math.round(issues.titleTooLong.length/total*100)}% |\n`; +out += `| Generic/bare title | ${issues.titleGeneric.length} | ${Math.round(issues.titleGeneric.length/total*100)}% |\n`; +out += `| Description too short (<120) | ${issues.descTooShort.length} | ${Math.round(issues.descTooShort.length/total*100)}% |\n`; +out += `| Description too long (>155) | ${issues.descTooLong.length} | ${Math.round(issues.descTooLong.length/total*100)}% |\n`; +out += `| Description bad start phrase | ${issues.descBadStart.length} | ${Math.round(issues.descBadStart.length/total*100)}% |\n`; +out += `| Vague single-word headings | ${issues.vagueHeading.length} | ${Math.round(issues.vagueHeading.length/total*100)}% |\n`; +out += `| Heading hierarchy skip/H3-no-H2 | ${issues.skippedHeadingLevel.length} | ${Math.round(issues.skippedHeadingLevel.length/total*100)}% |\n`; +out += `| No TLDR block (AEO opportunity) | ${issues.noTldr.length} | ${Math.round(issues.noTldr.length/total*100)}% |\n`; +out += `| First para is code/list | ${issues.firstParaIsCodeOrList.length} | ${Math.round(issues.firstParaIsCodeOrList.length/total*100)}% |\n`; +out += `| Has question-style headings ✅ | ${issues.hasQuestionHeadings.length} | ${Math.round(issues.hasQuestionHeadings.length/total*100)}% |\n`; +out += `| Has Accordion/FAQ block ✅ | ${issues.hasAccordionOrFaq.length} | ${Math.round(issues.hasAccordionOrFaq.length/total*100)}% |\n`; + +// ── CRITICAL ────────────────────────────────────────────────────────────────── +out += `\n---\n\n## 🔴 Critical Issues\n\n`; + +out += `### 1. Missing \`description\` — ${pct(issues.missingDesc.length)}\n\n`; +if (issues.missingDesc.length === 0) out += '_None._\n'; +else out += issues.missingDesc.map(f => `- ${f}`).join('\n') + '\n'; + +out += `\n### 2. Duplicate Titles — ${Object.keys(issues.dupTitle).length} groups\n\n`; +if (Object.keys(issues.dupTitle).length === 0) out += '_None._\n'; +else out += Object.entries(issues.dupTitle).map(([t, fs_]) => + `**"${t}"** (${fs_.length} files)\n${fs_.map(f => ` - ${f}`).join('\n')}` +).join('\n\n') + '\n'; + +out += `\n### 3. No \`## About\` First Heading — ${pct(issues.noAboutHeading.length)}\n\n`; +if (issues.noAboutHeading.length === 0) out += '_None._\n'; +else { + // Group: no heading at all vs wrong heading + const noHeading = issues.noAboutHeading.filter(x => x.firstH === '(none)'); + const wrongHeading = issues.noAboutHeading.filter(x => x.firstH !== '(none)'); + if (noHeading.length) { + out += `**No headings at all** (${noHeading.length} files — typically API reference pages):\n`; + out += noHeading.map(x => `- ${x.r}`).join('\n') + '\n\n'; + } + if (wrongHeading.length) { + out += `**Different first heading** (${wrongHeading.length} files):\n`; + out += wrongHeading.map(x => `- \`${x.firstH}\` → ${x.r}`).join('\n') + '\n'; + } +} + +// ── WARNING ─────────────────────────────────────────────────────────────────── +out += `\n---\n\n## 🟡 Warnings\n\n`; + +out += `### 4. Title Too Short (<15 chars) — ${pct(issues.titleTooShort.length)}\n\n`; +if (issues.titleTooShort.length === 0) out += '_None._\n'; +else out += issues.titleTooShort.map(x => `- "${x.title}" (${x.len}) → ${x.r}`).join('\n') + '\n'; + +out += `\n### 5. Title Too Long (>60 chars) — ${pct(issues.titleTooLong.length)}\n\n`; +if (issues.titleTooLong.length === 0) out += '_None._\n'; +else out += issues.titleTooLong.map(x => `- "${x.title}" (${x.len}) → ${x.r}`).join('\n') + '\n'; + +out += `\n### 6. Generic / Keyword-Poor Title — ${pct(issues.titleGeneric.length)}\n\n`; +if (issues.titleGeneric.length === 0) out += '_None._\n'; +else out += issues.titleGeneric.map(x => `- "${x.title}" → ${x.r}`).join('\n') + '\n'; + +out += `\n### 7. Description Too Short (<120 chars) — ${pct(issues.descTooShort.length)}\n\n`; +if (issues.descTooShort.length === 0) out += '_None._\n'; +else out += issues.descTooShort.map(x => `- (${x.len} chars) → ${x.r}`).join('\n') + '\n'; + +out += `\n### 8. Description Too Long (>155 chars) — ${pct(issues.descTooLong.length)}\n\n`; +if (issues.descTooLong.length === 0) out += '_None._\n'; +else out += issues.descTooLong.map(x => `- (${x.len} chars) → ${x.r}`).join('\n') + '\n'; + +out += `\n### 9. Description Bad Start Phrase — ${pct(issues.descBadStart.length)}\n\n`; +if (issues.descBadStart.length === 0) out += '_None._\n'; +else out += issues.descBadStart.map(x => `- "${x.desc}..." → ${x.r}`).join('\n') + '\n'; + +out += `\n### 10. Vague Single-Word Headings — ${pct(issues.vagueHeading.length)} files affected\n\n`; +if (issues.vagueHeading.length === 0) out += '_None._\n'; +else out += issues.vagueHeading.map(x => `- ${x.r}\n${x.headings.map(h => ` - \`${h}\``).join('\n')}`).join('\n') + '\n'; + +out += `\n### 11. Heading Hierarchy Issues (skipped level / H3 before H2) — ${pct(issues.skippedHeadingLevel.length)}\n\n`; +if (issues.skippedHeadingLevel.length === 0) out += '_None._\n'; +else out += issues.skippedHeadingLevel.map(x => `- ${x.r}\n${x.problems.map(p => ` - ${p}`).join('\n')}`).join('\n') + '\n'; + +// ── INFO / AEO ──────────────────────────────────────────────────────────────── +out += `\n---\n\n## 🔵 AEO / GEO Opportunities\n\n`; + +out += `### 12. No TLDR Block — ${pct(issues.noTldr.length)} files lack a summary block\n\n`; +out += `_A \`<TLDR>\` component or \`## TL;DR\` section near the top helps LLMs extract concise answers for AI-generated responses._\n\n`; +out += `Pages with highest priority (most content, no TLDR) — top 30:\n\n`; +// Sort by file path depth (deeper = more specific = higher value for TLDR) +const noTldrTop = issues.noTldr + .filter(f => !f.includes('/api/') && !f.includes('index')) + .slice(0, 30); +out += noTldrTop.map(f => `- ${f}`).join('\n') + '\n'; +if (issues.noTldr.length > 30) out += `\n_...and ${issues.noTldr.length - 30} more (mostly API reference pages)._\n`; + +out += `\n### 13. First Paragraph Is Code Block or List — ${pct(issues.firstParaIsCodeOrList.length)}\n\n`; +out += `_Generative engines prefer prose definitions before code. Pages that open with a code block or bullet list after the heading miss the chance to define the concept in plain language._\n\n`; +if (issues.firstParaIsCodeOrList.length === 0) out += '_None._\n'; +else out += issues.firstParaIsCodeOrList.map(f => `- ${f}`).join('\n') + '\n'; + +out += `\n### 14. Question-Style Headings (AEO signal) ✅\n\n`; +out += `${issues.hasQuestionHeadings.length} pages already use question-style headings — good for AEO.\n\n`; +out += `**${issues.noQuestionHeadings.length} pages have no question-style headings** — opportunity to add "What is X?", "How does Y work?", "When should I use Z?" sub-sections.\n\n`; +out += `Pages with question headings (examples):\n`; +out += issues.hasQuestionHeadings.slice(0, 15).map(x => `- ${x.r} (${x.count} question headings)`).join('\n') + '\n'; + +out += `\n### 15. Accordion / FAQ Blocks (AEO signal) ✅\n\n`; +out += `${issues.hasAccordionOrFaq.length} pages have \`<Accordion>\` or FAQ sections — these are strong AEO signals.\n\n`; +if (issues.hasAccordionOrFaq.length > 0) { + out += issues.hasAccordionOrFaq.map(f => `- ${f}`).join('\n') + '\n'; +} + +// ── TOP 20 ──────────────────────────────────────────────────────────────────── +out += `\n---\n\n## 📋 Top 20 Pages by Issue Count (Priority Rewrite List)\n\n`; +out += `| # | File | Issues |\n|---|---|---|\n`; +out += top20.map(([f, n], i) => `| ${i + 1} | ${f} | ${n} |`).join('\n') + '\n'; + +fs.writeFileSync(path.join(ROOT, 'aeo-audit-report.md'), out); +console.log(out); +console.error('\nReport saved to aeo-audit-report.md'); diff --git a/scripts/seo-audit.cjs b/scripts/seo-audit.cjs new file mode 100644 index 00000000..aa45c2e1 --- /dev/null +++ b/scripts/seo-audit.cjs @@ -0,0 +1,151 @@ +const fs = require('fs'); +const path = require('path'); + +const ROOT = 'C:/Users/Shibu/docs'; +const DOCS_DIR = path.join(ROOT, 'src/pages/docs'); + +function getAllMdx(dir) { + const results = []; + for (const entry of fs.readdirSync(dir)) { + const full = path.join(dir, entry); + if (fs.statSync(full).isDirectory()) results.push(...getAllMdx(full)); + else if (entry.endsWith('.mdx') || entry.endsWith('.md')) results.push(full); + } + return results; +} + +function parseFrontmatter(content) { + const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/); + if (!match) return {}; + const fm = {}; + const raw = match[1]; + // Match key: "value" or key: value (handles quoted and unquoted) + const re = /^(\w+):\s*(?:"([^"]*?)"|'([^']*?)'|(.*?))\s*$/gm; + let m; + while ((m = re.exec(raw)) !== null) { + fm[m[1]] = m[2] !== undefined ? m[2] : m[3] !== undefined ? m[3] : m[4]; + } + return fm; +} + +function getBody(content) { + return content.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n/, ''); +} + +function firstHeading(body) { + const lines = body.split(/\r?\n/); + for (const line of lines) { + const trimmed = line.trim(); + if (/^#{1,6} /.test(trimmed)) return trimmed; + } + return null; +} + +function hasNextSteps(body) { + if (/##\s+Next Steps/i.test(body)) return true; + // CardGroup with at least one Card that has href + if (/<CardGroup[\s\S]*?<Card\s[^>]*href=/i.test(body)) return true; + return false; +} + +function isFeaturePage(relPath) { + return /\/features\//.test(relPath); +} + +const files = getAllMdx(DOCS_DIR); + +const missingDesc = []; +const titleTooShort = []; +const titleTooLong = []; +const descTooShort = []; +const descTooLong = []; +const titleMap = {}; +const noAboutHeading = []; +const featureMissingNextSteps = []; + +for (const f of files) { + const rel = path.relative(ROOT, f).split(path.sep).join('/'); + const content = fs.readFileSync(f, 'utf-8'); + const fm = parseFrontmatter(content); + const body = getBody(content); + const title = (fm.title || '').trim(); + const desc = (fm.description || '').trim(); + + // 1. Missing description + if (!desc) missingDesc.push(rel); + + // 2. Title length + if (title && title.length < 15) titleTooShort.push({ rel, title, len: title.length }); + if (title && title.length > 60) titleTooLong.push({ rel, title, len: title.length }); + + // 3. Description length + if (desc) { + if (desc.length < 120) descTooShort.push({ rel, len: desc.length, desc: desc.slice(0, 80) }); + if (desc.length > 155) descTooLong.push({ rel, len: desc.length, desc: desc.slice(0, 80) }); + } + + // 4. Duplicate titles + if (title) { + if (!titleMap[title]) titleMap[title] = []; + titleMap[title].push(rel); + } + + // 5. First heading == ## About + const h = firstHeading(body); + if (!h || !h.startsWith('## About')) { + noAboutHeading.push({ rel, heading: h || '(no heading)' }); + } + + // 6. Feature pages missing Next Steps + if (isFeaturePage(rel) && !hasNextSteps(body)) { + featureMissingNextSteps.push(rel); + } +} + +const dupTitles = Object.entries(titleMap).filter(([, v]) => v.length > 1); + +let out = ''; +out += '# SEO Audit Report\n\n'; +out += `Site: src/pages/docs/ | Files scanned: ${files.length}\n\n---\n\n`; + +out += `## 1. Missing \`description\` — ${missingDesc.length} files\n\n`; +out += missingDesc.length === 0 ? '_None — all files have descriptions._\n' + : missingDesc.map(f => `- ${f}`).join('\n') + '\n'; + +out += `\n## 2. Title too short (<15 chars) — ${titleTooShort.length} files\n\n`; +out += titleTooShort.length === 0 ? '_None._\n' + : titleTooShort.map(x => `- "${x.title}" (${x.len} chars) → ${x.rel}`).join('\n') + '\n'; + +out += `\n## 3. Title too long (>60 chars) — ${titleTooLong.length} files\n\n`; +out += titleTooLong.length === 0 ? '_None._\n' + : titleTooLong.map(x => `- "${x.title}" (${x.len} chars) → ${x.rel}`).join('\n') + '\n'; + +out += `\n## 4. Description too short (<120 chars) — ${descTooShort.length} files\n\n`; +out += descTooShort.length === 0 ? '_None._\n' + : descTooShort.map(x => `- (${x.len} chars) "${x.desc}..." → ${x.rel}`).join('\n') + '\n'; + +out += `\n## 5. Description too long (>155 chars) — ${descTooLong.length} files\n\n`; +out += descTooLong.length === 0 ? '_None._\n' + : descTooLong.map(x => `- (${x.len} chars) "${x.desc}..." → ${x.rel}`).join('\n') + '\n'; + +out += `\n## 6. Duplicate titles — ${dupTitles.length} groups\n\n`; +if (dupTitles.length === 0) out += '_None._\n'; +else out += dupTitles.map(([t, fs]) => + `**"${t}"** (${fs.length} files)\n${fs.map(f => ` - ${f}`).join('\n')}` +).join('\n\n') + '\n'; + +out += `\n## 7. First body heading ≠ \`## About\` — ${noAboutHeading.length} files\n\n`; +if (noAboutHeading.length === 0) out += '_All files open with ## About._\n'; +else { + const shown = noAboutHeading.slice(0, 100); + out += shown.map(x => `- \`${x.heading}\` → ${x.rel}`).join('\n'); + if (noAboutHeading.length > 100) out += `\n... and ${noAboutHeading.length - 100} more`; + out += '\n'; +} + +out += `\n## 8. Feature pages missing Next Steps / CardGroup — ${featureMissingNextSteps.length} files\n\n`; +out += featureMissingNextSteps.length === 0 ? '_None._\n' + : featureMissingNextSteps.map(f => `- ${f}`).join('\n') + '\n'; + +fs.writeFileSync(path.join(ROOT, 'seo-audit-report.md'), out); +console.log(out); diff --git a/seo-audit-report.md b/seo-audit-report.md new file mode 100644 index 00000000..467b6e4a --- /dev/null +++ b/seo-audit-report.md @@ -0,0 +1,206 @@ +# SEO Audit Report + +Site: src/pages/docs/ | Files scanned: 612 + +--- + +## 1. Missing `description` — 0 files + +_None — all files have descriptions._ + +## 2. Title too short (<15 chars) — 0 files + +_None._ + +## 3. Title too long (>60 chars) — 1 files + +- "Understanding Prototype: Pre-Production Testing in Future AGI" (61 chars) → src/pages/docs/prototype/concepts/understanding-prototype.mdx + +## 4. Description too short (<120 chars) — 16 files + +- (119 chars) "Access and manage your Future AGI API keys and secret keys from the developer da..." → src/pages/docs/admin-settings.mdx +- (116 chars) "Retrieve details of a specific call execution by UUID, including provider call I..." → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx +- (106 chars) "List all custom eval configs, with optional filtering by project UUID or eval ta..." → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx +- (115 chars) "Update an evaluation's config and key mapping, then optionally re-run it across ..." → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx +- (119 chars) "Trigger one or more evaluations to run across a dataset by submitting user eval ..." → src/pages/docs/api/dataset-evals/start-evals-process.mdx +- (112 chars) "Append a specified number of empty rows to an existing dataset by ID. Returns a ..." → src/pages/docs/api/datasets/add-empty-rows.mdx +- (118 chars) "Copy rows from a source dataset into a target dataset using a column mapping to ..." → src/pages/docs/api/datasets/add-rows-from-existing.mdx +- (118 chars) "Append rows to an existing dataset by uploading a CSV or JSONL file as multipart..." → src/pages/docs/api/datasets/add-rows-from-file.mdx +- (119 chars) "Add one or more columns to a dataset in a single request. Specify each column's ..." → src/pages/docs/api/datasets/columns/add-columns.mdx +- (113 chars) "Delete one or more rows from a dataset by row UUIDs, or delete all rows at once ..." → src/pages/docs/api/datasets/delete-rows.mdx +- (119 chars) "Create one or more copies of specific rows within a dataset by providing row UUI..." → src/pages/docs/api/datasets/duplicate-rows.mdx +- (116 chars) "Retrieve available models, tools, output formats, and tool choices for configuri..." → src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx +- (113 chars) "Soft-delete a single eval task by UUID. The task must not be in running state. R..." → src/pages/docs/api/eval-tasks/delete-eval-task.mdx +- (119 chars) "Pause a running eval task by UUID. Task must be in running state. Returns a conf..." → src/pages/docs/api/eval-tasks/pause-eval-task.mdx +- (119 chars) "Find answers to frequently asked questions about Future AGI products, pricing, f..." → src/pages/docs/faq.mdx +- (119 chars) "Build a new prompt manually in the Prompt Workbench with full control over struc..." → src/pages/docs/prompt/features/create-from-scratch.mdx + +## 5. Description too long (>155 chars) — 47 files + +- (158 chars) "Create a new version of an agent definition. Accepts agent name, language, syste..." → src/pages/docs/api/agent-versions/createagentversion.mdx +- (156 chars) "Get the default annotation queue for a project, dataset, or agent definition, au..." → src/pages/docs/api/annotations/queues/get-or-create-default.mdx +- (157 chars) "Transition an annotation queue to a new status (draft, active, paused, or comple..." → src/pages/docs/api/annotations/queues/update-status.mdx +- (162 chars) "Create an eval task for a project. Set eval configs, sampling rate, run type (co..." → src/pages/docs/api/eval-tasks/create-eval-task.mdx +- (161 chars) "Create a workspace-level persona for voice or text simulation. Set gender, age g..." → src/pages/docs/api/personas/createpersona.mdx +- (170 chars) "List system and workspace personas with pagination. Filter by type (prebuilt/cus..." → src/pages/docs/api/personas/listpersonas.mdx +- (182 chars) "Add one or more evaluation configurations to an existing test run. Specify templ..." → src/pages/docs/api/run-tests/addevalconfigs.mdx +- (181 chars) "Compare evaluation summaries side-by-side across multiple test executions. Accep..." → src/pages/docs/api/run-tests/compareevalsummaries.mdx +- (162 chars) "Create a new test run with scenarios, agent definition, eval configs, and option..." → src/pages/docs/api/run-tests/createruntest.mdx +- (168 chars) "Delete an evaluation configuration from a test run by run test and eval config U..." → src/pages/docs/api/run-tests/deleteevalconfig.mdx +- (170 chars) "Trigger a new execution of a test run. Select scenarios by inclusion or exclusio..." → src/pages/docs/api/run-tests/executeruntest.mdx +- (165 chars) "List paginated call executions for a test run. Filter by status or search string..." → src/pages/docs/api/run-tests/getcallexecutions.mdx +- (161 chars) "Retrieve aggregated evaluation summary for a test run. Optionally scope to a spe..." → src/pages/docs/api/run-tests/getevalsummary.mdx +- (164 chars) "Retrieve full details of a test run by UUID, including agent definition, prompt ..." → src/pages/docs/api/run-tests/getruntestdetails.mdx +- (162 chars) "List paginated test executions for a run test. Filter by status or search string..." → src/pages/docs/api/run-tests/gettestexecutions.mdx +- (165 chars) "List paginated test runs. Filter by name, source type, or prompt template. Retur..." → src/pages/docs/api/run-tests/listruntests.mdx +- (162 chars) "Rerun test executions within a run test. Choose eval_only to re-evaluate existin..." → src/pages/docs/api/run-tests/reruntestexecutions.mdx +- (168 chars) "Run new evaluation configs on completed test executions. Specify eval config UUI..." → src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx +- (159 chars) "Update an evaluation configuration for a test run. Modify config, mapping, model..." → src/pages/docs/api/run-tests/updateevalconfig.mdx +- (161 chars) "Update the agent definition, agent version, simulator agent, scenarios, or tool ..." → src/pages/docs/api/run-tests/updatetestcomponents.mdx +- (159 chars) "Add up to 10 AI-generated columns to a scenario dataset. Specify name, data type..." → src/pages/docs/api/scenarios/addcolumns.mdx +- (166 chars) "Add a specified number of empty rows to a scenario's dataset by dataset UUID. Ac..." → src/pages/docs/api/scenarios/addemptyrowstodataset.mdx +- (171 chars) "Generate and add 10–100 AI-populated rows to a scenario dataset. Provide optiona..." → src/pages/docs/api/scenarios/addscenariorowswithai.mdx +- (167 chars) "Create a simulation scenario from a dataset, script, or conversation graph. Supp..." → src/pages/docs/api/scenarios/createscenario.mdx +- (168 chars) "List paginated scenarios with optional search and filtering by agent definition ..." → src/pages/docs/api/scenarios/listscenarios.mdx +- (173 chars) "Retrieve latency, cost, and conversation metrics for a simulation run. Query by ..." → src/pages/docs/api/simulation-analytics/metrics.mdx +- (175 chars) "Retrieve simulation run records with eval scores, scenario metadata, and per-cal..." → src/pages/docs/api/simulation-analytics/runs.mdx +- (165 chars) "Cancel an in-progress test execution by UUID. Execution must be in pending, runn..." → src/pages/docs/api/test-executions/cancelexecution.mdx +- (178 chars) "Retrieve the AI-generated eval explanation summary for a test execution. Include..." → src/pages/docs/api/test-executions/getevalexplanationsummary.mdx +- (167 chars) "Retrieve pass/fail rates and top-performing scenarios for a test execution. Retu..." → src/pages/docs/api/test-executions/getperformancesummary.mdx +- (168 chars) "Retrieve a test execution by UUID with paginated call executions. Supports searc..." → src/pages/docs/api/test-executions/gettestexecutiondetails.mdx +- (171 chars) "Rerun call executions within a test execution. Choose eval_only to re-evaluate e..." → src/pages/docs/api/test-executions/reruncalls.mdx +- (162 chars) "Reference for all x-agentcc-* headers in Agent Command Center — control caching,..." → src/pages/docs/command-center/api/headers.mdx +- (160 chars) "Complete API reference for Agent Command Center — OpenAI-compatible endpoints, x..." → src/pages/docs/command-center/concepts/api-reference.mdx +- (162 chars) "Learn how Agent Command Center configuration works — hierarchy from request head..." → src/pages/docs/command-center/concepts/configuration.mdx +- (161 chars) "How Agent Command Center feeds signals into Future AGI Observe, Evaluate, Protec..." → src/pages/docs/command-center/concepts/platform-integration.mdx +- (161 chars) "Deploy Agent Command Center on your own infrastructure via Docker or Go binary —..." → src/pages/docs/command-center/deployment/self-hosted.mdx +- (156 chars) "Set per-key, per-org, and global RPM limits. Enforce monthly spend budgets and p..." → src/pages/docs/command-center/features/rate-limiting.mdx +- (156 chars) "Submit fire-and-forget async evaluations, poll job IDs for results, and run 50+ ..." → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx +- (156 chars) "Define LLM quality criteria in plain English, register reusable eval metrics in ..." → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx +- (158 chars) "Score RAG retrieval and generation quality independently with five metrics in on..." → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx +- (157 chars) "Evaluate LLM outputs for professional tone, harmful content, and demographic bia..." → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx +- (161 chars) "Simulate tool-calling agent conversations, trace every tool invocation as child ..." → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx +- (157 chars) "Auto-score every production LLM response, set alerts for quality regressions, an..." → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx +- (159 chars) "Full .env reference for self-hosted Future AGI — secrets, database credentials, ..." → src/pages/docs/self-hosting/environment.mdx +- (163 chars) "Production readiness checklist — replace secrets, configure TLS, set up managed ..." → src/pages/docs/self-hosting/production.mdx +- (166 chars) "Debug self-hosted Future AGI — symptoms, causes, and fixes for startup failures,..." → src/pages/docs/self-hosting/troubleshooting.mdx + +## 6. Duplicate titles — 2 groups + +**"Google GenAI Integration with Future AGI for Gemini Tracing"** (2 files) + - src/pages/docs/integrations/google-genai.mdx + - src/pages/docs/integrations/traceai/google_genai.mdx + +**"OpenAI Agents SDK Integration with Future AGI Tracing"** (2 files) + - src/pages/docs/integrations/openai-agents.mdx + - src/pages/docs/integrations/traceai/openai_agents.mdx + +## 7. First body heading ≠ `## About` — 434 files + +- `## Accessing API Keys` → src/pages/docs/admin-settings.mdx +- `## What you will do` → src/pages/docs/annotations/quickstart.mdx +- `## Installation` → src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx +- `# JavaScript SDK` → src/pages/docs/annotations/sdk/javascript.mdx +- `# Python SDK` → src/pages/docs/annotations/sdk/python.mdx +- `(no heading)` → src/pages/docs/api/agent-definitions/createagentdefinition.mdx +- `(no heading)` → src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx +- `(no heading)` → src/pages/docs/api/agent-definitions/fetchassistantfromprovider.mdx +- `(no heading)` → src/pages/docs/api/agent-definitions/getagentdefinition.mdx +- `(no heading)` → src/pages/docs/api/agent-definitions/listagentdefinitions.mdx +- `(no heading)` → src/pages/docs/api/agent-versions/createagentversion.mdx +- `(no heading)` → src/pages/docs/api/agent-versions/getagentversion.mdx +- `(no heading)` → src/pages/docs/api/agent-versions/getversioncallexecutions.mdx +- `(no heading)` → src/pages/docs/api/agent-versions/getversionevalsummary.mdx +- `(no heading)` → src/pages/docs/api/agent-versions/listagentversions.mdx +- `(no heading)` → src/pages/docs/api/annotations/bulk/bulk-annotate-spans.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/add-items.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/assign-items.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/bulk-remove-items.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/complete-item.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/get-annotate-detail.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/get-item-annotations.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/get-next-item.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/list-items.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/release-item.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/skip-item.mdx +- `(no heading)` → src/pages/docs/api/annotations/items/submit-annotations.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/create-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/delete-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/get-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/list-labels.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/restore-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/labels/update-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/add-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/create-queue.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/delete-queue.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/export-to-dataset.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/export.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/find-queues-for-source.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/get-agreement.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/get-analytics.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/get-or-create-default.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/get-progress.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/get-queue.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/list-queues.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/remove-label.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/update-queue.mdx +- `(no heading)` → src/pages/docs/api/annotations/queues/update-status.mdx +- `(no heading)` → src/pages/docs/api/annotations/scores/bulk-create-scores.mdx +- `(no heading)` → src/pages/docs/api/annotations/scores/create-score.mdx +- `(no heading)` → src/pages/docs/api/annotations/scores/delete-score.mdx +- `(no heading)` → src/pages/docs/api/annotations/scores/get-scores-for-source.mdx +- `(no heading)` → src/pages/docs/api/annotations/scores/list-scores.mdx +- `(no heading)` → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx +- `(no heading)` → src/pages/docs/api/call-executions/getsessioncomparison.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/check-config-exists.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/create-custom-eval-config.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/delete-custom-eval-config.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/get-custom-eval-config.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx +- `(no heading)` → src/pages/docs/api/custom-eval-configs/update-custom-eval-config.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/add-dataset-eval.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/create-custom-eval-template.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/delete-dataset-eval.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/get-eval-structure.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/get-eval-template-names.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/list-dataset-evals.mdx +- `(no heading)` → src/pages/docs/api/dataset-evals/start-evals-process.mdx +- `(no heading)` → src/pages/docs/api/datasets/add-as-new.mdx +- `(no heading)` → src/pages/docs/api/datasets/add-empty-rows.mdx +- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-existing.mdx +- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-file.mdx +- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-huggingface.mdx +- `(no heading)` → src/pages/docs/api/datasets/analytics/annotation-summary.mdx +- `(no heading)` → src/pages/docs/api/datasets/analytics/eval-stats.mdx +- `(no heading)` → src/pages/docs/api/datasets/analytics/explanation-summary.mdx +- `(no heading)` → src/pages/docs/api/datasets/analytics/run-prompt-stats.mdx +- `(no heading)` → src/pages/docs/api/datasets/clone-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/add-columns.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/add-multiple-static-columns.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/add-static-column.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/delete-column.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/get-column-config.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/get-column-details.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/update-column-name.mdx +- `(no heading)` → src/pages/docs/api/datasets/columns/update-column-type.mdx +- `(no heading)` → src/pages/docs/api/datasets/create-dataset-from-huggingface.mdx +- `(no heading)` → src/pages/docs/api/datasets/create-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/create-empty-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/delete-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/delete-rows.mdx +- `(no heading)` → src/pages/docs/api/datasets/duplicate-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/duplicate-rows.mdx +- `(no heading)` → src/pages/docs/api/datasets/list-datasets.mdx +- `(no heading)` → src/pages/docs/api/datasets/merge-dataset.mdx +- `(no heading)` → src/pages/docs/api/datasets/run-prompt/add-run-prompt-column.mdx +- `(no heading)` → src/pages/docs/api/datasets/run-prompt/edit-run-prompt-column.mdx +- `(no heading)` → src/pages/docs/api/datasets/run-prompt/get-column-values.mdx +- `(no heading)` → src/pages/docs/api/datasets/run-prompt/get-model-voices.mdx +... and 334 more + +## 8. Feature pages missing Next Steps / CardGroup — 3 files + +- src/pages/docs/agent-playground/features/build-workflow.mdx +- src/pages/docs/agent-playground/features/create-graph.mdx +- src/pages/docs/agent-playground/features/run-and-monitor.mdx diff --git a/src/pages/docs/admin-settings/ai-providers.mdx b/src/pages/docs/admin-settings/ai-providers.mdx index aa68a419..e7e0b4f5 100644 --- a/src/pages/docs/admin-settings/ai-providers.mdx +++ b/src/pages/docs/admin-settings/ai-providers.mdx @@ -52,7 +52,7 @@ Use the filter buttons to narrow the view: Each workspace can have its own AI provider configuration. Go to **Settings > Workspace > [workspace name] > AI Providers** to configure workspace-specific providers. Workspace providers override organization-level providers for that workspace. -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Workspace Management](/docs/admin-settings/workspace-management) - Organize projects and teams - [Integrations](/docs/admin-settings/integrations) - Connect external tools diff --git a/src/pages/docs/admin-settings/api-keys.mdx b/src/pages/docs/admin-settings/api-keys.mdx index 446a5542..2298e06b 100644 --- a/src/pages/docs/admin-settings/api-keys.mdx +++ b/src/pages/docs/admin-settings/api-keys.mdx @@ -54,7 +54,7 @@ Deleting a key immediately revokes access for any application using it. Make sur Never commit API keys to version control. Use environment variables or a secret manager. </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Installation](/docs/installation) - [Roles & Permissions](/docs/roles-and-permissions) diff --git a/src/pages/docs/admin-settings/billing-pricing.mdx b/src/pages/docs/admin-settings/billing-pricing.mdx index 24c927b6..3531b802 100644 --- a/src/pages/docs/admin-settings/billing-pricing.mdx +++ b/src/pages/docs/admin-settings/billing-pricing.mdx @@ -53,7 +53,7 @@ Update your billing details (name, email, address) from the Billing page. Click View past invoices in the table at the bottom of the Billing page. Each invoice shows the date, amount, and status. -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Usage Summary](/docs/admin-settings/usage-summary) - Track your organization's usage metrics - [API Keys](/docs/admin-settings/api-keys) - Manage your API keys diff --git a/src/pages/docs/admin-settings/integrations.mdx b/src/pages/docs/admin-settings/integrations.mdx index c8c28560..7dd4a86b 100644 --- a/src/pages/docs/admin-settings/integrations.mdx +++ b/src/pages/docs/admin-settings/integrations.mdx @@ -62,7 +62,7 @@ When connecting Datadog, select your site: | AP1 | Asia-Pacific | | US1-FED | US Government | -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Workspace Management](/docs/admin-settings/workspace-management) - Organize projects and teams - [Observability](/docs/tracing/auto) - Monitor your AI applications diff --git a/src/pages/docs/admin-settings/organization-settings.mdx b/src/pages/docs/admin-settings/organization-settings.mdx index f640042f..508dba43 100644 --- a/src/pages/docs/admin-settings/organization-settings.mdx +++ b/src/pages/docs/admin-settings/organization-settings.mdx @@ -50,7 +50,7 @@ Access: **Owner** and **Admin** only. Enforcing 2FA is recommended for organizations handling sensitive data or operating in regulated industries. </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [User Management](/docs/admin-settings/user-management) - [Profile & Security](/docs/admin-settings/profile-security) diff --git a/src/pages/docs/admin-settings/profile-security.mdx b/src/pages/docs/admin-settings/profile-security.mdx index d692281a..1cb742c4 100644 --- a/src/pages/docs/admin-settings/profile-security.mdx +++ b/src/pages/docs/admin-settings/profile-security.mdx @@ -68,7 +68,7 @@ Recovery codes are backup codes you can use if you lose access to your 2FA devic Store recovery codes in a secure location separate from your authenticator device. If you lose both, you will need to contact support. </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Organization Settings](/docs/admin-settings/organization-settings) - [Roles & Permissions](/docs/roles-and-permissions) diff --git a/src/pages/docs/admin-settings/usage-summary.mdx b/src/pages/docs/admin-settings/usage-summary.mdx index 7dc9e1b0..d8892889 100644 --- a/src/pages/docs/admin-settings/usage-summary.mdx +++ b/src/pages/docs/admin-settings/usage-summary.mdx @@ -35,7 +35,7 @@ The page displays usage metrics for the selected month and workspace. Specific m Use the workspace filter to compare usage across different teams or projects. </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Billing & Pricing](/docs/admin-settings/billing-pricing) - Manage your subscription and payments - [API Keys](/docs/admin-settings/api-keys) - Manage your API keys diff --git a/src/pages/docs/admin-settings/user-management.mdx b/src/pages/docs/admin-settings/user-management.mdx index 45d5b305..f2cdcea9 100644 --- a/src/pages/docs/admin-settings/user-management.mdx +++ b/src/pages/docs/admin-settings/user-management.mdx @@ -51,7 +51,7 @@ When editing a user, you can assign or remove them from specific workspaces. Wor For a detailed breakdown of what each role can access, see [Roles & Permissions](/docs/roles-and-permissions). </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Roles & Permissions](/docs/roles-and-permissions) - [Organization Settings](/docs/admin-settings/organization-settings) diff --git a/src/pages/docs/admin-settings/workspace-management.mdx b/src/pages/docs/admin-settings/workspace-management.mdx index 76b24c47..071a5efd 100644 --- a/src/pages/docs/admin-settings/workspace-management.mdx +++ b/src/pages/docs/admin-settings/workspace-management.mdx @@ -38,7 +38,7 @@ Each workspace has its own settings page with these sections: Organization-level roles and workspace-level roles are separate. A user can be a "Member" at the org level but a "workspace_admin" in a specific workspace. See [Roles & Permissions](/docs/roles-and-permissions) for how these interact. </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [User Management](/docs/admin-settings/user-management) - Add and manage organization members - [AI Providers](/docs/admin-settings/ai-providers) - Configure LLM providers per workspace diff --git a/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx b/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx index 405c2f03..5bf045fd 100644 --- a/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx +++ b/src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx @@ -93,7 +93,7 @@ The platform ships with built-in templates (LLM Prompt, Agent) and supports cust --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Versions & Execution](/docs/agent-playground/concepts/versions-and-execution): How the version lifecycle and execution model work - [Create a Graph](/docs/agent-playground/features/create-graph): Create your first workflow diff --git a/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx b/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx index 60b9c4f6..8cfc810f 100644 --- a/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx +++ b/src/pages/docs/agent-playground/concepts/versions-and-execution.mdx @@ -92,7 +92,7 @@ Each piece of data flowing through a port is validated against the port's JSON S --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Create a Graph](/docs/agent-playground/features/create-graph): Create your first workflow and manage versions - [Build a Workflow](/docs/agent-playground/features/build-workflow): Add nodes, configure them, and connect them diff --git a/src/pages/docs/agent-playground/features/build-workflow.mdx b/src/pages/docs/agent-playground/features/build-workflow.mdx index f70934b2..e2aff337 100644 --- a/src/pages/docs/agent-playground/features/build-workflow.mdx +++ b/src/pages/docs/agent-playground/features/build-workflow.mdx @@ -120,7 +120,7 @@ Use the **Global Variables** panel (accessible from the right side of the builde --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Run & Monitor](/docs/agent-playground/features/run-and-monitor): Execute your workflow and watch results in real time - [Versions & Execution](/docs/agent-playground/concepts/versions-and-execution): Understand version lifecycle and execution model diff --git a/src/pages/docs/agent-playground/features/create-graph.mdx b/src/pages/docs/agent-playground/features/create-graph.mdx index 12be90c8..0f839633 100644 --- a/src/pages/docs/agent-playground/features/create-graph.mdx +++ b/src/pages/docs/agent-playground/features/create-graph.mdx @@ -62,7 +62,7 @@ If you try to edit a node while viewing a non-draft version, the platform prompt --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Build a Workflow](/docs/agent-playground/features/build-workflow): Add nodes, configure them, and connect them into a pipeline - [Run & Monitor](/docs/agent-playground/features/run-and-monitor): Execute your workflow and inspect results diff --git a/src/pages/docs/agent-playground/features/run-and-monitor.mdx b/src/pages/docs/agent-playground/features/run-and-monitor.mdx index 2ad75fef..97e0f06f 100644 --- a/src/pages/docs/agent-playground/features/run-and-monitor.mdx +++ b/src/pages/docs/agent-playground/features/run-and-monitor.mdx @@ -98,7 +98,7 @@ Select any execution to see: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Build a Workflow](/docs/agent-playground/features/build-workflow): Modify your workflow and add more nodes - [Create a Graph](/docs/agent-playground/features/create-graph): Create another graph or manage versions diff --git a/src/pages/docs/annotations/concepts/scores.mdx b/src/pages/docs/annotations/concepts/scores.mdx index 77c4a0bb..38abd050 100644 --- a/src/pages/docs/annotations/concepts/scores.mdx +++ b/src/pages/docs/annotations/concepts/scores.mdx @@ -98,7 +98,7 @@ Scores created through different paths stay synchronized: This ensures a single source of truth regardless of where the annotation originated. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Annotation Labels" icon="tags" href="/docs/annotations/features/labels"> diff --git a/src/pages/docs/annotations/features/labels.mdx b/src/pages/docs/annotations/features/labels.mdx index 06c58084..fe710e97 100644 --- a/src/pages/docs/annotations/features/labels.mdx +++ b/src/pages/docs/annotations/features/labels.mdx @@ -117,7 +117,7 @@ Start with a few simple labels (e.g. a 5-star quality rating and a categorical s --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create & Manage Queues" icon="list-check" href="/docs/annotations/features/queues"> diff --git a/src/pages/docs/annotations/features/queues.mdx b/src/pages/docs/annotations/features/queues.mdx index d45462dd..3bd1c067 100644 --- a/src/pages/docs/annotations/features/queues.mdx +++ b/src/pages/docs/annotations/features/queues.mdx @@ -150,7 +150,7 @@ When a completed queue receives new items, it automatically transitions back to --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Items to Queues" icon="plus" href="/docs/annotations/features/add-items"> diff --git a/src/pages/docs/annotations/quickstart.mdx b/src/pages/docs/annotations/quickstart.mdx index a89c2b13..fcdfe958 100644 --- a/src/pages/docs/annotations/quickstart.mdx +++ b/src/pages/docs/annotations/quickstart.mdx @@ -79,7 +79,7 @@ In this walkthrough you will create an annotation label, set up a queue, add tra - **S** -- Skip the current item </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Annotation Labels" icon="tags" href="/docs/annotations/features/labels"> diff --git a/src/pages/docs/command-center/admin/organizations.mdx b/src/pages/docs/command-center/admin/organizations.mdx index 16ab10e4..27e5ad2f 100644 --- a/src/pages/docs/command-center/admin/organizations.mdx +++ b/src/pages/docs/command-center/admin/organizations.mdx @@ -159,7 +159,7 @@ For internal teams, use a single org with per-key restrictions: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Virtual keys" href="/docs/command-center/concepts/virtual-keys"> diff --git a/src/pages/docs/command-center/api/assistants.mdx b/src/pages/docs/command-center/api/assistants.mdx index e5e9a85f..3095df0c 100644 --- a/src/pages/docs/command-center/api/assistants.mdx +++ b/src/pages/docs/command-center/api/assistants.mdx @@ -329,7 +329,7 @@ The `x-agentcc-*` response headers are returned on every Assistants API response --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Chat completions" href="/docs/command-center/api/chat"> diff --git a/src/pages/docs/command-center/api/async-batch.mdx b/src/pages/docs/command-center/api/async-batch.mdx index a5f7e302..c80c9659 100644 --- a/src/pages/docs/command-center/api/async-batch.mdx +++ b/src/pages/docs/command-center/api/async-batch.mdx @@ -244,7 +244,7 @@ if batch.output_file_id: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Chat completions" href="/docs/command-center/api/chat"> diff --git a/src/pages/docs/command-center/api/chat.mdx b/src/pages/docs/command-center/api/chat.mdx index a03a58ed..c1844910 100644 --- a/src/pages/docs/command-center/api/chat.mdx +++ b/src/pages/docs/command-center/api/chat.mdx @@ -676,7 +676,7 @@ Agent Command Center translates the request to each provider's native format. Yo --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Routing strategies" href="/docs/command-center/features/routing"> diff --git a/src/pages/docs/command-center/api/embeddings.mdx b/src/pages/docs/command-center/api/embeddings.mdx index 7b95d861..3999fd4c 100644 --- a/src/pages/docs/command-center/api/embeddings.mdx +++ b/src/pages/docs/command-center/api/embeddings.mdx @@ -402,7 +402,7 @@ print(response.agentcc.cost) # 0 (no provider call) --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Chat completions" href="/docs/command-center/api/chat"> diff --git a/src/pages/docs/command-center/api/endpoints.mdx b/src/pages/docs/command-center/api/endpoints.mdx index 7e23ccab..f1c6f940 100644 --- a/src/pages/docs/command-center/api/endpoints.mdx +++ b/src/pages/docs/command-center/api/endpoints.mdx @@ -296,7 +296,7 @@ Requires admin token. --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="How it works" href="/docs/command-center/concepts/core"> diff --git a/src/pages/docs/command-center/api/files.mdx b/src/pages/docs/command-center/api/files.mdx index e3c36d9e..93a1a5f9 100644 --- a/src/pages/docs/command-center/api/files.mdx +++ b/src/pages/docs/command-center/api/files.mdx @@ -222,7 +222,7 @@ Max file size: 512 MB. Max files per vector store: 10,000. --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Assistants API" href="/docs/command-center/api/assistants"> diff --git a/src/pages/docs/command-center/api/headers.mdx b/src/pages/docs/command-center/api/headers.mdx index 2f90fa48..a7302464 100644 --- a/src/pages/docs/command-center/api/headers.mdx +++ b/src/pages/docs/command-center/api/headers.mdx @@ -273,7 +273,7 @@ curl -X POST https://gateway.futureagi.com/v1/chat/completions \ --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Chat completions" href="/docs/command-center/api/chat"> diff --git a/src/pages/docs/command-center/api/media.mdx b/src/pages/docs/command-center/api/media.mdx index eddc7a0c..2941e4d7 100644 --- a/src/pages/docs/command-center/api/media.mdx +++ b/src/pages/docs/command-center/api/media.mdx @@ -421,7 +421,7 @@ Available models depend on which providers are configured for your organization. --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Chat completions" href="/docs/command-center/api/chat"> diff --git a/src/pages/docs/command-center/concepts/api-reference.mdx b/src/pages/docs/command-center/concepts/api-reference.mdx index c79cb169..53407685 100644 --- a/src/pages/docs/command-center/concepts/api-reference.mdx +++ b/src/pages/docs/command-center/concepts/api-reference.mdx @@ -357,7 +357,7 @@ curl -X POST https://gateway.futureagi.com/v1/audio/transcriptions \ --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Quickstart" icon="rocket" href="/docs/command-center/quickstart"> diff --git a/src/pages/docs/command-center/concepts/configuration.mdx b/src/pages/docs/command-center/concepts/configuration.mdx index f2472424..6be9618e 100644 --- a/src/pages/docs/command-center/concepts/configuration.mdx +++ b/src/pages/docs/command-center/concepts/configuration.mdx @@ -390,7 +390,7 @@ The `GatewayConfig` dataclass groups all per-request config overrides: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Request & response headers" href="/docs/command-center/api/headers"> diff --git a/src/pages/docs/command-center/concepts/core.mdx b/src/pages/docs/command-center/concepts/core.mdx index 021cbd1a..785e3653 100644 --- a/src/pages/docs/command-center/concepts/core.mdx +++ b/src/pages/docs/command-center/concepts/core.mdx @@ -172,7 +172,7 @@ Streaming requests bypass the cache entirely - both on read and write. This is b --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Quickstart" href="/docs/command-center/quickstart"> diff --git a/src/pages/docs/command-center/concepts/platform-integration.mdx b/src/pages/docs/command-center/concepts/platform-integration.mdx index 8c8bc222..2928b22d 100644 --- a/src/pages/docs/command-center/concepts/platform-integration.mdx +++ b/src/pages/docs/command-center/concepts/platform-integration.mdx @@ -131,7 +131,7 @@ The `x-agentcc-metadata` header (or `metadata=` parameter in the SDK) is how you --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Shadow Experiments" icon="flask" href="/docs/command-center/features/shadow-experiments"> diff --git a/src/pages/docs/command-center/concepts/virtual-keys.mdx b/src/pages/docs/command-center/concepts/virtual-keys.mdx index f8bad8e7..5a181173 100644 --- a/src/pages/docs/command-center/concepts/virtual-keys.mdx +++ b/src/pages/docs/command-center/concepts/virtual-keys.mdx @@ -274,7 +274,7 @@ Instead of listing individual models on each key, assign access group names. Ali --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="How it works" href="/docs/command-center/concepts/core"> diff --git a/src/pages/docs/command-center/deployment/self-hosted.mdx b/src/pages/docs/command-center/deployment/self-hosted.mdx index d128db05..b7462111 100644 --- a/src/pages/docs/command-center/deployment/self-hosted.mdx +++ b/src/pages/docs/command-center/deployment/self-hosted.mdx @@ -366,7 +366,7 @@ View logs from the container: docker logs -f agentcc-gateway ``` -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Configuration" href="/docs/command-center/concepts/configuration"> diff --git a/src/pages/docs/command-center/features/caching.mdx b/src/pages/docs/command-center/features/caching.mdx index 3a68a5a9..a0c42a3f 100644 --- a/src/pages/docs/command-center/features/caching.mdx +++ b/src/pages/docs/command-center/features/caching.mdx @@ -207,7 +207,7 @@ Backend configuration is set at the gateway level in `config.yaml`. If you're us --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Routing" href="/docs/command-center/features/routing"> diff --git a/src/pages/docs/command-center/features/cost-tracking.mdx b/src/pages/docs/command-center/features/cost-tracking.mdx index 7099df71..d5e875ff 100644 --- a/src/pages/docs/command-center/features/cost-tracking.mdx +++ b/src/pages/docs/command-center/features/cost-tracking.mdx @@ -248,7 +248,7 @@ Budgets are configured on the [Rate limiting & budgets](/docs/command-center/fea --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Rate limiting & budgets" href="/docs/command-center/features/rate-limiting"> diff --git a/src/pages/docs/command-center/features/custom-properties.mdx b/src/pages/docs/command-center/features/custom-properties.mdx index fce9eab8..f7700e83 100644 --- a/src/pages/docs/command-center/features/custom-properties.mdx +++ b/src/pages/docs/command-center/features/custom-properties.mdx @@ -102,7 +102,7 @@ The **Log Preview** panel on the Custom Properties page shows how property value --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Cost tracking" href="/docs/command-center/features/cost-tracking"> diff --git a/src/pages/docs/command-center/features/guardrails.mdx b/src/pages/docs/command-center/features/guardrails.mdx index c0197b5c..4281449a 100644 --- a/src/pages/docs/command-center/features/guardrails.mdx +++ b/src/pages/docs/command-center/features/guardrails.mdx @@ -614,7 +614,7 @@ client.feedback.create( --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Routing" href="/docs/command-center/features/routing"> diff --git a/src/pages/docs/command-center/features/mcp-a2a.mdx b/src/pages/docs/command-center/features/mcp-a2a.mdx index 656ca4ba..102fed4c 100644 --- a/src/pages/docs/command-center/features/mcp-a2a.mdx +++ b/src/pages/docs/command-center/features/mcp-a2a.mdx @@ -415,7 +415,7 @@ Agent Command Center's agent card specifies which schemes it supports. When rout --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Guardrails" href="/docs/command-center/features/guardrails"> diff --git a/src/pages/docs/command-center/features/observability.mdx b/src/pages/docs/command-center/features/observability.mdx index b3617532..9426c1ab 100644 --- a/src/pages/docs/command-center/features/observability.mdx +++ b/src/pages/docs/command-center/features/observability.mdx @@ -209,7 +209,7 @@ Configure alerts to get notified about issues. See [Cost tracking > Budget alert --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Cost tracking" href="/docs/command-center/features/cost-tracking"> diff --git a/src/pages/docs/command-center/features/providers.mdx b/src/pages/docs/command-center/features/providers.mdx index 79dcb51a..39d195c3 100644 --- a/src/pages/docs/command-center/features/providers.mdx +++ b/src/pages/docs/command-center/features/providers.mdx @@ -327,7 +327,7 @@ See [Failover & circuit breaking](/docs/command-center/features/routing) for con --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Routing strategies" href="/docs/command-center/features/routing"> diff --git a/src/pages/docs/command-center/features/rate-limiting.mdx b/src/pages/docs/command-center/features/rate-limiting.mdx index 2538965d..5930201a 100644 --- a/src/pages/docs/command-center/features/rate-limiting.mdx +++ b/src/pages/docs/command-center/features/rate-limiting.mdx @@ -333,7 +333,7 @@ The remaining balance is returned in the `x-agentcc-credits-remaining` response --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Cost tracking" href="/docs/command-center/features/cost-tracking"> diff --git a/src/pages/docs/command-center/features/routing.mdx b/src/pages/docs/command-center/features/routing.mdx index c2ad2603..4416a727 100644 --- a/src/pages/docs/command-center/features/routing.mdx +++ b/src/pages/docs/command-center/features/routing.mdx @@ -551,7 +551,7 @@ You are billed by every provider that receives the request, not just the winner. --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Supported providers" href="/docs/command-center/features/providers"> diff --git a/src/pages/docs/command-center/features/self-hosted-models.mdx b/src/pages/docs/command-center/features/self-hosted-models.mdx index 53ab75d1..3c89515c 100644 --- a/src/pages/docs/command-center/features/self-hosted-models.mdx +++ b/src/pages/docs/command-center/features/self-hosted-models.mdx @@ -177,7 +177,7 @@ response = client.chat.completions.create( --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Self-hosted deployment" href="/docs/command-center/deployment/self-hosted"> diff --git a/src/pages/docs/command-center/features/shadow-experiments.mdx b/src/pages/docs/command-center/features/shadow-experiments.mdx index d2a2f9cf..2c23b33c 100644 --- a/src/pages/docs/command-center/features/shadow-experiments.mdx +++ b/src/pages/docs/command-center/features/shadow-experiments.mdx @@ -175,7 +175,7 @@ Shadow results appear in the Future AGI dashboard after periodic sync. Direct AP - Shadow calls have a 30-second timeout. Timeouts are recorded as errors but don't affect the primary response - Shadow failures never affect the user-facing response -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Routing" href="/docs/command-center/features/routing"> diff --git a/src/pages/docs/command-center/features/streaming.mdx b/src/pages/docs/command-center/features/streaming.mdx index 9ab2d233..5bbd1bef 100644 --- a/src/pages/docs/command-center/features/streaming.mdx +++ b/src/pages/docs/command-center/features/streaming.mdx @@ -216,7 +216,7 @@ Your application receives identical SSE events regardless of the underlying prov --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Caching" icon="database" href="/docs/command-center/features/caching"> diff --git a/src/pages/docs/command-center/features/webhooks.mdx b/src/pages/docs/command-center/features/webhooks.mdx index c58b1edd..4c408bb0 100644 --- a/src/pages/docs/command-center/features/webhooks.mdx +++ b/src/pages/docs/command-center/features/webhooks.mdx @@ -137,7 +137,7 @@ The **Delivery Log** tab on the Webhooks page shows the status of every webhook --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Observability" href="/docs/command-center/features/observability"> diff --git a/src/pages/docs/command-center/guides/errors.mdx b/src/pages/docs/command-center/guides/errors.mdx index ceee68e8..02b4efa9 100644 --- a/src/pages/docs/command-center/guides/errors.mdx +++ b/src/pages/docs/command-center/guides/errors.mdx @@ -314,7 +314,7 @@ except APIError as e: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Troubleshooting" href="/docs/command-center/guides/troubleshooting"> diff --git a/src/pages/docs/command-center/guides/troubleshooting.mdx b/src/pages/docs/command-center/guides/troubleshooting.mdx index 0f6abbc8..5a239d87 100644 --- a/src/pages/docs/command-center/guides/troubleshooting.mdx +++ b/src/pages/docs/command-center/guides/troubleshooting.mdx @@ -178,7 +178,7 @@ If you can't resolve the issue: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Error handling" href="/docs/command-center/guides/errors"> diff --git a/src/pages/docs/command-center/quickstart.mdx b/src/pages/docs/command-center/quickstart.mdx index ed35144d..967d3a04 100644 --- a/src/pages/docs/command-center/quickstart.mdx +++ b/src/pages/docs/command-center/quickstart.mdx @@ -227,7 +227,7 @@ Agent Command Center works with any OpenAI-compatible client. If you use LangCha --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="How it works" href="/docs/command-center/concepts/core"> diff --git a/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx b/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx index e63ec0f7..3872f1a1 100644 --- a/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx +++ b/src/pages/docs/cookbook/chat-simulation-fix-agent.mdx @@ -389,7 +389,7 @@ Most teams see significant improvements by simply implementing the high-priority </Accordion> </AccordionGroup> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card diff --git a/src/pages/docs/cookbook/crewai-research-team.mdx b/src/pages/docs/cookbook/crewai-research-team.mdx index 7ddabcc6..cefac663 100644 --- a/src/pages/docs/cookbook/crewai-research-team.mdx +++ b/src/pages/docs/cookbook/crewai-research-team.mdx @@ -828,7 +828,7 @@ def custom_domain_evaluation(output: str, domain: str): By combining CrewAI's multi-agent capabilities with FutureAGI's observability and evaluation features, you can build sophisticated AI systems with confidence. The real-time monitoring and quality assessment ensure your AI agents perform reliably and produce high-quality outputs. -<div class="docs-section-title">Next Steps</div> +## Next Steps 1. **Experiment with Different Agent Configurations**: Try different team compositions for various research domains 2. **Customize Evaluations**: Create domain-specific evaluation criteria diff --git a/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx b/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx index 9d7bccc4..e3d64954 100644 --- a/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx +++ b/src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx @@ -240,7 +240,7 @@ For details on how to read scores, insights, clusters, and recommendations, see --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Issue Overview](/docs/error-feed/features/issue-overview): Understand scores, clusters, and recommendations - [Error Taxonomy](/docs/error-feed/concepts/taxonomy): Explore all error categories diff --git a/src/pages/docs/cookbook/observability.mdx b/src/pages/docs/cookbook/observability.mdx index 731ecb26..8ca51b1e 100644 --- a/src/pages/docs/cookbook/observability.mdx +++ b/src/pages/docs/cookbook/observability.mdx @@ -260,7 +260,7 @@ You can monitor various metrics such as: - Cost of workflow - Evaluation Metrics -<div class="docs-section-title">Next Steps</div> +## Next Steps Ready to add observability to your app? Here are the steps: diff --git a/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx b/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx index e57b0b7c..02038706 100644 --- a/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx +++ b/src/pages/docs/cookbook/quickstart/distributed-tracing.mdx @@ -1019,7 +1019,7 @@ Before you ship: - [ ] Both services have `FI_API_KEY` and `FI_SECRET_KEY` set - [ ] Backend is started before gateway (or gateway handles connection errors gracefully) -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Tracing SDK Reference" icon="code" href="/docs/sdk/tracing"> diff --git a/src/pages/docs/dataset/concept/dynamic-column.mdx b/src/pages/docs/dataset/concept/dynamic-column.mdx index b71f5a23..8a53ef9d 100644 --- a/src/pages/docs/dataset/concept/dynamic-column.mdx +++ b/src/pages/docs/dataset/concept/dynamic-column.mdx @@ -55,7 +55,7 @@ Dynamic columns can be regenerated at any time. If you change the prompt or swit --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Static Columns](/docs/dataset/concept/static-column): Columns with fixed data you provide directly - [Run Prompt in Dataset](/docs/dataset/features/run-prompt): The most common dynamic column method diff --git a/src/pages/docs/dataset/concept/static-column.mdx b/src/pages/docs/dataset/concept/static-column.mdx index 377522c9..e5cb4014 100644 --- a/src/pages/docs/dataset/concept/static-column.mdx +++ b/src/pages/docs/dataset/concept/static-column.mdx @@ -49,7 +49,7 @@ You can add static columns through the UI or when creating a dataset via the SDK --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Dynamic Columns](/docs/dataset/concept/dynamic-column): Columns generated by prompts, evaluations, or models - [Add Columns](/docs/dataset/features/add-columns): Add new columns to an existing dataset diff --git a/src/pages/docs/dataset/concept/synthetic-data.mdx b/src/pages/docs/dataset/concept/synthetic-data.mdx index 7cb3191e..5f28844e 100644 --- a/src/pages/docs/dataset/concept/synthetic-data.mdx +++ b/src/pages/docs/dataset/concept/synthetic-data.mdx @@ -55,7 +55,7 @@ The generated data follows the constraints you set (sentiment is always one of t --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Generate Synthetic Data](/docs/quickstart/generate-synthetic-data): Step-by-step quickstart for creating your first synthetic dataset - [Static Columns](/docs/dataset/concept/static-column): How static columns store the data you provide diff --git a/src/pages/docs/dataset/concept/understanding-dataset.mdx b/src/pages/docs/dataset/concept/understanding-dataset.mdx index 09775c95..056c58ab 100644 --- a/src/pages/docs/dataset/concept/understanding-dataset.mdx +++ b/src/pages/docs/dataset/concept/understanding-dataset.mdx @@ -69,7 +69,7 @@ Datasets evolve over time. You can: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Static Columns](/docs/dataset/concept/static-column): Data you add directly to your dataset - [Dynamic Columns](/docs/dataset/concept/dynamic-column): Data generated by prompts, evaluations, or models diff --git a/src/pages/docs/dataset/features/add-columns.mdx b/src/pages/docs/dataset/features/add-columns.mdx index a63cff60..759314b6 100644 --- a/src/pages/docs/dataset/features/add-columns.mdx +++ b/src/pages/docs/dataset/features/add-columns.mdx @@ -167,7 +167,7 @@ Open your dataset and click **+ Add Columns**. Choose **Static** for fixed value </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Rows to Dataset" icon="table-rows" href="/docs/dataset/features/add-rows"> diff --git a/src/pages/docs/dataset/features/add-rows.mdx b/src/pages/docs/dataset/features/add-rows.mdx index f88f3112..6c81c579 100644 --- a/src/pages/docs/dataset/features/add-rows.mdx +++ b/src/pages/docs/dataset/features/add-rows.mdx @@ -279,7 +279,7 @@ Upload a file (CSV, JSON, JSONL, or Excel) to append rows to your dataset. The number of columns will increase automatically to match the number of columns in the new dataset. And the cells will be None by default. </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Columns to Dataset" icon="table-columns" href="/docs/dataset/features/add-columns"> diff --git a/src/pages/docs/dataset/features/annotate.mdx b/src/pages/docs/dataset/features/annotate.mdx index c5f2ad4f..522dc73d 100644 --- a/src/pages/docs/dataset/features/annotate.mdx +++ b/src/pages/docs/dataset/features/annotate.mdx @@ -67,7 +67,7 @@ For structured, multi-annotator annotation campaigns with progress tracking, ass </Card> </CardGroup> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Rows to Dataset" icon="table-rows" href="/docs/dataset/features/add-rows"> diff --git a/src/pages/docs/dataset/features/create.mdx b/src/pages/docs/dataset/features/create.mdx index ec4b56c9..badb83d1 100644 --- a/src/pages/docs/dataset/features/create.mdx +++ b/src/pages/docs/dataset/features/create.mdx @@ -294,7 +294,7 @@ You can create a subset from an existing dataset. </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Rows to Dataset" icon="table-rows" href="/docs/dataset/features/add-rows"> diff --git a/src/pages/docs/dataset/features/experiments.mdx b/src/pages/docs/dataset/features/experiments.mdx index 66285cf8..5b026a59 100644 --- a/src/pages/docs/dataset/features/experiments.mdx +++ b/src/pages/docs/dataset/features/experiments.mdx @@ -128,7 +128,7 @@ Experiment creation is a guided three-step flow: **Basic Info → Configuration - **Mix prompts and agents**: an **LLM** experiment can contain prompts and agents side by side, scored against the same evals. Useful when you're deciding whether an agent is worth the extra complexity over a prompt. TTS, STT, and Image experiments accept prompts only. - **Failed-only rerun**: when transient failures (rate limits, network blips) leave a few cells errored, use the failed-only rerun on the column to recover them without redoing successful rows. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Rows to Dataset" icon="table-rows" href="/docs/dataset/features/add-rows"> diff --git a/src/pages/docs/dataset/features/run-prompt.mdx b/src/pages/docs/dataset/features/run-prompt.mdx index b40e56e8..7a09a37e 100644 --- a/src/pages/docs/dataset/features/run-prompt.mdx +++ b/src/pages/docs/dataset/features/run-prompt.mdx @@ -105,7 +105,7 @@ Run Prompt lets you add a new column to your dataset that is filled by a model ( -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Rows to Dataset" icon="table-rows" href="/docs/dataset/features/add-rows"> diff --git a/src/pages/docs/dataset/index.mdx b/src/pages/docs/dataset/index.mdx index be11e83d..ab2b51a3 100644 --- a/src/pages/docs/dataset/index.mdx +++ b/src/pages/docs/dataset/index.mdx @@ -57,7 +57,7 @@ This distinction matters because dynamic columns let you add model outputs, eval </Card> </CardGroup> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Understanding Datasets](/docs/dataset/concept/understanding-dataset): Deeper dive into dataset concepts, column types, and best practices - [Generate Synthetic Data](/docs/quickstart/generate-synthetic-data): Create realistic datasets from scratch when real data is unavailable diff --git a/src/pages/docs/error-feed/concepts/scoring.mdx b/src/pages/docs/error-feed/concepts/scoring.mdx index 12990ced..7f841c3d 100644 --- a/src/pages/docs/error-feed/concepts/scoring.mdx +++ b/src/pages/docs/error-feed/concepts/scoring.mdx @@ -78,7 +78,7 @@ They're not the same thing though. The score is continuous, 0 to 5. The error cl A cluster with consistently low scores on all four dimensions is a fundamentally broken workflow, not a narrow edge case. When only one dimension is low, the problem is more targeted. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Severity and Status" icon="gauge" href="/docs/error-feed/concepts/severity-and-status"> diff --git a/src/pages/docs/error-feed/concepts/severity-and-status.mdx b/src/pages/docs/error-feed/concepts/severity-and-status.mdx index 5cc94a05..6baeea0e 100644 --- a/src/pages/docs/error-feed/concepts/severity-and-status.mdx +++ b/src/pages/docs/error-feed/concepts/severity-and-status.mdx @@ -68,7 +68,7 @@ The feed list is sortable and filterable by both. Typical workflow: See [Triage Workflow](/docs/error-feed/features/triage-workflow) for step-by-step guidance on working through a batch of issues. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Triage Workflow" icon="arrows-rotate" href="/docs/error-feed/features/triage-workflow"> diff --git a/src/pages/docs/error-feed/concepts/taxonomy.mdx b/src/pages/docs/error-feed/concepts/taxonomy.mdx index 7b0a928f..1d29aefb 100644 --- a/src/pages/docs/error-feed/concepts/taxonomy.mdx +++ b/src/pages/docs/error-feed/concepts/taxonomy.mdx @@ -113,7 +113,7 @@ On the [Feed list](/docs/error-feed/features/the-feed), issues are tagged with t A single trace can trigger errors in multiple categories. A tool failure that causes the agent to hallucinate a fallback answer will register as both a Tool & System Failure and a Thinking & Response Issue. </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/deep-analysis.mdx b/src/pages/docs/error-feed/features/deep-analysis.mdx index 2b068e83..c36add3f 100644 --- a/src/pages/docs/error-feed/features/deep-analysis.mdx +++ b/src/pages/docs/error-feed/features/deep-analysis.mdx @@ -84,7 +84,7 @@ Continuous scan runs automatically on every sampled trace. Deep Analysis runs on Neither replaces the other. Typical pattern: continuous scan surfaces the issue, Deep Analysis helps you understand it well enough to fix it confidently. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/issue-overview.mdx b/src/pages/docs/error-feed/features/issue-overview.mdx index bd1b7934..f47ee9c0 100644 --- a/src/pages/docs/error-feed/features/issue-overview.mdx +++ b/src/pages/docs/error-feed/features/issue-overview.mdx @@ -95,7 +95,7 @@ Recommendations link back to the Probable Root Causes that motivated them, so yo If Probable Root Cause and Recommendations & Fixes aren't on the Overview tab, Deep Analysis hasn't run for this issue yet. Click **Run Deep Analysis** in the metadata panel to trigger it. See [Deep Analysis](/docs/error-feed/features/deep-analysis). </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Traces" icon="list-check" href="/docs/error-feed/features/traces"> diff --git a/src/pages/docs/error-feed/features/linear-integration.mdx b/src/pages/docs/error-feed/features/linear-integration.mdx index 2fbdfe99..e7c5c32c 100644 --- a/src/pages/docs/error-feed/features/linear-integration.mdx +++ b/src/pages/docs/error-feed/features/linear-integration.mdx @@ -63,7 +63,7 @@ If Linear isn't connected, the row shows "Not connected" with a **Connect** butt The Linear integration pairs well with the [triage workflow](/docs/error-feed/features/triage-workflow). A typical pattern: review the issue in Error Feed, acknowledge it, create a Linear ticket, assign the ticket to the engineer who owns that component. </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Triage Workflow" icon="arrows-rotate" href="/docs/error-feed/features/triage-workflow"> diff --git a/src/pages/docs/error-feed/features/metadata-panel.mdx b/src/pages/docs/error-feed/features/metadata-panel.mdx index 88d43386..599a847a 100644 --- a/src/pages/docs/error-feed/features/metadata-panel.mdx +++ b/src/pages/docs/error-feed/features/metadata-panel.mdx @@ -115,7 +115,7 @@ Connected issue-tracking tools. Currently **Linear** is supported. See [Linear Integration](/docs/error-feed/features/linear-integration) for setup and workflow details. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/sampling.mdx b/src/pages/docs/error-feed/features/sampling.mdx index 3b386d05..536e8abe 100644 --- a/src/pages/docs/error-feed/features/sampling.mdx +++ b/src/pages/docs/error-feed/features/sampling.mdx @@ -64,7 +64,7 @@ Keep the sampling rate in mind when comparing cluster sizes across projects or t Rare errors (the ones that show up in only a small fraction of traces) are more likely to be missed at low rates. If you're hunting an edge case that only triggers occasionally, temporarily bump the sampling rate up for the duration of the investigation. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="How it works" icon="brain" href="/docs/error-feed/concepts/how-it-works"> diff --git a/src/pages/docs/error-feed/features/state-graph.mdx b/src/pages/docs/error-feed/features/state-graph.mdx index cb010b03..42827f43 100644 --- a/src/pages/docs/error-feed/features/state-graph.mdx +++ b/src/pages/docs/error-feed/features/state-graph.mdx @@ -57,7 +57,7 @@ For small clusters or very simple agents, the [Overview tab](/docs/error-feed/fe The [Overview tab](/docs/error-feed/features/issue-overview) also has an Agent Flow section, but it's based on the representative trace and shows the narrative flow for that single trace. The State Graph is based on the whole cluster and shows the aggregate picture. Use Agent Flow to understand the specific failure; use State Graph to understand how widespread and how structural it is. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/the-feed.mdx b/src/pages/docs/error-feed/features/the-feed.mdx index 9c6cad6f..d7e7ec04 100644 --- a/src/pages/docs/error-feed/features/the-feed.mdx +++ b/src/pages/docs/error-feed/features/the-feed.mdx @@ -87,7 +87,7 @@ See the feature pages for each: The list remembers your last filter state within a session. Open an issue, hit the breadcrumb to go back, and your filters are still applied. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/traces.mdx b/src/pages/docs/error-feed/features/traces.mdx index b0953659..27d37103 100644 --- a/src/pages/docs/error-feed/features/traces.mdx +++ b/src/pages/docs/error-feed/features/traces.mdx @@ -47,7 +47,7 @@ The Traces tab is specific to Error Feed and only shows traces belonging to this For span-level inspection of a specific trace, copy the Trace ID and look it up directly in Observe. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Issue Overview" icon="eye" href="/docs/error-feed/features/issue-overview"> diff --git a/src/pages/docs/error-feed/features/trends.mdx b/src/pages/docs/error-feed/features/trends.mdx index 43e87eea..772604c7 100644 --- a/src/pages/docs/error-feed/features/trends.mdx +++ b/src/pages/docs/error-feed/features/trends.mdx @@ -60,7 +60,7 @@ The most useful read is all three together. A typical investigation: This combination often turns a confusing cluster into a clear, attributable pattern. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Triage Workflow" icon="arrows-rotate" href="/docs/error-feed/features/triage-workflow"> diff --git a/src/pages/docs/error-feed/features/triage-workflow.mdx b/src/pages/docs/error-feed/features/triage-workflow.mdx index 59bc5a66..ee9f3e5a 100644 --- a/src/pages/docs/error-feed/features/triage-workflow.mdx +++ b/src/pages/docs/error-feed/features/triage-workflow.mdx @@ -94,7 +94,7 @@ When you ship a fix for a resolved issue: The goal isn't an empty issue list. It's making sure nothing critical sits unreviewed and that resolved issues actually stay resolved. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Severity and Status" icon="gauge" href="/docs/error-feed/concepts/severity-and-status"> diff --git a/src/pages/docs/evaluation/features/cicd.mdx b/src/pages/docs/evaluation/features/cicd.mdx index 6514c87e..456dd99d 100644 --- a/src/pages/docs/evaluation/features/cicd.mdx +++ b/src/pages/docs/evaluation/features/cicd.mdx @@ -398,7 +398,7 @@ The workflow posts a comment on your PR with the current version identifier and --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evaluate via Platform & SDK" icon="play" href="/docs/evaluation/features/evaluate"> diff --git a/src/pages/docs/evaluation/features/custom-models.mdx b/src/pages/docs/evaluation/features/custom-models.mdx index c881e067..d9d8a4a5 100644 --- a/src/pages/docs/evaluation/features/custom-models.mdx +++ b/src/pages/docs/evaluation/features/custom-models.mdx @@ -117,7 +117,7 @@ Fields you may see when adding a model (from a provider or custom). **Applies to --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evaluate via Platform & SDK" icon="play" href="/docs/evaluation/features/evaluate"> diff --git a/src/pages/docs/evaluation/features/custom.mdx b/src/pages/docs/evaluation/features/custom.mdx index 30ddc9f8..66c648b6 100644 --- a/src/pages/docs/evaluation/features/custom.mdx +++ b/src/pages/docs/evaluation/features/custom.mdx @@ -125,7 +125,7 @@ You can create custom evals from the **UI** or via the **SDK** (by calling the R --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evaluate via Platform & SDK" icon="play" href="/docs/evaluation/features/evaluate"> diff --git a/src/pages/docs/evaluation/features/evaluate.mdx b/src/pages/docs/evaluation/features/evaluate.mdx index 95d226ac..57a3ffe4 100644 --- a/src/pages/docs/evaluation/features/evaluate.mdx +++ b/src/pages/docs/evaluation/features/evaluate.mdx @@ -146,7 +146,7 @@ For more eval templates and Future AGI models, see [Built-in evals](/docs/evalua --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create custom evals" icon="wand-magic-sparkles" href="/docs/evaluation/features/custom"> diff --git a/src/pages/docs/evaluation/features/futureagi-models.mdx b/src/pages/docs/evaluation/features/futureagi-models.mdx index 4d5ea919..7dce3c35 100644 --- a/src/pages/docs/evaluation/features/futureagi-models.mdx +++ b/src/pages/docs/evaluation/features/futureagi-models.mdx @@ -71,7 +71,7 @@ All models are available in the platform UI and the SDK, and work with both buil --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evaluate via Platform & SDK" icon="play" href="/docs/evaluation/features/evaluate"> diff --git a/src/pages/docs/falcon-ai/features/chat.mdx b/src/pages/docs/falcon-ai/features/chat.mdx index 6e9a74ac..dbc02992 100644 --- a/src/pages/docs/falcon-ai/features/chat.mdx +++ b/src/pages/docs/falcon-ai/features/chat.mdx @@ -138,7 +138,7 @@ Falcon AI allows 10 messages per 60 seconds per user. If you hit the limit, wait --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Skills" icon="zap" href="/docs/falcon-ai/features/skills"> diff --git a/src/pages/docs/falcon-ai/features/mcp-connectors.mdx b/src/pages/docs/falcon-ai/features/mcp-connectors.mdx index 70185c8a..c8ca3ee6 100644 --- a/src/pages/docs/falcon-ai/features/mcp-connectors.mdx +++ b/src/pages/docs/falcon-ai/features/mcp-connectors.mdx @@ -109,7 +109,7 @@ Falcon AI automatically tries multiple endpoint paths (with and without `/mcp` s --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Using Falcon AI" icon="message-circle" href="/docs/falcon-ai/features/chat"> diff --git a/src/pages/docs/falcon-ai/features/skills.mdx b/src/pages/docs/falcon-ai/features/skills.mdx index c6a52517..6c708f5b 100644 --- a/src/pages/docs/falcon-ai/features/skills.mdx +++ b/src/pages/docs/falcon-ai/features/skills.mdx @@ -121,7 +121,7 @@ Open the skill picker, click an existing custom skill to open the editor. Update --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Using Falcon AI" icon="message-circle" href="/docs/falcon-ai/features/chat"> diff --git a/src/pages/docs/falcon-ai/index.mdx b/src/pages/docs/falcon-ai/index.mdx index 37d8794d..399afdac 100644 --- a/src/pages/docs/falcon-ai/index.mdx +++ b/src/pages/docs/falcon-ai/index.mdx @@ -66,7 +66,7 @@ Both share the same tool layer. --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Using Falcon AI" icon="message-circle" href="/docs/falcon-ai/features/chat"> diff --git a/src/pages/docs/knowledge-base/concepts/concept.mdx b/src/pages/docs/knowledge-base/concepts/concept.mdx index 5699f063..888839c9 100644 --- a/src/pages/docs/knowledge-base/concepts/concept.mdx +++ b/src/pages/docs/knowledge-base/concepts/concept.mdx @@ -44,7 +44,7 @@ After you upload files, the platform processes them automatically. Each file goe | Processing | File is being processed | | Failed | Processing failed. You'll be notified and the file won't be usable. | -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Create KB Using UI](/docs/knowledge-base/features/ui): Upload files through the dashboard - [Create KB Using SDK](/docs/knowledge-base/features/sdk): Upload and manage knowledge bases programmatically diff --git a/src/pages/docs/knowledge-base/features/sdk.mdx b/src/pages/docs/knowledge-base/features/sdk.mdx index 4e571670..46549de4 100644 --- a/src/pages/docs/knowledge-base/features/sdk.mdx +++ b/src/pages/docs/knowledge-base/features/sdk.mdx @@ -105,7 +105,7 @@ The Knowledge Base SDK lets you create and manage Knowledge Bases from code usin Wrap SDK calls in try/except and handle `fi.utils.errors.SDKException` (and optionally `InvalidAuthError`, rate limits) in production. Keep API credentials out of version control (e.g. use environment variables). </Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="SDK Reference" icon="code" href="/docs/sdk/knowledgebase"> diff --git a/src/pages/docs/knowledge-base/features/ui.mdx b/src/pages/docs/knowledge-base/features/ui.mdx index 4b160dd7..eb607043 100644 --- a/src/pages/docs/knowledge-base/features/ui.mdx +++ b/src/pages/docs/knowledge-base/features/ui.mdx @@ -79,7 +79,7 @@ The Knowledge Base UI lets you create and populate a Knowledge Base directly on --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create a Knowledge Base using SDK" icon="code" href="/docs/knowledge-base/features/sdk"> diff --git a/src/pages/docs/knowledge-base/index.mdx b/src/pages/docs/knowledge-base/index.mdx index 99a8f730..581d8619 100644 --- a/src/pages/docs/knowledge-base/index.mdx +++ b/src/pages/docs/knowledge-base/index.mdx @@ -39,7 +39,7 @@ A **Knowledge Base (KB)** is a store of your organization’s content: FAQs, doc </Card> </CardGroup> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Generate Synthetic Data](/docs/quickstart/generate-synthetic-data): Use a KB to ground synthetic data generation - [Knowledge Base Cookbook](/docs/cookbook/quickstart/knowledge-base): Upload documents and query with the SDK diff --git a/src/pages/docs/observe/features/alerts.mdx b/src/pages/docs/observe/features/alerts.mdx index 74ea22c6..b86f7f2c 100644 --- a/src/pages/docs/observe/features/alerts.mdx +++ b/src/pages/docs/observe/features/alerts.mdx @@ -66,7 +66,7 @@ description: "Define monitors on Observe project metrics (system or evaluation) --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/observe/features/dashboard.mdx b/src/pages/docs/observe/features/dashboard.mdx index fb8b021f..2ef91ad5 100644 --- a/src/pages/docs/observe/features/dashboard.mdx +++ b/src/pages/docs/observe/features/dashboard.mdx @@ -67,7 +67,7 @@ description: "Build custom dashboards with widgets to visualize your Observe pro --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/observe/features/evals.mdx b/src/pages/docs/observe/features/evals.mdx index cf17fc1b..24225eca 100644 --- a/src/pages/docs/observe/features/evals.mdx +++ b/src/pages/docs/observe/features/evals.mdx @@ -77,7 +77,7 @@ Evals run automated quality checks on your production traces, scoring every LLM --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/observe/features/manual-tracing/add-attributes-metadata-tags.mdx b/src/pages/docs/observe/features/manual-tracing/add-attributes-metadata-tags.mdx index 74392181..6ba8979d 100644 --- a/src/pages/docs/observe/features/manual-tracing/add-attributes-metadata-tags.mdx +++ b/src/pages/docs/observe/features/manual-tracing/add-attributes-metadata-tags.mdx @@ -473,7 +473,7 @@ A trace with only timing and status tells what happened, but not why. Without at --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/add-events-exceptions-status.mdx b/src/pages/docs/observe/features/manual-tracing/add-events-exceptions-status.mdx index 3f56ca58..c1ba95ba 100644 --- a/src/pages/docs/observe/features/manual-tracing/add-events-exceptions-status.mdx +++ b/src/pages/docs/observe/features/manual-tracing/add-events-exceptions-status.mdx @@ -166,7 +166,7 @@ Spans capture timing and attributes, but they do not automatically record what h --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/advanced-tracing-examples.mdx b/src/pages/docs/observe/features/manual-tracing/advanced-tracing-examples.mdx index 5e920b01..d3ba6745 100644 --- a/src/pages/docs/observe/features/manual-tracing/advanced-tracing-examples.mdx +++ b/src/pages/docs/observe/features/manual-tracing/advanced-tracing-examples.mdx @@ -672,7 +672,7 @@ Basic span creation works for synchronous, single-service code. But real applica --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/annotating-using-api.mdx b/src/pages/docs/observe/features/manual-tracing/annotating-using-api.mdx index 3fa3cf18..b2d1d2b2 100644 --- a/src/pages/docs/observe/features/manual-tracing/annotating-using-api.mdx +++ b/src/pages/docs/observe/features/manual-tracing/annotating-using-api.mdx @@ -304,7 +304,7 @@ Each element in `result.errors` contains: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/create-tool-spans.mdx b/src/pages/docs/observe/features/manual-tracing/create-tool-spans.mdx index 5401390b..c78dd39f 100644 --- a/src/pages/docs/observe/features/manual-tracing/create-tool-spans.mdx +++ b/src/pages/docs/observe/features/manual-tracing/create-tool-spans.mdx @@ -238,7 +238,7 @@ LLM agents often call external tools (APIs, databases, code interpreters), but t --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Instrument with traceAI Helpers" icon="plug" href="/docs/observe/features/manual-tracing/instrument-with-traceai-helpers"> diff --git a/src/pages/docs/observe/features/manual-tracing/get-current-span-context.mdx b/src/pages/docs/observe/features/manual-tracing/get-current-span-context.mdx index 0b806329..d4157bcf 100644 --- a/src/pages/docs/observe/features/manual-tracing/get-current-span-context.mdx +++ b/src/pages/docs/observe/features/manual-tracing/get-current-span-context.mdx @@ -130,7 +130,7 @@ Spans and tracers are usually created at the top of a request, but the functions --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/in-line-evals.mdx b/src/pages/docs/observe/features/manual-tracing/in-line-evals.mdx index 1610fb71..2aa5b933 100644 --- a/src/pages/docs/observe/features/manual-tracing/in-line-evals.mdx +++ b/src/pages/docs/observe/features/manual-tracing/in-line-evals.mdx @@ -95,7 +95,7 @@ Evaluation results are most useful when they sit next to the data that produced --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/instrument-with-traceai-helpers.mdx b/src/pages/docs/observe/features/manual-tracing/instrument-with-traceai-helpers.mdx index e1534a3f..34d4368e 100644 --- a/src/pages/docs/observe/features/manual-tracing/instrument-with-traceai-helpers.mdx +++ b/src/pages/docs/observe/features/manual-tracing/instrument-with-traceai-helpers.mdx @@ -320,7 +320,7 @@ Manual tracing with raw OpenTelemetry means writing a lot of setup code for ever --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/langfuse-integration.mdx b/src/pages/docs/observe/features/manual-tracing/langfuse-integration.mdx index 0697ba9b..331acd61 100644 --- a/src/pages/docs/observe/features/manual-tracing/langfuse-integration.mdx +++ b/src/pages/docs/observe/features/manual-tracing/langfuse-integration.mdx @@ -117,7 +117,7 @@ Langfuse provides tracing but does not have a built-in evaluation engine. This i --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Running Your First Eval" icon="play-circle" href="/docs/cookbook/quickstart/first-eval"> diff --git a/src/pages/docs/observe/features/manual-tracing/log-prompt-templates.mdx b/src/pages/docs/observe/features/manual-tracing/log-prompt-templates.mdx index 89439d64..c2588f61 100644 --- a/src/pages/docs/observe/features/manual-tracing/log-prompt-templates.mdx +++ b/src/pages/docs/observe/features/manual-tracing/log-prompt-templates.mdx @@ -109,7 +109,7 @@ LLM outputs depend entirely on the prompt, but the prompt itself is not captured --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/mask-span-attributes.mdx b/src/pages/docs/observe/features/manual-tracing/mask-span-attributes.mdx index de77776c..3865a1ca 100644 --- a/src/pages/docs/observe/features/manual-tracing/mask-span-attributes.mdx +++ b/src/pages/docs/observe/features/manual-tracing/mask-span-attributes.mdx @@ -98,7 +98,7 @@ Traces often contain sensitive data: user messages, API responses, PII, or large --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/semantic-conventions.mdx b/src/pages/docs/observe/features/manual-tracing/semantic-conventions.mdx index aef83143..ebbcec89 100644 --- a/src/pages/docs/observe/features/manual-tracing/semantic-conventions.mdx +++ b/src/pages/docs/observe/features/manual-tracing/semantic-conventions.mdx @@ -865,7 +865,7 @@ Every LLM provider returns data in a different format. Without a standard set of --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Add Attributes & Metadata" icon="tags" href="/docs/observe/features/manual-tracing/add-attributes-metadata-tags"> diff --git a/src/pages/docs/observe/features/manual-tracing/set-session-user-id.mdx b/src/pages/docs/observe/features/manual-tracing/set-session-user-id.mdx index 741b2ed0..91f4a21f 100644 --- a/src/pages/docs/observe/features/manual-tracing/set-session-user-id.mdx +++ b/src/pages/docs/observe/features/manual-tracing/set-session-user-id.mdx @@ -306,7 +306,7 @@ Traces are isolated by default. Without a session or user identifier, there is n --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Tracing" icon="gear" href="/docs/observe/features/manual-tracing/set-up-tracing"> diff --git a/src/pages/docs/observe/features/manual-tracing/set-up-tracing.mdx b/src/pages/docs/observe/features/manual-tracing/set-up-tracing.mdx index c6dd7530..20f8fb08 100644 --- a/src/pages/docs/observe/features/manual-tracing/set-up-tracing.mdx +++ b/src/pages/docs/observe/features/manual-tracing/set-up-tracing.mdx @@ -302,7 +302,7 @@ Tracing captures every LLM call, tool invocation, or custom operation in your ap --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Auto Instrumentation" icon="wand-magic-sparkles" href="/docs/tracing/auto"> diff --git a/src/pages/docs/observe/features/quickstart.mdx b/src/pages/docs/observe/features/quickstart.mdx index 7264dc51..f810737d 100644 --- a/src/pages/docs/observe/features/quickstart.mdx +++ b/src/pages/docs/observe/features/quickstart.mdx @@ -136,7 +136,7 @@ For supported frameworks and more options, see the [Auto Instrumentation](/docs/ --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evals" icon="chart-line" href="/docs/observe/features/evals"> diff --git a/src/pages/docs/observe/features/session.mdx b/src/pages/docs/observe/features/session.mdx index 95689688..7644ef9a 100644 --- a/src/pages/docs/observe/features/session.mdx +++ b/src/pages/docs/observe/features/session.mdx @@ -105,7 +105,7 @@ Sessions group related traces together under a single identifier. A chatbot conv --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/observe/features/users.mdx b/src/pages/docs/observe/features/users.mdx index 241d47f0..5f689619 100644 --- a/src/pages/docs/observe/features/users.mdx +++ b/src/pages/docs/observe/features/users.mdx @@ -100,7 +100,7 @@ The **user dashboard** in Observe groups all traces and sessions by end user. Ea --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/observe/features/voice.mdx b/src/pages/docs/observe/features/voice.mdx index 2c8e3bdf..e526ce5c 100644 --- a/src/pages/docs/observe/features/voice.mdx +++ b/src/pages/docs/observe/features/voice.mdx @@ -88,7 +88,7 @@ Voice agents are hard to debug. Conversations happen in real time, across multip --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set Up Observability" icon="play" href="/docs/observe/features/quickstart"> diff --git a/src/pages/docs/optimization/concepts/concept.mdx b/src/pages/docs/optimization/concepts/concept.mdx index 943a4550..6a17589c 100755 --- a/src/pages/docs/optimization/concepts/concept.mdx +++ b/src/pages/docs/optimization/concepts/concept.mdx @@ -129,7 +129,7 @@ final_result = bayesian_optimizer.optimize( --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Using the Python SDK](/docs/optimization/features/using-python-sdk): Run optimization programmatically - [Using the Platform](/docs/optimization/features/using-platform): Run optimization from the UI diff --git a/src/pages/docs/optimization/features/using-platform.mdx b/src/pages/docs/optimization/features/using-platform.mdx index 97d41e79..2e7bd853 100755 --- a/src/pages/docs/optimization/features/using-platform.mdx +++ b/src/pages/docs/optimization/features/using-platform.mdx @@ -83,7 +83,7 @@ Runs can be **paused and resumed**. Optimizer state is persisted after each tria --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Using the Python SDK" icon="code" href="/docs/optimization/features/using-python-sdk"> diff --git a/src/pages/docs/optimization/features/using-python-sdk.mdx b/src/pages/docs/optimization/features/using-python-sdk.mdx index 0183fe0b..a8785fe1 100755 --- a/src/pages/docs/optimization/features/using-python-sdk.mdx +++ b/src/pages/docs/optimization/features/using-python-sdk.mdx @@ -154,7 +154,7 @@ The library is built around four components that work together: -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="SDK Reference" icon="code" href="/docs/sdk/optimization"> diff --git a/src/pages/docs/prompt/concepts/understanding-prompts.mdx b/src/pages/docs/prompt/concepts/understanding-prompts.mdx index d51e0c81..d1553240 100644 --- a/src/pages/docs/prompt/concepts/understanding-prompts.mdx +++ b/src/pages/docs/prompt/concepts/understanding-prompts.mdx @@ -106,7 +106,7 @@ Each prompt template includes a model configuration: the model to use and the pa --- -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Versions and Labels](/docs/prompt/concepts/versions-and-labels): How prompt versioning and deployment labels work. - [Create a Prompt from Scratch](/docs/prompt/features/create-from-scratch): Build your first prompt in the Workbench. diff --git a/src/pages/docs/prompt/features/create-from-scratch.mdx b/src/pages/docs/prompt/features/create-from-scratch.mdx index cc606fa1..7071edea 100644 --- a/src/pages/docs/prompt/features/create-from-scratch.mdx +++ b/src/pages/docs/prompt/features/create-from-scratch.mdx @@ -100,7 +100,7 @@ Use this when you have a clear idea of what the prompt should do, need precise c --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create from Template" icon="tags" href="/docs/prompt/features/create-from-template"> diff --git a/src/pages/docs/prompt/features/create-from-template.mdx b/src/pages/docs/prompt/features/create-from-template.mdx index e3917e34..0e1985e1 100644 --- a/src/pages/docs/prompt/features/create-from-template.mdx +++ b/src/pages/docs/prompt/features/create-from-template.mdx @@ -87,7 +87,7 @@ The Prompt Workbench includes templates for summarization, customer support, ana --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create a Prompt from Scratch" icon="plus" href="/docs/prompt/features/create-from-scratch"> diff --git a/src/pages/docs/prompt/features/create-with-ai.mdx b/src/pages/docs/prompt/features/create-with-ai.mdx index 280631b2..31759564 100644 --- a/src/pages/docs/prompt/features/create-with-ai.mdx +++ b/src/pages/docs/prompt/features/create-with-ai.mdx @@ -61,7 +61,7 @@ The output lands directly in the Prompt Workbench editor, where you can inspect --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create a Prompt from Scratch" icon="plus" href="/docs/prompt/features/create-from-scratch"> diff --git a/src/pages/docs/prompt/features/folders.mdx b/src/pages/docs/prompt/features/folders.mdx index 1cb366bb..0716ce64 100644 --- a/src/pages/docs/prompt/features/folders.mdx +++ b/src/pages/docs/prompt/features/folders.mdx @@ -45,7 +45,7 @@ You create folders in the sidebar and move prompts into them at any time, or cre --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create a Prompt from Scratch" icon="plus" href="/docs/prompt/features/create-from-scratch"> diff --git a/src/pages/docs/prompt/features/linked-traces.mdx b/src/pages/docs/prompt/features/linked-traces.mdx index be180d85..ed0869a1 100644 --- a/src/pages/docs/prompt/features/linked-traces.mdx +++ b/src/pages/docs/prompt/features/linked-traces.mdx @@ -61,7 +61,7 @@ Compare the same metric across **prompt versions** or **time ranges** to see if --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Versions and Labels" icon="code-branch" href="/docs/prompt/concepts/versions-and-labels"> diff --git a/src/pages/docs/prompt/features/sdk.mdx b/src/pages/docs/prompt/features/sdk.mdx index bc242ff1..9b947930 100644 --- a/src/pages/docs/prompt/features/sdk.mdx +++ b/src/pages/docs/prompt/features/sdk.mdx @@ -366,7 +366,7 @@ If your SDK or backend returns <code>content</code> as a stringified list of con --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Create a Prompt from Scratch" icon="plus" href="/docs/prompt/features/create-from-scratch"> diff --git a/src/pages/docs/protect/features/run-protect.mdx b/src/pages/docs/protect/features/run-protect.mdx index 7605d58e..093b7f7c 100644 --- a/src/pages/docs/protect/features/run-protect.mdx +++ b/src/pages/docs/protect/features/run-protect.mdx @@ -162,7 +162,7 @@ description: "Set up and configure Future AGI Protect to apply real-time safety --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="SDK Reference" icon="code" href="/docs/sdk/protect"> diff --git a/src/pages/docs/prototype/features/choose-winner.mdx b/src/pages/docs/prototype/features/choose-winner.mdx index 94f28e9c..d90c6dae 100644 --- a/src/pages/docs/prototype/features/choose-winner.mdx +++ b/src/pages/docs/prototype/features/choose-winner.mdx @@ -48,7 +48,7 @@ When you have multiple versions of your application running in Prototype, you ne --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set up prototype" icon="rocket" href="/docs/prototype/features/set-up-prototype"> diff --git a/src/pages/docs/prototype/features/evals.mdx b/src/pages/docs/prototype/features/evals.mdx index 13e63950..28370397 100644 --- a/src/pages/docs/prototype/features/evals.mdx +++ b/src/pages/docs/prototype/features/evals.mdx @@ -172,7 +172,7 @@ For the full list, see [Built-in evals](/docs/evaluation/builtin). --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Set up prototype" icon="rocket" href="/docs/prototype/features/set-up-prototype"> diff --git a/src/pages/docs/prototype/features/set-up-prototype.mdx b/src/pages/docs/prototype/features/set-up-prototype.mdx index b33dbfa3..ccb7b8d7 100644 --- a/src/pages/docs/prototype/features/set-up-prototype.mdx +++ b/src/pages/docs/prototype/features/set-up-prototype.mdx @@ -177,7 +177,7 @@ You register your project with a version name, instrument your application so it --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Configure evals for prototype" icon="chart-line" href="/docs/prototype/features/evals"> diff --git a/src/pages/docs/quickstart/annotations.mdx b/src/pages/docs/quickstart/annotations.mdx index 778ed81d..883da8cf 100644 --- a/src/pages/docs/quickstart/annotations.mdx +++ b/src/pages/docs/quickstart/annotations.mdx @@ -79,7 +79,7 @@ In this walkthrough you will create an annotation label, set up a queue, add tra - **S** -- Skip the current item </Tip> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Annotation Labels" icon="tags" href="/docs/annotations/features/labels"> diff --git a/src/pages/docs/quickstart/command-center-gateway.mdx b/src/pages/docs/quickstart/command-center-gateway.mdx index 21f28435..e0cd5e00 100644 --- a/src/pages/docs/quickstart/command-center-gateway.mdx +++ b/src/pages/docs/quickstart/command-center-gateway.mdx @@ -262,7 +262,7 @@ Agent Command Center works with any OpenAI-compatible client. If you use LangCha --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="How it works" href="/docs/command-center/concepts/core"> diff --git a/src/pages/docs/quickstart/generate-synthetic-data.mdx b/src/pages/docs/quickstart/generate-synthetic-data.mdx index abd8657e..bddee517 100644 --- a/src/pages/docs/quickstart/generate-synthetic-data.mdx +++ b/src/pages/docs/quickstart/generate-synthetic-data.mdx @@ -58,7 +58,7 @@ description: "Generate synthetic datasets with Future AGI. Define schemas, colum </Step> </Steps> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Run evaluations on your dataset](/docs/evaluation) to test AI outputs against the generated data - [Use Knowledge Base](/docs/knowledge-base) to ground synthetic data generation with your own documents diff --git a/src/pages/docs/quickstart/prompts.mdx b/src/pages/docs/quickstart/prompts.mdx index dcd13817..b41b6e83 100644 --- a/src/pages/docs/quickstart/prompts.mdx +++ b/src/pages/docs/quickstart/prompts.mdx @@ -133,7 +133,7 @@ description: "Create and manage AI prompts in Future AGI's Prompt Workbench. Des </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Use prompts via SDK](/docs/prompt/features/sdk) to serve and manage prompts programmatically in your application - [Optimize your prompts](/docs/optimization) to automatically improve prompt performance using evaluation-driven feedback diff --git a/src/pages/docs/quickstart/running-evals-in-simulation.mdx b/src/pages/docs/quickstart/running-evals-in-simulation.mdx index 099f9786..72eb3e81 100644 --- a/src/pages/docs/quickstart/running-evals-in-simulation.mdx +++ b/src/pages/docs/quickstart/running-evals-in-simulation.mdx @@ -102,7 +102,7 @@ If the built-in evals don't cover your use case, you can create your own. </Step> </Steps> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Browse all built-in evals](/docs/evaluation/builtin) to find metrics that fit your use case - [Set up agent definitions](/docs/simulation/concepts/agent-definition) if you haven't already diff --git a/src/pages/docs/quickstart/setup-mcp-server.mdx b/src/pages/docs/quickstart/setup-mcp-server.mdx index 223a0f83..a4d08ace 100644 --- a/src/pages/docs/quickstart/setup-mcp-server.mdx +++ b/src/pages/docs/quickstart/setup-mcp-server.mdx @@ -51,7 +51,7 @@ With **Future AGI's MCP Server**, you can use natural language to: Check out our [blog post](https://futureagi.com/blogs/model-context-protocol-mcp-2025) on `futureagi-mcp-server` for detailed use cases. -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Run your first evaluation](/docs/cookbook/quickstart/first-eval) using natural language through the MCP server - [Explore the Observe quickstart](/docs/observe/features/quickstart) to add tracing to your project diff --git a/src/pages/docs/quickstart/setup-observability.mdx b/src/pages/docs/quickstart/setup-observability.mdx index 4ec39e4c..283a71a7 100644 --- a/src/pages/docs/quickstart/setup-observability.mdx +++ b/src/pages/docs/quickstart/setup-observability.mdx @@ -133,7 +133,7 @@ Observe supports auto-instrumentation for OpenAI, Anthropic, LangChain, LlamaInd </Step> </Steps> -<div class="docs-section-title">Next Steps</div> +## Next Steps - [Add more integrations](/docs/integrations) for Anthropic, LangChain, LlamaIndex, and others - [Set up manual tracing](/docs/observe/features/manual-tracing/set-up-tracing) for custom spans and attributes diff --git a/src/pages/docs/sdk/datasets.mdx b/src/pages/docs/sdk/datasets.mdx index 984f0444..5c5ea762 100644 --- a/src/pages/docs/sdk/datasets.mdx +++ b/src/pages/docs/sdk/datasets.mdx @@ -234,7 +234,7 @@ For one-off operations by dataset name, without creating an instance first: | `Dataset.add_dataset_columns(name, columns)` | Add columns by name | | `Dataset.add_dataset_rows(name, rows)` | Add rows by name | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> diff --git a/src/pages/docs/sdk/evals/autoeval.mdx b/src/pages/docs/sdk/evals/autoeval.mdx index a1f40da6..edff42a3 100644 --- a/src/pages/docs/sdk/evals/autoeval.mdx +++ b/src/pages/docs/sdk/evals/autoeval.mdx @@ -175,7 +175,7 @@ print(analysis.detected_features) # ["code_generation", "code_review"] Categories: `QUESTION_ANSWERING`, `RAG_SYSTEM`, `CUSTOMER_SUPPORT`, `CODE_ASSISTANT`, `CONTENT_MODERATION`, `AGENT_WORKFLOW`, and more. -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Distributed Evaluator" icon="bolt" href="/docs/sdk/evals/distributed"> diff --git a/src/pages/docs/sdk/evals/cloud-evals.mdx b/src/pages/docs/sdk/evals/cloud-evals.mdx index 95dc56e5..28601424 100644 --- a/src/pages/docs/sdk/evals/cloud-evals.mdx +++ b/src/pages/docs/sdk/evals/cloud-evals.mdx @@ -263,7 +263,7 @@ Grouped by category. Run `list_evaluations()` for the latest — new templates a | `image_instruction_adherence` | Generated image matches text instruction | `instruction`, `images` | | `synthetic_image_evaluator` | Detects AI-generated images | `image` | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Metrics Reference" icon="list-check" href="/docs/sdk/evals/metrics"> diff --git a/src/pages/docs/sdk/evals/code-security.mdx b/src/pages/docs/sdk/evals/code-security.mdx index e9813593..268ab2fb 100644 --- a/src/pages/docs/sdk/evals/code-security.mdx +++ b/src/pages/docs/sdk/evals/code-security.mdx @@ -602,7 +602,7 @@ Every detected vulnerability is a `SecurityFinding` with: | `suggested_fix` | str | How to fix it | | `references` | list[str] | CWE/OWASP reference URLs | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Guardrails" icon="shield" href="/docs/sdk/evals/guardrails-module"> diff --git a/src/pages/docs/sdk/evals/distributed.mdx b/src/pages/docs/sdk/evals/distributed.mdx index 2d8ddff2..e082aa71 100644 --- a/src/pages/docs/sdk/evals/distributed.mdx +++ b/src/pages/docs/sdk/evals/distributed.mdx @@ -254,7 +254,7 @@ Returned by `evaluator.run()`. | `.get_by_name(name)` | list | Results for a specific evaluation | | `.get_failures()` | list | Only failed results | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Running Evaluations" icon="play" href="/docs/sdk/evals/evaluate"> diff --git a/src/pages/docs/sdk/evals/evaluate.mdx b/src/pages/docs/sdk/evals/evaluate.mdx index aa23a391..b097a7c7 100644 --- a/src/pages/docs/sdk/evals/evaluate.mdx +++ b/src/pages/docs/sdk/evals/evaluate.mdx @@ -282,7 +282,7 @@ result = evaluate( | `OPENAI_API_KEY` | OpenAI models (LLM judge) | — | | `ANTHROPIC_API_KEY` | Claude models (LLM judge) | — | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Metrics Reference" icon="list-check" href="/docs/sdk/evals/metrics"> diff --git a/src/pages/docs/sdk/evals/feedback.mdx b/src/pages/docs/sdk/evals/feedback.mdx index 551d8aed..20178b93 100644 --- a/src/pages/docs/sdk/evals/feedback.mdx +++ b/src/pages/docs/sdk/evals/feedback.mdx @@ -147,7 +147,7 @@ result = evaluate( `feedback_store` works with `augment=True` and `engine="llm"` modes. For purely local metrics (no model), corrections don't influence scoring directly — use `calibrate()` to adjust the threshold instead. </Note> -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Running Evaluations" icon="play" href="/docs/sdk/evals/evaluate"> diff --git a/src/pages/docs/sdk/evals/guardrails-module.mdx b/src/pages/docs/sdk/evals/guardrails-module.mdx index 003b62d6..fcee3a28 100644 --- a/src/pages/docs/sdk/evals/guardrails-module.mdx +++ b/src/pages/docs/sdk/evals/guardrails-module.mdx @@ -465,7 +465,7 @@ class MyCustomBackend(BaseBackend): )] ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Guardrail Metrics" icon="shield" href="/docs/sdk/evals/metrics/guardrails"> diff --git a/src/pages/docs/sdk/evals/llm-judge.mdx b/src/pages/docs/sdk/evals/llm-judge.mdx index 12d4129c..f2c55143 100644 --- a/src/pages/docs/sdk/evals/llm-judge.mdx +++ b/src/pages/docs/sdk/evals/llm-judge.mdx @@ -136,7 +136,7 @@ Any model string supported by [LiteLLM](https://docs.litellm.ai/docs/providers) | Claude Sonnet 4 | `claude-sonnet-4-20250514` | `ANTHROPIC_API_KEY` | | Ollama (local) | `ollama/llama3.2:3b` | None (local) | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Cloud Evals" icon="bolt" href="/docs/sdk/evals/cloud-evals"> diff --git a/src/pages/docs/sdk/evals/local.mdx b/src/pages/docs/sdk/evals/local.mdx index 282b7b0f..3f1d904c 100644 --- a/src/pages/docs/sdk/evals/local.mdx +++ b/src/pages/docs/sdk/evals/local.mdx @@ -395,7 +395,7 @@ for r in result.results.eval_results: | Need toxicity/faithfulness | `HybridEvaluator` (routes to cloud automatically) | | Need LLM scoring offline | `HybridEvaluator` + `OllamaLLM` | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Running Evaluations" icon="play" href="/docs/sdk/evals/evaluate"> diff --git a/src/pages/docs/sdk/evals/metrics/agents.mdx b/src/pages/docs/sdk/evals/metrics/agents.mdx index 562e5896..47c0123c 100644 --- a/src/pages/docs/sdk/evals/metrics/agents.mdx +++ b/src/pages/docs/sdk/evals/metrics/agents.mdx @@ -216,7 +216,7 @@ result = evaluate( print(result.metadata["engine"]) # "local+llm" ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="RAG Metrics" icon="database" href="/docs/sdk/evals/metrics/rag"> diff --git a/src/pages/docs/sdk/evals/metrics/guardrails.mdx b/src/pages/docs/sdk/evals/metrics/guardrails.mdx index 08b5a57e..5766d7c6 100644 --- a/src/pages/docs/sdk/evals/metrics/guardrails.mdx +++ b/src/pages/docs/sdk/evals/metrics/guardrails.mdx @@ -101,7 +101,7 @@ def is_safe(output: str) -> bool: For lowest latency, use [streaming eval](/docs/sdk/evals/streaming) to run guardrails as tokens arrive — blocking responses mid-stream when a threat is detected. -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Streaming Eval" icon="bolt" href="/docs/sdk/evals/streaming"> diff --git a/src/pages/docs/sdk/evals/metrics/hallucination.mdx b/src/pages/docs/sdk/evals/metrics/hallucination.mdx index c418dccc..0c836d66 100644 --- a/src/pages/docs/sdk/evals/metrics/hallucination.mdx +++ b/src/pages/docs/sdk/evals/metrics/hallucination.mdx @@ -132,7 +132,7 @@ pip install ai-evaluation[nli] This enables DeBERTa-based natural language inference. Once installed, it's used automatically — no code changes. -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="RAG Metrics" icon="database" href="/docs/sdk/evals/metrics/rag"> diff --git a/src/pages/docs/sdk/evals/metrics/index.mdx b/src/pages/docs/sdk/evals/metrics/index.mdx index f6fec11b..3f0ba5b0 100644 --- a/src/pages/docs/sdk/evals/metrics/index.mdx +++ b/src/pages/docs/sdk/evals/metrics/index.mdx @@ -124,7 +124,7 @@ Quick lookup — find any metric by name. | `tree_edit_distance` | Structured | Edit distance between output and expected structure | | `type_compliance` | Structured | Whether field types match expected types | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Running Evaluations" icon="play" href="/docs/sdk/evals/evaluate"> diff --git a/src/pages/docs/sdk/evals/metrics/json.mdx b/src/pages/docs/sdk/evals/metrics/json.mdx index 6d60d59d..baf1e36e 100644 --- a/src/pages/docs/sdk/evals/metrics/json.mdx +++ b/src/pages/docs/sdk/evals/metrics/json.mdx @@ -219,7 +219,7 @@ result = evaluate( # score → 1.0 ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="String & Similarity" icon="code" href="/docs/sdk/evals/metrics/string"> diff --git a/src/pages/docs/sdk/evals/metrics/rag.mdx b/src/pages/docs/sdk/evals/metrics/rag.mdx index 401fff84..46623600 100644 --- a/src/pages/docs/sdk/evals/metrics/rag.mdx +++ b/src/pages/docs/sdk/evals/metrics/rag.mdx @@ -317,7 +317,7 @@ print(result.score) # composite score print(result.metadata) # per-metric breakdown ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Hallucination" icon="eye" href="/docs/sdk/evals/metrics/hallucination"> diff --git a/src/pages/docs/sdk/evals/metrics/string.mdx b/src/pages/docs/sdk/evals/metrics/string.mdx index bc43eacf..e75a67a6 100644 --- a/src/pages/docs/sdk/evals/metrics/string.mdx +++ b/src/pages/docs/sdk/evals/metrics/string.mdx @@ -299,7 +299,7 @@ result = evaluate( # similarity_threshold: float, default 0.7 — lower = more permissive ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="JSON & Structured" icon="code" href="/docs/sdk/evals/metrics/json"> diff --git a/src/pages/docs/sdk/evals/otel.mdx b/src/pages/docs/sdk/evals/otel.mdx index 79503b77..82a95bb4 100644 --- a/src/pages/docs/sdk/evals/otel.mdx +++ b/src/pages/docs/sdk/evals/otel.mdx @@ -443,7 +443,7 @@ eval_attrs = create_evaluation_attributes( ) ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Tracing SDK" icon="eye" href="/docs/sdk/tracing"> diff --git a/src/pages/docs/sdk/evals/streaming.mdx b/src/pages/docs/sdk/evals/streaming.mdx index ac4cbee9..483304bc 100644 --- a/src/pages/docs/sdk/evals/streaming.mdx +++ b/src/pages/docs/sdk/evals/streaming.mdx @@ -287,7 +287,7 @@ assessor = StreamingEvaluator( ) ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={3}> <Card title="Guardrails" icon="shield" href="/docs/sdk/evals/metrics/guardrails"> diff --git a/src/pages/docs/sdk/index.mdx b/src/pages/docs/sdk/index.mdx index d4e20690..503bed0a 100644 --- a/src/pages/docs/sdk/index.mdx +++ b/src/pages/docs/sdk/index.mdx @@ -329,7 +329,7 @@ Python only. pip install agent-simulate ``` -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> diff --git a/src/pages/docs/sdk/knowledgebase.mdx b/src/pages/docs/sdk/knowledgebase.mdx index d134e374..c3378fa4 100644 --- a/src/pages/docs/sdk/knowledgebase.mdx +++ b/src/pages/docs/sdk/knowledgebase.mdx @@ -109,7 +109,7 @@ kb.delete_kb(kb_names=["kb-1", "kb-2"]) All methods return `self` for chaining. -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Datasets" icon="database" href="/docs/sdk/datasets"> diff --git a/src/pages/docs/sdk/optimization.mdx b/src/pages/docs/sdk/optimization.mdx index f77992c1..01b46047 100644 --- a/src/pages/docs/sdk/optimization.mdx +++ b/src/pages/docs/sdk/optimization.mdx @@ -136,7 +136,7 @@ print(result.best_generator.get_prompt_template()) # winning prompt print(result.history) # score history ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> diff --git a/src/pages/docs/sdk/protect.mdx b/src/pages/docs/sdk/protect.mdx index 267b3193..99d0db4e 100644 --- a/src/pages/docs/sdk/protect.mdx +++ b/src/pages/docs/sdk/protect.mdx @@ -169,7 +169,7 @@ if result["status"] == "failed": print(f"Output blocked: {result['reasons']}") ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Guardrails Metrics" icon="shield" href="/docs/sdk/evals/metrics/guardrails"> diff --git a/src/pages/docs/sdk/simulate.mdx b/src/pages/docs/sdk/simulate.mdx index 7e7bfb7b..03d7b75b 100644 --- a/src/pages/docs/sdk/simulate.mdx +++ b/src/pages/docs/sdk/simulate.mdx @@ -144,7 +144,7 @@ asyncio.run(runner.run_test( )) ``` -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> diff --git a/src/pages/docs/sdk/tracing.mdx b/src/pages/docs/sdk/tracing.mdx index 9327995a..cdcb2ef2 100644 --- a/src/pages/docs/sdk/tracing.mdx +++ b/src/pages/docs/sdk/tracing.mdx @@ -1233,7 +1233,7 @@ All languages read from the same set of environment variables: | `FI_BASE64_IMAGE_MAX_LENGTH` | Max base64 image chars | 32000 | | `FI_PII_REDACTION` | Auto-mask PII (Python) | False | -<div class="docs-section-title">Related</div> +## Related <CardGroup cols={2}> <Card title="Tracing Guide" icon="book" href="/docs/tracing/concepts"> diff --git a/src/pages/docs/self-hosting.mdx b/src/pages/docs/self-hosting.mdx index 855ab125..dd3c9fbf 100644 --- a/src/pages/docs/self-hosting.mdx +++ b/src/pages/docs/self-hosting.mdx @@ -75,7 +75,7 @@ postgres ──── PeerDB CDC ──── clickhouse (continuous replicati | Workflow | `temporal` | Durable workflow engine — shares main Postgres | | CDC | PeerDB stack | Continuous Postgres → ClickHouse replication (10 services) | -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Requirements" icon="server" href="/docs/self-hosting/requirements"> diff --git a/src/pages/docs/simulation/concepts/agent-definition.mdx b/src/pages/docs/simulation/concepts/agent-definition.mdx index 7551e2c6..0d40352b 100644 --- a/src/pages/docs/simulation/concepts/agent-definition.mdx +++ b/src/pages/docs/simulation/concepts/agent-definition.mdx @@ -134,7 +134,7 @@ After creating an agent, open it from the list to access the detail screen. Here </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Scenarios" icon="puzzle" href="/docs/simulation/concepts/scenarios"> diff --git a/src/pages/docs/simulation/concepts/global-nodes.mdx b/src/pages/docs/simulation/concepts/global-nodes.mdx index 47111414..44ca8bfc 100644 --- a/src/pages/docs/simulation/concepts/global-nodes.mdx +++ b/src/pages/docs/simulation/concepts/global-nodes.mdx @@ -78,7 +78,7 @@ You turn a node into a global node from the workflow editor. A conversation node <Note>Only conversation nodes can be global. Tool nodes always follow the edges you draw.</Note> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Scenarios" icon="puzzle" href="/docs/simulation/concepts/scenarios"> diff --git a/src/pages/docs/simulation/concepts/personas.mdx b/src/pages/docs/simulation/concepts/personas.mdx index ffd6042f..0a0346fa 100644 --- a/src/pages/docs/simulation/concepts/personas.mdx +++ b/src/pages/docs/simulation/concepts/personas.mdx @@ -111,7 +111,7 @@ From the Personas page, click **Create your own persona**. Choose **Voice** or * </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Run Simulation" icon="play" href="/docs/simulation"> diff --git a/src/pages/docs/simulation/concepts/scenarios.mdx b/src/pages/docs/simulation/concepts/scenarios.mdx index 5d79760c..89391ec9 100644 --- a/src/pages/docs/simulation/concepts/scenarios.mdx +++ b/src/pages/docs/simulation/concepts/scenarios.mdx @@ -201,7 +201,7 @@ When you open a scenario from the list, you see the **scenario detail** screen. </Tab> </Tabs> -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Personas" icon="brain" href="/docs/simulation/concepts/personas"> diff --git a/src/pages/docs/simulation/features/evaluate-tool-calling.mdx b/src/pages/docs/simulation/features/evaluate-tool-calling.mdx index af6fcac9..18e5529e 100644 --- a/src/pages/docs/simulation/features/evaluate-tool-calling.mdx +++ b/src/pages/docs/simulation/features/evaluate-tool-calling.mdx @@ -55,7 +55,7 @@ You enable tool call evaluation when creating or editing a **run test** (agent-b --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Run Simulation" icon="play" href="/docs/simulation"> diff --git a/src/pages/docs/simulation/features/fix-my-agent.mdx b/src/pages/docs/simulation/features/fix-my-agent.mdx index 0baad351..835fd1aa 100644 --- a/src/pages/docs/simulation/features/fix-my-agent.mdx +++ b/src/pages/docs/simulation/features/fix-my-agent.mdx @@ -256,7 +256,7 @@ Do you need production-grade optimization? --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card diff --git a/src/pages/docs/simulation/features/observe-to-simulate.mdx b/src/pages/docs/simulation/features/observe-to-simulate.mdx index 61f4b58f..48147c44 100644 --- a/src/pages/docs/simulation/features/observe-to-simulate.mdx +++ b/src/pages/docs/simulation/features/observe-to-simulate.mdx @@ -77,7 +77,7 @@ The flow is: **select production data** → **create a replay session** → **ge --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Simulation Using SDK" icon="code" href="/docs/simulation/features/simulation-using-sdk"> diff --git a/src/pages/docs/simulation/features/prompt-simulation.mdx b/src/pages/docs/simulation/features/prompt-simulation.mdx index 1395ddb7..6a617ba0 100644 --- a/src/pages/docs/simulation/features/prompt-simulation.mdx +++ b/src/pages/docs/simulation/features/prompt-simulation.mdx @@ -150,7 +150,7 @@ Before you start: have a **prompt template** with at least one saved **prompt ve --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Scenarios" icon="puzzle" href="/docs/simulation/concepts/scenarios"> diff --git a/src/pages/docs/simulation/features/run-simulation.mdx b/src/pages/docs/simulation/features/run-simulation.mdx index a69ad762..66ce4f4a 100644 --- a/src/pages/docs/simulation/features/run-simulation.mdx +++ b/src/pages/docs/simulation/features/run-simulation.mdx @@ -49,7 +49,7 @@ Review the summary of your test configuration. Click **Create** to start the tes Once the test starts, you can monitor progress from the test detail page. See [View Results](/docs/simulation/features/view-results) for how to read scores, transcripts, and analytics. -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={3}> <Card title="View Results" icon="chart-bar" href="/docs/simulation/features/view-results"> diff --git a/src/pages/docs/simulation/features/simulation-using-sdk.mdx b/src/pages/docs/simulation/features/simulation-using-sdk.mdx index b849bbad..354266e5 100644 --- a/src/pages/docs/simulation/features/simulation-using-sdk.mdx +++ b/src/pages/docs/simulation/features/simulation-using-sdk.mdx @@ -133,7 +133,7 @@ You need: Python 3.10+, **FI_API_KEY** and **FI_SECRET_KEY**, a **chat simulatio --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Run Simulation" icon="play" href="/docs/simulation"> diff --git a/src/pages/docs/simulation/features/view-results.mdx b/src/pages/docs/simulation/features/view-results.mdx index 304c4021..15b5656d 100644 --- a/src/pages/docs/simulation/features/view-results.mdx +++ b/src/pages/docs/simulation/features/view-results.mdx @@ -106,7 +106,7 @@ Clicking on a specific call opens a detail drawer showing: --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="Fix My Agent" icon="wand-magic-sparkles" href="/docs/simulation/features/fix-my-agent"> diff --git a/src/pages/docs/tracing/concepts/index.mdx b/src/pages/docs/tracing/concepts/index.mdx index d58734eb..59d88314 100644 --- a/src/pages/docs/tracing/concepts/index.mdx +++ b/src/pages/docs/tracing/concepts/index.mdx @@ -42,7 +42,7 @@ Each **trace** is one request or execution. Each **span** is one operation (LLM, --- -<div class="docs-section-title">Next Steps</div> +## Next Steps <CardGroup cols={2}> <Card title="What are Traces?" icon="chart-line" href="/docs/tracing/concepts/traces"> From 98cfed1653b8b3e431b96eef726d1fcae6f0917b Mon Sep 17 00:00:00 2001 From: Shibu <shibu@futureagi.com> Date: Thu, 7 May 2026 17:41:53 +0530 Subject: [PATCH 50/51] chore: untrack local-only files accidentally staged in previous commit Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --- aeo-audit-report.md | 1322 ------------------ claude-project-setup/SETUP-README.md | 180 --- claude-project-setup/existing-seo-audit.md | 283 ---- claude-project-setup/feature-glossary.md | 132 -- claude-project-setup/platform-conventions.md | 384 ----- claude-project-setup/project-instructions.md | 278 ---- claude-project-setup/style-examples.md | 407 ------ claude-project-setup/top-pages-template.md | 338 ----- claude-project-setup/url-inventory.md | 730 ---------- packages/chat-widget/index.js | 1 - packages/chat-widget/package.json | 9 - packages/chat-widget/styles.css | 1 - scripts/aeo-audit.cjs | 364 ----- scripts/seo-audit.cjs | 151 -- seo-audit-report.md | 206 --- 15 files changed, 4786 deletions(-) delete mode 100644 aeo-audit-report.md delete mode 100644 claude-project-setup/SETUP-README.md delete mode 100644 claude-project-setup/existing-seo-audit.md delete mode 100644 claude-project-setup/feature-glossary.md delete mode 100644 claude-project-setup/platform-conventions.md delete mode 100644 claude-project-setup/project-instructions.md delete mode 100644 claude-project-setup/style-examples.md delete mode 100644 claude-project-setup/top-pages-template.md delete mode 100644 claude-project-setup/url-inventory.md delete mode 100644 packages/chat-widget/index.js delete mode 100644 packages/chat-widget/package.json delete mode 100644 packages/chat-widget/styles.css delete mode 100644 scripts/aeo-audit.cjs delete mode 100644 scripts/seo-audit.cjs delete mode 100644 seo-audit-report.md diff --git a/aeo-audit-report.md b/aeo-audit-report.md deleted file mode 100644 index eb001ed6..00000000 --- a/aeo-audit-report.md +++ /dev/null @@ -1,1322 +0,0 @@ -# AEO / GEO / SEO Audit Report - -**Site:** docs.futureagi.com | **Files scanned:** 612 | **Date:** 2026-05-06 - ---- - -## Summary Table - -| Check | Affected | % | -|---|---|---| -| Missing description | 0 | 0% | -| Duplicate title | 4 | 1% | -| No `## About` first heading | 434 | 71% | -| Title too short (<15) | 0 | 0% | -| Title too long (>60) | 1 | 0% | -| Generic/bare title | 0 | 0% | -| Description too short (<120) | 16 | 3% | -| Description too long (>155) | 47 | 8% | -| Description bad start phrase | 1 | 0% | -| Vague single-word headings | 20 | 3% | -| Heading hierarchy skip/H3-no-H2 | 127 | 21% | -| No TLDR block (AEO opportunity) | 525 | 86% | -| First para is code/list | 107 | 17% | -| Has question-style headings ✅ | 274 | 45% | -| Has Accordion/FAQ block ✅ | 18 | 3% | - ---- - -## 🔴 Critical Issues - -### 1. Missing `description` — 0 (0%) - -_None._ - -### 2. Duplicate Titles — 2 groups - -**"Google GenAI Integration with Future AGI for Gemini Tracing"** (2 files) - - src/pages/docs/integrations/google-genai.mdx - - src/pages/docs/integrations/traceai/google_genai.mdx - -**"OpenAI Agents SDK Integration with Future AGI Tracing"** (2 files) - - src/pages/docs/integrations/openai-agents.mdx - - src/pages/docs/integrations/traceai/openai_agents.mdx - -### 3. No `## About` First Heading — 434 (71%) - -**No headings at all** (148 files — typically API reference pages): -- src/pages/docs/api/agent-definitions/createagentdefinition.mdx -- src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx -- src/pages/docs/api/agent-definitions/fetchassistantfromprovider.mdx -- src/pages/docs/api/agent-definitions/getagentdefinition.mdx -- src/pages/docs/api/agent-definitions/listagentdefinitions.mdx -- src/pages/docs/api/agent-versions/createagentversion.mdx -- src/pages/docs/api/agent-versions/getagentversion.mdx -- src/pages/docs/api/agent-versions/getversioncallexecutions.mdx -- src/pages/docs/api/agent-versions/getversionevalsummary.mdx -- src/pages/docs/api/agent-versions/listagentversions.mdx -- src/pages/docs/api/annotations/bulk/bulk-annotate-spans.mdx -- src/pages/docs/api/annotations/items/add-items.mdx -- src/pages/docs/api/annotations/items/assign-items.mdx -- src/pages/docs/api/annotations/items/bulk-remove-items.mdx -- src/pages/docs/api/annotations/items/complete-item.mdx -- src/pages/docs/api/annotations/items/get-annotate-detail.mdx -- src/pages/docs/api/annotations/items/get-item-annotations.mdx -- src/pages/docs/api/annotations/items/get-next-item.mdx -- src/pages/docs/api/annotations/items/list-items.mdx -- src/pages/docs/api/annotations/items/release-item.mdx -- src/pages/docs/api/annotations/items/skip-item.mdx -- src/pages/docs/api/annotations/items/submit-annotations.mdx -- src/pages/docs/api/annotations/labels/create-label.mdx -- src/pages/docs/api/annotations/labels/delete-label.mdx -- src/pages/docs/api/annotations/labels/get-label.mdx -- src/pages/docs/api/annotations/labels/list-labels.mdx -- src/pages/docs/api/annotations/labels/restore-label.mdx -- src/pages/docs/api/annotations/labels/update-label.mdx -- src/pages/docs/api/annotations/queues/add-label.mdx -- src/pages/docs/api/annotations/queues/create-queue.mdx -- src/pages/docs/api/annotations/queues/delete-queue.mdx -- src/pages/docs/api/annotations/queues/export-to-dataset.mdx -- src/pages/docs/api/annotations/queues/export.mdx -- src/pages/docs/api/annotations/queues/find-queues-for-source.mdx -- src/pages/docs/api/annotations/queues/get-agreement.mdx -- src/pages/docs/api/annotations/queues/get-analytics.mdx -- src/pages/docs/api/annotations/queues/get-or-create-default.mdx -- src/pages/docs/api/annotations/queues/get-progress.mdx -- src/pages/docs/api/annotations/queues/get-queue.mdx -- src/pages/docs/api/annotations/queues/list-queues.mdx -- src/pages/docs/api/annotations/queues/remove-label.mdx -- src/pages/docs/api/annotations/queues/update-queue.mdx -- src/pages/docs/api/annotations/queues/update-status.mdx -- src/pages/docs/api/annotations/scores/bulk-create-scores.mdx -- src/pages/docs/api/annotations/scores/create-score.mdx -- src/pages/docs/api/annotations/scores/delete-score.mdx -- src/pages/docs/api/annotations/scores/get-scores-for-source.mdx -- src/pages/docs/api/annotations/scores/list-scores.mdx -- src/pages/docs/api/call-executions/getcallexecutiondetails.mdx -- src/pages/docs/api/call-executions/getsessioncomparison.mdx -- src/pages/docs/api/custom-eval-configs/check-config-exists.mdx -- src/pages/docs/api/custom-eval-configs/create-custom-eval-config.mdx -- src/pages/docs/api/custom-eval-configs/delete-custom-eval-config.mdx -- src/pages/docs/api/custom-eval-configs/get-custom-eval-config.mdx -- src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx -- src/pages/docs/api/custom-eval-configs/update-custom-eval-config.mdx -- src/pages/docs/api/dataset-evals/add-dataset-eval.mdx -- src/pages/docs/api/dataset-evals/create-custom-eval-template.mdx -- src/pages/docs/api/dataset-evals/delete-dataset-eval.mdx -- src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx -- src/pages/docs/api/dataset-evals/get-eval-structure.mdx -- src/pages/docs/api/dataset-evals/get-eval-template-names.mdx -- src/pages/docs/api/dataset-evals/list-dataset-evals.mdx -- src/pages/docs/api/dataset-evals/start-evals-process.mdx -- src/pages/docs/api/datasets/add-as-new.mdx -- src/pages/docs/api/datasets/add-empty-rows.mdx -- src/pages/docs/api/datasets/add-rows-from-existing.mdx -- src/pages/docs/api/datasets/add-rows-from-file.mdx -- src/pages/docs/api/datasets/add-rows-from-huggingface.mdx -- src/pages/docs/api/datasets/analytics/annotation-summary.mdx -- src/pages/docs/api/datasets/analytics/eval-stats.mdx -- src/pages/docs/api/datasets/analytics/explanation-summary.mdx -- src/pages/docs/api/datasets/analytics/run-prompt-stats.mdx -- src/pages/docs/api/datasets/clone-dataset.mdx -- src/pages/docs/api/datasets/columns/add-columns.mdx -- src/pages/docs/api/datasets/columns/add-multiple-static-columns.mdx -- src/pages/docs/api/datasets/columns/add-static-column.mdx -- src/pages/docs/api/datasets/columns/delete-column.mdx -- src/pages/docs/api/datasets/columns/get-column-config.mdx -- src/pages/docs/api/datasets/columns/get-column-details.mdx -- src/pages/docs/api/datasets/columns/update-column-name.mdx -- src/pages/docs/api/datasets/columns/update-column-type.mdx -- src/pages/docs/api/datasets/create-dataset-from-huggingface.mdx -- src/pages/docs/api/datasets/create-dataset.mdx -- src/pages/docs/api/datasets/create-empty-dataset.mdx -- src/pages/docs/api/datasets/delete-dataset.mdx -- src/pages/docs/api/datasets/delete-rows.mdx -- src/pages/docs/api/datasets/duplicate-dataset.mdx -- src/pages/docs/api/datasets/duplicate-rows.mdx -- src/pages/docs/api/datasets/list-datasets.mdx -- src/pages/docs/api/datasets/merge-dataset.mdx -- src/pages/docs/api/datasets/run-prompt/add-run-prompt-column.mdx -- src/pages/docs/api/datasets/run-prompt/edit-run-prompt-column.mdx -- src/pages/docs/api/datasets/run-prompt/get-column-values.mdx -- src/pages/docs/api/datasets/run-prompt/get-model-voices.mdx -- src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-column-config.mdx -- src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx -- src/pages/docs/api/datasets/run-prompt/tts-voices.mdx -- src/pages/docs/api/datasets/update-cell-value.mdx -- src/pages/docs/api/datasets/update-dataset.mdx -- src/pages/docs/api/eval-tasks/bulk-delete-eval-tasks.mdx -- src/pages/docs/api/eval-tasks/create-eval-task.mdx -- src/pages/docs/api/eval-tasks/delete-eval-task.mdx -- src/pages/docs/api/eval-tasks/get-eval-task.mdx -- src/pages/docs/api/eval-tasks/list-eval-tasks-filtered.mdx -- src/pages/docs/api/eval-tasks/pause-eval-task.mdx -- src/pages/docs/api/eval-tasks/unpause-eval-task.mdx -- src/pages/docs/api/eval-tasks/update-eval-task.mdx -- src/pages/docs/api/health/healthcheck.mdx -- src/pages/docs/api/personas/createpersona.mdx -- src/pages/docs/api/personas/deletepersona.mdx -- src/pages/docs/api/personas/duplicatepersona.mdx -- src/pages/docs/api/personas/listpersonas.mdx -- src/pages/docs/api/personas/updatepersona.mdx -- src/pages/docs/api/run-tests/addevalconfigs.mdx -- src/pages/docs/api/run-tests/compareevalsummaries.mdx -- src/pages/docs/api/run-tests/createruntest.mdx -- src/pages/docs/api/run-tests/deleteevalconfig.mdx -- src/pages/docs/api/run-tests/deleteruntest.mdx -- src/pages/docs/api/run-tests/deletetestexecutions.mdx -- src/pages/docs/api/run-tests/executeruntest.mdx -- src/pages/docs/api/run-tests/getcallexecutions.mdx -- src/pages/docs/api/run-tests/getevalsummary.mdx -- src/pages/docs/api/run-tests/getruntestdetails.mdx -- src/pages/docs/api/run-tests/gettestexecutions.mdx -- src/pages/docs/api/run-tests/gettestscenarios.mdx -- src/pages/docs/api/run-tests/listruntests.mdx -- src/pages/docs/api/run-tests/reruntestexecutions.mdx -- src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx -- src/pages/docs/api/run-tests/updateevalconfig.mdx -- src/pages/docs/api/run-tests/updatetestcomponents.mdx -- src/pages/docs/api/scenarios/addcolumns.mdx -- src/pages/docs/api/scenarios/addemptyrowstodataset.mdx -- src/pages/docs/api/scenarios/addscenariorowswithai.mdx -- src/pages/docs/api/scenarios/createscenario.mdx -- src/pages/docs/api/scenarios/deletescenario.mdx -- src/pages/docs/api/scenarios/editscenario.mdx -- src/pages/docs/api/scenarios/getscenario.mdx -- src/pages/docs/api/scenarios/listscenarios.mdx -- src/pages/docs/api/test-executions/cancelexecution.mdx -- src/pages/docs/api/test-executions/getevalexplanationsummary.mdx -- src/pages/docs/api/test-executions/getkpis.mdx -- src/pages/docs/api/test-executions/getperformancesummary.mdx -- src/pages/docs/api/test-executions/gettestexecutiondetails.mdx -- src/pages/docs/api/test-executions/reruncalls.mdx -- src/pages/docs/evaluation/builtin/context-relevance.mdx -- src/pages/docs/evaluation/builtin/index.mdx -- src/pages/docs/evaluation/builtin/prompt-injection.mdx - -**Different first heading** (286 files): -- `## Accessing API Keys` → src/pages/docs/admin-settings.mdx -- `## What you will do` → src/pages/docs/annotations/quickstart.mdx -- `## Installation` → src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx -- `# JavaScript SDK` → src/pages/docs/annotations/sdk/javascript.mdx -- `# Python SDK` → src/pages/docs/annotations/sdk/python.mdx -- `## Request Body` → src/pages/docs/api/datasets/upload-dataset.mdx -- `# Get Simulation Analytics` → src/pages/docs/api/simulation-analytics/analytics.mdx -- `# Get Simulation Metrics` → src/pages/docs/api/simulation-analytics/metrics.mdx -- `# Get Simulation Runs` → src/pages/docs/api/simulation-analytics/runs.mdx -- `## 1. Installing Future AGI's AI Evaluation Package` → src/pages/docs/cookbook/ai-agents.mdx -- `## 1. Installing FutureAGI` → src/pages/docs/cookbook/ai-sdr.mdx -- `## 1. Installation and Setup` → src/pages/docs/cookbook/basic-optimization.mdx -- `## 1. Installation` → src/pages/docs/cookbook/chat-simulation-fix-agent.mdx -- `## **Optimizer Comparison at a Glance**` → src/pages/docs/cookbook/compare-optimization.mdx -- `## Overview` → src/pages/docs/cookbook/crewai-research-team.mdx -- `## Objective` → src/pages/docs/cookbook/decrease-hallucination.mdx -- `## 1. Introduction` → src/pages/docs/cookbook/end-to-end-optimization.mdx -- `## 1. Using the FutureAGI Platform (Recommended)` → src/pages/docs/cookbook/eval-metrics-optimization.mdx -- `### Retreival Augmented Generation Evaluation using Future AGI` → src/pages/docs/cookbook/evaluate-rag.mdx -- `## **When to Use GEPA**` → src/pages/docs/cookbook/gepa-optimization.mdx -- `### In this cookbook we demonstrate how FutureAGI SDK can be used to evaluate images:` → src/pages/docs/cookbook/image-evaluation.mdx -- `## **The Required Data Format: A List of Dictionaries**` → src/pages/docs/cookbook/import-datasets.mdx -- `## Getting Started` → src/pages/docs/cookbook/index.mdx -- `## Introduction` → src/pages/docs/cookbook/langchain-langgraph.mdx -- `## 1. Introduction` → src/pages/docs/cookbook/llamaindex-pdf-rag.mdx -- `## 1. Loading Dataset` → src/pages/docs/cookbook/meeting-summarization.mdx -- `## 1. Introduction` → src/pages/docs/cookbook/mongodb.mdx -- `## Observability in AI Systems Explained` → src/pages/docs/cookbook/observability.mdx -- `### In this cookbook we’ll learn` → src/pages/docs/cookbook/portkey-integration.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/batch-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx -- `## Why eval in CI/CD?` → src/pages/docs/cookbook/quickstart/cicd-eval-pipeline.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/compare-optimizers.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/conversation-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/dataset-annotation.mdx -- `## What you built` → src/pages/docs/cookbook/quickstart/dataset-management.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/dataset-optimization.mdx -- `## The Problem` → src/pages/docs/cookbook/quickstart/distributed-tracing.mdx -- `## Starter dataset` → src/pages/docs/cookbook/quickstart/dynamic-dataset-columns.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx -- `## What you built` → src/pages/docs/cookbook/quickstart/experimentation-compare-prompts.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/first-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/hallucination-detection.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/knowledge-base.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/manual-tracing.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/multimodal-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/prompt-optimization.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/prompt-versioning.mdx -- `## What is Prompt Workbench Simulation?` → src/pages/docs/cookbook/quickstart/prompt-workbench-simulation.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/protect-guardrails.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/session-observability.mdx -- `## Tutorial` → src/pages/docs/cookbook/quickstart/synthetic-data-generation.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx -- `## Install` → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx -- `## Key concepts` → src/pages/docs/cookbook/quickstart/voice-simulation.mdx -- `## 1. Installing The Depenencies` → src/pages/docs/cookbook/rag-langchain.mdx -- `# Testing a Voice AI Agent with Agent Simulate SDK` → src/pages/docs/cookbook/simulate-sdk.mdx -- `## 1. Installing Dependencies` → src/pages/docs/cookbook/text-to-sql.mdx -- `## 1. Installing Future AGI` → src/pages/docs/cookbook/trustworthy-rag.mdx -- `## Install` → src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx -- `## Install` → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx -- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-dataset.mdx -- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-evals.mdx -- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-kb.mdx -- `## Installing FutureAGI SDK` → src/pages/docs/cookbook/using-futureagi-protect.mdx -- `### What to Do When Answer Refusal Fails` → src/pages/docs/evaluation/builtin/answer-refusal.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/audio-quality.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/audio-transcription.mdx -- `### What to do if Bias is detected` → src/pages/docs/evaluation/builtin/bias-detection.mdx -- `### About BLEU` → src/pages/docs/evaluation/builtin/bleu.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/caption-hallucination.mdx -- `### What to Do When Chunk Attribution Fails` → src/pages/docs/evaluation/builtin/chunk-attribution.mdx -- `### What to Do When Chunk Utilization Score is Low` → src/pages/docs/evaluation/builtin/chunk-utilization.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx -- `### What to Do When CLIP Score is Low` → src/pages/docs/evaluation/builtin/clip-score.mdx -- `### What to do when Completeness is Low` → src/pages/docs/evaluation/builtin/completeness.mdx -- `### **1. Contains**` → src/pages/docs/evaluation/builtin/contain-evals.mdx -- `### What to Do When Contains Valid Link Evaluation Fails` → src/pages/docs/evaluation/builtin/contains-valid-link.mdx -- `### What to do when Context Adherence is Low` → src/pages/docs/evaluation/builtin/context-adherence.mdx -- `### What to do when Conversation Coherence is Low` → src/pages/docs/evaluation/builtin/conversation-coherence.mdx -- `### What to do when Conversation Resolution is Low` → src/pages/docs/evaluation/builtin/conversation-resolution.mdx -- `### What to Do When Cultural Sensitivity Fails` → src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx -- `### What to Do When Clarification Seeking is Poor` → src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx -- `### What to Do When Context Retention Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx -- `### What to Do When Conversation Quality Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx -- `### What to Do When Human Escalation Fails` → src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx -- `### What to Do When Interruption Handling Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx -- `### What to Do When Language Handling Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx -- `### What to Do When Loop Detection is Flagged` → src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx -- `### What to Do When Objection Handling is Poor` → src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx -- `### What to Do When Prompt Conformance Score is Low` → src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx -- `### What to Do When Query Handling is Poor` → src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx -- `### What to Do When Termination Issues are Detected` → src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx -- `### What to do when Data Privacy Compliance Failed` → src/pages/docs/evaluation/builtin/data-privacy.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/detect-hallucination.mdx -- `### About Embedding Similarity` → src/pages/docs/evaluation/builtin/embedding-similarity.mdx -- `### What to do if the Eval Ranking is Low` → src/pages/docs/evaluation/builtin/eval-ranking.mdx -- `### What to Do When FID Score is High` → src/pages/docs/evaluation/builtin/fid-score.mdx -- `### What to Do When Fuzzy Match Score is Low` → src/pages/docs/evaluation/builtin/fuzzy-match.mdx -- `### What to Do When Ground Truth Match Fails` → src/pages/docs/evaluation/builtin/ground-truth-match.mdx -- `### What to do when Groundedness Evaluation Fails` → src/pages/docs/evaluation/builtin/groundedness.mdx -- `### Batch evaluation` → src/pages/docs/evaluation/builtin/hit-rate.mdx -- `### What to Do When Image Instruction Adherence Score is Low` → src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx -- `### What to Do if Prompt Instruction Adherence is Low` → src/pages/docs/evaluation/builtin/instruction-adherence.mdx -- `### What to Do When Contains Code Score is Low` → src/pages/docs/evaluation/builtin/is-code.mdx -- `### What to Do When Is Concise Score is Low` → src/pages/docs/evaluation/builtin/is-concise.mdx -- `### What to Do When "Is Email" Eval Fails` → src/pages/docs/evaluation/builtin/is-email.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/is-good-summary.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/is-harmful-advice.mdx -- `### What to Do When Is Helpful Score is Low` → src/pages/docs/evaluation/builtin/is-helpful.mdx -- `### What to do If you get Undesired Informal Tone` → src/pages/docs/evaluation/builtin/is-informal-tone.mdx -- `### What to Do When JSON Validation Fails` → src/pages/docs/evaluation/builtin/is-json.mdx -- `### What to Do When Is Polite Score is Low` → src/pages/docs/evaluation/builtin/is-polite.mdx -- `### About Levenshtein Similarity` → src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx -- `### What to Do When Function Calling Evaluation Fails` → src/pages/docs/evaluation/builtin/llm-function-calling.mdx -- `### Batch evaluation` → src/pages/docs/evaluation/builtin/mrr.mdx -- `### Batch evaluation` → src/pages/docs/evaluation/builtin/ndcg-at-k.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-age-bias.mdx -- `### What to Do When No Apologies Score is Low` → src/pages/docs/evaluation/builtin/no-apologies.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-gender-bias.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx -- `### What to Do When No Invalid Links Evaluation Fails` → src/pages/docs/evaluation/builtin/no-invalid-links.mdx -- `### What to Do When No LLM Reference Score is Low` → src/pages/docs/evaluation/builtin/no-llm-reference.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/no-racial-bias.mdx -- `### Purpose of Numeric Similarity Eval` → src/pages/docs/evaluation/builtin/numeric-similarity.mdx -- `### What to Do When OCR Evaluation Score is Low` → src/pages/docs/evaluation/builtin/ocr-evaluation.mdx -- `### Comparing PII Detection with Similar Evals` → src/pages/docs/evaluation/builtin/pii.mdx -- `### Batch evaluation` → src/pages/docs/evaluation/builtin/precision-at-k.mdx -- `### Batch evaluation` → src/pages/docs/evaluation/builtin/recall-at-k.mdx -- `### About ROUGE Score` → src/pages/docs/evaluation/builtin/rouge.mdx -- `### About Semantic List Contains` → src/pages/docs/evaluation/builtin/semantic-list-contains.mdx -- `### What to do when Sexist Content is Detected` → src/pages/docs/evaluation/builtin/sexist.mdx -- `### What to Do When Summary Quality Evaluation Gives a Low Score` → src/pages/docs/evaluation/builtin/summary-quality.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/task-completion.mdx -- `### What to do If you get Undesired Results` → src/pages/docs/evaluation/builtin/text-to-sql.mdx -- `### What to do If you get Undesired Tone in Content` → src/pages/docs/evaluation/builtin/tone.mdx -- `### What to do when Toxicity is Detected` → src/pages/docs/evaluation/builtin/toxicity.mdx -- `### What to Do When Translation Accuracy Evaluation Gives a Low Score` → src/pages/docs/evaluation/builtin/translation-accuracy.mdx -- `### What to Do When TTS Accuracy Score is Low` → src/pages/docs/evaluation/builtin/tts-accuracy.mdx -- `## Simulate & Iterate` → src/pages/docs/index.mdx -- `## Requirements` → src/pages/docs/installation.mdx -- `## What this does` → src/pages/docs/integrations/export/cloud-storage.mdx -- `## What this does` → src/pages/docs/integrations/export/datadog.mdx -- `## What this does` → src/pages/docs/integrations/export/message-queues.mdx -- `## What this does` → src/pages/docs/integrations/export/mixpanel.mdx -- `## What this does` → src/pages/docs/integrations/export/pagerduty.mdx -- `## What this does` → src/pages/docs/integrations/export/posthog.mdx -- `## 1. Installation` → src/pages/docs/integrations/google-adk.mdx -- `## 1. Installation` → src/pages/docs/integrations/google-genai.mdx -- `## What this does` → src/pages/docs/integrations/import/langfuse.mdx -- `## TraceAI` → src/pages/docs/integrations/index.mdx -- `## 1. Installation` → src/pages/docs/integrations/openai-agents.mdx -- `## 1. Installation` → src/pages/docs/integrations/smol-agents.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/anthropic.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/autogen.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/bedrock.mdx -- `## 2. Set Environment Variables` → src/pages/docs/integrations/traceai/crewai.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/dspy.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/google_adk.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/google_genai.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/groq.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/guardrails.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/haystack.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/instructor.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/anthropic.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/bedrock.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/cohere.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/frameworks.mdx -- `## How it works` → src/pages/docs/integrations/traceai/java/index.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/llm-providers.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/openai.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/pinecone.mdx -- `## Prerequisites` → src/pages/docs/integrations/traceai/java/vector-databases.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/langchain.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/langgraph.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/litellm.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/livekit.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/llamaindex-workflows.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/llamaindex.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/mastra.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/mcp.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/mistralai.mdx -- `### Installing Community Nodes` → src/pages/docs/integrations/traceai/n8n.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/ollama.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/openai.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/openai_agents.mdx -- `## Overview` → src/pages/docs/integrations/traceai/pipecat.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/portkey.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/promptflow.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/smol_agents.mdx -- `## How it works` → src/pages/docs/integrations/traceai/spring-boot.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/togetherai.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/vercel.mdx -- `## 1. Installation` → src/pages/docs/integrations/traceai/vertexai.mdx -- `## When to Use Bayesian Search` → src/pages/docs/optimization/optimizers/bayesian-search.mdx -- `## When to Use GEPA` → src/pages/docs/optimization/optimizers/gepa.mdx -- `## When to Use Meta-Prompt` → src/pages/docs/optimization/optimizers/meta-prompt.mdx -- `## When to Use PromptWizard` → src/pages/docs/optimization/optimizers/promptwizard.mdx -- `## When to Use ProTeGi` → src/pages/docs/optimization/optimizers/protegi.mdx -- `## When to Use Random Search` → src/pages/docs/optimization/optimizers/random-search.mdx -- `## **Key Use Cases**` → src/pages/docs/protect/concepts/concept.mdx -- `## What you will do` → src/pages/docs/quickstart/annotations.mdx -- `## Week of 2026-04-21` → src/pages/docs/release-notes.mdx -- `## Organization Roles` → src/pages/docs/roles-and-permissions.mdx -- `# `AnnotationQueue` Class` → src/pages/docs/sdk/annotation-queues.mdx -- `## Quick Example` → src/pages/docs/sdk/datasets.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/autoeval.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/cloud-evals.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/code-security.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/distributed.mdx -- `## Quick Examples` → src/pages/docs/sdk/evals/evaluate.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/feedback.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/guardrails-module.mdx -- `# Local metric — runs instantly, no API key needed` → src/pages/docs/sdk/evals/index.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/llm-judge.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/local.mdx -- `## Agent Trajectory Metrics` → src/pages/docs/sdk/evals/metrics/agents.mdx -- `## Scanners` → src/pages/docs/sdk/evals/metrics/guardrails.mdx -- `## Metrics` → src/pages/docs/sdk/evals/metrics/hallucination.mdx -- `## Categories` → src/pages/docs/sdk/evals/metrics/index.mdx -- `## JSON Metrics` → src/pages/docs/sdk/evals/metrics/json.mdx -- `## Retrieval Metrics` → src/pages/docs/sdk/evals/metrics/rag.mdx -- `## String Check Metrics` → src/pages/docs/sdk/evals/metrics/string.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/otel.mdx -- `## Quick Example` → src/pages/docs/sdk/evals/streaming.mdx -- `## Language Support` → src/pages/docs/sdk/index.mdx -- `## Quick Example` → src/pages/docs/sdk/knowledgebase.mdx -- `## Quick Example` → src/pages/docs/sdk/optimization.mdx -- `## Quick Example` → src/pages/docs/sdk/protect.mdx -- `## Quick Example` → src/pages/docs/sdk/simulate.mdx -- `# Test Case Classes` → src/pages/docs/sdk/testcase.mdx -- `## Quick Example` → src/pages/docs/sdk/tracing.mdx -- `## What it is` → src/pages/docs/simulation/features/voice-replay.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/anthropic.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/autogen.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/bedrock.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/crewai.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/dspy.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/google_adk.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/google_genai.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/groq.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/guardrails.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/haystack.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/instructor.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/anthropic.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/bedrock.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/cohere.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/frameworks.mdx -- `## How it works` → src/pages/docs/tracing/auto/java/index.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/llm-providers.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/openai.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/pinecone.mdx -- `## Prerequisites` → src/pages/docs/tracing/auto/java/vector-databases.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/langchain.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/langgraph.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/litellm.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/livekit.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/llamaindex-workflows.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/llamaindex.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/mastra.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/mcp.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/mistralai.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/ollama.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/openai.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/openai_agents.mdx -- `## Overview` → src/pages/docs/tracing/auto/pipecat.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/portkey.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/promptflow.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/smol_agents.mdx -- `## How it works` → src/pages/docs/tracing/auto/spring-boot.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/togetherai.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/vercel.mdx -- `## 1. Installation` → src/pages/docs/tracing/auto/vertexai.mdx -- `## Why Use It?` → src/pages/docs/tracing/concepts/otel.mdx -- `## Structure of Spans` → src/pages/docs/tracing/concepts/spans.mdx -- `## Python` → src/pages/docs/tracing/concepts/traceai.mdx -- `## Key Features` → src/pages/docs/tracing/concepts/traces.mdx - ---- - -## 🟡 Warnings - -### 4. Title Too Short (<15 chars) — 0 (0%) - -_None._ - -### 5. Title Too Long (>60 chars) — 1 (0%) - -- "Understanding Prototype: Pre-Production Testing in Future AGI" (61) → src/pages/docs/prototype/concepts/understanding-prototype.mdx - -### 6. Generic / Keyword-Poor Title — 0 (0%) - -_None._ - -### 7. Description Too Short (<120 chars) — 16 (3%) - -- (119 chars) → src/pages/docs/admin-settings.mdx -- (116 chars) → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx -- (106 chars) → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx -- (115 chars) → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx -- (119 chars) → src/pages/docs/api/dataset-evals/start-evals-process.mdx -- (112 chars) → src/pages/docs/api/datasets/add-empty-rows.mdx -- (118 chars) → src/pages/docs/api/datasets/add-rows-from-existing.mdx -- (118 chars) → src/pages/docs/api/datasets/add-rows-from-file.mdx -- (119 chars) → src/pages/docs/api/datasets/columns/add-columns.mdx -- (113 chars) → src/pages/docs/api/datasets/delete-rows.mdx -- (119 chars) → src/pages/docs/api/datasets/duplicate-rows.mdx -- (116 chars) → src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx -- (113 chars) → src/pages/docs/api/eval-tasks/delete-eval-task.mdx -- (119 chars) → src/pages/docs/api/eval-tasks/pause-eval-task.mdx -- (119 chars) → src/pages/docs/faq.mdx -- (119 chars) → src/pages/docs/prompt/features/create-from-scratch.mdx - -### 8. Description Too Long (>155 chars) — 47 (8%) - -- (158 chars) → src/pages/docs/api/agent-versions/createagentversion.mdx -- (156 chars) → src/pages/docs/api/annotations/queues/get-or-create-default.mdx -- (157 chars) → src/pages/docs/api/annotations/queues/update-status.mdx -- (162 chars) → src/pages/docs/api/eval-tasks/create-eval-task.mdx -- (161 chars) → src/pages/docs/api/personas/createpersona.mdx -- (170 chars) → src/pages/docs/api/personas/listpersonas.mdx -- (182 chars) → src/pages/docs/api/run-tests/addevalconfigs.mdx -- (181 chars) → src/pages/docs/api/run-tests/compareevalsummaries.mdx -- (162 chars) → src/pages/docs/api/run-tests/createruntest.mdx -- (168 chars) → src/pages/docs/api/run-tests/deleteevalconfig.mdx -- (170 chars) → src/pages/docs/api/run-tests/executeruntest.mdx -- (165 chars) → src/pages/docs/api/run-tests/getcallexecutions.mdx -- (161 chars) → src/pages/docs/api/run-tests/getevalsummary.mdx -- (164 chars) → src/pages/docs/api/run-tests/getruntestdetails.mdx -- (162 chars) → src/pages/docs/api/run-tests/gettestexecutions.mdx -- (165 chars) → src/pages/docs/api/run-tests/listruntests.mdx -- (162 chars) → src/pages/docs/api/run-tests/reruntestexecutions.mdx -- (168 chars) → src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx -- (159 chars) → src/pages/docs/api/run-tests/updateevalconfig.mdx -- (161 chars) → src/pages/docs/api/run-tests/updatetestcomponents.mdx -- (159 chars) → src/pages/docs/api/scenarios/addcolumns.mdx -- (166 chars) → src/pages/docs/api/scenarios/addemptyrowstodataset.mdx -- (171 chars) → src/pages/docs/api/scenarios/addscenariorowswithai.mdx -- (167 chars) → src/pages/docs/api/scenarios/createscenario.mdx -- (168 chars) → src/pages/docs/api/scenarios/listscenarios.mdx -- (173 chars) → src/pages/docs/api/simulation-analytics/metrics.mdx -- (175 chars) → src/pages/docs/api/simulation-analytics/runs.mdx -- (165 chars) → src/pages/docs/api/test-executions/cancelexecution.mdx -- (178 chars) → src/pages/docs/api/test-executions/getevalexplanationsummary.mdx -- (167 chars) → src/pages/docs/api/test-executions/getperformancesummary.mdx -- (168 chars) → src/pages/docs/api/test-executions/gettestexecutiondetails.mdx -- (171 chars) → src/pages/docs/api/test-executions/reruncalls.mdx -- (162 chars) → src/pages/docs/command-center/api/headers.mdx -- (160 chars) → src/pages/docs/command-center/concepts/api-reference.mdx -- (162 chars) → src/pages/docs/command-center/concepts/configuration.mdx -- (161 chars) → src/pages/docs/command-center/concepts/platform-integration.mdx -- (161 chars) → src/pages/docs/command-center/deployment/self-hosted.mdx -- (156 chars) → src/pages/docs/command-center/features/rate-limiting.mdx -- (156 chars) → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx -- (156 chars) → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx -- (158 chars) → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx -- (157 chars) → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx -- (161 chars) → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx -- (157 chars) → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx -- (159 chars) → src/pages/docs/self-hosting/environment.mdx -- (163 chars) → src/pages/docs/self-hosting/production.mdx -- (166 chars) → src/pages/docs/self-hosting/troubleshooting.mdx - -### 9. Description Bad Start Phrase — 1 (0%) - -- "A guide to using GEPA, a powerful evolutionary algorithm for state-of-the-art pr..." → src/pages/docs/cookbook/gepa-optimization.mdx - -### 10. Vague Single-Word Headings — 20 (3%) files affected - -- src/pages/docs/command-center/features/caching.mdx - - `## Configuration` -- src/pages/docs/command-center/features/rate-limiting.mdx - - `### Configuration` -- src/pages/docs/command-center/features/self-hosted-models.mdx - - `## Configuration` -- src/pages/docs/command-center/features/shadow-experiments.mdx - - `## Configuration` -- src/pages/docs/cookbook/crewai-research-team.mdx - - `## Overview` - - `## Resources` -- src/pages/docs/cookbook/error-feed/google-adk-multi-agent.mdx - - `## Setup` -- src/pages/docs/cookbook/langchain-langgraph.mdx - - `## Introduction` -- src/pages/docs/falcon-ai/features/mcp-connectors.mdx - - `## Examples` -- src/pages/docs/faq.mdx - - `## General` -- src/pages/docs/installation.mdx - - `## Configuration` -- src/pages/docs/integrations/index.mdx - - `### Other` -- src/pages/docs/integrations/traceai/pipecat.mdx - - `## Overview` -- src/pages/docs/sdk/evals/guardrails-module.mdx - - `## Configuration` -- src/pages/docs/sdk/evals/local.mdx - - `### Setup` -- src/pages/docs/sdk/evals/otel.mdx - - `## Setup` -- src/pages/docs/self-hosting/configuration.mdx - - `### Setup` -- src/pages/docs/self-hosting/docker-compose.mdx - - `## Setup` -- src/pages/docs/simulation/features/evaluate-tool-calling.mdx - - `## Notes` -- src/pages/docs/tracing/auto/index.mdx - - `## Other` -- src/pages/docs/tracing/auto/pipecat.mdx - - `## Overview` - -### 11. Heading Hierarchy Issues (skipped level / H3 before H2) — 127 (21%) - -- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx - - H1→H3 skip at "Export to a Dataset" -- src/pages/docs/api/simulation-analytics/analytics.mdx - - H1→H3 skip at "Python — Automated promotion gate" - - H1→H3 skip at "JavaScript — Dashboard integration" -- src/pages/docs/api/simulation-analytics/metrics.mdx - - H1→H3 skip at "Python" - - H1→H3 skip at "JavaScript" -- src/pages/docs/api/simulation-analytics/runs.mdx - - H1→H3 skip at "Python" - - H1→H3 skip at "JavaScript" -- src/pages/docs/command-center/api/async-batch.mdx - - H1→H3 skip at "Polling for results" - - H1→H3 skip at "Checking batch status" -- src/pages/docs/command-center/api/embeddings.mdx - - H1→H3 skip at "Encoding format" - - H1→H3 skip at "Response format" -- src/pages/docs/command-center/api/files.mdx - - H1→H3 skip at "Purpose values" - - H1→H3 skip at "Batch upload" - - H1→H3 skip at "Search a vector store" -- src/pages/docs/command-center/api/headers.mdx - - H1→H3 skip at "OpenAI SDK" - - H1→H3 skip at "OpenAI SDK with create_headers()" -- src/pages/docs/command-center/concepts/api-reference.mdx - - H1→H3 skip at "Embeddings" -- src/pages/docs/command-center/concepts/configuration.mdx - - H1→H3 skip at "Per-request overrides" -- src/pages/docs/command-center/features/mcp-a2a.mdx - - H1→H3 skip at "MCP methods" - - H1→H3 skip at "Listing registered agents" -- src/pages/docs/command-center/features/observability.mdx - - H1→H3 skip at "OpenTelemetry integration" - - H1→H3 skip at "Self-hosted metrics config" -- src/pages/docs/command-center/features/rate-limiting.mdx - - H1→H3 skip at "Response headers" -- src/pages/docs/command-center/features/shadow-experiments.mdx - - H1→H3 skip at "Configuration options" -- src/pages/docs/command-center/guides/errors.mdx - - H1→H3 skip at "What to retry" -- src/pages/docs/command-center/guides/troubleshooting.mdx - - H1→H3 skip at "Provider returns 404 upstream" - - H1→H3 skip at "Guardrails blocking legitimate requests" -- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx - - H1→H3 skip at "Create the Agent Function" - - H1→H3 skip at "Understanding the Results" -- src/pages/docs/cookbook/crewai-research-team.mdx - - H1→H3 skip at "2. Initialize Observability and Tracing" - - H1→H3 skip at "3. Define the Research Team Agents" - - H1→H3 skip at "4. Implement In-line Evaluations" - - H1→H3 skip at "6. Execute the Research Crew" - - H1→H3 skip at "7. Advanced Monitoring and Analysis" - - H1→H4 skip at "Issue 2: Completeness Gaps (0.85)" - - H1→H3 skip at "2. Continuous Monitoring" -- src/pages/docs/cookbook/decrease-hallucination.mdx - - H1→H3 skip at "**3. Installing Required Libraries**" -- src/pages/docs/cookbook/evaluate-rag.mdx - - H3 "Retreival Augmented Generation Evaluation using Future AGI" with no preceding H2 - - H3 "Available RAG evaluations in Future AGI :" with no preceding H2 - - H1→H3 skip at "Available RAG evaluations in Future AGI :" -- src/pages/docs/cookbook/image-evaluation.mdx - - H3 "In this cookbook we demonstrate how FutureAGI SDK can be used to evaluate images:" with no preceding H2 - - H3 "Making Necessary Imports" with no preceding H2 - - H1→H3 skip at "Making Necessary Imports" - - H3 "Loading and Visualising Data" with no preceding H2 - - H3 "Initializing the FutureAGI Evaluator Class and Deterministic Eval" with no preceding H2 - - H1→H3 skip at "Initializing the FutureAGI Evaluator Class and Deterministic Eval" -- src/pages/docs/cookbook/import-datasets.mdx - - H1→H3 skip at "**b. From a JSON File (List of Objects)**" - - H1→H3 skip at "**c. From a JSONL File (JSON Lines)**" -- src/pages/docs/cookbook/observability.mdx - - H1→H3 skip at "Key Features Explained" -- src/pages/docs/cookbook/portkey-integration.mdx - - H3 "In this cookbook we’ll learn" with no preceding H2 - - H3 "Core Concepts" with no preceding H2 - - H3 "Prerequisites" with no preceding H2 - - H3 "Step-by-Step Guide" with no preceding H2 - - H3 "Step 1: Basic Setup and Imports" with no preceding H2 - - H3 "Step 2: Setting Up Tracing with FutureAGI Evals" with no preceding H2 - - H3 "Step 3: Defining Models and Test Scenarios" with no preceding H2 - - H3 "Step 4: Executing a Test and Capturing Results" with no preceding H2 - - H3 "**Step 4: Orchestrate with a main Function**" with no preceding H2 - - H3 "**Trace Analysis**" with no preceding H2 - - H3 "How Utilizing Portkey and FutureAGI will help enhancing your CI/CD pipelines" with no preceding H2 - - H3 "Conclusion" with no preceding H2 -- src/pages/docs/cookbook/quickstart/distributed-tracing.mdx - - H1→H3 skip at "Backend (backend.py)" - - H1→H3 skip at "Run it" - - H1→H3 skip at "Install" - - H1→H3 skip at "Dependencies" - - H1→H3 skip at "Install" -- src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx - - H1→H3 skip at "Controls" -- src/pages/docs/cookbook/rag-langchain.mdx - - H1→H3 skip at "We will then utilize our sample Questionaire dataset and feed it to our RAG App, to get answers for evaluation" -- src/pages/docs/evaluation/builtin/answer-refusal.mdx - - H3 "What to Do When Answer Refusal Fails" with no preceding H2 - - H3 "Comparing Answer Refusal with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/audio-quality.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Audio Quality with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/audio-transcription.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Audio Transcription with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/bias-detection.mdx - - H3 "What to do if Bias is detected" with no preceding H2 - - H3 "Differentiating Bias Detection with [Cultural Sensitivity](/docs/evaluation/builtin/cultural-sensitivity)" with no preceding H2 -- src/pages/docs/evaluation/builtin/bleu.mdx - - H3 "About BLEU" with no preceding H2 - - H3 "n-gram" with no preceding H2 - - H3 "Modified n-gram Precision" with no preceding H2 - - H3 "Calculation of BLEU Score" with no preceding H2 - - H3 "What if BLEU Score is Low?" with no preceding H2 -- src/pages/docs/evaluation/builtin/caption-hallucination.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Caption Hallucination with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/chunk-attribution.mdx - - H3 "What to Do When Chunk Attribution Fails" with no preceding H2 - - H3 "Differentiating Chunk Attribution with [Chunk Utilization](/docs/evaluation/builtin/chunk-utilization)" with no preceding H2 -- src/pages/docs/evaluation/builtin/chunk-utilization.mdx - - H3 "What to Do When Chunk Utilization Score is Low" with no preceding H2 - - H3 "Comparing Chunk Utilization with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/clinically-inappropriate-tone.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Clinically Inappropriate Tone with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/clip-score.mdx - - H3 "What to Do When CLIP Score is Low" with no preceding H2 - - H3 "Comparing CLIP Score with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/completeness.mdx - - H3 "What to do when Completeness is Low" with no preceding H2 -- src/pages/docs/evaluation/builtin/contain-evals.mdx - - H3 "**1. Contains**" with no preceding H2 - - H3 "**2. Contains Any**" with no preceding H2 - - H3 "**3. Contains All**" with no preceding H2 - - H3 "**4. Contains None**" with no preceding H2 - - H3 "**5. Starts With**" with no preceding H2 - - H3 "**6. Ends With**" with no preceding H2 - - H3 "**7. Equals**" with no preceding H2 -- src/pages/docs/evaluation/builtin/contains-valid-link.mdx - - H3 "What to Do When Contains Valid Link Evaluation Fails" with no preceding H2 - - H3 "Comparing Contains Valid Link with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/context-adherence.mdx - - H3 "What to do when Context Adherence is Low" with no preceding H2 - - H3 "Comparing Context Adherence with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/conversation-coherence.mdx - - H3 "What to do when Conversation Coherence is Low" with no preceding H2 - - H3 "Comparing Conversation Coherence with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/conversation-resolution.mdx - - H3 "What to do when Conversation Resolution is Low" with no preceding H2 - - H3 "Comparing Conversation Resolution with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/cultural-sensitivity.mdx - - H3 "What to Do When Cultural Sensitivity Fails" with no preceding H2 - - H3 "Differentiating Cultural Sensitivity with [Tone](/docs/evaluation/builtin/tone)" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx - - H3 "What to Do When Clarification Seeking is Poor" with no preceding H2 - - H3 "Comparing Clarification Seeking with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx - - H3 "What to Do When Context Retention Score is Low" with no preceding H2 - - H3 "Comparing Context Retention with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx - - H3 "What to Do When Conversation Quality Score is Low" with no preceding H2 - - H3 "Comparing Conversation Quality with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx - - H3 "What to Do When Human Escalation Fails" with no preceding H2 - - H3 "Comparing Human Escalation with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx - - H3 "What to Do When Interruption Handling Score is Low" with no preceding H2 - - H3 "Comparing Interruption Handling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx - - H3 "What to Do When Language Handling Score is Low" with no preceding H2 - - H3 "Comparing Language Handling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx - - H3 "What to Do When Loop Detection is Flagged" with no preceding H2 - - H3 "Comparing Loop Detection with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx - - H3 "What to Do When Objection Handling is Poor" with no preceding H2 - - H3 "Comparing Objection Handling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx - - H3 "What to Do When Prompt Conformance Score is Low" with no preceding H2 - - H3 "Comparing Prompt Conformance with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx - - H3 "What to Do When Query Handling is Poor" with no preceding H2 - - H3 "Comparing Query Handling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx - - H3 "What to Do When Termination Issues are Detected" with no preceding H2 - - H3 "Comparing Termination Handling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/data-privacy.mdx - - H3 "What to do when Data Privacy Compliance Failed" with no preceding H2 - - H3 "Differentiating Data Privacy Compliance with [PII](/docs/evaluation/builtin/pii)" with no preceding H2 -- src/pages/docs/evaluation/builtin/detect-hallucination.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Detect Hallucination with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/embedding-similarity.mdx - - H3 "About Embedding Similarity" with no preceding H2 - - H3 "How Similarity Is Calculated?" with no preceding H2 -- src/pages/docs/evaluation/builtin/eval-ranking.mdx - - H3 "What to do if the Eval Ranking is Low" with no preceding H2 - - H3 "Differentiating Eval Ranking with [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 -- src/pages/docs/evaluation/builtin/fid-score.mdx - - H3 "What to Do When FID Score is High" with no preceding H2 - - H3 "Comparing FID Score with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/fuzzy-match.mdx - - H3 "What to Do When Fuzzy Match Score is Low" with no preceding H2 - - H3 "Comparing Fuzzy Match with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/ground-truth-match.mdx - - H3 "What to Do When Ground Truth Match Fails" with no preceding H2 - - H3 "Comparing Ground Truth Match with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/groundedness.mdx - - H3 "What to do when Groundedness Evaluation Fails" with no preceding H2 - - H3 "Differentiating Groundedness from [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 -- src/pages/docs/evaluation/builtin/hit-rate.mdx - - H3 "Batch evaluation" with no preceding H2 - - H3 "How it works" with no preceding H2 - - H1→H3 skip at "How it works" - - H3 "What to do when Hit Rate is Low" with no preceding H2 - - H3 "Differentiating Hit Rate with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx - - H3 "What to Do When Image Instruction Adherence Score is Low" with no preceding H2 - - H3 "Comparing Image Instruction Adherence with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/instruction-adherence.mdx - - H3 "What to Do if Prompt Instruction Adherence is Low" with no preceding H2 - - H3 "Differentiating Prompt/Instruction Adherence with [Context Adherence](/docs/evaluation/builtin/context-adherence)" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-code.mdx - - H3 "What to Do When Contains Code Score is Low" with no preceding H2 - - H3 "Comparing Contains Code with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-concise.mdx - - H3 "What to Do When Is Concise Score is Low" with no preceding H2 - - H3 "Comparing Is Concise with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-email.mdx - - H3 "What to Do When "Is Email" Eval Fails" with no preceding H2 - - H3 "Differentiating "Is Email" with [Contain](/docs/evaluation/builtin/contain-evals) Eval" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-good-summary.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Is Good Summary with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-harmful-advice.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Is Harmful Advice with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-helpful.mdx - - H3 "What to Do When Is Helpful Score is Low" with no preceding H2 - - H3 "Comparing Is Helpful with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-informal-tone.mdx - - H3 "What to do If you get Undesired Informal Tone" with no preceding H2 - - H3 "Comparing Is Informal Tone with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-json.mdx - - H3 "What to Do When JSON Validation Fails" with no preceding H2 - - H3 "Comparing Is JSON with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/is-polite.mdx - - H3 "What to Do When Is Polite Score is Low" with no preceding H2 - - H3 "Comparing Is Polite with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx - - H3 "About Levenshtein Similarity" with no preceding H2 - - H3 "Edit Operations" with no preceding H2 - - H3 "Normalized Levenshtein Score" with no preceding H2 - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Levenshtein Similarity with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/llm-function-calling.mdx - - H3 "What to Do When Function Calling Evaluation Fails" with no preceding H2 - - H3 "Comparing Evaluate Function Calling with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/mrr.mdx - - H3 "Batch evaluation" with no preceding H2 - - H3 "How it works" with no preceding H2 - - H1→H3 skip at "How it works" - - H3 "What to do when MRR is Low" with no preceding H2 - - H3 "Differentiating MRR with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/ndcg-at-k.mdx - - H3 "Batch evaluation" with no preceding H2 - - H3 "How it works" with no preceding H2 - - H1→H3 skip at "How it works" - - H3 "What to do when NDCG@K is Low" with no preceding H2 - - H3 "Differentiating NDCG@K with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-age-bias.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing No Age Bias with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-apologies.mdx - - H3 "What to Do When No Apologies Score is Low" with no preceding H2 - - H3 "Comparing No Apologies with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-gender-bias.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing No Gender Bias with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-harmful-therapeutic-guidance.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing No Harmful Therapeutic Guidance with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-invalid-links.mdx - - H3 "What to Do When No Invalid Links Evaluation Fails" with no preceding H2 - - H3 "Comparing No Invalid Links with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-llm-reference.mdx - - H3 "What to Do When No LLM Reference Score is Low" with no preceding H2 -- src/pages/docs/evaluation/builtin/no-racial-bias.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing No Racial Bias with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/numeric-similarity.mdx - - H3 "Purpose of Numeric Similarity Eval" with no preceding H2 -- src/pages/docs/evaluation/builtin/ocr-evaluation.mdx - - H3 "What to Do When OCR Evaluation Score is Low" with no preceding H2 - - H3 "Comparing OCR Evaluation with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/pii.mdx - - H3 "Comparing PII Detection with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/precision-at-k.mdx - - H3 "Batch evaluation" with no preceding H2 - - H3 "How it works" with no preceding H2 - - H1→H3 skip at "How it works" - - H3 "What to do when Precision@K is Low" with no preceding H2 - - H3 "Differentiating Precision@K with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/recall-at-k.mdx - - H3 "Batch evaluation" with no preceding H2 - - H3 "How it works" with no preceding H2 - - H1→H3 skip at "How it works" - - H3 "What to do when Recall@K is Low" with no preceding H2 - - H3 "Differentiating Recall@K with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/rouge.mdx - - H3 "About ROUGE Score" with no preceding H2 - - H3 "ROUGE-N" with no preceding H2 - - H3 "ROUGE-L (Longest Common Subsequence)" with no preceding H2 - - H3 "Calculation of ROUGE Scores" with no preceding H2 - - H3 "When to Use ROUGE?" with no preceding H2 - - H3 "What if ROUGE Score is Low?" with no preceding H2 -- src/pages/docs/evaluation/builtin/semantic-list-contains.mdx - - H3 "About Semantic List Contains" with no preceding H2 - - H3 "How Semantic List Contains Evals Work?" with no preceding H2 - - H3 "What if Semantic List Contains Eval Score is Low?" with no preceding H2 -- src/pages/docs/evaluation/builtin/sexist.mdx - - H3 "What to do when Sexist Content is Detected" with no preceding H2 - - H3 "Comparing Sexist Evaluation with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/summary-quality.mdx - - H3 "What to Do When Summary Quality Evaluation Gives a Low Score" with no preceding H2 -- src/pages/docs/evaluation/builtin/synthetic-image-evaluator.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Synthetic Image Evaluator with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/task-completion.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Task Completion with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/text-to-sql.mdx - - H3 "What to do If you get Undesired Results" with no preceding H2 - - H3 "Comparing Text to SQL with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/tone.mdx - - H3 "What to do If you get Undesired Tone in Content" with no preceding H2 - - H3 "Comparing Tone with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/toxicity.mdx - - H3 "What to do when Toxicity is Detected" with no preceding H2 - - H3 "Comparing Toxicity with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/translation-accuracy.mdx - - H3 "What to Do When Translation Accuracy Evaluation Gives a Low Score" with no preceding H2 - - H3 "Comparing Translation Accuracy with Similar Evals" with no preceding H2 -- src/pages/docs/evaluation/builtin/tts-accuracy.mdx - - H3 "What to Do When TTS Accuracy Score is Low" with no preceding H2 - - H3 "Comparing TTS Accuracy with Similar Evals" with no preceding H2 -- src/pages/docs/integrations/traceai/n8n.mdx - - H3 "Installing Community Nodes" with no preceding H2 -- src/pages/docs/integrations/traceai/openai.mdx - - H1→H3 skip at "Image Generation" -- src/pages/docs/prompt/features/sdk.mdx - - H1→H3 skip at "Remove labels" -- src/pages/docs/sdk/datasets.mdx - - H1→H3 skip at "From HuggingFace" -- src/pages/docs/sdk/evals/autoeval.mdx - - H1→H3 skip at "From a template" -- src/pages/docs/sdk/evals/cloud-evals.mdx - - H1→H3 skip at "Filtering by tag" - - H1→H3 skip at "Available tags" - - H1→H3 skip at "With the Evaluator class" -- src/pages/docs/sdk/evals/code-security.mdx - - H1→H3 skip at "Language-specific analyzers" - - H1→H3 skip at "Custom detectors" - - H1→H4 skip at "Evaluate with a generator function" - - H1→H3 skip at "Autocomplete Mode" - - H1→H3 skip at "Run a benchmark" - - H1→H3 skip at "Generate reports" -- src/pages/docs/sdk/evals/distributed.mdx - - H1→H3 skip at "Distributed" -- src/pages/docs/sdk/evals/guardrails-module.mdx - - H1→H3 skip at "Response" - - H1→H3 skip at "Configuring individual scanners" - - H1→H3 skip at "Composing scanners" - - H1→H3 skip at "Screening sessions" -- src/pages/docs/sdk/evals/llm-judge.mdx - - H1→H3 skip at "Criteria with input references" - - H1→H3 skip at "Multi-dimensional criteria" -- src/pages/docs/sdk/evals/local.mdx - - H1→H3 skip at "Batch evaluation" - - H1→H3 skip at "Partition evaluations" - - H1→H3 skip at "Evaluate" - - H1→H3 skip at "Offline mode" - - H1→H3 skip at "Using with HybridEvaluator" - - H1→H3 skip at "Direct LLM usage" - - H1→H3 skip at "Factory" - - H1→H3 skip at "Registering custom metrics" - - H1→H3 skip at "Lazy registration" -- src/pages/docs/sdk/evals/metrics/agents.mdx - - H1→H3 skip at "step_efficiency" - - H1→H3 skip at "tool_selection_accuracy" - - H1→H3 skip at "trajectory_score" - - H1→H3 skip at "goal_progress" - - H1→H3 skip at "action_safety" - - H1→H3 skip at "reasoning_quality" - - H1→H3 skip at "parameter_validation" - - H1→H3 skip at "function_call_accuracy" - - H1→H3 skip at "function_call_exact_match" -- src/pages/docs/sdk/evals/metrics/guardrails.mdx - - H1→H3 skip at "pii_detection" - - H1→H3 skip at "secret_detection" - - H1→H3 skip at "sql_injection" -- src/pages/docs/sdk/evals/metrics/hallucination.mdx - - H1→H3 skip at "claim_support" - - H1→H3 skip at "factual_consistency" - - H1→H3 skip at "contradiction_detection" - - H1→H3 skip at "hallucination_score" -- src/pages/docs/sdk/evals/metrics/json.mdx - - H1→H3 skip at "contains_json" - - H1→H3 skip at "json_schema" - - H1→H3 skip at "json_validation" - - H1→H3 skip at "json_syntax" - - H1→H3 skip at "type_compliance" - - H1→H3 skip at "field_completeness" - - H1→H3 skip at "required_fields" - - H1→H3 skip at "field_coverage" - - H1→H3 skip at "hierarchy_score" - - H1→H3 skip at "tree_edit_distance" - - H1→H3 skip at "structured_output_score" - - H1→H3 skip at "quick_structured_check" -- src/pages/docs/sdk/evals/metrics/rag.mdx - - H1→H3 skip at "context_precision" - - H1→H3 skip at "context_entity_recall" - - H1→H3 skip at "noise_sensitivity" - - H1→H3 skip at "context_utilization" - - H1→H3 skip at "context_relevance_to_response" - - H1→H3 skip at "rag_faithfulness_with_reference" - - H1→H3 skip at "source_attribution" -- src/pages/docs/sdk/evals/metrics/string.mdx - - H1→H3 skip at "contains_all" - - H1→H3 skip at "contains_any" - - H1→H3 skip at "contains_none" - - H1→H3 skip at "contains_email" - - H1→H3 skip at "contains_link" - - H1→H3 skip at "contains_valid_link" - - H1→H3 skip at "is_email" - - H1→H3 skip at "one_line" - - H1→H3 skip at "equals" - - H1→H3 skip at "starts_with" - - H1→H3 skip at "ends_with" - - H1→H3 skip at "regex" - - H1→H3 skip at "length_less_than" - - H1→H3 skip at "length_greater_than" - - H1→H3 skip at "length_between" - - H1→H3 skip at "rouge_score" - - H1→H3 skip at "recall_score" - - H1→H3 skip at "levenshtein_similarity" - - H1→H3 skip at "numeric_similarity" - - H1→H3 skip at "embedding_similarity" - - H1→H3 skip at "semantic_list_contains" -- src/pages/docs/sdk/evals/otel.mdx - - H1→H3 skip at "Tracer utilities" - - H1→H3 skip at "Tracing LLM calls manually" - - H1→H3 skip at "Manual enrichment" - - H1→H3 skip at "Span context for scoring" - - H1→H3 skip at "Built-in pricing" - - H1→H3 skip at "Helper functions" -- src/pages/docs/sdk/evals/streaming.mdx - - H1→H3 skip at "Adding scoring functions" - - H1→H3 skip at "Processing tokens" - - H1→H3 skip at "Getting results" - - H1→H3 skip at "EarlyStopReason values" - - H1→H3 skip at "Callbacks for real-time monitoring" -- src/pages/docs/sdk/optimization.mdx - - H1→H3 skip at "Data Mapper" - - H1→H3 skip at "Result" -- src/pages/docs/sdk/simulate.mdx - - H1→H3 skip at "AgentInput" -- src/pages/docs/sdk/tracing.mdx - - H1→H3 skip at "Cleanup" -- src/pages/docs/self-hosting/configuration.mdx - - H1→H3 skip at "Provider config examples" -- src/pages/docs/self-hosting/production.mdx - - H1→H3 skip at "ClickHouse" -- src/pages/docs/tracing/auto/openai.mdx - - H1→H3 skip at "Image Generation" - ---- - -## 🔵 AEO / GEO Opportunities - -### 12. No TLDR Block — 525 (86%) files lack a summary block - -_A `<TLDR>` component or `## TL;DR` section near the top helps LLMs extract concise answers for AI-generated responses._ - -Pages with highest priority (most content, no TLDR) — top 30: - -- src/pages/docs/admin-settings/ai-providers.mdx -- src/pages/docs/admin-settings/api-keys.mdx -- src/pages/docs/admin-settings/billing-pricing.mdx -- src/pages/docs/admin-settings/integrations.mdx -- src/pages/docs/admin-settings/organization-settings.mdx -- src/pages/docs/admin-settings/profile-security.mdx -- src/pages/docs/admin-settings/usage-summary.mdx -- src/pages/docs/admin-settings/user-management.mdx -- src/pages/docs/admin-settings/workspace-management.mdx -- src/pages/docs/admin-settings.mdx -- src/pages/docs/agent-playground/concepts/understanding-agent-playground.mdx -- src/pages/docs/agent-playground/concepts/versions-and-execution.mdx -- src/pages/docs/agent-playground/features/build-workflow.mdx -- src/pages/docs/agent-playground/features/create-graph.mdx -- src/pages/docs/agent-playground/features/run-and-monitor.mdx -- src/pages/docs/annotations/concepts/scores.mdx -- src/pages/docs/annotations/features/add-items.mdx -- src/pages/docs/annotations/features/analytics.mdx -- src/pages/docs/annotations/features/annotate.mdx -- src/pages/docs/annotations/features/automation.mdx -- src/pages/docs/annotations/features/export.mdx -- src/pages/docs/annotations/features/inline.mdx -- src/pages/docs/annotations/features/labels.mdx -- src/pages/docs/annotations/features/queues.mdx -- src/pages/docs/annotations/quickstart.mdx -- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx -- src/pages/docs/annotations/sdk/javascript.mdx -- src/pages/docs/annotations/sdk/python.mdx -- src/pages/docs/command-center/admin/organizations.mdx -- src/pages/docs/command-center/concepts/api-reference.mdx - -_...and 495 more (mostly API reference pages)._ - -### 13. First Paragraph Is Code Block or List — 107 (17%) - -_Generative engines prefer prose definitions before code. Pages that open with a code block or bullet list after the heading miss the chance to define the concept in plain language._ - -- src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx -- src/pages/docs/cookbook/ai-agents.mdx -- src/pages/docs/cookbook/ai-sdr.mdx -- src/pages/docs/cookbook/evaluate-rag.mdx -- src/pages/docs/cookbook/image-evaluation.mdx -- src/pages/docs/cookbook/quickstart/async-batch-eval.mdx -- src/pages/docs/cookbook/quickstart/batch-eval.mdx -- src/pages/docs/cookbook/quickstart/chat-simulation-personas.mdx -- src/pages/docs/cookbook/quickstart/compare-optimizers.mdx -- src/pages/docs/cookbook/quickstart/conversation-eval.mdx -- src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx -- src/pages/docs/cookbook/quickstart/dataset-annotation.mdx -- src/pages/docs/cookbook/quickstart/eval-driven-dev.mdx -- src/pages/docs/cookbook/quickstart/first-eval.mdx -- src/pages/docs/cookbook/quickstart/hallucination-detection.mdx -- src/pages/docs/cookbook/quickstart/huggingface-dataset-import.mdx -- src/pages/docs/cookbook/quickstart/inline-evals-tracing.mdx -- src/pages/docs/cookbook/quickstart/knowledge-base.mdx -- src/pages/docs/cookbook/quickstart/manual-tracing.mdx -- src/pages/docs/cookbook/quickstart/monitoring-alerts.mdx -- src/pages/docs/cookbook/quickstart/multimodal-eval.mdx -- src/pages/docs/cookbook/quickstart/prompt-optimization.mdx -- src/pages/docs/cookbook/quickstart/prompt-versioning.mdx -- src/pages/docs/cookbook/quickstart/protect-guardrails.mdx -- src/pages/docs/cookbook/quickstart/prototype-llm-app.mdx -- src/pages/docs/cookbook/quickstart/rag-evaluation.mdx -- src/pages/docs/cookbook/quickstart/session-observability.mdx -- src/pages/docs/cookbook/quickstart/text-to-sql-eval.mdx -- src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx -- src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx -- src/pages/docs/cookbook/quickstart/voice-simulation.mdx -- src/pages/docs/cookbook/rag-langchain.mdx -- src/pages/docs/cookbook/text-to-sql.mdx -- src/pages/docs/cookbook/trustworthy-rag.mdx -- src/pages/docs/cookbook/use-cases/end-to-end-agent-testing.mdx -- src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx -- src/pages/docs/cookbook/using-futureagi-dataset.mdx -- src/pages/docs/cookbook/using-futureagi-evals.mdx -- src/pages/docs/cookbook/using-futureagi-kb.mdx -- src/pages/docs/cookbook/using-futureagi-protect.mdx -- src/pages/docs/evaluation/builtin/answer-refusal.mdx -- src/pages/docs/evaluation/builtin/chunk-attribution.mdx -- src/pages/docs/evaluation/builtin/chunk-utilization.mdx -- src/pages/docs/evaluation/builtin/clip-score.mdx -- src/pages/docs/evaluation/builtin/contain-evals.mdx -- src/pages/docs/evaluation/builtin/conversation-coherence.mdx -- src/pages/docs/evaluation/builtin/conversation-resolution.mdx -- src/pages/docs/evaluation/builtin/customer-agent-clarification-seeking.mdx -- src/pages/docs/evaluation/builtin/customer-agent-context-retention.mdx -- src/pages/docs/evaluation/builtin/customer-agent-conversation-quality.mdx -- src/pages/docs/evaluation/builtin/customer-agent-human-escalation.mdx -- src/pages/docs/evaluation/builtin/customer-agent-interruption-handling.mdx -- src/pages/docs/evaluation/builtin/customer-agent-language-handling.mdx -- src/pages/docs/evaluation/builtin/customer-agent-loop-detection.mdx -- src/pages/docs/evaluation/builtin/customer-agent-objection-handling.mdx -- src/pages/docs/evaluation/builtin/customer-agent-prompt-conformance.mdx -- src/pages/docs/evaluation/builtin/customer-agent-query-handling.mdx -- src/pages/docs/evaluation/builtin/customer-agent-termination-handling.mdx -- src/pages/docs/evaluation/builtin/fid-score.mdx -- src/pages/docs/evaluation/builtin/fuzzy-match.mdx -- src/pages/docs/evaluation/builtin/ground-truth-match.mdx -- src/pages/docs/evaluation/builtin/image-instruction-adherence.mdx -- src/pages/docs/evaluation/builtin/is-code.mdx -- src/pages/docs/evaluation/builtin/is-concise.mdx -- src/pages/docs/evaluation/builtin/is-helpful.mdx -- src/pages/docs/evaluation/builtin/is-json.mdx -- src/pages/docs/evaluation/builtin/is-polite.mdx -- src/pages/docs/evaluation/builtin/no-apologies.mdx -- src/pages/docs/evaluation/builtin/no-llm-reference.mdx -- src/pages/docs/evaluation/builtin/numeric-similarity.mdx -- src/pages/docs/evaluation/builtin/pii.mdx -- src/pages/docs/evaluation/builtin/tts-accuracy.mdx -- src/pages/docs/installation.mdx -- src/pages/docs/observe/features/alerts.mdx -- src/pages/docs/observe/features/dashboard.mdx -- src/pages/docs/optimization/features/using-platform.mdx -- src/pages/docs/optimization/features/using-python-sdk.mdx -- src/pages/docs/optimization/index.mdx -- src/pages/docs/protect/features/run-protect.mdx -- src/pages/docs/protect/index.mdx -- src/pages/docs/quickstart/generate-synthetic-data.mdx -- src/pages/docs/quickstart/prompts.mdx -- src/pages/docs/quickstart/running-evals-in-simulation.mdx -- src/pages/docs/quickstart/setup-observability.mdx -- src/pages/docs/sdk/datasets.mdx -- src/pages/docs/sdk/evals/autoeval.mdx -- src/pages/docs/sdk/evals/cloud-evals.mdx -- src/pages/docs/sdk/evals/code-security.mdx -- src/pages/docs/sdk/evals/distributed.mdx -- src/pages/docs/sdk/evals/feedback.mdx -- src/pages/docs/sdk/evals/guardrails-module.mdx -- src/pages/docs/sdk/evals/llm-judge.mdx -- src/pages/docs/sdk/evals/local.mdx -- src/pages/docs/sdk/evals/otel.mdx -- src/pages/docs/sdk/evals/streaming.mdx -- src/pages/docs/sdk/knowledgebase.mdx -- src/pages/docs/sdk/optimization.mdx -- src/pages/docs/sdk/protect.mdx -- src/pages/docs/sdk/simulate.mdx -- src/pages/docs/simulation/features/evaluate-tool-calling.mdx -- src/pages/docs/simulation/features/fix-my-agent.mdx -- src/pages/docs/simulation/features/observe-to-simulate.mdx -- src/pages/docs/simulation/features/prompt-simulation.mdx -- src/pages/docs/simulation/features/simulation-using-sdk.mdx -- src/pages/docs/simulation/features/voice-replay.mdx -- src/pages/docs/tracing/concepts/otel.mdx -- src/pages/docs/tracing/concepts/traces.mdx - -### 14. Question-Style Headings (AEO signal) ✅ - -274 pages already use question-style headings — good for AEO. - -**338 pages have no question-style headings** — opportunity to add "What is X?", "How does Y work?", "When should I use Z?" sub-sections. - -Pages with question headings (examples): -- src/pages/docs/admin-settings/ai-providers.mdx (1 question headings) -- src/pages/docs/admin-settings/api-keys.mdx (1 question headings) -- src/pages/docs/admin-settings/integrations.mdx (1 question headings) -- src/pages/docs/admin-settings/organization-settings.mdx (1 question headings) -- src/pages/docs/admin-settings/usage-summary.mdx (1 question headings) -- src/pages/docs/admin-settings/user-management.mdx (1 question headings) -- src/pages/docs/agent-playground/concepts/versions-and-execution.mdx (2 question headings) -- src/pages/docs/agent-playground/index.mdx (1 question headings) -- src/pages/docs/annotations/concepts/scores.mdx (1 question headings) -- src/pages/docs/annotations/features/add-items.mdx (2 question headings) -- src/pages/docs/annotations/features/annotate.mdx (1 question headings) -- src/pages/docs/annotations/features/automation.mdx (1 question headings) -- src/pages/docs/annotations/features/export.mdx (1 question headings) -- src/pages/docs/annotations/features/inline.mdx (1 question headings) -- src/pages/docs/annotations/features/labels.mdx (1 question headings) - -### 15. Accordion / FAQ Blocks (AEO signal) ✅ - -18 pages have `<Accordion>` or FAQ sections — these are strong AEO signals. - -- src/pages/docs/agent-playground/index.mdx -- src/pages/docs/command-center/index.mdx -- src/pages/docs/cookbook/chat-simulation-fix-agent.mdx -- src/pages/docs/cookbook/compare-optimization.mdx -- src/pages/docs/cookbook/decrease-hallucination.mdx -- src/pages/docs/cookbook/end-to-end-optimization.mdx -- src/pages/docs/cookbook/gepa-optimization.mdx -- src/pages/docs/cookbook/import-datasets.mdx -- src/pages/docs/cookbook/observability.mdx -- src/pages/docs/integrations/export/cloud-storage.mdx -- src/pages/docs/integrations/export/datadog.mdx -- src/pages/docs/integrations/export/message-queues.mdx -- src/pages/docs/integrations/export/mixpanel.mdx -- src/pages/docs/integrations/export/pagerduty.mdx -- src/pages/docs/integrations/export/posthog.mdx -- src/pages/docs/integrations/import/langfuse.mdx -- src/pages/docs/roles-and-permissions.mdx -- src/pages/docs/sdk/index.mdx - ---- - -## 📋 Top 20 Pages by Issue Count (Priority Rewrite List) - -| # | File | Issues | -|---|---|---| -| 1 | src/pages/docs/sdk/evals/metrics/string.mdx | 23 | -| 2 | src/pages/docs/cookbook/portkey-integration.mdx | 15 | -| 3 | src/pages/docs/sdk/evals/metrics/json.mdx | 14 | -| 4 | src/pages/docs/sdk/evals/local.mdx | 13 | -| 5 | src/pages/docs/cookbook/crewai-research-team.mdx | 12 | -| 6 | src/pages/docs/evaluation/builtin/contain-evals.mdx | 11 | -| 7 | src/pages/docs/sdk/evals/metrics/agents.mdx | 11 | -| 8 | src/pages/docs/cookbook/image-evaluation.mdx | 10 | -| 9 | src/pages/docs/sdk/evals/otel.mdx | 10 | -| 10 | src/pages/docs/evaluation/builtin/rouge.mdx | 9 | -| 11 | src/pages/docs/sdk/evals/code-security.mdx | 9 | -| 12 | src/pages/docs/sdk/evals/metrics/rag.mdx | 9 | -| 13 | src/pages/docs/evaluation/builtin/bleu.mdx | 8 | -| 14 | src/pages/docs/evaluation/builtin/hit-rate.mdx | 8 | -| 15 | src/pages/docs/evaluation/builtin/lavenshtein-similarity.mdx | 8 | -| 16 | src/pages/docs/evaluation/builtin/mrr.mdx | 8 | -| 17 | src/pages/docs/evaluation/builtin/ndcg-at-k.mdx | 8 | -| 18 | src/pages/docs/evaluation/builtin/precision-at-k.mdx | 8 | -| 19 | src/pages/docs/evaluation/builtin/recall-at-k.mdx | 8 | -| 20 | src/pages/docs/sdk/evals/guardrails-module.mdx | 8 | diff --git a/claude-project-setup/SETUP-README.md b/claude-project-setup/SETUP-README.md deleted file mode 100644 index 533dd65f..00000000 --- a/claude-project-setup/SETUP-README.md +++ /dev/null @@ -1,180 +0,0 @@ -# SEO / AEO / GEO Optimization Setup - -This folder contains everything you need to set up a Claude Project for optimizing 605 documentation pages on https://docs.futureagi.com. - ---- - -## Step 1: Create the Claude Project - -1. Go to https://claude.ai and sign in -2. Click **Projects** in the left sidebar -3. Click **New Project** -4. Name it: `Future AGI Docs SEO` -5. (Optional) Add a brief description: `Optimize 605 MDX docs pages for SEO, AEO, and GEO` - ---- - -## Step 2: Paste the Custom Instructions - -1. Inside the project, click **Edit project details** (or the settings gear) -2. Find the **Custom instructions** field -3. Open `claude-project-setup/project-instructions.md` and copy **everything after the `---` separator at the top** -4. Paste it into the Custom Instructions field -5. Save - ---- - -## Step 3: Upload Knowledge Files - -Upload these files to **Project Knowledge** (the project's persistent context): - -| File | Why it's needed | -|------|----------------| -| `claude-project-setup/url-inventory.md` | So Claude knows every valid URL and never invents paths | -| `claude-project-setup/platform-conventions.md` | Docs platform rules, component names, frontmatter schema | -| `claude-project-setup/feature-glossary.md` | Authoritative product feature names and descriptions | -| `claude-project-setup/existing-seo-audit.md` | Current state — Claude won't redo work or regress | -| `claude-project-setup/style-examples.md` | The target writing style with full examples | - -**How to upload:** -1. In the project, click **Add to project knowledge** -2. Upload each `.md` file above -3. Wait for each to finish processing before uploading the next - -> Do NOT upload `top-pages-template.md` until you've filled in the traffic data — it's for your reference, not Claude's context. - ---- - -## Step 4: Fill In Traffic Data - -Before you start optimizations, get real data: - -1. Go to Google Search Console → Performance → Pages -2. Export the top 200 pages by impressions -3. Open `claude-project-setup/top-pages-template.md` -4. Fill in **Monthly Visits** and **Position** for each URL -5. Use this to prioritize: optimize pages with high impressions but poor position (>10) first — that's where the quick wins are - ---- - -## Optimization Workflow (per page) - -### One chat per page - -Start a **new conversation** inside the Claude Project for each page you're optimizing. Do not use one long conversation for multiple pages — context gets stale. - -### What to paste in each conversation - -``` -I need you to optimize this documentation page for SEO, AEO, and GEO. - -URL: /docs/[section]/[page]/ -Current page content: - -[paste the full MDX file content here, including frontmatter] -``` - -Claude will return: -1. Optimized frontmatter (title + description) -2. Optimized body with same structure and components intact - -### What to do with the output - -1. Review the diff — check title, description, and any changed prose -2. Verify no components were removed or rewritten -3. Verify no URLs were invented -4. Verify code blocks are unchanged -5. Copy the optimized content into `src/pages/docs/[path].mdx` -6. Run `pnpm dev` and spot-check the rendered page locally -7. Commit with message: `seo: optimize [page title]` - ---- - -## Prioritization Order - -**Batch 1 — Quick wins (high impressions, position 10–30)** -Fill in from your Search Console data, but likely candidates: -- `/docs/quickstart/setup-observability/` -- `/docs/sdk/` -- `/docs/evaluation/` -- `/docs/observe/` -- `/docs/command-center/` -- `/docs/simulation/` - -**Batch 2 — Section index pages (all "Overview" pages)** -These have generic titles like `"Overview | Future AGI Docs"` — easy win to differentiate: -- All `/docs/*/` index pages (agent-playground, dataset, optimization, prompt, protect, prototype, etc.) - -**Batch 3 — High-value feature pages** -- `/docs/evaluation/features/evaluate/` -- `/docs/evaluation/features/cicd/` -- `/docs/evaluation/features/custom/` -- `/docs/command-center/features/routing/` -- `/docs/command-center/features/guardrails/` -- `/docs/observe/features/alerts/` -- All `/docs/sdk/evals/` pages - -**Batch 4 — Built-in eval pages (80 pages)** -These likely have thin content. Optimize in bulk — they follow a consistent pattern so you can batch 3–5 per conversation if they're similar. - -**Batch 5 — Integration pages (50+ pages)** -These are mostly install-and-use guides for specific frameworks. Lower priority unless Search Console shows traffic. - -**Skip for now:** `/docs/api/*` (177 auto-generated pages) — these serve developers who already know what they're looking for; SEO value is low compared to editorial pages. - ---- - -## QC Checklist (after each batch) - -After every 10–20 pages committed, do a quick sanity check: - -- [ ] `pnpm build` passes — no MDX syntax errors -- [ ] No `[INVALID]` links (run `pnpm audit-links` or check `scripts/audit-links.mjs`) -- [ ] Page titles are all unique (check for "Overview | Future AGI Docs" duplicates) -- [ ] No description exceeds 160 characters -- [ ] No component was accidentally removed (grep for `<Steps>`, `<CodeGroup>` in changed files) -- [ ] "Future AGI" is spelled correctly everywhere (not FutureAGI or future agi) -- [ ] "Agent Command Center" is used (not Prism) -- [ ] Code blocks are identical to original (git diff the `.mdx` files) - ---- - -## AEO / GEO Specific Notes - -### Answer Engine Optimization (AEO) -Claude and Perplexity already have access to your site (see `robots.txt` — ClaudeBot and PerplexityBot are explicitly allowed). For AEO, each page should: -- Answer one specific question directly in the `## About` section -- Use concrete numbers: "76+ metrics", "under 10ms", "45+ frameworks" -- Define terms on first use (AI crawlers surface these as answers) -- The BreadcrumbList JSON-LD is already in place — good - -### Generative Engine Optimization (GEO) -The site already has `/llms.txt` and `/llms-full.txt` — these are good. Per-page: use consistent terminology from the feature glossary; avoid synonyms for product names; structured data (TechArticle) is already on every page. - ---- - -## Known Issues to Fix (from SEO Audit) - -These are systemic fixes separate from page-by-page optimization: - -| Issue | Priority | Fix | -|-------|----------|-----| -| 15+ pages titled "Overview" | High | Batch rename via the project | -| 4+ pages titled "Quickstart" | High | Batch rename via the project | -| `og:type` is "website" not "article" | Medium | Fix in `BaseLayout.astro` line ~54 | -| No `datePublished` in JSON-LD | Low | Add to `BaseLayout.astro` — use file `birthtime` | -| No `FAQPage` schema on `/docs/faq/` | Medium | Add JSON-LD to `faq.mdx` | -| Sitemap has prism URLs not command-center | High | Rebuild after next deploy; verify sitemap output | -| Static OG image for all pages | Low | Out of scope for this project | -| `roles-and-permissions.mdx` missing description | Quick win | Add in 5 minutes | - ---- - -## Tips - -- **One page per conversation** — Claude's context is best when focused -- **Always paste the full MDX** — partial content produces incomplete output -- **Trust the components** — never ask Claude to rewrite component usage -- **Verify URLs** — if Claude references a URL not in `url-inventory.md`, flag it -- **Commit often** — small commits are easy to revert if something breaks -- **Use `pnpm build`** before pushing — Astro will catch MDX syntax errors at build time diff --git a/claude-project-setup/existing-seo-audit.md b/claude-project-setup/existing-seo-audit.md deleted file mode 100644 index a705badd..00000000 --- a/claude-project-setup/existing-seo-audit.md +++ /dev/null @@ -1,283 +0,0 @@ -# Existing SEO Audit - -Site: `https://docs.futureagi.com` -Audit date: 2026-05-05 -Pages audited: 605 - ---- - -## Title Tags - -### How titles are generated -- **Template:** `{frontmatter.title} | Future AGI Docs` -- Set in `src/layouts/BaseLayout.astro` line 65: `<title>{title}` -- Title value is `frontmatter.title` + literal ` | Future AGI Docs` (appended by DocsLayout) -- There is no per-page override mechanism — if `frontmatter.title` is set, that's what you get - -### Title length analysis -Average frontmatter title: **~20–35 characters** before the suffix. -Full rendered `` with suffix adds 16 characters (` | Future AGI Docs`). - -| Title fragment (frontmatter) | Full `<title>` tag | Chars | -|---|---|---| -| `"Setup Observability"` | `Setup Observability \| Future AGI Docs` | 37 | -| `"SDKs"` | `SDKs \| Future AGI Docs` | 22 | -| `"Overview"` | `Overview \| Future AGI Docs` | 25 | -| `"Annotations"` | `Annotations \| Future AGI Docs` | 29 | -| `"GEPA: Evolutionary Prompt Optimization"` | `GEPA: Evolutionary Prompt Optimization \| Future AGI Docs` | 56 | -| `"Customer Agent Conversation Quality"` | `Customer Agent Conversation Quality \| Future AGI Docs` | 54 | - -**Issues found:** -- Many section **index pages use generic titles** like `"Overview"` — the full title becomes `Overview | Future AGI Docs` with no product context. At least 15+ pages have this issue (agent-playground/index, dataset/index, observe/index, optimization/index, prototype/index, simulation/index, prompt/index, etc.) -- The title `"Quickstart"` appears on multiple pages (annotations quickstart, command-center quickstart, etc.) — these produce **duplicate title tags** -- Some titles are **too short**: `"SDKs"`, `"Overview"`, `"FAQs"` — underusing the ~60 character budget -- Some titles may approach 70+ characters when suffix is added: `"GEPA: Evolutionary Prompt Optimization | Future AGI Docs"` = 56 chars (acceptable but close for longer ones) -- **No keyword-optimized titles** found — titles describe function, not search intent - -### Duplicate titles (confirmed) -| Title | Affected pages | -|-------|----------------| -| `Overview \| Future AGI Docs` | agent-playground, dataset, observe, optimization, prompt, prototype, simulation, knowledge-base, and others | -| `Quickstart \| Future AGI Docs` | annotations/quickstart, command-center/quickstart, and potentially others | - ---- - -## Meta Descriptions - -### How descriptions are generated -- Source: `frontmatter.description` field (optional) -- Set in `src/layouts/BaseLayout.astro` line 24: `<meta name="description" content={description} />` -- **Default fallback** (when description is missing): `"Future AGI Documentation - Build, evaluate, and optimize your AI applications"` -- No per-section defaults — all missing descriptions get the same global fallback - -### Coverage -From sampling ~30 pages across sections, description coverage is approximately: -- Pages **with** `description`: ~80% (estimated — most sampled pages had one) -- Pages **without** `description`: ~20% (notably `roles-and-permissions.mdx` confirmed missing; likely others in the built-in evals section and API endpoints section) - -### Description length analysis -| Page | Description | Chars | -|------|-------------|-------| -| /docs/quickstart/setup-observability/ | "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." | 149 | -| /docs/sdk/ | "Evaluate LLM outputs, trace AI calls, optimize prompts, and test voice agents. Python, TypeScript, Java, and C# supported." | 121 | -| /docs/evaluation/ | "Measure and compare quality of prompts and agents across datasets, simulations, and experiments." | 96 | -| /docs/annotations/ | "Add human feedback to your AI outputs with annotation labels, queues, and scores across traces, datasets, prototypes, and simulations." | 132 | -| /docs/observe/ | "Monitor and evaluate LLM applications in production with real-time tracing, session analysis, and alerting." | 107 | -| /docs/admin-settings/ | "Manage your account, organization, workspaces, API keys, integrations, billing, and team." | 89 | - -Average length (sampled): **~100–130 characters** — within acceptable range but several could be more specific. - -**Issues found:** -- Pages missing description get the **same generic fallback** — search results for all missing pages show identical snippet text -- `roles-and-permissions.mdx` confirmed missing description -- The 80+ **built-in eval pages** (toxicity, bias-detection, groundedness, etc.) likely have thin or auto-patterned descriptions — TODO: audit individually -- The 177 **API reference pages** likely have auto-generated descriptions following a formula — not differentiated for search - -### Confirmed missing descriptions -- `/docs/roles-and-permissions/` — no `description` field in frontmatter (confirmed) -- TODO: Audit all 80 built-in eval pages individually -- TODO: Audit all API endpoint pages individually - ---- - -## Structured Data (JSON-LD) - -### TechArticle (all pages) -Emitted by `src/layouts/BaseLayout.astro`: -```json -{ - "@context": "https://schema.org", - "@type": "TechArticle", - "headline": "<page title>", - "description": "<meta description>", - "url": "<canonical URL>", - "inLanguage": "en", - "dateModified": "<file mtime ISO 8601>", - "publisher": { - "@type": "Organization", - "name": "Future AGI", - "url": "https://futureagi.com", - "logo": { "@type": "ImageObject", "url": "https://docs.futureagi.com/og-image.png" } - }, - "isPartOf": { - "@type": "WebSite", - "name": "Future AGI Documentation", - "url": "https://docs.futureagi.com", - "potentialAction": { "@type": "SearchAction", ... } - } -} -``` - -**Present on:** All pages via BaseLayout -**`dateModified`:** Derived from `fs.statSync(filePath).mtime.toISOString()` — actual file modification time from the build server filesystem (not from git history — may reflect deployment timestamps, not authorship dates) - -### BreadcrumbList (all docs pages) -Emitted by `src/layouts/DocsLayout.astro`: -- Auto-generated from URL path segments -- Segments converted: `hyphens → spaces → Title Case` -- Last segment overridden with `frontmatter.title` -- Only links to breadcrumb items that have actual pages (checks filesystem) - -**Present on:** All pages using DocsLayout (all `/docs/*` pages) - -### Missing schema types -- No `FAQPage` schema on `/docs/faq/` -- No `HowTo` schema on quickstart/step-by-step pages -- No `SoftwareApplication` schema for the product itself -- No `APIReference` type for API endpoint pages - ---- - -## Canonical Tags - -- **Set by:** `src/layouts/BaseLayout.astro` line 31 -- **Format:** `<link rel="canonical" href={canonicalURL.href} />` -- **Value:** `new URL(Astro.url.pathname, Astro.site)` — automatically constructed from the current page URL and `site: 'https://docs.futureagi.com'` in `astro.config.mjs` -- **Trailing slash:** All URLs end with `/` — canonical matches actual URL format -- **Coverage:** 100% of pages (canonical is always set) -- **Issues:** None confirmed — canonicals look correct. However, if `prism/*` redirects point to `command-center/*`, verify canonical on redirect target is `command-center/*` not `prism/*` - ---- - -## Open Graph Tags - -Set in `src/layouts/BaseLayout.astro`: -```html -<meta property="og:title" content="{title}" /> -<meta property="og:description" content="{description}" /> -<meta property="og:type" content="website" /> -<meta property="og:url" content="{canonical URL}" /> -<meta property="og:image" content="https://docs.futureagi.com/og-image.png" /> -<meta property="og:site_name" content="Future AGI Docs" /> -``` - -**Issues:** -- `og:image` is a **single static image** for all 605 pages — no per-page OG images -- `og:type` is `"website"` for all pages — should be `"article"` for content pages -- `og:title` inherits the full `{title} | Future AGI Docs` format — same duplicate-title issues apply - ---- - -## Twitter Card Tags - -```html -<meta name="twitter:card" content="summary_large_image" /> -<meta name="twitter:title" content="{title}" /> -<meta name="twitter:description" content="{description}" /> -<meta name="twitter:image" content="https://docs.futureagi.com/og-image.png" /> -``` - -**Present on:** All pages -**Issues:** Same as OG — static image, no per-page customization. No `twitter:site` or `twitter:creator` tags set. - ---- - -## Sitemap - -- **File:** `/sitemap.xml` (committed to repo root) -- **Generator:** `@astrojs/sitemap` auto-generates during build -- **Sitemap index:** `https://docs.futureagi.com/sitemap-index.xml` (referenced in robots.txt) -- **URL count (committed file):** 484 URLs -- **Actual page count:** 605 files - -**Missing from committed sitemap (~120 URLs unaccounted for):** -- The sitemap appears to be from a prior build. Notably, the sitemap contains **`/docs/prism/*`** URLs (16 entries) but **no `/docs/command-center/*`** URLs — this is the opposite of what you want if prism redirects to command-center. -- TODO: Verify which pages are excluded from sitemap generation (Astro sitemap excludes redirect-only routes by default) -- TODO: After next build, confirm sitemap contains command-center URLs and excludes prism URLs (since prism pages are 301 redirects) - -**`<lastmod>` tags:** Not present in committed sitemap — all URLs have no modification date -**`<priority>` tags:** Not present — all pages treated equally -**`<changefreq>` tags:** Not present - ---- - -## robots.txt - -Generated dynamically from `src/pages/robots.txt.ts`: -``` -User-agent: * -Allow: / - -User-agent: GPTBot -Allow: / - -User-agent: ChatGPT-User -Allow: / - -User-agent: ClaudeBot -Allow: / - -User-agent: PerplexityBot -Allow: / - -User-agent: Applebot-Extended -Allow: / - -User-agent: GoogleOther -Allow: / - -Sitemap: https://docs.futureagi.com/sitemap-index.xml -``` - -**Assessment:** Well-configured. Explicitly allows AI crawlers — good for GEO. References sitemap-index.xml correctly. No pages are disallowed. - ---- - -## `lastmod` / `updated` Date Handling - -- **Per-page:** `dateModified` in `TechArticle` JSON-LD comes from `fs.statSync(filePath).mtime` — filesystem modification time at build time -- **Sitemap:** No `<lastmod>` tags in the current committed sitemap -- **In-page display:** No visible "last updated" date shown to users -- **Risk:** `mtime` from build server may not reflect true content authorship dates — a file touched during CI will get the CI timestamp, not the author's edit date - ---- - -## Pages Missing H1 - -In Astro MDX docs, the H1 is rendered from `frontmatter.title` by the DocsLayout (not written as `# Title` in the MDX body). The layout outputs the title as an `<h1>` element in the article header. - -**Result:** All pages using DocsLayout have an H1 rendered from the layout. Pages would only be missing an H1 if they used a custom layout that doesn't output the title — no such pages found in sampling. - -**However:** Several pages open with `## About` as the first heading in body content, which is correct per the style guide. - -TODO: Verify that index.astro (homepage) has an H1 — it uses a different layout. - ---- - -## Duplicate H1s Across the Site - -Multiple pages share the same `frontmatter.title` value, which means identical H1 text across different URLs: - -| H1 text | Affected pages (estimated) | -|---------|---------------------------| -| `Overview` | 10+ section index pages | -| `Quickstart` | 4+ pages across different sections | -| `Concepts` | Unknown — possible | - -This is a significant SEO issue: search engines may have difficulty differentiating pages with identical H1s at different URLs. - ---- - -## Pages With No Internal Outgoing Links - -From the style guide, all feature pages should have a "Next Steps" section with internal links. Overview pages should link to feature pages via CardGroup. - -**Likely candidates for no outgoing links:** -- Built-in evaluation pages (80 pages in `/docs/evaluation/builtin/`) — these may be short reference pages with no links to other sections -- API endpoint pages — these may describe a single endpoint with no navigation links -- TODO: Systematic audit needed — run `scripts/audit-links.mjs` and check for pages with zero internal `href` attributes - ---- - -## Other SEO Issues - -1. **Missing `<html lang="en">` alternate tags** — no `hreflang` (single-language site, so not critical) -2. **No RSS/Atom autodiscovery for main content** — `/feed.xml` exists but may not cover all pages -3. **`og:type` should be `article` not `website`** for doc pages -4. **No `author` meta tag** anywhere -5. **No `keywords` meta tag** (not critical for modern SEO but worth noting for AEO) -6. **Static OG image** for all 605 pages — missed opportunity for per-page visual differentiation -7. **`datePublished` missing** from JSON-LD `TechArticle` — only `dateModified` present -8. **No FAQ schema** on the `/docs/faq/` page -9. **API endpoint pages** lack `APIReference` or `TechArticle` schema fields that map to their endpoint structure -10. **Bing Webmaster Tools** verification meta tag is present (`msvalidate.01`) but **no Google Search Console** verification meta tag found diff --git a/claude-project-setup/feature-glossary.md b/claude-project-setup/feature-glossary.md deleted file mode 100644 index 6343e665..00000000 --- a/claude-project-setup/feature-glossary.md +++ /dev/null @@ -1,132 +0,0 @@ -# Feature Glossary - -Total: **15 core features**, **53+ integrations**, **2 naming inconsistencies** flagged. - ---- - -## Core Features - -### Simulate & Test - -- **Simulation** — Test voice and chat agents against synthetic customers before production. Runs thousands of multi-turn conversations with configurable personas and scenarios, records transcripts, and scores with evals. — appears in: [/docs/simulation/](/docs/simulation/), [/docs/simulation/features/run-simulation/](/docs/simulation/features/run-simulation/), [/docs/quickstart/running-evals-in-simulation/](/docs/quickstart/running-evals-in-simulation/) - -- **Prototype** — Pre-production A/B testing environment. Run multiple prompt/model versions side-by-side against real inputs; each version is traced and scored; "Choose Winner" flow promotes the best version to production. — appears in: [/docs/prototype/](/docs/prototype/), [/docs/prototype/features/choose-winner/](/docs/prototype/features/choose-winner/), [/docs/prototype/features/set-up-prototype/](/docs/prototype/features/set-up-prototype/) - -- **Agent Playground** — Visual drag-and-drop workflow builder for multi-step AI agents. Nodes are LLM calls or sub-agents; edges define data flow; versions snapshot the graph. No code required. — appears in: [/docs/agent-playground/](/docs/agent-playground/), [/docs/agent-playground/features/build-workflow/](/docs/agent-playground/features/build-workflow/), [/docs/agent-playground/features/run-and-monitor/](/docs/agent-playground/features/run-and-monitor/) - -- **Dataset** — Core data layer for evaluation and experimentation. Tables with static columns (uploaded data) and dynamic columns (generated by running prompts or evals). Supports CSV/JSON upload, SDK, production traces, and synthetic generation. — appears in: [/docs/dataset/](/docs/dataset/), [/docs/dataset/features/create/](/docs/dataset/features/create/), [/docs/sdk/datasets/](/docs/sdk/datasets/) - -- **Prompt Workbench** — Versioned prompt management system. Every edit creates a new version; prompts use variables for dynamic inputs at runtime; reusable across datasets, simulations, and experiments. — appears in: [/docs/prompt/](/docs/prompt/), [/docs/prompt/features/create-from-scratch/](/docs/prompt/features/create-from-scratch/), [/docs/prompt/features/sdk/](/docs/prompt/features/sdk/) - -### Evaluate - -- **Evaluation** — Quality measurement layer. 70+ built-in templates (quality, safety, hallucination, faithfulness, RAG, format, bias, audio, image). Three engines: local heuristics (<1ms), cloud Turing (~1–3s), LLM-as-Judge (~2–5s). Create custom evals; bundle into eval groups. — appears in: [/docs/evaluation/](/docs/evaluation/), [/docs/evaluation/features/evaluate/](/docs/evaluation/features/evaluate/), [/docs/evaluation/builtin/](/docs/evaluation/builtin/) - -- **Error Feed** — Sentry-style error tracking for AI agents. Automatically surfaces, groups, and triages errors in five categories: hallucinated outputs, tool misuse, broken workflows, safety violations, reasoning gaps. Scores traces on four quality dimensions (0–5 scale). — appears in: [/docs/error-feed/](/docs/error-feed/), [/docs/error-feed/features/the-feed/](/docs/error-feed/features/the-feed/), [/docs/error-feed/concepts/taxonomy/](/docs/error-feed/concepts/taxonomy/) - -- **Protect** — Real-time safety and policy enforcement. Screens model inputs/outputs for toxicity, hate speech, prompt injection, PII (names, emails, SSNs). Built on Google Gemma 3n with fine-tuned adapters. Covers text, image, and audio. — appears in: [/docs/protect/](/docs/protect/), [/docs/protect/features/run-protect/](/docs/protect/features/run-protect/), [/docs/sdk/protect/](/docs/sdk/protect/) - -- **Annotations** — Human-in-the-loop labeling system. Built on three primitives: Labels, Queues, Scores. Five label types: categorical, numeric, free-text, star rating, thumbs up/down. Supports managed queues, inline annotations, multi-annotator workflows, and export to datasets. — appears in: [/docs/annotations/](/docs/annotations/), [/docs/annotations/features/queues/](/docs/annotations/features/queues/), [/docs/annotations/quickstart/](/docs/annotations/quickstart/) - -- **Knowledge Base** — Document store for grounding synthetic data generation and evaluations. Supports FAQs, SOPs, manuals, product specs. Upload via UI or SDK. — appears in: [/docs/knowledge-base/](/docs/knowledge-base/), [/docs/knowledge-base/features/ui/](/docs/knowledge-base/features/ui/), [/docs/sdk/knowledgebase/](/docs/sdk/knowledgebase/) - -### Optimize & Observe - -- **Observe** — Production observability product. Real-time tracing of every LLM call, retrieval, and tool invocation. Groups by session and user; scores automatically; alerts when values cross thresholds; supports OpenTelemetry. — appears in: [/docs/observe/](/docs/observe/), [/docs/quickstart/setup-observability/](/docs/quickstart/setup-observability/), [/docs/observe/features/alerts/](/docs/observe/features/alerts/) - -- **Optimization** — Prompt improvement engine. Takes a prompt, runs it against data, scores outputs with evals, generates better variants iteratively. Six algorithms: Random Search, Bayesian, Meta-Prompt, ProTeGi, GEPA, PromptWizard. Available via UI and `agent-opt` Python SDK. — appears in: [/docs/optimization/](/docs/optimization/), [/docs/optimization/features/using-python-sdk/](/docs/optimization/features/using-python-sdk/), [/docs/optimization/optimizers/gepa/](/docs/optimization/optimizers/gepa/) - -- **Agent Command Center** — Unified API gateway for 100+ LLM providers. Drop-in replacement for OpenAI SDK (change `base_url` + `api_key`). Features: intelligent routing with fallbacks, safety guardrails, semantic caching, cost tracking, rate limiting, shadow experiments, full observability. Deployable as Go binary or Docker container. — appears in: [/docs/command-center/](/docs/command-center/), [/docs/command-center/features/routing/](/docs/command-center/features/routing/), [/docs/command-center/features/guardrails/](/docs/command-center/features/guardrails/) - -- **Falcon AI** — AI copilot embedded in the Future AGI dashboard. 300+ platform tools; multi-step execution up to 50 tool calls per turn; page-aware context detection; MCP Connectors for Linear, Slack, GitHub, Sentry; skill builder for custom slash commands. — appears in: [/docs/falcon-ai/](/docs/falcon-ai/), [/docs/falcon-ai/features/chat/](/docs/falcon-ai/features/chat/), [/docs/falcon-ai/features/mcp-connectors/](/docs/falcon-ai/features/mcp-connectors/) - -- **SDKs** — Multi-language developer SDK. Python (`ai-evaluation`, `futureagi`, `fi-instrumentation-otel`, `traceai-*`, `agent-opt`, `agent-simulate`), TypeScript (`@future-agi/ai-evaluation`, `@future-agi/sdk`, `@traceai/fi-core`), Java (tracing, 25+ instrumentors via JitPack), C# (tracing via NuGet). — appears in: [/docs/sdk/](/docs/sdk/), [/docs/sdk/evals/](/docs/sdk/evals/), [/docs/sdk/tracing/](/docs/sdk/tracing/) - ---- - -## Integrations - -### LLM Providers (TraceAI auto-instrumentation) - -- **OpenAI** — `traceai-openai` — appears in: [/docs/integrations/traceai/openai/](/docs/integrations/traceai/openai/), [/docs/tracing/auto/openai/](/docs/tracing/auto/openai/) -- **Anthropic** — `traceai-anthropic` — appears in: [/docs/integrations/traceai/anthropic/](/docs/integrations/traceai/anthropic/) -- **Google GenAI** — `traceai-google-genai` — appears in: [/docs/integrations/traceai/google_genai/](/docs/integrations/traceai/google_genai/) -- **Google Vertex AI** — `traceai-vertexai` — appears in: [/docs/integrations/traceai/vertexai/](/docs/integrations/traceai/vertexai/) -- **AWS Bedrock** — `traceai-bedrock` — appears in: [/docs/integrations/traceai/bedrock/](/docs/integrations/traceai/bedrock/) -- **Mistral AI** — `traceai-mistralai` — appears in: [/docs/integrations/traceai/mistralai/](/docs/integrations/traceai/mistralai/) -- **Groq** — `traceai-groq` — appears in: [/docs/integrations/traceai/groq/](/docs/integrations/traceai/groq/) -- **LiteLLM** — `traceai-litellm` — appears in: [/docs/integrations/traceai/litellm/](/docs/integrations/traceai/litellm/) -- **Ollama** — `traceai-ollama` — appears in: [/docs/integrations/traceai/ollama/](/docs/integrations/traceai/ollama/) -- **Portkey** — `traceai-portkey` — appears in: [/docs/integrations/traceai/portkey/](/docs/integrations/traceai/portkey/) -- **Together AI** — `traceai-togetherai` — appears in: [/docs/integrations/traceai/togetherai/](/docs/integrations/traceai/togetherai/) - -### Frameworks & Agents (TraceAI auto-instrumentation) - -- **LangChain** — `traceai-langchain` — appears in: [/docs/integrations/traceai/langchain/](/docs/integrations/traceai/langchain/) -- **LangGraph** — `traceai-langgraph` — appears in: [/docs/integrations/traceai/langgraph/](/docs/integrations/traceai/langgraph/) -- **LlamaIndex** — `traceai-llamaindex` — appears in: [/docs/integrations/traceai/llamaindex/](/docs/integrations/traceai/llamaindex/) -- **LlamaIndex Workflows** — `traceai-llamaindex-workflows` — appears in: [/docs/integrations/traceai/llamaindex-workflows/](/docs/integrations/traceai/llamaindex-workflows/) -- **CrewAI** — `traceai-crewai` — appears in: [/docs/integrations/traceai/crewai/](/docs/integrations/traceai/crewai/) -- **OpenAI Agents SDK** — `traceai-openai-agents` — appears in: [/docs/integrations/traceai/openai_agents/](/docs/integrations/traceai/openai_agents/) -- **Microsoft AutoGen** — `traceai-autogen` — appears in: [/docs/integrations/traceai/autogen/](/docs/integrations/traceai/autogen/) -- **HuggingFace SmolAgents** — `traceai-smolagents` — appears in: [/docs/integrations/traceai/smol_agents/](/docs/integrations/traceai/smol_agents/) -- **Google Agent Dev Kit (ADK)** — `traceai-google-adk` — appears in: [/docs/integrations/traceai/google_adk/](/docs/integrations/traceai/google_adk/) -- **DSPy** — `traceai-dspy` — appears in: [/docs/integrations/traceai/dspy/](/docs/integrations/traceai/dspy/) -- **Haystack** — `traceai-haystack` — appears in: [/docs/integrations/traceai/haystack/](/docs/integrations/traceai/haystack/) -- **Instructor** — `traceai-instructor` — appears in: [/docs/integrations/traceai/instructor/](/docs/integrations/traceai/instructor/) -- **Guardrails AI** — `traceai-guardrails` — appears in: [/docs/integrations/traceai/guardrails/](/docs/integrations/traceai/guardrails/) -- **MCP (Model Context Protocol)** — `traceai-mcp` — appears in: [/docs/integrations/traceai/mcp/](/docs/integrations/traceai/mcp/) -- **Vercel AI SDK** — `traceai-vercel` — appears in: [/docs/integrations/traceai/vercel/](/docs/integrations/traceai/vercel/) -- **Mastra** — `traceai-mastra` — appears in: [/docs/integrations/traceai/mastra/](/docs/integrations/traceai/mastra/) -- **PromptFlow** — `traceai-promptflow` — appears in: [/docs/integrations/traceai/promptflow/](/docs/integrations/traceai/promptflow/) -- **n8n** — `traceai-n8n` — appears in: [/docs/integrations/traceai/n8n/](/docs/integrations/traceai/n8n/) -- **Spring Boot / Spring AI** — Java tracing — appears in: [/docs/integrations/traceai/spring-boot/](/docs/integrations/traceai/spring-boot/) - -### Voice Integrations - -- **LiveKit** — `traceai-livekit` — Real-time voice agent tracing — appears in: [/docs/integrations/traceai/livekit/](/docs/integrations/traceai/livekit/) -- **Pipecat** — `traceai-pipecat` — Voice pipeline tracing — appears in: [/docs/integrations/traceai/pipecat/](/docs/integrations/traceai/pipecat/) -- **Vapi** — Voice observability via Observe (no SDK required) — appears in: [/docs/observe/voice/](/docs/observe/voice/) -- **Retell** — Voice observability via Observe (no SDK required) — appears in: [/docs/observe/voice/](/docs/observe/voice/) - -### Import - -- **Langfuse** — Import existing traces from Langfuse into Future AGI — appears in: [/docs/integrations/import/langfuse/](/docs/integrations/import/langfuse/), [/docs/tracing/manual/langfuse-integration/](/docs/tracing/manual/langfuse-integration/) - -### Export / Alerting - -- **Datadog** — Export metrics, logs to Datadog infra monitoring — appears in: [/docs/integrations/export/datadog/](/docs/integrations/export/datadog/) -- **PostHog** — Product analytics export — appears in: [/docs/integrations/export/posthog/](/docs/integrations/export/posthog/) -- **Mixpanel** — Product analytics export — appears in: [/docs/integrations/export/mixpanel/](/docs/integrations/export/mixpanel/) -- **PagerDuty** — Alert routing and incident management — appears in: [/docs/integrations/export/pagerduty/](/docs/integrations/export/pagerduty/) -- **Cloud Storage (S3/GCS/Azure Blob)** — Compliance archival export — appears in: [/docs/integrations/export/cloud-storage/](/docs/integrations/export/cloud-storage/) -- **Message Queues (SQS/Pub/Sub)** — Event streaming export — appears in: [/docs/integrations/export/message-queues/](/docs/integrations/export/message-queues/) - ---- - -## Optimization Algorithms - -- **Random Search** — Baseline optimizer; explores random prompt variants — appears in: [/docs/optimization/optimizers/random-search/](/docs/optimization/optimizers/random-search/) -- **Bayesian Search** — Probabilistic optimizer; learns from trials to pick better few-shot configurations — appears in: [/docs/optimization/optimizers/bayesian-search/](/docs/optimization/optimizers/bayesian-search/) -- **ProTeGi** — Prompt optimization with textual gradients; identifies failures and applies targeted fixes — appears in: [/docs/optimization/optimizers/protegi/](/docs/optimization/optimizers/protegi/) -- **Meta-Prompt** — Teacher LLM for reasoning-based prompt refinement through failure analysis — appears in: [/docs/optimization/optimizers/meta-prompt/](/docs/optimization/optimizers/meta-prompt/) -- **PromptWizard** — Multi-stage feedback-driven optimizer: mutation, critique, refinement — appears in: [/docs/optimization/optimizers/promptwizard/](/docs/optimization/optimizers/promptwizard/) -- **GEPA** — Genetic Pareto evolutionary algorithm; evolves prompts over generations — appears in: [/docs/optimization/optimizers/gepa/](/docs/optimization/optimizers/gepa/) - ---- - -## Evaluation Model References - -- **Turing Models** — Future AGI's cloud evaluation models. Referenced as `turing_flash` in SDK examples. Used for cloud evals requiring semantic understanding (not local heuristics). — appears in: [/docs/sdk/evals/cloud-evals/](/docs/sdk/evals/cloud-evals/), [/docs/evaluation/features/futureagi-models/](/docs/evaluation/features/futureagi-models/) - -- **TraceAI** — The auto-instrumentation library for LLM-specific OpenTelemetry spans (separate from the OTel core). Packages prefixed `traceai-*`. — appears in: [/docs/tracing/concepts/traceai/](/docs/tracing/concepts/traceai/), [/docs/sdk/tracing/](/docs/sdk/tracing/) - ---- - -## Naming Inconsistencies `[INCONSISTENT]` - -- **Agent Command Center** vs **Prism** `[INCONSISTENT]` — "Prism" (and "Prism AI Gateway") was the former name for Agent Command Center. Commit `bcc4251` added redirects from `/docs/prism/*` → `/docs/command-center/*`. The sitemap.xml in the repo still contains `prism` URLs instead of `command-center` URLs — this is an SEO issue. The correct current name is **Agent Command Center**. Search for "Prism" in docs to find any remaining stale references. - -- **FutureAGI** vs **Future AGI** `[INCONSISTENT]` — SDK package names use `futureagi` (lowercase, no space: `pip install futureagi`, `@future-agi/sdk`). Brand/product references use "Future AGI" (two words, capitalized). Docs use both forms depending on context. Keep consistent: use "Future AGI" in prose, `futureagi` only when referring to the Python package by name. - -- **Quickstart** vs **Quickstart** page titles `[INCONSISTENT]` — Multiple pages have the title `"Quickstart"` (e.g., `annotations/quickstart.mdx` and `quickstart/annotations.mdx` both have `title: "Quickstart"`). These are duplicate titles that will produce identical `<title>` tags, hurting SEO differentiation. diff --git a/claude-project-setup/platform-conventions.md b/claude-project-setup/platform-conventions.md deleted file mode 100644 index 742780f7..00000000 --- a/claude-project-setup/platform-conventions.md +++ /dev/null @@ -1,384 +0,0 @@ -# Platform Conventions - -## Docs Platform - -- **Framework:** Astro 5.16.3 (static site generation) -- **Content format:** `.mdx` (Markdown with JSX — all doc pages) -- **Site URL:** `https://docs.futureagi.com` -- **Package name:** `bustling-binary` (internal, version `0.0.1`) -- **No Mintlify, Docusaurus, or GitBook** — pure Astro - -### Key dependencies (from `package.json`) -| Package | Version | Purpose | -|---------|---------|---------| -| `astro` | ^5.16.3 | Framework | -| `@astrojs/mdx` | ^4.3.12 | MDX support | -| `@astrojs/react` | ^4.3.1 | React for interactive components | -| `@astrojs/sitemap` | ^3.6.0 | Auto sitemap generation | -| `tailwindcss` | ^4.1.17 | Styling | -| `shiki` | ^3.18.0 | Syntax highlighting | -| `pagefind` | ^1.4.0 | Static full-text search | -| `fuse.js` | ^7.1.0 | Fuzzy search | -| `@giscus/react` | ^3.1.0 | Comments | - ---- - -## File Format and Location - -- All documentation pages are **`.mdx`** files -- Located under `src/pages/docs/` (605 files total) -- Root-level special pages: `src/pages/docs/faq.mdx`, `installation.mdx`, `release-notes.mdx`, `roles-and-permissions.mdx`, `self-hosting.mdx` -- Homepage: `src/pages/index.astro` (Astro component, not MDX) -- Changelog: `src/pages/changelog.mdx` - ---- - -## Frontmatter Schema - -Defined in `src/content/config.ts` using Astro content collections with Zod: - -```typescript -const docs = defineCollection({ - type: 'content', - schema: z.object({ - title: z.string(), // required - description: z.string().optional(), - order: z.number().optional(), - badge: z.string().optional(), - }), -}); -``` - -### Field usage across the site - -| Field | Required | Observed frequency | Notes | -|-------|----------|-------------------|-------| -| `title` | Yes | 100% of pages | Used as H1 and `<title>` tag | -| `description` | No | ~80% of pages (estimated) | Used as `<meta name="description">` | -| `order` | No | Rare — sidebar sort order | Not widely used in sampled pages | -| `badge` | No | Rare — "Beta", "Deprecated" indicators | Not widely used in sampled pages | - -### Example frontmatter (typical page) -```yaml ---- -title: "Setup Observability" -description: "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." ---- -``` - -### Example frontmatter (minimal — only required field) -```yaml ---- -title: "Overview" ---- -``` - -**Note:** No `layout`, `sidebarTitle`, `slug`, `tags`, `keywords`, `noindex`, `canonical`, or `image` fields are in the schema. Those SEO fields do not currently exist at the page level. - ---- - -## Routing Rules - -Astro file-based routing — file path maps directly to URL: - -| File path | URL | -|-----------|-----| -| `src/pages/docs/index.mdx` | `/docs/` | -| `src/pages/docs/sdk/index.mdx` | `/docs/sdk/` | -| `src/pages/docs/sdk/tracing.mdx` | `/docs/sdk/tracing/` | -| `src/pages/docs/evaluation/builtin/toxicity.mdx` | `/docs/evaluation/builtin/toxicity/` | - -- All URLs get a trailing slash -- No base path prefix beyond `/docs/` for documentation -- No custom slug overrides (file name = URL slug) - ---- - -## Anchor ID Behavior - -- Auto-generated from heading text by Astro/MDX -- Heading `## My Feature Name` → anchor `#my-feature-name` (lowercase, spaces → hyphens) -- No manual anchor ID syntax in current use -- Table of Contents component (`src/components/TableOfContents.astro`) reads the `headings` prop passed from the layout - ---- - -## Custom MDX Components - -All 32 components live in `src/components/docs/`. Import in individual pages is **not required** — components are globally available via Astro's MDX configuration. - -### Content Callouts - -| Component | Usage | Example | -|-----------|-------|---------| -| `<Note>` | Informational callout | `<Note>This requires Python 3.10+.</Note>` | -| `<Tip>` | Helpful suggestion | `<Tip>You don't need to install dependencies manually.</Tip>` | -| `<Warning>` | Important caution | `<Warning>Deleting a queue is irreversible.</Warning>` | -| `<Callout>` | Generic callout (type prop: info/success/warning/error) | `<Callout type="info">...</Callout>` | -| `<TLDR>` | Summary block at top of page | `<TLDR>- Python: evals, tracing\n- TypeScript: evals</TLDR>` | -| `<Check>` | Checkmark icon inline | `<Check /> Passed` | -| `<Update>` | Changelog entry / release note callout | `<Update>Added in v2.1</Update>` | -| `<Tooltip>` | Inline tooltip on hover | `<Tooltip tip="Hover text">Term</Tooltip>` | -| `<Prerequisites>` | Prerequisites block before steps | `<Prerequisites>...</Prerequisites>` | - -### Code Blocks - -| Component | Usage | Example | -|-----------|-------|---------| -| `<CodeGroup titles={["Python","JS/TS"]}>` | Tabbed multi-language code block | Wraps multiple ` ```lang ``` ` fences | -| `<CodeBlock>` | Single code block with syntax highlighting | `<CodeBlock lang="python">...</CodeBlock>` | -| `<CodePanel>` | Individual panel inside CodeGroup | Used internally by CodeGroup | - -**Standard pattern for multi-language examples:** -```mdx -<CodeGroup titles={["Python", "JS/TS"]}> -```python Python -pip install ai-evaluation -``` -```bash JS/TS -npm install @future-agi/ai-evaluation -``` -</CodeGroup> -``` - -### Navigation & Layout - -| Component | Usage | Example | -|-----------|-------|---------| -| `<Card title="..." icon="..." href="...">` | Linked card with icon | Navigation cards at bottom of overview pages | -| `<CardGroup cols={2}>` | Grid of cards (cols: 2, 3, or 4) | `<CardGroup cols={2}><Card .../><Card .../></CardGroup>` | -| `<CardGrid>` | Alternative card grid | Less common than CardGroup | -| `<Tabs>` | Tab group container | `<Tabs><Tab title="Python">...</Tab></Tabs>` | -| `<Tab title="...">` | Individual tab | Inside `<Tabs>` | -| `<TabPanel>` | Tab content panel | Used internally | -| `<Accordion title="...">` | Collapsible section | `<Accordion title="Common errors">...</Accordion>` | -| `<AccordionGroup>` | Wrapper for multiple accordions | `<AccordionGroup>...</AccordionGroup>` | -| `<Expandable>` | Expandable content block | Less common alternative to Accordion | - -### Step-by-Step Guides - -| Component | Usage | -|-----------|-------| -| `<Steps>` | Container for numbered steps | -| `<Step title="...">` | Individual step — auto-numbered by CSS counter | - -**Standard pattern:** -```mdx -<Steps> - <Step title="Install the SDK"> - Content here... - <CodeGroup titles={["Python", "JS/TS"]}>... - </CodeGroup> - </Step> - <Step title="Configure"> - ... - </Step> -</Steps> -``` - -### API Documentation - -| Component | Props | Purpose | -|-----------|-------|---------| -| `<ApiPlayground>` | method, endpoint, baseUrl, parameters, requestBody, responseExample, responseStatus | Interactive API explorer with code generation (cURL, Python, JS, SDK) | -| `<ApiSection>` | title | Groups request/response fields | -| `<ApiEndpoint>` | method, path | Displays endpoint badge | -| `<ApiCollapsible>` | — | Collapsible API response fields | -| `<ApiExplorer>` | — | Full interactive API explorer | -| `<ParamField>` | name, type, required | Documents request parameter | -| `<ResponseField>` | name, type | Documents response field | - -**Standard API page pattern:** -```mdx -<ApiPlayground - method="POST" - endpoint="/v1/agent-definitions" - baseUrl="https://api.futureagi.com" - parameters={[...]} - requestBody={{...}} - responseExample={{...}} - responseStatus={201} -/> -``` - -### Utility Components - -| Component | Purpose | -|-----------|---------| -| `<Icon name="...">` | SVG icon from Heroicons set | -| `<CopyButton>` | Copy-to-clipboard button | - ---- - -## Meta Tag Setup - -Meta tags are generated in **two layouts** — not in frontmatter directly. - -### `src/layouts/BaseLayout.astro` -Generates all SEO/social tags from `title` and `description` props: - -```html -<title>{title} | Future AGI Docs - - - - - - - - - - - - - - - - -``` - -Also generates `TechArticle` JSON-LD with `dateModified` from file system mtime. - -### `src/layouts/DocsLayout.astro` -Wraps `BaseLayout`, passes `frontmatter.title` and `frontmatter.description`. -Also generates **BreadcrumbList JSON-LD** per page. - -**Title format:** `{frontmatter.title} | Future AGI Docs` - -**Default description** (when frontmatter `description` is missing): -`"Future AGI Documentation - Build, evaluate, and optimize your AI applications"` - ---- - -## Structured Data (JSON-LD) - -Two schema types are emitted on every docs page: - -### 1. TechArticle (from BaseLayout) -```json -{ - "@context": "https://schema.org", - "@type": "TechArticle", - "headline": "", - "description": "", - "url": "", - "inLanguage": "en", - "dateModified": "", - "publisher": { - "@type": "Organization", - "name": "Future AGI", - "url": "https://futureagi.com", - "logo": { "@type": "ImageObject", "url": "https://docs.futureagi.com/og-image.png" } - }, - "isPartOf": { - "@type": "WebSite", - "name": "Future AGI Documentation", - "url": "https://docs.futureagi.com", - "potentialAction": { "@type": "SearchAction", ... } - } -} -``` - -### 2. BreadcrumbList (from DocsLayout) -```json -{ - "@context": "https://schema.org", - "@type": "BreadcrumbList", - "itemListElement": [ - { "@type": "ListItem", "position": 1, "name": "Docs", "item": "https://docs.futureagi.com/docs" }, - { "@type": "ListItem", "position": 2, "name": "SDK", "item": "https://docs.futureagi.com/docs/sdk" }, - { "@type": "ListItem", "position": 3, "name": "SDKs", "item": "https://docs.futureagi.com/docs/sdk/" } - ] -} -``` - ---- - -## Sitemap - -- **Location:** `sitemap.xml` at repo root (committed artifact) -- **Generator:** `@astrojs/sitemap` integration — auto-generated during `pnpm build` -- **Sitemap index:** `sitemap-index.xml` (referenced in robots.txt) -- **Format:** Standard XML Sitemap Protocol -- **No `` or `` tags** in current entries -- **Count:** 484 URLs in current committed sitemap - ---- - -## robots.txt - -Dynamically generated from `src/pages/robots.txt.ts`: - -``` -User-agent: * -Allow: / - -User-agent: GPTBot -Allow: / - -User-agent: ChatGPT-User -Allow: / - -User-agent: ClaudeBot -Allow: / - -User-agent: PerplexityBot -Allow: / - -User-agent: Applebot-Extended -Allow: / - -User-agent: GoogleOther -Allow: / - -Sitemap: https://docs.futureagi.com/sitemap-index.xml -``` - -AI crawlers are **explicitly allowed** — this is intentional GEO (Generative Engine Optimization) configuration. - ---- - -## Additional Special Files - -| File | URL | Purpose | -|------|-----|---------| -| `src/pages/llms.txt.ts` | `/llms.txt` | LLM-friendly plain-text doc index | -| `src/pages/llms-full.txt.ts` | `/llms-full.txt` | Full content for LLM indexing | -| `src/pages/feed.xml.ts` | `/feed.xml` | RSS feed for aggregators and AI crawlers | -| `src/pages/search-data.json.ts` | `/search-data.json` | Pagefind search index | -| `src/pages/robots.txt.ts` | `/robots.txt` | Dynamic robots file | - ---- - -## Style Guide Summary - -From `STYLE-GUIDE.md` in repo root — three page types: - -### Overview Pages -- `## About` heading first (plain language, no marketing) -- Optional concept sections -- Cross-links to related features -- Getting Started `` at bottom -- No code examples, no UI screenshots - -### Concept Pages -- `## About` with examples or diagrams -- "When to use" section -- Concept-specific sections with tables -- No step-by-step instructions - -### Feature Pages -- `## About` (1–2 sentences max) -- Steps/configuration using ``, ``, or tables -- Code examples (required for SDK usage — use `` for Python/TypeScript/cURL) -- Screenshots where relevant -- Next Steps links at bottom - -### Writing Rules (from STYLE-GUIDE.md) -- First heading must be `## About` -- No em-dashes in prose -- No excessive bold or marketing language -- Specific, verifiable claims only -- All internal links must resolve -- Code examples must be complete and copy-pasteable -- Use ``, ``, `` sparingly — one per logical section at most diff --git a/claude-project-setup/project-instructions.md b/claude-project-setup/project-instructions.md deleted file mode 100644 index 1efd1858..00000000 --- a/claude-project-setup/project-instructions.md +++ /dev/null @@ -1,278 +0,0 @@ -# Claude Project Instructions - -_Paste this text verbatim into the "Custom Instructions" field when creating your Claude Project._ - ---- - -## Product Context - -**Product name:** Future AGI -**Docs site:** https://docs.futureagi.com -**Company:** Future AGI (futureagi.com) -**Framework version:** Astro 5.16.3 (NOT Mintlify, Docusaurus, or Next.js) -**Docs format:** MDX (Markdown with JSX — file extension `.mdx`) -**SDK version:** Package version is `0.0.1` in package.json (the product itself does not publish a single semantic version; each package is versioned independently: `ai-evaluation`, `futureagi`, `fi-instrumentation-otel`, etc.) - -### Key packages (Python) -- `pip install ai-evaluation` — 76+ local evals, 100+ cloud templates, guardrails -- `pip install futureagi` — datasets, prompt versioning, knowledge bases -- `pip install fi-instrumentation-otel` — OpenTelemetry tracing core -- `pip install traceai-` — auto-instrumentation (e.g., `traceai-openai`, `traceai-langchain`) -- `pip install agent-opt` — prompt optimization (6 algorithms) -- `pip install agent-simulate` — voice AI simulation testing - -### Key packages (TypeScript) -- `npm install @future-agi/ai-evaluation` -- `npm install @future-agi/sdk` -- `npm install @traceai/fi-core` -- `npm install @traceai/openai` (and other `@traceai/*` instrumentors) - ---- - -## Docs Platform & File Format - -- **File format:** `.mdx` — Markdown with JSX components -- **Doc root:** `src/pages/docs/` -- **URL pattern:** File path → URL directly. `src/pages/docs/sdk/tracing.mdx` → `/docs/sdk/tracing/` -- **All URLs have trailing slashes** -- **No base path prefix** — docs are at `/docs/` not `/v2/docs/` or similar - -### Frontmatter schema (the only valid fields) -```yaml ---- -title: "Page Title" # required — becomes

and tag -description: "..." # optional but important — becomes <meta description> -order: 1 # optional — sidebar sort order -badge: "Beta" # optional — visual badge label ---- -``` - -**Do not invent or add frontmatter fields** that don't exist in the schema (`keywords`, `tags`, `sidebarTitle`, `slug`, `noindex`, `image`, `author`, `canonical` are all absent from the schema and will be ignored or cause errors). - -### Title tag format -Every page renders: `{frontmatter.title} | Future AGI Docs` -The suffix ` | Future AGI Docs` is added by the layout — do NOT include it in the frontmatter title itself. - -### Meta description source -`frontmatter.description` → `<meta name="description">`. If missing, all pages fall back to: `"Future AGI Documentation - Build, evaluate, and optimize your AI applications"`. Pages missing `description` lose the ability to differentiate in search results. - ---- - -## Custom MDX Components - -These components are globally available in all `.mdx` files — **no import statement required**. Never invent component names; use exactly these: - -### Callouts -```mdx -<Note>Important information that users must know.</Note> -<Tip>Helpful suggestion that improves their experience.</Tip> -<Warning>Critical caution — may cause data loss or breakage.</Warning> -<TLDR> -- Bullet summary at the top of the page -- Short, scannable, 3-5 items max -</TLDR> -<Prerequisites> -- Python 3.10+ -- FI_API_KEY and FI_SECRET_KEY set -</Prerequisites> -``` - -### Code (multi-language) -```mdx -<CodeGroup titles={["Python", "JS/TS"]}> -```python Python -pip install ai-evaluation -``` -```bash JS/TS -npm install @future-agi/ai-evaluation -``` -</CodeGroup> -``` - -Use `<CodeGroup>` for ANY code example that has a Python AND a TypeScript/JavaScript variant. This is required for all SDK usage examples. - -### Steps -```mdx -<Steps> - <Step title="Install the SDK"> - Content here... - <CodeGroup titles={["Python", "JS/TS"]}>...</CodeGroup> - </Step> - <Step title="Configure"> - ... - </Step> -</Steps> -``` - -### Cards & Navigation -```mdx -<CardGroup cols={2}> - <Card title="Evaluations" icon="chart-mixed" href="/docs/sdk/evals"> - One-sentence description. - </Card> - <Card title="Tracing" icon="eye" href="/docs/sdk/tracing"> - One-sentence description. - </Card> -</CardGroup> -``` - -### Tabs -```mdx -<Tabs> - <Tab title="Python"> - Content... - </Tab> - <Tab title="TypeScript"> - Content... - </Tab> -</Tabs> -``` - -### Accordion -```mdx -<AccordionGroup> - <Accordion title="Getting an error? Check these common issues"> - Content... - </Accordion> -</AccordionGroup> -``` - -### API Documentation (for API reference pages only) -```mdx -<ApiPlayground method="POST" endpoint="/v1/..." /> -<ApiSection title="Request Body"> - <ParamField name="project_name" type="string" required>Description.</ParamField> -</ApiSection> -<ResponseField name="id" type="string">Description.</ResponseField> -``` - ---- - -## Page Structure Rules - -All pages follow one of three structures defined in `STYLE-GUIDE.md`: - -### Overview Pages (section index pages) -1. Frontmatter (`title`, `description`) -2. `## About` — 2–4 sentences, plain language, no marketing -3. Optional: concept/architecture sections with tables -4. `<CardGroup>` of links to sub-pages -5. NO code examples, NO step-by-step instructions - -### Concept Pages -1. Frontmatter -2. `## About` — with examples or diagrams -3. "When to use" or "How it works" section -4. Concept-specific sections with tables -5. Next Steps links - -### Feature Pages -1. Frontmatter -2. `## About` — 1–2 sentences max -3. Steps/configuration using `<Steps>`, `<Tabs>`, or tables -4. Complete code examples (use `<CodeGroup>` for Python/TypeScript/cURL) -5. Screenshots where relevant -6. Next Steps section with internal links - ---- - -## Tone & Writing Rules - -- **Terse, pro-developer tone** — Assume the reader is a software engineer. No hand-holding. -- **No marketing language** — Never use: "powerful", "cutting-edge", "revolutionary", "best-in-class", "next-generation", "state-of-the-art" -- **No em-dashes** in prose (use `--` if needed, or restructure the sentence) -- **No excessive bold** — Bold only proper nouns, UI element names, and key technical terms -- **First heading in body must be `## About`** — this is a hard requirement -- **Active voice** — "Run the command" not "The command should be run" -- **Specific, verifiable claims** — "76+ local metrics" not "many metrics" -- **No vague statements** — "under 10ms" not "fast" or "low-latency" -- **Complete code examples** — every snippet must be runnable as-is -- **Correct product name:** "Future AGI" (two words, both capitalized) — NOT "FutureAGI", "future agi", or "Future-AGI" -- **Correct feature name:** "Agent Command Center" — NOT "Prism", "Prism AI Gateway", or "command center" - ---- - -## Product Features & Naming (authoritative list) - -Use these exact names: - -| Correct Name | Never Use | -|-------------|-----------| -| Future AGI | FutureAGI (except in package names: `futureagi`) | -| Agent Command Center | Prism, Prism AI Gateway, Command Center | -| Observe | Observability module, Trace viewer | -| Prototype | A/B testing tool, experimentation | -| Simulation | Simulation testing, agent testing | -| Error Feed | Error tracking, issue tracker | -| Falcon AI | AI copilot, assistant | -| Annotations | HITL, labeling tool | -| Prompt Workbench | Prompt editor, prompt manager | -| TraceAI | traceai (ok in code), trace AI | -| Turing models | turing (ok in code references like `turing_flash`) | - ---- - -## URL Rules - -- All internal links must use the format `/docs/section/page/` (trailing slash, leading slash) -- **Never invent URLs** — only link to pages that exist in the URL inventory -- Base domain is `https://docs.futureagi.com` — do not include domain in internal links -- App URLs: `https://app.futureagi.com` (not docs) -- API base URL: `https://api.futureagi.com` - ---- - -## SEO Optimization Output Format - -When optimizing a page, output the following and NOTHING ELSE: - -``` -## Optimized Frontmatter - ---- -title: "..." -description: "..." ---- - -## Optimized Body - -[full MDX content here] -``` - -### Title optimization rules -- 40–60 characters in the frontmatter field (excluding the ` | Future AGI Docs` suffix added by layout) -- Include the primary keyword naturally — do not keyword-stuff -- Be specific: use "Detect Hallucination in LLM Outputs" not just "Hallucination" -- Do not repeat "Future AGI" in the title — it's in the suffix already - -### Description optimization rules -- 120–155 characters -- Include primary keyword and 1–2 secondary keywords naturally -- Answer: what does this page teach? What problem does it solve? -- Do not start with "This page", "Learn how to", or the page title -- End with a concrete benefit or outcome - -### Body optimization rules -- Keep all `<CodeGroup>`, `<Steps>`, `<Note>`, `<Tip>`, `<Warning>`, `<Card>`, `<CardGroup>`, `<Tabs>`, `<Accordion>`, `<ApiPlayground>`, `<ParamField>`, `<ResponseField>` components exactly as-is -- **Never modify, remove, or rewrite code blocks** -- Add semantically relevant H2/H3 headings where content can be sub-divided -- First heading in body must remain `## About` -- Use natural language that answers questions a developer would ask (AEO focus) -- Add a definition or context sentence for technical terms on first use -- Keep existing internal links; add 2–3 contextually relevant internal links if missing -- Do not add external links unless they already exist in the original - ---- - -## Hard Rules - -1. **Never invent features, versions, or capabilities** that aren't documented in the repo -2. **Never invent URLs** — only reference paths from the URL inventory -3. **Preserve all code blocks exactly** — character-for-character, including whitespace and comments -4. **Preserve all component usage** — don't replace `<Steps>` with a numbered list, etc. -5. **No new files** — only optimize the content of the MDX file given to you -6. **No structural changes** — if the page uses Steps, keep Steps; if it uses Tabs, keep Tabs -7. **Frontmatter fields only** — only set `title`, `description`, `order`, `badge` -8. **No hallucinated integrations** — only reference integrations that exist at `/docs/integrations/` -9. **Respect the style guide** — first heading is `## About`, no marketing language, no em-dashes -10. **Do not add "Updated:" or "Last modified:" text** — dates are handled by the layout automatically diff --git a/claude-project-setup/style-examples.md b/claude-project-setup/style-examples.md deleted file mode 100644 index f3812ad3..00000000 --- a/claude-project-setup/style-examples.md +++ /dev/null @@ -1,407 +0,0 @@ -# Style Examples - -Three pages that best represent the documentation's ideal style: clear structure, terse developer tone, useful tables and code examples, no marketing fluff. - ---- - -## Example 1: `/docs/sdk/` — SDKs Overview - -**Why it's good:** The language-support table up front answers "what can I do in my language?" in 10 seconds. TLDR block handles scanners. Dependency graph using ASCII art is precise and eliminates "do I need to install X separately?" confusion. Tab components let readers self-select their language without reading irrelevant content. Zero marketing language — it's entirely functional. - -```mdx ---- -title: "SDKs" -description: "Evaluate LLM outputs, trace AI calls, optimize prompts, and test voice agents. Python, TypeScript, Java, and C# supported." ---- - -<TLDR> -- **Python:** evals, tracing, datasets, prompts, optimization, simulation -- **TypeScript:** evals, tracing, datasets, prompts -- **Java / C#:** tracing -- `pip install ai-evaluation` or `npm install @future-agi/ai-evaluation` to get started -</TLDR> - -Future AGI is a set of packages that evaluate LLM outputs, trace calls across your stack, optimize prompts, and load-test voice agents. Install what you need, skip what you don't. - -## Language Support - -| Module | Python | TypeScript | Java | C# | -|--------|--------|------------|------|----| -| Evaluations | Full | Full | — | — | -| Tracing | Full (45+) | Full (40+) | Full (25+) | Full | -| Datasets | Full | Full | — | — | -| Prompts | Full | Full | — | — | -| Prompt Optimization | Full | — | — | — | -| Simulation | Full | — | — | — | - -## Quickstart - -<Tabs> - <Tab title="Python"> - ```bash - pip install ai-evaluation - ``` - - Requires Python 3.10+. This also installs `futureagi` ([datasets](/docs/sdk/datasets), [prompts](/docs/sdk/datasets), [knowledge bases](/docs/sdk/knowledgebase)) automatically. - - ```bash - export FI_API_KEY="your-api-key" - export FI_SECRET_KEY="your-secret-key" - ``` - - ```python - from fi.evals import evaluate - - # Local metric — no API key needed - result = evaluate("contains", output="Hello world", keyword="Hello") - print(result.score) # 1.0 - print(result.passed) # True - - # Cloud metric — needs FI_API_KEY and FI_SECRET_KEY - result = evaluate("toxicity", output="Hello world", model="turing_flash") - print(result.score) # 1.0 - print(result.passed) # True - ``` - - Want tracing too? Add the instrumentor for your provider: - - ```bash - pip install fi-instrumentation-otel traceai-openai - ``` - </Tab> - <Tab title="TypeScript"> - ```bash - npm install @future-agi/ai-evaluation - ``` - - ```bash - export FI_API_KEY="your-api-key" - export FI_SECRET_KEY="your-secret-key" - ``` - - ```typescript - import { Evaluator, Tone } from "@future-agi/ai-evaluation"; - - const evaluator = new Evaluator(); - - const result = await evaluator.evaluate({ - evalTemplates: [new Tone()], - inputs: [{ - query: "Write a professional email", - response: "Dear Sir/Madam, I hope this message finds you well..." - }], - modelName: "turing_flash" - }); - - console.log(result); - ``` - </Tab> - <Tab title="Java"> - Java support covers tracing only. 25+ instrumentors including Spring AI and LangChain4j. - - ```xml - <!-- Maven — add the JitPack repository --> - <repository> - <id>jitpack.io</id> - <url>https://jitpack.io</url> - </repository> - - <dependency> - <groupId>com.github.future-agi.traceAI</groupId> - <artifactId>traceai-java-openai</artifactId> - <version>LATEST</version> - </dependency> - ``` - - See the [Tracing docs](/docs/sdk/tracing) for setup instructions. - </Tab> - <Tab title="C#"> - C# support covers tracing only. - - ```bash - dotnet add package fi-instrumentation-otel - ``` - - See the [Tracing docs](/docs/sdk/tracing) for setup instructions. - </Tab> -</Tabs> - -<AccordionGroup> - <Accordion title="Getting an error? Check these common issues"> - **`ModuleNotFoundError: No module named 'fi'`** — The package is called `ai-evaluation`, not `future-agi` or `futureagi-sdk`: - ```bash - pip install ai-evaluation - ``` - - **`AuthenticationError`** — Both `FI_API_KEY` and `FI_SECRET_KEY` must be set. The API key alone is not enough. - - **`Python version error`** — `ai-evaluation` requires Python 3.10+. Check with `python --version`. - </Accordion> -</AccordionGroup> - -## Packages - -### Python - -Six packages, each installable independently: - -| Package | Install | What it does | Python | -|---------|---------|--------------|--------| -| **futureagi** | `pip install futureagi` | Datasets, prompt versioning, knowledge bases | 3.9+ | -| **ai-evaluation** | `pip install ai-evaluation` | 76+ local metrics + 100+ cloud templates, guardrails, streaming eval | 3.10+ | -| **fi-instrumentation-otel** | `pip install fi-instrumentation-otel` | OpenTelemetry tracing for AI apps | 3.9+ | -| **traceai-\*** | `pip install traceai-openai` | Auto-instrumentation for 45+ frameworks | 3.9+ | -| **agent-opt** | `pip install agent-opt` | Prompt optimization (6 algorithms) | 3.10+ | -| **agent-simulate** | `pip install agent-simulate` | Simulate voice AI agents at scale | 3.10+ | - -``` -futureagi ← standalone base layer - └── ai-evaluation ← installs futureagi automatically - └── agent-opt ← installs ai-evaluation automatically - -fi-instrumentation-otel ← standalone tracing layer - ├── traceai-* ← each installs fi-instrumentation-otel - └── agent-simulate ← installs fi-instrumentation-otel -``` - -<Tip> - You don't need to install dependencies manually. `pip install ai-evaluation` gives you `futureagi` too. `pip install traceai-openai` gives you `fi-instrumentation-otel` too. -</Tip> -``` - ---- - -## Example 2: `/docs/quickstart/setup-observability/` — Setup Observability - -**Why it's good:** Steps component turns a multi-step setup into a linear, unambiguous workflow. Every step has a concrete, copy-pasteable code block in Python and TypeScript. Configuration parameters are documented inline after the code — no hunting. The final step tells you exactly what to look at in the dashboard, not just "you're done." Description is specific and keyword-rich. - -```mdx ---- -title: "Setup Observability" -description: "Set up Future AGI Observe for production monitoring. Configure auto-instrumented tracing for OpenAI, Anthropic, LangChain, and other LLM frameworks." ---- - -## About - -**Observe** is Future AGI's observability product. It gives you full visibility into how your AI application behaves in production by capturing every LLM call, tool use, and agent decision as a trace. You can monitor performance, detect anomalies, track costs, and debug issues without changing your application logic. - -Observe supports auto-instrumentation for OpenAI, Anthropic, LangChain, LlamaIndex, CrewAI and [30+ other frameworks](/docs/integrations). By the end of this guide, you'll have traces flowing into your Future AGI dashboard. - ---- - -<Steps> - <Step title="Install the SDK"> - Install the Future AGI instrumentation package and the OpenAI integration (used in this example). - - <CodeGroup titles={["Python", "JS/TS"]}> - ```bash Python - pip install fi-instrumentation traceAI-openai openai - ``` - - ```bash JS/TS - npm install @traceai/fi-core @traceai/openai openai - ``` - </CodeGroup> - </Step> - <Step title="Configure Your Environment"> - Set up your environment variables to connect to Future AGI. Get your API keys [here](https://app.futureagi.com/dashboard/keys). - - <CodeGroup titles={["Python", "JS/TS"]}> - ```python Python - import os - os.environ["FI_API_KEY"] = "YOUR_API_KEY" - os.environ["FI_SECRET_KEY"] = "YOUR_SECRET_KEY" - os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY" - ``` - - ```typescript JS/TS - process.env.FI_API_KEY = "YOUR_API_KEY"; - process.env.FI_SECRET_KEY = "YOUR_SECRET_KEY"; - process.env.OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"; - ``` - </CodeGroup> - </Step> - <Step title="Register Your Observe Project"> - Register your project with the necessary configuration. - - <CodeGroup titles={["Python", "JS/TS"]}> - ```python Python - from fi_instrumentation import register, Transport - from fi_instrumentation.fi_types import ProjectType - - trace_provider = register( - project_type=ProjectType.OBSERVE, - project_name="my-llm-app", - transport=Transport.GRPC, - ) - ``` - - ```typescript JS/TS - import { register, ProjectType } from "@traceai/fi-core"; - - const traceProvider = register({ - project_type: ProjectType.OBSERVE, - project_name: "my-llm-app", - }); - ``` - </CodeGroup> - - **Configuration Parameters:** - - **project_type**: Set as `ProjectType.OBSERVE` for observe - - **project_name**: A descriptive name for your project - - **transport** (optional): Set the transport for your traces. The available options are `GRPC` and `HTTP`. - </Step> - <Step title="Instrument and Run"> - There are 2 ways to implement tracing in your project: - - 1. **Auto Instrumentor**: Automatically captures all LLM calls. Recommended for most use cases. - 2. **Manual Tracing**: Gives you full control over what gets traced using OpenTelemetry. [Learn more](/docs/observe/features/manual-tracing/set-up-tracing) - - Here's a complete example using auto-instrumentation with OpenAI: - - <CodeGroup titles={["Python", "JS/TS"]}> - ```python Python - from traceai_openai import OpenAIInstrumentor - from openai import OpenAI - - # Enable auto-instrumentation - OpenAIInstrumentor().instrument(tracer_provider=trace_provider) - - # Use OpenAI as normal - client = OpenAI() - - completion = client.chat.completions.create( - model="gpt-4o", - messages=[{"role": "user", "content": "Write a one-sentence bedtime story about a unicorn."}] - ) - - print(completion.choices[0].message.content) - ``` - - ```typescript JS/TS - import { OpenAIInstrumentation } from "@traceai/openai"; - import { OpenAI } from "openai"; - - const openaiInstrumentation = new OpenAIInstrumentation({ - tracerProvider: traceProvider, - }); - - const client = new OpenAI(); - - const completion = await client.chat.completions.create({ - model: "gpt-4o", - messages: [{ role: "user", content: "Write a one-sentence bedtime story about a unicorn." }], - }); - - console.log(completion.choices[0].message.content); - ``` - </CodeGroup> - </Step> - <Step title="View Your Traces"> - Open your [Future AGI dashboard](https://app.futureagi.com) and navigate to the **Observe** tab. You should see your project listed with the trace from the OpenAI call above. - - Each trace shows the full request and response, latency, token usage, and cost. From here you can set up alerts, track sessions, and add inline evaluations. - </Step> -</Steps> - -<div class="docs-section-title">Next Steps</div> - -- [Add more integrations](/docs/integrations) for Anthropic, LangChain, LlamaIndex, and others -- [Set up manual tracing](/docs/observe/features/manual-tracing/set-up-tracing) for custom spans and attributes -- [Add inline evaluations](/docs/observe/features/manual-tracing/in-line-evals) to evaluate traces as they come in -``` - ---- - -## Example 3: `/docs/annotations/` — Annotations Overview - -**Why it's good:** The three-primitives table (Labels / Queues / Scores) gives readers an instant mental model before they dive into feature pages. Supported source types as a table with raw entity names (`trace`, `observation_span`) respects developer intelligence — no hand-wavy abstractions. Key capabilities use a tight bullet list, not paragraphs. The use-case table maps real-world tasks to concrete label types and examples in one glance. - -```mdx ---- -title: "Annotations" -description: "Add human feedback to your AI outputs with annotation labels, queues, and scores across traces, datasets, prototypes, and simulations." ---- - -## About - -Annotations are human labels applied to AI outputs -- traces, spans, sessions, dataset rows, prototype runs, and simulation executions. They capture subjective judgments (sentiment, quality, helpfulness) and factual assessments (correctness, safety, relevance) that automated evals alone cannot provide. - -Human-in-the-loop (HITL) feedback is essential for GenAI systems because: - -- **Quality control** -- Catch hallucinations, off-topic responses, and policy violations before they reach users. -- **Feedback loops** -- Route human judgments back into prompt tuning, guardrail configuration, and model selection. -- **Fine-tuning data** -- Build high-quality labeled datasets from production traffic to improve your models. -- **Safety and compliance** -- Document human review for regulated or high-stakes use cases. - -## Architecture - -Annotations are built on three primitives: - -| Primitive | Purpose | -|-----------|---------| -| **Labels** | Reusable annotation templates (categorical, numeric, text, star rating, thumbs up/down) shared across your organization. | -| **Queues** | Managed annotation campaigns that assign items to annotators, track progress, and enforce review workflows. | -| **Scores** | The unified data record created each time an annotator (or automation) applies a label to a source. | - -Labels define *what* you measure. Queues organize *how* the work gets done. Scores store *every individual annotation*. - -## Supported source types - -| Source Type | Description | -|-------------|-------------| -| `trace` | An LLM trace from Observe | -| `observation_span` | A specific span within a trace | -| `trace_session` | A conversation session (group of traces) | -| `dataset_row` | A row in a dataset | -| `call_execution` | A simulation call execution | -| `prototype_run` | A prototype/experiment run | - -## How it works - -The typical annotation workflow follows three steps: - -1. **Define labels** -- Create the annotation templates your team will use (e.g. a "Sentiment" categorical label or a "Quality" star rating). -2. **Set up a queue** -- Build an annotation campaign by choosing labels, adding annotators, and configuring assignment rules. -3. **Annotate and review** -- Add items (traces, dataset rows, etc.) to the queue. Annotators score each item. Reviewers optionally approve results. - -Annotations can also be created **inline** -- directly from any trace, session, or dataset view -- without a queue, for ad-hoc feedback. - -## Key capabilities - -- **5 label types** -- Categorical, numeric, free-text, star rating, and thumbs up/down to cover any feedback need. -- **Managed queues** -- Round-robin, load-balanced, or manual assignment strategies with reservation timeouts. -- **Inline annotations** -- Annotate directly from trace detail, session grid, or dataset views without opening a queue. -- **Multi-annotator support** -- Require 1-10 annotators per item for inter-annotator agreement. -- **Review workflows** -- Route completed items through a reviewer before finalizing. -- **Export to dataset** -- Turn annotated data into training or eval datasets. -- **Python and JS SDK** -- Create labels, manage queues, and submit scores programmatically. - -## Common use cases - -| Use Case | Label Type | Example | -|----------|------------|---------| -| Sentiment classification | Categorical | Positive / Negative / Neutral | -| Factual accuracy | Thumbs up/down | Correct vs. hallucinated | -| Toxicity screening | Categorical | Safe / Borderline / Toxic | -| Response relevance | Numeric (1-10) | How relevant was the answer? | -| Grammar and style | Text | Free-form correction notes | -| Prompt A vs. B comparison | Star rating | Rate each variant 1-5 stars | - -## Get started - -<CardGroup cols={2}> - <Card title="Quickstart" icon="rocket" href="/docs/annotations/quickstart"> - Create a label, set up a queue, and annotate your first item in 5 minutes. - </Card> - <Card title="Annotation Labels" icon="tags" href="/docs/annotations/features/labels"> - Understand the five label types and when to use each one. - </Card> - <Card title="Queues & Workflow" icon="list-check" href="/docs/annotations/features/queues"> - Learn how queues organize work with assignment strategies and review workflows. - </Card> - <Card title="Scores" icon="chart-simple" href="/docs/annotations/concepts/scores"> - Dive into the unified Score model that powers all annotation data. - </Card> -</CardGroup> -``` diff --git a/claude-project-setup/top-pages-template.md b/claude-project-setup/top-pages-template.md deleted file mode 100644 index 984cf0cf..00000000 --- a/claude-project-setup/top-pages-template.md +++ /dev/null @@ -1,338 +0,0 @@ -# Top Pages Template - -Fill in **Monthly Visits** and **Position** from Google Search Console or Google Analytics. -Priority column is pre-filled based on section importance and page type. - -Prioritization key: -- **P1** — Core product entry points, quickstarts, section indices -- **P2** — Feature pages with high search potential -- **P3** — Concept/reference pages, long-tail -- **P4** — Auto-generated API pages, integration stubs - ---- - -## High-Priority Pages (P1 & P2) - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/ | Overview | | | P1 | -| /docs/installation/ | Installation | | | P1 | -| /docs/quickstart/setup-observability/ | Setup Observability | | | P1 | -| /docs/sdk/ | SDKs | | | P1 | -| /docs/evaluation/ | Evaluation Overview | | | P1 | -| /docs/observe/ | Observe Overview | | | P1 | -| /docs/simulation/ | Simulation Overview | | | P1 | -| /docs/command-center/ | Agent Command Center | | | P1 | -| /docs/annotations/ | Annotations | | | P1 | -| /docs/prototype/ | Prototype Overview | | | P1 | -| /docs/optimization/ | Optimization Overview | | | P1 | -| /docs/dataset/ | Dataset Overview | | | P1 | -| /docs/protect/ | Protect Overview | | | P1 | -| /docs/tracing/ | Tracing Overview | | | P1 | -| /docs/faq/ | FAQs | | | P1 | -| /docs/sdk/evals/ | Evaluations (SDK) | | | P2 | -| /docs/sdk/tracing/ | Tracing (SDK) | | | P2 | -| /docs/sdk/evals/metrics/ | Metrics Reference | | | P2 | -| /docs/evaluation/builtin/ | Built-in Evaluations | | | P2 | -| /docs/command-center/features/routing/ | Routing & Reliability | | | P2 | -| /docs/command-center/features/guardrails/ | Guardrails (Command Center) | | | P2 | -| /docs/command-center/features/caching/ | Caching | | | P2 | -| /docs/command-center/features/providers/ | Supported Providers | | | P2 | -| /docs/observe/features/alerts/ | Alerts and Monitors | | | P2 | -| /docs/observe/features/evals/ | Run Evals on Traces | | | P2 | -| /docs/evaluation/features/cicd/ | CI/CD Integration | | | P2 | -| /docs/evaluation/features/custom/ | Custom Evaluations | | | P2 | -| /docs/self-hosting/ | Self-Hosting | | | P2 | -| /docs/falcon-ai/ | Falcon AI | | | P2 | -| /docs/error-feed/ | Error Feed | | | P2 | - ---- - -## Quickstarts & Getting Started - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/quickstart/generate-synthetic-data/ | Generate Synthetic Data | | | P1 | -| /docs/quickstart/prompts/ | Create Prompts | | | P1 | -| /docs/quickstart/running-evals-in-simulation/ | Running Evals in Simulation | | | P1 | -| /docs/quickstart/setup-mcp-server/ | Setup MCP Server | | | P2 | -| /docs/annotations/quickstart/ | Annotations Quickstart | | | P2 | -| /docs/command-center/quickstart/ | Command Center Quickstart | | | P2 | - ---- - -## Admin & Settings - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/admin-settings/ | Admin & Settings | | | P2 | -| /docs/admin-settings/api-keys/ | API Keys | | | P2 | -| /docs/admin-settings/billing-pricing/ | Billing & Pricing | | | P3 | -| /docs/admin-settings/user-management/ | User Management | | | P3 | -| /docs/admin-settings/ai-providers/ | AI Providers | | | P3 | -| /docs/admin-settings/organization-settings/ | Organization Settings | | | P3 | -| /docs/admin-settings/workspace-management/ | Workspace Management | | | P3 | -| /docs/admin-settings/profile-security/ | Profile & Security | | | P3 | -| /docs/admin-settings/usage-summary/ | Usage Summary | | | P3 | -| /docs/admin-settings/integrations/ | Integrations (Admin) | | | P3 | -| /docs/roles-and-permissions/ | Roles & Permissions | | | P3 | - ---- - -## Agent Playground - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/agent-playground/ | Agent Playground Overview | | | P2 | -| /docs/agent-playground/features/build-workflow/ | Build a Workflow | | | P2 | -| /docs/agent-playground/features/run-and-monitor/ | Run & Monitor | | | P2 | -| /docs/agent-playground/features/create-graph/ | Create a Graph | | | P3 | -| /docs/agent-playground/concepts/understanding-agent-playground/ | Understanding Agent Playground | | | P3 | -| /docs/agent-playground/concepts/versions-and-execution/ | Versions & Execution | | | P3 | - ---- - -## Annotations - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/annotations/ | Annotations | | | P1 | -| /docs/annotations/quickstart/ | Quickstart | | | P2 | -| /docs/annotations/features/labels/ | Labels | | | P2 | -| /docs/annotations/features/queues/ | Queues | | | P2 | -| /docs/annotations/features/annotate/ | Annotate Items | | | P2 | -| /docs/annotations/features/analytics/ | Analytics & Agreement | | | P3 | -| /docs/annotations/features/add-items/ | Add Items to Queues | | | P3 | -| /docs/annotations/features/automation/ | Automation Rules | | | P3 | -| /docs/annotations/features/export/ | Export Annotations | | | P3 | -| /docs/annotations/features/inline/ | Inline Annotations | | | P3 | -| /docs/annotations/concepts/scores/ | Scores | | | P3 | -| /docs/annotations/sdk/python/ | Python SDK | | | P3 | -| /docs/annotations/sdk/javascript/ | JavaScript SDK | | | P3 | - ---- - -## Command Center (Agent Command Center) - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/command-center/ | Agent Command Center | | | P1 | -| /docs/command-center/quickstart/ | Quickstart | | | P1 | -| /docs/command-center/features/routing/ | Routing & Reliability | | | P2 | -| /docs/command-center/features/guardrails/ | Guardrails | | | P2 | -| /docs/command-center/features/caching/ | Caching | | | P2 | -| /docs/command-center/features/providers/ | Supported Providers | | | P2 | -| /docs/command-center/features/cost-tracking/ | Cost Tracking | | | P2 | -| /docs/command-center/features/rate-limiting/ | Rate Limiting & Budgets | | | P2 | -| /docs/command-center/features/shadow-experiments/ | Shadow Experiments | | | P2 | -| /docs/command-center/features/streaming/ | Streaming | | | P3 | -| /docs/command-center/features/mcp-a2a/ | MCP & A2A | | | P3 | -| /docs/command-center/features/observability/ | Observability | | | P3 | -| /docs/command-center/features/webhooks/ | Webhooks | | | P3 | -| /docs/command-center/features/custom-properties/ | Custom Properties | | | P3 | -| /docs/command-center/features/self-hosted-models/ | Self-Hosted Models | | | P3 | -| /docs/command-center/concepts/core/ | How It Works | | | P3 | -| /docs/command-center/concepts/configuration/ | Configuration | | | P3 | -| /docs/command-center/concepts/virtual-keys/ | Virtual Keys & Access Control | | | P3 | -| /docs/command-center/concepts/platform-integration/ | Platform Integration | | | P3 | -| /docs/command-center/concepts/api-reference/ | API Reference | | | P3 | -| /docs/command-center/deployment/self-hosted/ | Self-Hosted Deployment | | | P3 | -| /docs/command-center/admin/organizations/ | Organization Management | | | P3 | -| /docs/command-center/api/chat/ | Chat Completions | | | P3 | -| /docs/command-center/api/embeddings/ | Embeddings & Reranking | | | P3 | -| /docs/command-center/api/assistants/ | Assistants API | | | P3 | -| /docs/command-center/api/async-batch/ | Async & Batch | | | P3 | -| /docs/command-center/api/endpoints/ | Endpoints Overview | | | P3 | -| /docs/command-center/api/headers/ | Request & Response Headers | | | P3 | -| /docs/command-center/api/files/ | Files & Vector Stores | | | P3 | -| /docs/command-center/api/media/ | Media Endpoints | | | P3 | -| /docs/command-center/guides/errors/ | Error Handling | | | P3 | -| /docs/command-center/guides/troubleshooting/ | Troubleshooting | | | P3 | - ---- - -## Dataset - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/dataset/ | Dataset Overview | | | P1 | -| /docs/dataset/features/create/ | Create New Dataset | | | P2 | -| /docs/dataset/features/add-columns/ | Add Columns to Dataset | | | P2 | -| /docs/dataset/features/experiments/ | Experiments in Dataset | | | P2 | -| /docs/dataset/concept/understanding-dataset/ | Understanding Datasets | | | P3 | -| /docs/dataset/concept/dynamic-column/ | Dynamic Columns | | | P3 | -| /docs/dataset/concept/static-column/ | Static Columns | | | P3 | -| /docs/dataset/concept/synthetic-data/ | Synthetic Data | | | P3 | -| /docs/dataset/features/add-rows/ | Add Rows to Dataset | | | P3 | -| /docs/dataset/features/annotate/ | Add Annotations | | | P3 | -| /docs/dataset/features/run-prompt/ | Run Prompt in Dataset | | | P3 | - ---- - -## Error Feed - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/error-feed/ | Error Feed | | | P2 | -| /docs/error-feed/concepts/taxonomy/ | Error Taxonomy | | | P2 | -| /docs/error-feed/features/the-feed/ | The Feed | | | P2 | -| /docs/error-feed/features/triage-workflow/ | Triage Workflow | | | P3 | -| /docs/error-feed/features/deep-analysis/ | Deep Analysis | | | P3 | -| /docs/error-feed/features/issue-overview/ | Issue Overview | | | P3 | -| /docs/error-feed/features/state-graph/ | State Graph | | | P3 | -| /docs/error-feed/features/trends/ | Trends | | | P3 | -| /docs/error-feed/features/traces/ | Traces Tab | | | P3 | -| /docs/error-feed/features/sampling/ | Sampling | | | P3 | -| /docs/error-feed/features/metadata-panel/ | Metadata Panel | | | P3 | -| /docs/error-feed/features/linear-integration/ | Linear Integration | | | P3 | -| /docs/error-feed/concepts/how-it-works/ | How Error Feed Works | | | P3 | -| /docs/error-feed/concepts/scoring/ | Scoring | | | P3 | -| /docs/error-feed/concepts/severity-and-status/ | Severity and Status | | | P3 | - ---- - -## Evaluation - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/evaluation/ | Evaluation Overview | | | P1 | -| /docs/evaluation/builtin/ | Built-in Evaluations | | | P2 | -| /docs/evaluation/features/evaluate/ | Evaluate via Platform & SDK | | | P2 | -| /docs/evaluation/features/custom/ | Custom Evaluations | | | P2 | -| /docs/evaluation/features/cicd/ | CI/CD Integration | | | P2 | -| /docs/evaluation/features/groups/ | Eval Groups | | | P2 | -| /docs/evaluation/features/futureagi-models/ | Future AGI Models | | | P2 | -| /docs/evaluation/features/custom-models/ | Custom Models | | | P3 | -| /docs/evaluation/concepts/understanding-evaluation/ | Understanding Evaluation | | | P3 | -| /docs/evaluation/concepts/eval-types/ | Eval Types | | | P3 | -| /docs/evaluation/concepts/eval-templates/ | Eval Templates | | | P3 | -| /docs/evaluation/concepts/eval-results/ | Eval Results | | | P3 | -| /docs/evaluation/concepts/judge-models/ | Judge Models | | | P3 | -| /docs/evaluation/builtin/detect-hallucination/ | Detect Hallucination | | | P3 | -| /docs/evaluation/builtin/toxicity/ | Toxicity | | | P3 | -| /docs/evaluation/builtin/groundedness/ | Groundedness | | | P3 | -| /docs/evaluation/builtin/context-relevance/ | Context Relevance | | | P3 | -| /docs/evaluation/builtin/pii/ | PII Detection | | | P3 | -| /docs/evaluation/builtin/prompt-injection/ | Prompt Injection | | | P3 | -| /docs/evaluation/builtin/task-completion/ | Task Completion | | | P3 | -| /docs/evaluation/builtin/instruction-adherence/ | Instruction Adherence | | | P3 | -| /docs/evaluation/builtin/rouge/ | ROUGE Score | | | P3 | -| /docs/evaluation/builtin/bleu/ | BLEU Score | | | P3 | -| /docs/evaluation/builtin/bias-detection/ | Bias Detection | | | P3 | -| /docs/evaluation/builtin/summary-quality/ | Summary Quality | | | P3 | -| /docs/evaluation/builtin/completeness/ | Completeness | | | P3 | -| /docs/evaluation/builtin/context-adherence/ | Context Adherence | | | P3 | -| /docs/evaluation/builtin/llm-function-calling/ | LLM Function Calling | | | P3 | - ---- - -## Integrations - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/integrations/ | Integrations Overview | | | P2 | -| /docs/integrations/traceai/openai/ | OpenAI | | | P2 | -| /docs/integrations/traceai/anthropic/ | Anthropic | | | P2 | -| /docs/integrations/traceai/langchain/ | LangChain | | | P2 | -| /docs/integrations/traceai/langgraph/ | LangGraph | | | P2 | -| /docs/integrations/traceai/llamaindex/ | LlamaIndex | | | P2 | -| /docs/integrations/traceai/crewai/ | CrewAI | | | P2 | -| /docs/integrations/traceai/vertexai/ | Vertex AI | | | P3 | -| /docs/integrations/traceai/bedrock/ | AWS Bedrock | | | P3 | -| /docs/integrations/traceai/google_adk/ | Google ADK | | | P3 | -| /docs/integrations/traceai/mistralai/ | Mistral AI | | | P3 | -| /docs/integrations/traceai/groq/ | Groq | | | P3 | -| /docs/integrations/traceai/litellm/ | LiteLLM | | | P3 | -| /docs/integrations/traceai/mcp/ | MCP | | | P3 | -| /docs/integrations/traceai/vercel/ | Vercel AI SDK | | | P3 | -| /docs/integrations/traceai/dspy/ | DSPy | | | P3 | -| /docs/integrations/traceai/autogen/ | AutoGen | | | P3 | -| /docs/integrations/traceai/openai_agents/ | OpenAI Agents SDK | | | P3 | -| /docs/integrations/traceai/pipecat/ | Pipecat | | | P3 | -| /docs/integrations/traceai/livekit/ | LiveKit | | | P3 | -| /docs/integrations/export/datadog/ | Datadog | | | P3 | -| /docs/integrations/export/posthog/ | PostHog | | | P3 | -| /docs/integrations/export/pagerduty/ | PagerDuty | | | P3 | -| /docs/integrations/import/langfuse/ | Langfuse | | | P3 | -| /docs/integrations/traceai/java/ | Java Tracing Overview | | | P3 | - ---- - -## SDK (selected) - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/sdk/ | SDKs | | | P1 | -| /docs/sdk/evals/ | Evaluations | | | P1 | -| /docs/sdk/tracing/ | Tracing | | | P1 | -| /docs/sdk/evals/metrics/ | Metrics Reference | | | P2 | -| /docs/sdk/evals/cloud-evals/ | Cloud Evals | | | P2 | -| /docs/sdk/evals/llm-judge/ | LLM-as-Judge | | | P2 | -| /docs/sdk/evals/guardrails-module/ | Guardrails | | | P2 | -| /docs/sdk/datasets/ | Datasets | | | P2 | -| /docs/sdk/optimize/ | Prompt Optimization | | | P2 | -| /docs/sdk/protect/ | Protect | | | P2 | -| /docs/sdk/simulate/ | Simulation Testing | | | P2 | -| /docs/sdk/evals/evaluate/ | Running Evaluations | | | P2 | -| /docs/sdk/evals/local/ | Local & Hybrid Evaluation | | | P3 | -| /docs/sdk/evals/distributed/ | Distributed Evaluator | | | P3 | -| /docs/sdk/evals/streaming/ | Streaming Evaluation | | | P3 | -| /docs/sdk/evals/autoeval/ | AutoEval | | | P3 | -| /docs/sdk/evals/code-security/ | Code Security | | | P3 | -| /docs/sdk/evals/otel/ | OpenTelemetry Integration | | | P3 | -| /docs/sdk/evals/feedback/ | Feedback Loops | | | P3 | -| /docs/sdk/evals/metrics/rag/ | RAG Metrics | | | P3 | -| /docs/sdk/evals/metrics/hallucination/ | Hallucination Detection | | | P3 | -| /docs/sdk/evals/metrics/agents/ | Agents & Function Calling | | | P3 | -| /docs/sdk/knowledgebase/ | Knowledge Base | | | P3 | -| /docs/sdk/annotation-queues/ | Annotation Queues | | | P3 | - ---- - -## Observe, Optimization, Prompt, Protect, Prototype, Simulation (selected) - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/observe/ | Observe Overview | | | P1 | -| /docs/observe/features/quickstart/ | Set Up Observability | | | P1 | -| /docs/observe/features/alerts/ | Alerts and Monitors | | | P2 | -| /docs/observe/features/evals/ | Run Evals on Traces | | | P2 | -| /docs/observe/features/session/ | Group Traces by Session | | | P2 | -| /docs/observe/features/users/ | User Dashboard | | | P2 | -| /docs/observe/voice/ | Voice Observability | | | P2 | -| /docs/observe/features/dashboard/ | Dashboards | | | P3 | -| /docs/observe/features/manual-tracing/set-up-tracing/ | Set Up Tracing | | | P3 | -| /docs/observe/features/manual-tracing/in-line-evals/ | In-line Evaluations | | | P3 | -| /docs/optimization/ | Optimization Overview | | | P1 | -| /docs/optimization/features/using-platform/ | Using the Platform | | | P2 | -| /docs/optimization/features/using-python-sdk/ | Using the Python SDK | | | P2 | -| /docs/optimization/optimizers/gepa/ | GEPA Optimizer | | | P3 | -| /docs/optimization/optimizers/protegi/ | ProTeGi Optimizer | | | P3 | -| /docs/optimization/optimizers/promptwizard/ | PromptWizard Optimizer | | | P3 | -| /docs/prompt/ | Prompt Overview | | | P1 | -| /docs/prompt/features/create-from-scratch/ | Create Prompt from Scratch | | | P2 | -| /docs/prompt/features/sdk/ | Prompt Workbench Using SDK | | | P2 | -| /docs/protect/ | Protect Overview | | | P1 | -| /docs/protect/features/run-protect/ | Run Protect via SDK | | | P2 | -| /docs/prototype/ | Prototype Overview | | | P1 | -| /docs/prototype/features/set-up-prototype/ | Set Up Prototype | | | P2 | -| /docs/prototype/features/choose-winner/ | Choose Winner | | | P2 | -| /docs/simulation/ | Simulation Overview | | | P1 | -| /docs/simulation/features/run-simulation/ | Run Voice Simulation | | | P2 | -| /docs/simulation/features/fix-my-agent/ | Fix My Agent | | | P2 | -| /docs/simulation/features/prompt-simulation/ | Prompt Simulation | | | P2 | -| /docs/knowledge-base/ | Knowledge Base Overview | | | P2 | - ---- - -## API Reference (top pages only — full list in url-inventory.md) - -| URL | Title | Monthly Visits (fill in) | Position (fill in) | Priority | -|-----|-------|--------------------------|-------------------|----------| -| /docs/api/ | API Reference | | | P2 | -| /docs/api/annotations/items/add-items/ | Add Items | | | P4 | -| /docs/api/annotations/queues/create-queue/ | Create Queue | | | P4 | -| /docs/api/datasets/create-dataset/ | Create Dataset | | | P4 | -| /docs/api/eval-groups/createevalgroup/ | Create Eval Group | | | P4 | -| /docs/api/run-tests/createruntest/ | Create Run Test | | | P4 | -| /docs/api/health/healthcheck/ | Health Check | | | P4 | diff --git a/claude-project-setup/url-inventory.md b/claude-project-setup/url-inventory.md deleted file mode 100644 index 0607df02..00000000 --- a/claude-project-setup/url-inventory.md +++ /dev/null @@ -1,730 +0,0 @@ -# URL Inventory - -**Total pages: 605** -Base URL: `https://docs.futureagi.com` -File location: `src/pages/docs/` - -Note: `[AUTO-GEN]` marks pages that appear to be generated from OpenAPI specs or structured data rather than hand-authored. API endpoint pages follow a programmatic naming pattern consistent with code generation. - ---- - -## Root Level (7 pages) - -- `/docs/` — Overview -- `/docs/faq/` — FAQs -- `/docs/installation/` — Installation -- `/docs/release-notes/` — Release Notes -- `/docs/roles-and-permissions/` — Roles & Permissions -- `/docs/self-hosting/` — Self-Hosting -- `/docs/admin-settings/` — (redirect stub — see Admin Settings section) - ---- - -## Admin Settings (10 pages) - -- `/docs/admin-settings/` — Admin & Settings -- `/docs/admin-settings/ai-providers/` — AI Providers -- `/docs/admin-settings/api-keys/` — API Keys -- `/docs/admin-settings/billing-pricing/` — Billing & Pricing -- `/docs/admin-settings/integrations/` — Integrations -- `/docs/admin-settings/organization-settings/` — Organization Settings -- `/docs/admin-settings/profile-security/` — Profile & Security -- `/docs/admin-settings/usage-summary/` — Usage Summary -- `/docs/admin-settings/user-management/` — User Management -- `/docs/admin-settings/workspace-management/` — Workspace Management - ---- - -## Agent Playground (6 pages) - -- `/docs/agent-playground/` — Overview -- `/docs/agent-playground/concepts/understanding-agent-playground/` — Understanding Agent Playground -- `/docs/agent-playground/concepts/versions-and-execution/` — Versions & Execution -- `/docs/agent-playground/features/build-workflow/` — Build a Workflow -- `/docs/agent-playground/features/create-graph/` — Create a Graph -- `/docs/agent-playground/features/run-and-monitor/` — Run & Monitor - ---- - -## Annotations (13 pages) - -- `/docs/annotations/` — Annotations -- `/docs/annotations/quickstart/` — Quickstart -- `/docs/annotations/concepts/scores/` — Scores -- `/docs/annotations/features/add-items/` — Add Items to Queues -- `/docs/annotations/features/analytics/` — Analytics & Agreement -- `/docs/annotations/features/annotate/` — Annotate Items -- `/docs/annotations/features/automation/` — Automation Rules -- `/docs/annotations/features/export/` — Export Annotations -- `/docs/annotations/features/inline/` — Inline Annotations -- `/docs/annotations/features/labels/` — Labels -- `/docs/annotations/features/queues/` — Queues -- `/docs/annotations/sdk/javascript/` — JavaScript SDK -- `/docs/annotations/sdk/python/` — Python SDK - ---- - -## API Reference (177 pages) `[AUTO-GEN]` - -Most of these pages are auto-generated from API endpoint definitions. The naming pattern (camelCase endpoint names) and component usage (`<ApiPlayground>`, `<ParamField>`, `<ResponseField>`) are consistent with code generation. - -- `/docs/api/` — API Reference - -### Agent Definitions -- `/docs/api/agent-definitions/createagentdefinition/` — Create Agent Definition `[AUTO-GEN]` -- `/docs/api/agent-definitions/deleteagentdefinition/` — Delete Agent Definition `[AUTO-GEN]` -- `/docs/api/agent-definitions/fetchassistantid/` — Fetch Assistant ID `[AUTO-GEN]` -- `/docs/api/agent-definitions/getagentdefinition/` — Get Agent Definition `[AUTO-GEN]` -- `/docs/api/agent-definitions/listagentdefinitions/` — List Agent Definitions `[AUTO-GEN]` - -### Agent Versions -- `/docs/api/agent-versions/createagentversion/` — Create Agent Version `[AUTO-GEN]` -- `/docs/api/agent-versions/getagentversion/` — Get Agent Version `[AUTO-GEN]` -- `/docs/api/agent-versions/getagentversioncallexecutions/` — Get Agent Version Call Executions `[AUTO-GEN]` -- `/docs/api/agent-versions/getagentversionevalsummary/` — Get Agent Version Eval Summary `[AUTO-GEN]` -- `/docs/api/agent-versions/listagentversions/` — List Agent Versions `[AUTO-GEN]` - -### Annotations — Bulk -- `/docs/api/annotations/bulk/bulk-annotate-spans/` — Bulk Annotate Spans `[AUTO-GEN]` - -### Annotations — Items -- `/docs/api/annotations/items/add-items/` — Add Items `[AUTO-GEN]` -- `/docs/api/annotations/items/assign-items/` — Assign Items `[AUTO-GEN]` -- `/docs/api/annotations/items/bulk-remove-items/` — Bulk Remove Items `[AUTO-GEN]` -- `/docs/api/annotations/items/complete-item/` — Complete Item `[AUTO-GEN]` -- `/docs/api/annotations/items/get-annotate-detail/` — Get Annotate Detail `[AUTO-GEN]` -- `/docs/api/annotations/items/get-item-annotations/` — Get Item Annotations `[AUTO-GEN]` -- `/docs/api/annotations/items/get-next-item/` — Get Next Item `[AUTO-GEN]` -- `/docs/api/annotations/items/list-items/` — List Items `[AUTO-GEN]` -- `/docs/api/annotations/items/release-item/` — Release Item `[AUTO-GEN]` -- `/docs/api/annotations/items/skip-item/` — Skip Item `[AUTO-GEN]` -- `/docs/api/annotations/items/submit-annotations/` — Submit Annotations `[AUTO-GEN]` - -### Annotations — Labels -- `/docs/api/annotations/labels/create-label/` — Create Label `[AUTO-GEN]` -- `/docs/api/annotations/labels/delete-label/` — Delete Label `[AUTO-GEN]` -- `/docs/api/annotations/labels/get-label/` — Get Label `[AUTO-GEN]` -- `/docs/api/annotations/labels/list-labels/` — List Labels `[AUTO-GEN]` -- `/docs/api/annotations/labels/restore-label/` — Restore Label `[AUTO-GEN]` -- `/docs/api/annotations/labels/update-label/` — Update Label `[AUTO-GEN]` - -### Annotations — Queues -- `/docs/api/annotations/queues/add-label/` — Add Label to Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/create-queue/` — Create Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/delete-queue/` — Delete Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/export/` — Export Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/export-to-dataset/` — Export Queue to Dataset `[AUTO-GEN]` -- `/docs/api/annotations/queues/find-queues-for-source/` — Find Queues for Source `[AUTO-GEN]` -- `/docs/api/annotations/queues/get-agreement/` — Get Queue Agreement `[AUTO-GEN]` -- `/docs/api/annotations/queues/get-analytics/` — Get Queue Analytics `[AUTO-GEN]` -- `/docs/api/annotations/queues/get-or-create-default/` — Get or Create Default Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/get-progress/` — Get Queue Progress `[AUTO-GEN]` -- `/docs/api/annotations/queues/get-queue/` — Get Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/list-queues/` — List Queues `[AUTO-GEN]` -- `/docs/api/annotations/queues/remove-label/` — Remove Label from Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/update-queue/` — Update Queue `[AUTO-GEN]` -- `/docs/api/annotations/queues/update-status/` — Update Queue Status `[AUTO-GEN]` - -### Annotations — Scores -- `/docs/api/annotations/scores/bulk-create-scores/` — Bulk Create Scores `[AUTO-GEN]` -- `/docs/api/annotations/scores/create-score/` — Create Score `[AUTO-GEN]` -- `/docs/api/annotations/scores/delete-score/` — Delete Score `[AUTO-GEN]` -- `/docs/api/annotations/scores/get-scores-for-source/` — Get Scores for Source `[AUTO-GEN]` -- `/docs/api/annotations/scores/list-scores/` — List Scores `[AUTO-GEN]` - -### Datasets (API) -- `/docs/api/datasets/create-dataset/` — Create Dataset `[AUTO-GEN]` -- `/docs/api/datasets/upload-dataset/` — Upload Dataset `[AUTO-GEN]` -- (Additional dataset API endpoints — TODO: enumerate from src/pages/docs/api/datasets/) - -### Eval Groups -- `/docs/api/eval-groups/applyevalgroup/` — Apply Eval Group `[AUTO-GEN]` -- `/docs/api/eval-groups/createevalgroup/` — Create Eval Group `[AUTO-GEN]` -- `/docs/api/eval-groups/deleteevalgroup/` — Delete Eval Group `[AUTO-GEN]` -- `/docs/api/eval-groups/editevallist/` — Edit Eval List `[AUTO-GEN]` -- `/docs/api/eval-groups/listevalgroups/` — List Eval Groups `[AUTO-GEN]` -- `/docs/api/eval-groups/retrieveevalgroup/` — Retrieve Eval Group `[AUTO-GEN]` -- `/docs/api/eval-groups/updateevalgroup/` — Update Eval Group `[AUTO-GEN]` - -### Other API endpoints -- `/docs/api/eval-logs-metrics/getevallogdetails/` — Get Eval Log Details `[AUTO-GEN]` -- `/docs/api/evals-list/getevalslist/` — Get Evals List `[AUTO-GEN]` -- `/docs/api/health/healthcheck/` — Health Check `[AUTO-GEN]` -- `/docs/api/run-tests/createruntest/` — Create Run Test `[AUTO-GEN]` -- `/docs/api/run-tests/executeruntest/` — Execute Run Test `[AUTO-GEN]` -- `/docs/api/scenarios/addemptyrowstodataset/` — Add Empty Rows to Dataset `[AUTO-GEN]` -- `/docs/api/scenarios/addscenariorowswithai/` — Add Scenario Rows with AI `[AUTO-GEN]` -- `/docs/api/scenarios/createscenario/` — Create Scenario `[AUTO-GEN]` -- `/docs/api/scenarios/editscenario/` — Edit Scenario `[AUTO-GEN]` - ---- - -## Agent Command Center (32 pages) - -_Note: The legacy product name was "Prism AI Gateway". URLs migrated from `/docs/prism/*` → `/docs/command-center/*`. The committed sitemap.xml still shows prism URLs — the build-generated sitemap should show command-center URLs after next build._ - -- `/docs/command-center/` — Agent Command Center -- `/docs/command-center/quickstart/` — Quickstart - -### API -- `/docs/command-center/api/assistants/` — Assistants API -- `/docs/command-center/api/async-batch/` — Async & Batch -- `/docs/command-center/api/chat/` — Chat Completions -- `/docs/command-center/api/embeddings/` — Embeddings & Reranking -- `/docs/command-center/api/endpoints/` — Endpoints Overview -- `/docs/command-center/api/files/` — Files & Vector Stores -- `/docs/command-center/api/headers/` — Request & Response Headers -- `/docs/command-center/api/media/` — Media Endpoints - -### Admin -- `/docs/command-center/admin/organizations/` — Organization Management - -### Concepts -- `/docs/command-center/concepts/api-reference/` — API Reference -- `/docs/command-center/concepts/configuration/` — Configuration -- `/docs/command-center/concepts/core/` — How It Works -- `/docs/command-center/concepts/platform-integration/` — Platform Integration -- `/docs/command-center/concepts/virtual-keys/` — Virtual Keys & Access Control - -### Deployment -- `/docs/command-center/deployment/self-hosted/` — Self-Hosted Deployment - -### Features -- `/docs/command-center/features/caching/` — Caching -- `/docs/command-center/features/cost-tracking/` — Cost Tracking -- `/docs/command-center/features/custom-properties/` — Custom Properties -- `/docs/command-center/features/guardrails/` — Guardrails -- `/docs/command-center/features/mcp-a2a/` — MCP & A2A -- `/docs/command-center/features/observability/` — Observability -- `/docs/command-center/features/providers/` — Supported Providers -- `/docs/command-center/features/rate-limiting/` — Rate Limiting & Budgets -- `/docs/command-center/features/routing/` — Routing & Reliability -- `/docs/command-center/features/self-hosted-models/` — Self-Hosted Models -- `/docs/command-center/features/shadow-experiments/` — Shadow Experiments -- `/docs/command-center/features/streaming/` — Streaming -- `/docs/command-center/features/webhooks/` — Webhooks - -### Guides -- `/docs/command-center/guides/errors/` — Error Handling -- `/docs/command-center/guides/troubleshooting/` — Troubleshooting - ---- - -## Cookbook (52 pages) - -- `/docs/cookbook/` — Cookbook -- `/docs/cookbook/ai-agents/` — AI Agents -- `/docs/cookbook/ai-sdr/` — AI SDR -- `/docs/cookbook/basic-optimization/` — Basic Optimization -- `/docs/cookbook/chat-simulation-fix-agent/` — Chat Simulation Fix Agent -- `/docs/cookbook/compare-optimization/` — Compare Optimization -- `/docs/cookbook/crewai-research-team/` — CrewAI Research Team -- `/docs/cookbook/decrease-hallucination/` — Decrease Hallucination -- `/docs/cookbook/end-to-end-optimization/` — End-to-End Optimization -- `/docs/cookbook/error-feed/google-adk-multi-agent/` — Google ADK Multi-Agent (Error Feed) -- `/docs/cookbook/eval-metrics-optimization/` — Eval Metrics Optimization -- `/docs/cookbook/evaluate-rag/` — Evaluate RAG -- `/docs/cookbook/gepa-optimization/` — GEPA Optimization -- `/docs/cookbook/image-evaluation/` — Image Evaluation -- `/docs/cookbook/import-datasets/` — Import Datasets -- `/docs/cookbook/langchain-langgraph/` — LangChain & LangGraph -- `/docs/cookbook/llamaindex-pdf-rag/` — LlamaIndex PDF RAG -- `/docs/cookbook/meeting-summarization/` — Meeting Summarization -- `/docs/cookbook/mongodb/` — MongoDB -- `/docs/cookbook/observability/` — Observability -- `/docs/cookbook/portkey-integration/` — Portkey Integration -- `/docs/cookbook/rag-langchain/` — RAG with LangChain -- `/docs/cookbook/simulate-sdk/` — Simulate SDK -- `/docs/cookbook/text-to-sql/` — Text-to-SQL -- `/docs/cookbook/trustworthy-rag/` — Trustworthy RAG -- `/docs/cookbook/using-futureagi-dataset/` — Using Future AGI Dataset -- `/docs/cookbook/using-futureagi-evals/` — Using Future AGI Evals -- `/docs/cookbook/using-futureagi-kb/` — Using Future AGI Knowledge Base -- `/docs/cookbook/using-futureagi-protect/` — Using Future AGI Protect - -### Quickstart recipes -- `/docs/cookbook/quickstart/agent-compass-debug/` — Agent Compass Debug -- `/docs/cookbook/quickstart/async-batch-eval/` — Async Batch Eval -- `/docs/cookbook/quickstart/batch-eval/` — Batch Eval -- `/docs/cookbook/quickstart/chat-simulation-personas/` — Chat Simulation Personas -- `/docs/cookbook/quickstart/cicd-eval-pipeline/` — CI/CD Eval Pipeline -- `/docs/cookbook/quickstart/compare-optimizers/` — Compare Optimizers -- `/docs/cookbook/quickstart/conversation-eval/` — Conversation Eval -- `/docs/cookbook/quickstart/custom-eval-metrics/` — Custom Eval Metrics -- `/docs/cookbook/quickstart/dataset-annotation/` — Dataset Annotation -- `/docs/cookbook/quickstart/dataset-management/` — Dataset Management -- `/docs/cookbook/quickstart/dataset-optimization/` — Dataset Optimization -- `/docs/cookbook/quickstart/distributed-tracing/` — Distributed Tracing -- `/docs/cookbook/quickstart/dynamic-dataset-columns/` — Dynamic Dataset Columns -- `/docs/cookbook/quickstart/eval-driven-dev/` — Eval-Driven Development -- `/docs/cookbook/quickstart/experimentation-compare-prompts/` — Experimentation: Compare Prompts -- `/docs/cookbook/quickstart/first-eval/` — First Eval -- `/docs/cookbook/quickstart/hallucination-detection/` — Hallucination Detection -- `/docs/cookbook/quickstart/huggingface-dataset-import/` — HuggingFace Dataset Import -- `/docs/cookbook/quickstart/inline-evals-tracing/` — Inline Evals & Tracing -- `/docs/cookbook/quickstart/knowledge-base/` — Knowledge Base -- `/docs/cookbook/quickstart/manual-tracing/` — Manual Tracing -- `/docs/cookbook/quickstart/monitoring-alerts/` — Monitoring Alerts -- `/docs/cookbook/quickstart/multimodal-eval/` — Multimodal Eval -- `/docs/cookbook/quickstart/prompt-optimization/` — Prompt Optimization -- `/docs/cookbook/quickstart/prompt-versioning/` — Prompt Versioning -- `/docs/cookbook/quickstart/prompt-workbench-simulation/` — Prompt Workbench Simulation -- `/docs/cookbook/quickstart/protect-guardrails/` — Protect Guardrails -- `/docs/cookbook/quickstart/prototype-llm-app/` — Prototype LLM App -- `/docs/cookbook/quickstart/rag-evaluation/` — RAG Evaluation -- `/docs/cookbook/quickstart/session-observability/` — Session Observability -- `/docs/cookbook/quickstart/synthetic-data-generation/` — Synthetic Data Generation -- `/docs/cookbook/quickstart/text-to-sql-eval/` — Text-to-SQL Eval -- `/docs/cookbook/quickstart/tone-toxicity-bias-eval/` — Tone, Toxicity & Bias Eval -- `/docs/cookbook/quickstart/tool-calling-simulation/` — Tool Calling Simulation -- `/docs/cookbook/quickstart/voice-simulation/` — Voice Simulation - ---- - -## Dataset (11 pages) - -- `/docs/dataset/` — Overview -- `/docs/dataset/concept/dynamic-column/` — Dynamic Columns -- `/docs/dataset/concept/static-column/` — Static Columns -- `/docs/dataset/concept/synthetic-data/` — Synthetic Data -- `/docs/dataset/concept/understanding-dataset/` — Understanding Datasets -- `/docs/dataset/features/add-columns/` — Add Columns to Dataset -- `/docs/dataset/features/add-rows/` — Add Rows to Dataset -- `/docs/dataset/features/annotate/` — Add Annotations -- `/docs/dataset/features/create/` — Create New Dataset -- `/docs/dataset/features/experiments/` — Experiments in Dataset -- `/docs/dataset/features/run-prompt/` — Run Prompt in Dataset - ---- - -## Error Feed (15 pages) - -- `/docs/error-feed/` — Error Feed -- `/docs/error-feed/concepts/how-it-works/` — How Error Feed Works -- `/docs/error-feed/concepts/scoring/` — Scoring -- `/docs/error-feed/concepts/severity-and-status/` — Severity and Status -- `/docs/error-feed/concepts/taxonomy/` — Error Taxonomy -- `/docs/error-feed/features/deep-analysis/` — Deep Analysis -- `/docs/error-feed/features/issue-overview/` — Issue Overview -- `/docs/error-feed/features/linear-integration/` — Linear Integration -- `/docs/error-feed/features/metadata-panel/` — Metadata Panel -- `/docs/error-feed/features/sampling/` — Sampling -- `/docs/error-feed/features/state-graph/` — State Graph -- `/docs/error-feed/features/the-feed/` — The Feed -- `/docs/error-feed/features/traces/` — Traces Tab -- `/docs/error-feed/features/trends/` — Trends -- `/docs/error-feed/features/triage-workflow/` — Triage Workflow - ---- - -## Evaluation (132 pages) - -- `/docs/evaluation/` — Overview - -### Built-in Evals (80 pages) - -- `/docs/evaluation/builtin/` — Built-in Evaluations -- `/docs/evaluation/builtin/answer-refusal/` — Answer Refusal -- `/docs/evaluation/builtin/audio-quality/` — Audio Quality -- `/docs/evaluation/builtin/audio-transcription/` — Audio Transcription -- `/docs/evaluation/builtin/bias-detection/` — Bias Detection -- `/docs/evaluation/builtin/bleu/` — BLEU Score -- `/docs/evaluation/builtin/caption-hallucination/` — Caption Hallucination -- `/docs/evaluation/builtin/chunk-attribution/` — Chunk Attribution -- `/docs/evaluation/builtin/chunk-utilization/` — Chunk Utilization -- `/docs/evaluation/builtin/clinically-inappropriate-tone/` — Clinically Inappropriate Tone -- `/docs/evaluation/builtin/clip-score/` — CLIP Score -- `/docs/evaluation/builtin/completeness/` — Completeness -- `/docs/evaluation/builtin/contain-evals/` — Contain Evals -- `/docs/evaluation/builtin/contains-valid-link/` — Contains Valid Link -- `/docs/evaluation/builtin/context-adherence/` — Context Adherence -- `/docs/evaluation/builtin/context-relevance/` — Context Relevance -- `/docs/evaluation/builtin/conversation-coherence/` — Conversation Coherence -- `/docs/evaluation/builtin/conversation-resolution/` — Conversation Resolution -- `/docs/evaluation/builtin/cultural-sensitivity/` — Cultural Sensitivity -- `/docs/evaluation/builtin/customer-agent-clarification-seeking/` — Customer Agent: Clarification Seeking -- `/docs/evaluation/builtin/customer-agent-context-retention/` — Customer Agent: Context Retention -- `/docs/evaluation/builtin/customer-agent-conversation-quality/` — Customer Agent: Conversation Quality -- `/docs/evaluation/builtin/customer-agent-human-escalation/` — Customer Agent: Human Escalation -- `/docs/evaluation/builtin/customer-agent-interruption-handling/` — Customer Agent: Interruption Handling -- `/docs/evaluation/builtin/customer-agent-language-handling/` — Customer Agent: Language Handling -- `/docs/evaluation/builtin/customer-agent-loop-detection/` — Customer Agent: Loop Detection -- `/docs/evaluation/builtin/customer-agent-objection-handling/` — Customer Agent: Objection Handling -- `/docs/evaluation/builtin/customer-agent-prompt-conformance/` — Customer Agent: Prompt Conformance -- `/docs/evaluation/builtin/customer-agent-query-handling/` — Customer Agent: Query Handling -- `/docs/evaluation/builtin/customer-agent-termination-handling/` — Customer Agent: Termination Handling -- `/docs/evaluation/builtin/data-privacy/` — Data Privacy -- `/docs/evaluation/builtin/detect-hallucination/` — Detect Hallucination -- `/docs/evaluation/builtin/embedding-similarity/` — Embedding Similarity -- `/docs/evaluation/builtin/eval-ranking/` — Eval Ranking -- `/docs/evaluation/builtin/fid-score/` — FID Score -- `/docs/evaluation/builtin/fuzzy-match/` — Fuzzy Match -- `/docs/evaluation/builtin/ground-truth-match/` — Ground Truth Match -- `/docs/evaluation/builtin/groundedness/` — Groundedness -- `/docs/evaluation/builtin/hit-rate/` — Hit Rate -- `/docs/evaluation/builtin/image-instruction-adherence/` — Image Instruction Adherence -- `/docs/evaluation/builtin/instruction-adherence/` — Instruction Adherence -- `/docs/evaluation/builtin/is-code/` — Is Code -- `/docs/evaluation/builtin/is-concise/` — Is Concise -- `/docs/evaluation/builtin/is-email/` — Is Email -- `/docs/evaluation/builtin/is-good-summary/` — Is Good Summary -- `/docs/evaluation/builtin/is-harmful-advice/` — Is Harmful Advice -- `/docs/evaluation/builtin/is-helpful/` — Is Helpful -- `/docs/evaluation/builtin/is-informal-tone/` — Is Informal Tone -- `/docs/evaluation/builtin/is-json/` — Is JSON -- `/docs/evaluation/builtin/is-polite/` — Is Polite -- `/docs/evaluation/builtin/lavenshtein-similarity/` — Levenshtein Similarity -- `/docs/evaluation/builtin/llm-function-calling/` — LLM Function Calling -- `/docs/evaluation/builtin/mrr/` — MRR -- `/docs/evaluation/builtin/ndcg-at-k/` — NDCG@K -- `/docs/evaluation/builtin/no-age-bias/` — No Age Bias -- `/docs/evaluation/builtin/no-apologies/` — No Apologies -- `/docs/evaluation/builtin/no-gender-bias/` — No Gender Bias -- `/docs/evaluation/builtin/no-harmful-therapeutic-guidance/` — No Harmful Therapeutic Guidance -- `/docs/evaluation/builtin/no-invalid-links/` — No Invalid Links -- `/docs/evaluation/builtin/no-llm-reference/` — No LLM Reference -- `/docs/evaluation/builtin/no-racial-bias/` — No Racial Bias -- `/docs/evaluation/builtin/numeric-similarity/` — Numeric Similarity -- `/docs/evaluation/builtin/ocr-evaluation/` — OCR Evaluation -- `/docs/evaluation/builtin/pii/` — PII Detection -- `/docs/evaluation/builtin/precision-at-k/` — Precision@K -- `/docs/evaluation/builtin/prompt-injection/` — Prompt Injection -- `/docs/evaluation/builtin/recall-at-k/` — Recall@K -- `/docs/evaluation/builtin/rouge/` — ROUGE Score -- `/docs/evaluation/builtin/semantic-list-contains/` — Semantic List Contains -- `/docs/evaluation/builtin/sexist/` — Sexist Content -- `/docs/evaluation/builtin/summary-quality/` — Summary Quality -- `/docs/evaluation/builtin/synthetic-image-evaluator/` — Synthetic Image Evaluator -- `/docs/evaluation/builtin/task-completion/` — Task Completion -- `/docs/evaluation/builtin/text-to-sql/` — Text-to-SQL Accuracy -- `/docs/evaluation/builtin/tone/` — Tone -- `/docs/evaluation/builtin/toxicity/` — Toxicity -- `/docs/evaluation/builtin/translation-accuracy/` — Translation Accuracy -- `/docs/evaluation/builtin/tts-accuracy/` — TTS Accuracy - -### Concepts -- `/docs/evaluation/concepts/eval-results/` — Eval Results -- `/docs/evaluation/concepts/eval-templates/` — Eval Templates -- `/docs/evaluation/concepts/eval-types/` — Eval Types -- `/docs/evaluation/concepts/judge-models/` — Judge Models -- `/docs/evaluation/concepts/understanding-evaluation/` — Understanding Evaluation - -### Features -- `/docs/evaluation/features/cicd/` — CI/CD Integration -- `/docs/evaluation/features/custom/` — Custom Evaluations -- `/docs/evaluation/features/custom-models/` — Custom Models -- `/docs/evaluation/features/evaluate/` — Evaluate via Platform & SDK -- `/docs/evaluation/features/futureagi-models/` — Future AGI Models -- `/docs/evaluation/features/groups/` — Eval Groups - ---- - -## Falcon AI (4 pages) - -- `/docs/falcon-ai/` — Falcon AI -- `/docs/falcon-ai/features/chat/` — Using Falcon AI -- `/docs/falcon-ai/features/mcp-connectors/` — MCP Connectors -- `/docs/falcon-ai/features/skills/` — Skill Builder - ---- - -## Integrations (48 pages) - -- `/docs/integrations/` — Integrations Overview -- `/docs/integrations/google-adk/` — Google ADK -- `/docs/integrations/google-genai/` — Google GenAI -- `/docs/integrations/openai-agents/` — OpenAI Agents -- `/docs/integrations/smol-agents/` — SmolAgents - -### Export -- `/docs/integrations/export/cloud-storage/` — Cloud Storage -- `/docs/integrations/export/datadog/` — Datadog -- `/docs/integrations/export/message-queues/` — Message Queues -- `/docs/integrations/export/mixpanel/` — Mixpanel -- `/docs/integrations/export/pagerduty/` — PagerDuty -- `/docs/integrations/export/posthog/` — PostHog - -### Import -- `/docs/integrations/import/langfuse/` — Langfuse - -### TraceAI -- `/docs/integrations/traceai/anthropic/` — Anthropic -- `/docs/integrations/traceai/autogen/` — AutoGen -- `/docs/integrations/traceai/bedrock/` — AWS Bedrock -- `/docs/integrations/traceai/crewai/` — CrewAI -- `/docs/integrations/traceai/dspy/` — DSPy -- `/docs/integrations/traceai/google_adk/` — Google ADK -- `/docs/integrations/traceai/google_genai/` — Google GenAI -- `/docs/integrations/traceai/groq/` — Groq -- `/docs/integrations/traceai/guardrails/` — Guardrails AI -- `/docs/integrations/traceai/haystack/` — Haystack -- `/docs/integrations/traceai/instructor/` — Instructor -- `/docs/integrations/traceai/langchain/` — LangChain -- `/docs/integrations/traceai/langgraph/` — LangGraph -- `/docs/integrations/traceai/litellm/` — LiteLLM -- `/docs/integrations/traceai/livekit/` — LiveKit -- `/docs/integrations/traceai/llamaindex/` — LlamaIndex -- `/docs/integrations/traceai/llamaindex-workflows/` — LlamaIndex Workflows -- `/docs/integrations/traceai/mastra/` — Mastra -- `/docs/integrations/traceai/mcp/` — MCP -- `/docs/integrations/traceai/mistralai/` — Mistral AI -- `/docs/integrations/traceai/n8n/` — n8n -- `/docs/integrations/traceai/ollama/` — Ollama -- `/docs/integrations/traceai/openai/` — OpenAI -- `/docs/integrations/traceai/openai_agents/` — OpenAI Agents SDK -- `/docs/integrations/traceai/pipecat/` — Pipecat -- `/docs/integrations/traceai/portkey/` — Portkey -- `/docs/integrations/traceai/promptflow/` — PromptFlow -- `/docs/integrations/traceai/smol_agents/` — SmolAgents -- `/docs/integrations/traceai/spring-boot/` — Spring Boot -- `/docs/integrations/traceai/togetherai/` — Together AI -- `/docs/integrations/traceai/vercel/` — Vercel AI SDK -- `/docs/integrations/traceai/vertexai/` — Vertex AI - -### Java (TraceAI) -- `/docs/integrations/traceai/java/` — Java Tracing Overview -- `/docs/integrations/traceai/java/anthropic/` — Java: Anthropic -- `/docs/integrations/traceai/java/bedrock/` — Java: AWS Bedrock -- `/docs/integrations/traceai/java/cohere/` — Java: Cohere -- `/docs/integrations/traceai/java/frameworks/` — Java: Frameworks -- `/docs/integrations/traceai/java/llm-providers/` — Java: LLM Providers -- `/docs/integrations/traceai/java/openai/` — Java: OpenAI -- `/docs/integrations/traceai/java/pinecone/` — Java: Pinecone -- `/docs/integrations/traceai/java/vector-databases/` — Java: Vector Databases - ---- - -## Knowledge Base (4 pages) - -- `/docs/knowledge-base/` — Overview -- `/docs/knowledge-base/concepts/concept/` — Understanding Knowledge Base -- `/docs/knowledge-base/features/sdk/` — Create a Knowledge Base using SDK -- `/docs/knowledge-base/features/ui/` — Create a Knowledge Base using UI - ---- - -## Observe (30 pages) - -- `/docs/observe/` — Overview -- `/docs/observe/features/quickstart/` — Set Up Observability -- `/docs/observe/features/alerts/` — Alerts and Monitors -- `/docs/observe/features/dashboard/` — Dashboards -- `/docs/observe/features/evals/` — Run Evals on Traces -- `/docs/observe/features/session/` — Group Traces by Session -- `/docs/observe/features/users/` — User Dashboard -- `/docs/observe/voice/` — Voice Observability -- `/docs/observe/voice/set-up/` — Set Up Voice Observability - -### Manual Tracing -- `/docs/observe/features/manual-tracing/add-attributes-metadata-tags/` — Enriching Spans with Attributes, Metadata, and Tags -- `/docs/observe/features/manual-tracing/add-events-exceptions-status/` — Integrate Events, Exceptions, and Status into Spans -- `/docs/observe/features/manual-tracing/advanced-tracing-examples/` — Advanced Tracing (OTEL) -- `/docs/observe/features/manual-tracing/annotating-using-api/` — Adding Annotations to Your Spans -- `/docs/observe/features/manual-tracing/create-tool-spans/` — Tool Spans Creation -- `/docs/observe/features/manual-tracing/get-current-span-context/` — Get Current Tracer and Span -- `/docs/observe/features/manual-tracing/in-line-evals/` — In-line Evaluations -- `/docs/observe/features/manual-tracing/instrument-with-traceai-helpers/` — Instrument with TraceAI Helpers -- `/docs/observe/features/manual-tracing/langfuse-integration/` — Langfuse Integration -- `/docs/observe/features/manual-tracing/log-prompt-templates/` — Logging Prompt Templates & Variables -- `/docs/observe/features/manual-tracing/mask-span-attributes/` — Mask Span Attributes -- `/docs/observe/features/manual-tracing/semantic-conventions/` — FI Semantic Conventions -- `/docs/observe/features/manual-tracing/set-session-user-id/` — Set Session ID and User ID -- `/docs/observe/features/manual-tracing/set-up-tracing/` — Set Up Tracing -- `/docs/observe/features/annotation-queue-using-sdk/` — Annotation Queue Using SDK - ---- - -## Optimization (10 pages) - -- `/docs/optimization/` — Overview -- `/docs/optimization/concepts/concept/` — Understanding Optimization -- `/docs/optimization/features/using-platform/` — Using the Platform -- `/docs/optimization/features/using-python-sdk/` — Using the Python SDK -- `/docs/optimization/optimizers/bayesian-search/` — Bayesian Search Optimizer -- `/docs/optimization/optimizers/gepa/` — GEPA: Evolutionary Prompt Optimization -- `/docs/optimization/optimizers/meta-prompt/` — Meta-Prompt Optimizer -- `/docs/optimization/optimizers/promptwizard/` — PromptWizard Optimizer -- `/docs/optimization/optimizers/protegi/` — ProTeGi Optimizer -- `/docs/optimization/optimizers/random-search/` — Random Search Optimizer - ---- - -## Prompt (10 pages) - -- `/docs/prompt/` — Overview -- `/docs/prompt/concepts/prompt-engineering/` — Prompt Engineering -- `/docs/prompt/concepts/understanding-prompts/` — Understanding Prompts -- `/docs/prompt/concepts/versions-and-labels/` — Versions and Labels -- `/docs/prompt/features/create-from-scratch/` — Create Prompt from Scratch -- `/docs/prompt/features/create-from-template/` — Create Prompt from Existing Template -- `/docs/prompt/features/create-with-ai/` — Create Prompt with AI -- `/docs/prompt/features/folders/` — Manage Prompt Folders -- `/docs/prompt/features/linked-traces/` — Linked Traces -- `/docs/prompt/features/sdk/` — Prompt Workbench Using SDK - ---- - -## Protect (3 pages) - -- `/docs/protect/` — Overview -- `/docs/protect/concepts/concept/` — Use Cases -- `/docs/protect/features/run-protect/` — Run Protect via SDK - ---- - -## Prototype (6 pages) - -- `/docs/prototype/` — Overview -- `/docs/prototype/concepts/understanding-prototype/` — Understanding Prototype -- `/docs/prototype/concepts/versions-and-runs/` — Versions and Runs -- `/docs/prototype/features/choose-winner/` — Choose Winner -- `/docs/prototype/features/evals/` — Configure Evals for Prototype -- `/docs/prototype/features/set-up-prototype/` — Set Up Prototype - ---- - -## Quickstart (7 pages) - -- `/docs/quickstart/generate-synthetic-data/` — Generate Synthetic Data -- `/docs/quickstart/prompts/` — Create Prompts -- `/docs/quickstart/running-evals-in-simulation/` — Running Evals in Simulation -- `/docs/quickstart/setup-mcp-server/` — Setup MCP Server -- `/docs/quickstart/setup-observability/` — Setup Observability -- `/docs/quickstart/annotations/` — Quickstart (Annotations) -- `/docs/quickstart/command-center-gateway/` — Quickstart (Agent Command Center) - ---- - -## SDK (28 pages) - -- `/docs/sdk/` — SDKs -- `/docs/sdk/annotation-queues/` — Annotation Queues -- `/docs/sdk/datasets/` — Datasets -- `/docs/sdk/knowledgebase/` — Knowledge Base -- `/docs/sdk/optimization/` — Prompt Optimization -- `/docs/sdk/protect/` — Protect -- `/docs/sdk/simulate/` — Simulation Testing -- `/docs/sdk/testcase/` — Test Case -- `/docs/sdk/tracing/` — Tracing - -### Evals -- `/docs/sdk/evals/` — Evaluations -- `/docs/sdk/evals/autoeval/` — AutoEval -- `/docs/sdk/evals/cloud-evals/` — Cloud Evals -- `/docs/sdk/evals/code-security/` — Code Security -- `/docs/sdk/evals/distributed/` — Distributed Evaluator -- `/docs/sdk/evals/evaluate/` — Running Evaluations -- `/docs/sdk/evals/feedback/` — Feedback Loops -- `/docs/sdk/evals/guardrails-module/` — Guardrails -- `/docs/sdk/evals/llm-judge/` — LLM-as-Judge -- `/docs/sdk/evals/local/` — Local & Hybrid Evaluation -- `/docs/sdk/evals/otel/` — OpenTelemetry Integration -- `/docs/sdk/evals/streaming/` — Streaming Evaluation -- `/docs/sdk/evals/metrics/` — Metrics Reference -- `/docs/sdk/evals/metrics/agents/` — Agents & Function Calling -- `/docs/sdk/evals/metrics/guardrails/` — Guardrails Metrics -- `/docs/sdk/evals/metrics/hallucination/` — Hallucination Detection -- `/docs/sdk/evals/metrics/json/` — JSON & Structured Output -- `/docs/sdk/evals/metrics/rag/` — RAG Metrics -- `/docs/sdk/evals/metrics/string/` — String & Similarity - ---- - -## Simulation (13 pages) - -- `/docs/simulation/` — Overview -- `/docs/simulation/concepts/agent-definition/` — Agent Definition -- `/docs/simulation/concepts/global-nodes/` — Global Nodes -- `/docs/simulation/concepts/personas/` — Personas -- `/docs/simulation/concepts/scenarios/` — Scenarios -- `/docs/simulation/features/evaluate-tool-calling/` — Evaluate Tool Calling -- `/docs/simulation/features/fix-my-agent/` — Fix My Agent -- `/docs/simulation/features/observe-to-simulate/` — Replay -- `/docs/simulation/features/prompt-simulation/` — Prompt Simulation -- `/docs/simulation/features/run-simulation/` — Run Voice Simulation -- `/docs/simulation/features/simulation-using-sdk/` — Chat Simulation Using SDK -- `/docs/simulation/features/view-results/` — View Results -- `/docs/simulation/features/voice-replay/` — Voice Replay - ---- - -## Tracing (64 pages) - -- `/docs/tracing/` — Tracing Overview -- `/docs/tracing/concepts/` — Concepts -- `/docs/tracing/concepts/components/` — Components -- `/docs/tracing/concepts/otel/` — OpenTelemetry -- `/docs/tracing/concepts/spans/` — Spans -- `/docs/tracing/concepts/traceai/` — TraceAI -- `/docs/tracing/concepts/traces/` — Traces - -### Auto-Instrumentation -- `/docs/tracing/auto/` — Auto-Instrumentation Overview -- `/docs/tracing/auto/anthropic/` — Anthropic -- `/docs/tracing/auto/autogen/` — AutoGen -- `/docs/tracing/auto/bedrock/` — AWS Bedrock -- `/docs/tracing/auto/crewai/` — CrewAI -- `/docs/tracing/auto/dspy/` — DSPy -- `/docs/tracing/auto/google_adk/` — Google ADK -- `/docs/tracing/auto/google_genai/` — Google GenAI -- `/docs/tracing/auto/groq/` — Groq -- `/docs/tracing/auto/guardrails/` — Guardrails AI -- `/docs/tracing/auto/haystack/` — Haystack -- `/docs/tracing/auto/instructor/` — Instructor -- `/docs/tracing/auto/langchain/` — LangChain -- `/docs/tracing/auto/langgraph/` — LangGraph -- `/docs/tracing/auto/litellm/` — LiteLLM -- `/docs/tracing/auto/livekit/` — LiveKit -- `/docs/tracing/auto/llamaindex/` — LlamaIndex -- `/docs/tracing/auto/llamaindex-workflows/` — LlamaIndex Workflows -- `/docs/tracing/auto/mastra/` — Mastra -- `/docs/tracing/auto/mcp/` — MCP -- `/docs/tracing/auto/mistralai/` — Mistral AI -- `/docs/tracing/auto/ollama/` — Ollama -- `/docs/tracing/auto/openai/` — OpenAI -- `/docs/tracing/auto/openai_agents/` — OpenAI Agents SDK -- `/docs/tracing/auto/pipecat/` — Pipecat -- `/docs/tracing/auto/portkey/` — Portkey -- `/docs/tracing/auto/promptflow/` — PromptFlow -- `/docs/tracing/auto/smol_agents/` — SmolAgents -- `/docs/tracing/auto/spring-boot/` — Spring Boot -- `/docs/tracing/auto/togetherai/` — Together AI -- `/docs/tracing/auto/vercel/` — Vercel AI SDK -- `/docs/tracing/auto/vertexai/` — Vertex AI - -### Java (Tracing) -- `/docs/tracing/auto/java/` — Java Tracing Overview -- `/docs/tracing/auto/java/anthropic/` — Java: Anthropic -- `/docs/tracing/auto/java/bedrock/` — Java: AWS Bedrock -- `/docs/tracing/auto/java/cohere/` — Java: Cohere -- `/docs/tracing/auto/java/frameworks/` — Java: Frameworks -- `/docs/tracing/auto/java/llm-providers/` — Java: LLM Providers -- `/docs/tracing/auto/java/openai/` — Java: OpenAI -- `/docs/tracing/auto/java/pinecone/` — Java: Pinecone -- `/docs/tracing/auto/java/vector-databases/` — Java: Vector Databases - -### Manual Tracing -- `/docs/tracing/manual/add-attributes-metadata-tags/` — Add Attributes, Metadata, and Tags -- `/docs/tracing/manual/add-events-exceptions-status/` — Add Events, Exceptions, and Status -- `/docs/tracing/manual/advanced-tracing-examples/` — Advanced Tracing Examples -- `/docs/tracing/manual/annotating-using-api/` — Annotating Using API -- `/docs/tracing/manual/create-tool-spans/` — Create Tool Spans -- `/docs/tracing/manual/get-current-span-context/` — Get Current Span Context -- `/docs/tracing/manual/in-line-evals/` — In-line Evaluations -- `/docs/tracing/manual/instrument-with-traceai-helpers/` — Instrument with TraceAI Helpers -- `/docs/tracing/manual/langfuse-integration/` — Langfuse Integration -- `/docs/tracing/manual/log-prompt-templates/` — Log Prompt Templates -- `/docs/tracing/manual/mask-span-attributes/` — Mask Span Attributes -- `/docs/tracing/manual/semantic-conventions/` — Semantic Conventions -- `/docs/tracing/manual/set-session-user-id/` — Set Session ID and User ID -- `/docs/tracing/manual/set-up-tracing/` — Set Up Tracing - ---- - -## Notes - -1. The `/docs/tracing/` and `/docs/observe/features/manual-tracing/` sections have overlapping content — many pages appear to exist at both paths. This is likely a migration in progress (observe is the product surface, tracing is the SDK reference). Canonical tags should be audited on these pages. - -2. The API section at `/docs/api/` (177 pages) was enumerated from the inventory agent. The complete list of all endpoint pages wasn't fully enumerated above due to the nested structure. TODO: run `Get-ChildItem -Path src/pages/docs/api -Recurse -Filter "*.mdx"` to get the full flat list. - -3. Several cookbook pages may not have standardized frontmatter titles — their file names are the best guide to their content. diff --git a/packages/chat-widget/index.js b/packages/chat-widget/index.js deleted file mode 100644 index 48da7249..00000000 --- a/packages/chat-widget/index.js +++ /dev/null @@ -1 +0,0 @@ -export function ChatSidebar() { return null; } diff --git a/packages/chat-widget/package.json b/packages/chat-widget/package.json deleted file mode 100644 index b4d90ac2..00000000 --- a/packages/chat-widget/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@futureagi/chat-widget", - "version": "0.0.1", - "main": "index.js", - "exports": { - ".": "./index.js", - "./styles.css": "./styles.css" - } -} diff --git a/packages/chat-widget/styles.css b/packages/chat-widget/styles.css deleted file mode 100644 index ed538942..00000000 --- a/packages/chat-widget/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* stub */ diff --git a/scripts/aeo-audit.cjs b/scripts/aeo-audit.cjs deleted file mode 100644 index 3a81444a..00000000 --- a/scripts/aeo-audit.cjs +++ /dev/null @@ -1,364 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const ROOT = 'C:/Users/Shibu/docs'; -const DOCS_DIR = path.join(ROOT, 'src/pages/docs'); - -// ── Helpers ────────────────────────────────────────────────────────────────── - -function getAllMdx(dir) { - const results = []; - for (const entry of fs.readdirSync(dir)) { - const full = path.join(dir, entry); - if (fs.statSync(full).isDirectory()) results.push(...getAllMdx(full)); - else if (entry.endsWith('.mdx') || entry.endsWith('.md')) results.push(full); - } - return results; -} - -function parseFrontmatter(content) { - const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/); - if (!match) return { _raw: '' }; - const fm = { _raw: match[1] }; - const re = /^(\w+):\s*(?:"([^"]*?)"|'([^']*?)'|(.*?))\s*$/gm; - let m; - while ((m = re.exec(match[1])) !== null) { - fm[m[1]] = m[2] !== undefined ? m[2] : m[3] !== undefined ? m[3] : (m[4] || ''); - } - return fm; -} - -function getBody(content) { - return content.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/, ''); -} - -// Extract headings with their level and line number -function extractHeadings(body) { - const lines = body.split(/\r?\n/); - const headings = []; - for (let i = 0; i < lines.length; i++) { - const m = lines[i].match(/^(#{1,6})\s+(.+)/); - if (m) headings.push({ level: m[1].length, text: m[2].trim(), line: i + 1 }); - } - return headings; -} - -// Get first non-empty paragraph after the first heading -function firstParaAfterFirstHeading(body) { - const lines = body.split(/\r?\n/); - let pastFirstHeading = false; - let para = []; - for (const line of lines) { - if (!pastFirstHeading && /^#{1,6}\s/.test(line)) { pastFirstHeading = true; continue; } - if (!pastFirstHeading) continue; - if (line.trim() === '') { - if (para.length > 0) break; - continue; - } - para.push(line.trim()); - } - return para.join(' '); -} - -// ── Constants ───────────────────────────────────────────────────────────────── - -const GENERIC_TITLES = new Set([ - 'overview', 'quickstart', 'concepts', 'concepts', 'features', 'guides', - 'introduction', 'getting started', 'faqs', 'faq', 'index', 'home', - 'details', 'more', 'info', 'docs', 'documentation', 'setup', 'configuration', - 'reference', 'examples', 'tutorials', 'about', 'summary' -]); - -const VAGUE_HEADINGS = new Set([ - 'overview', 'details', 'info', 'more', 'introduction', 'background', - 'notes', 'summary', 'misc', 'other', 'additional', 'extra', 'further', - 'general', 'basics', 'advanced', 'setup', 'configuration', 'usage', - 'example', 'examples', 'reference', 'resources', 'related' -]); - -const BAD_DESC_STARTS = [ - /^this page/i, - /^learn how to/i, - /^a guide to/i, - /^an overview of/i, - /^this document/i, - /^this section/i, - /^welcome to/i, -]; - -// ── Audit ───────────────────────────────────────────────────────────────────── - -const files = getAllMdx(DOCS_DIR); -const rel = (f) => path.relative(ROOT, f).split(path.sep).join('/'); - -const issues = { - // Critical - missingDesc: [], - dupTitle: {}, // title -> [files] - noAboutHeading: [], - // Warning - titleTooShort: [], - titleTooLong: [], - titleGeneric: [], - descTooShort: [], - descTooLong: [], - descBadStart: [], - descNoKeywords: [], - vagueHeading: [], // [{rel, headings}] - skippedHeadingLevel: [], - h3WithoutH2: [], - // Info / AEO - noTldr: [], - firstParaIsCodeOrList: [], - hasQuestionHeadings: [], // pages that DO have question headings (good) - noQuestionHeadings: [], // pages that don't (opportunity) - hasAccordionOrFaq: [], -}; - -const pageScores = {}; // rel -> issue count -const titleMap = {}; - -for (const f of files) { - const r = rel(f); - const content = fs.readFileSync(f, 'utf-8'); - // Only read first 100 lines for most checks (speed), full file for heading hierarchy - const lines = content.split(/\r?\n/); - const head100 = lines.slice(0, 100).join('\n'); - - const fm = parseFrontmatter(content); - const body = getBody(content); - const headings = extractHeadings(body); - - const title = (fm.title || '').trim(); - const desc = (fm.description || '').trim(); - let issueCount = 0; - - // ── 1. Missing description ── - if (!desc) { issues.missingDesc.push(r); issueCount += 3; } - - // ── 2. Duplicate titles ── - if (title) { - if (!titleMap[title]) titleMap[title] = []; - titleMap[title].push(r); - } - - // ── 3. Title length ── - if (title && title.length < 15) { issues.titleTooShort.push({ r, title, len: title.length }); issueCount++; } - if (title && title.length > 60) { issues.titleTooLong.push({ r, title, len: title.length }); issueCount++; } - - // ── 4. Generic/keyword-poor title ── - if (title && GENERIC_TITLES.has(title.toLowerCase())) { - issues.titleGeneric.push({ r, title }); issueCount += 2; - } - - // ── 5. Description length ── - if (desc && desc.length < 120) { issues.descTooShort.push({ r, len: desc.length }); issueCount++; } - if (desc && desc.length > 155) { issues.descTooLong.push({ r, len: desc.length }); issueCount++; } - - // ── 6. Description bad starts ── - if (desc) { - for (const pat of BAD_DESC_STARTS) { - if (pat.test(desc)) { issues.descBadStart.push({ r, desc: desc.slice(0, 80) }); issueCount++; break; } - } - } - - // ── 7. Description repeats title verbatim ── - if (desc && title && desc.toLowerCase().startsWith(title.toLowerCase())) { - issues.descNoKeywords.push({ r, note: 'starts with title verbatim' }); issueCount++; - } - - // ── 8. First heading == ## About ── - const firstH = headings[0]; - if (!firstH || !(firstH.level === 2 && firstH.text.toLowerCase().startsWith('about'))) { - issues.noAboutHeading.push({ r, firstH: firstH ? `${'#'.repeat(firstH.level)} ${firstH.text}` : '(none)' }); - issueCount += 2; - } - - // ── 9. Vague single-word headings ── - const vagueFound = headings.filter(h => VAGUE_HEADINGS.has(h.text.toLowerCase())); - if (vagueFound.length > 0) { - issues.vagueHeading.push({ r, headings: vagueFound.map(h => `${'#'.repeat(h.level)} ${h.text}`) }); - issueCount += vagueFound.length; - } - - // ── 10. Heading hierarchy: skipped levels or H3 without H2 ── - let hasH2 = false; - let prevLevel = 0; - let hierarchyIssues = []; - for (const h of headings) { - if (h.level === 2) hasH2 = true; - if (h.level === 3 && !hasH2) hierarchyIssues.push(`H3 "${h.text}" with no preceding H2`); - if (prevLevel > 0 && h.level > prevLevel + 1) hierarchyIssues.push(`H${prevLevel}→H${h.level} skip at "${h.text}"`); - prevLevel = h.level; - } - if (hierarchyIssues.length > 0) { - issues.skippedHeadingLevel.push({ r, problems: hierarchyIssues }); - issueCount += hierarchyIssues.length; - } - - // ── 11. Question-style headings ── - const questionH = headings.filter(h => h.text.endsWith('?') || /^(what|how|why|when|where|which|can|does|is|are|do)\b/i.test(h.text)); - if (questionH.length > 0) { - issues.hasQuestionHeadings.push({ r, count: questionH.length }); - } else { - issues.noQuestionHeadings.push(r); - } - - // ── 12. TLDR block ── - if (!/<TLDR|<tldr|:::tip\s*TLDR|## TL;DR|## TLDR/i.test(body)) { - issues.noTldr.push(r); issueCount++; - } - - // ── 13. First para after first heading is code/list ── - const firstPara = firstParaAfterFirstHeading(body); - if (firstPara.startsWith('```') || firstPara.startsWith('<CodeBlock') || firstPara.startsWith('- ') || firstPara.startsWith('1.') || firstPara.startsWith('*')) { - issues.firstParaIsCodeOrList.push(r); issueCount++; - } - - // ── 14. FAQ / Accordion blocks ── - if (/<Accordion|<details|## FAQ|## Frequently Asked/i.test(body)) { - issues.hasAccordionOrFaq.push(r); - } - - pageScores[r] = issueCount; -} - -// Finalize duplicate titles -for (const [t, fs_] of Object.entries(titleMap)) { - if (fs_.length > 1) issues.dupTitle[t] = fs_; -} -const dupTitleFiles = Object.values(issues.dupTitle).flat(); - -// Top-20 most issues -const top20 = Object.entries(pageScores) - .sort((a, b) => b[1] - a[1]) - .slice(0, 20); - -// ── Report ──────────────────────────────────────────────────────────────────── - -const total = files.length; -const pct = (n) => `${n} (${Math.round(n / total * 100)}%)`; - -let out = `# AEO / GEO / SEO Audit Report\n\n`; -out += `**Site:** docs.futureagi.com | **Files scanned:** ${total} | **Date:** ${new Date().toISOString().slice(0, 10)}\n\n`; - -out += `---\n\n## Summary Table\n\n`; -out += `| Check | Affected | % |\n|---|---|---|\n`; -out += `| Missing description | ${issues.missingDesc.length} | ${Math.round(issues.missingDesc.length/total*100)}% |\n`; -out += `| Duplicate title | ${dupTitleFiles.length} | ${Math.round(dupTitleFiles.length/total*100)}% |\n`; -out += `| No \`## About\` first heading | ${issues.noAboutHeading.length} | ${Math.round(issues.noAboutHeading.length/total*100)}% |\n`; -out += `| Title too short (<15) | ${issues.titleTooShort.length} | ${Math.round(issues.titleTooShort.length/total*100)}% |\n`; -out += `| Title too long (>60) | ${issues.titleTooLong.length} | ${Math.round(issues.titleTooLong.length/total*100)}% |\n`; -out += `| Generic/bare title | ${issues.titleGeneric.length} | ${Math.round(issues.titleGeneric.length/total*100)}% |\n`; -out += `| Description too short (<120) | ${issues.descTooShort.length} | ${Math.round(issues.descTooShort.length/total*100)}% |\n`; -out += `| Description too long (>155) | ${issues.descTooLong.length} | ${Math.round(issues.descTooLong.length/total*100)}% |\n`; -out += `| Description bad start phrase | ${issues.descBadStart.length} | ${Math.round(issues.descBadStart.length/total*100)}% |\n`; -out += `| Vague single-word headings | ${issues.vagueHeading.length} | ${Math.round(issues.vagueHeading.length/total*100)}% |\n`; -out += `| Heading hierarchy skip/H3-no-H2 | ${issues.skippedHeadingLevel.length} | ${Math.round(issues.skippedHeadingLevel.length/total*100)}% |\n`; -out += `| No TLDR block (AEO opportunity) | ${issues.noTldr.length} | ${Math.round(issues.noTldr.length/total*100)}% |\n`; -out += `| First para is code/list | ${issues.firstParaIsCodeOrList.length} | ${Math.round(issues.firstParaIsCodeOrList.length/total*100)}% |\n`; -out += `| Has question-style headings ✅ | ${issues.hasQuestionHeadings.length} | ${Math.round(issues.hasQuestionHeadings.length/total*100)}% |\n`; -out += `| Has Accordion/FAQ block ✅ | ${issues.hasAccordionOrFaq.length} | ${Math.round(issues.hasAccordionOrFaq.length/total*100)}% |\n`; - -// ── CRITICAL ────────────────────────────────────────────────────────────────── -out += `\n---\n\n## 🔴 Critical Issues\n\n`; - -out += `### 1. Missing \`description\` — ${pct(issues.missingDesc.length)}\n\n`; -if (issues.missingDesc.length === 0) out += '_None._\n'; -else out += issues.missingDesc.map(f => `- ${f}`).join('\n') + '\n'; - -out += `\n### 2. Duplicate Titles — ${Object.keys(issues.dupTitle).length} groups\n\n`; -if (Object.keys(issues.dupTitle).length === 0) out += '_None._\n'; -else out += Object.entries(issues.dupTitle).map(([t, fs_]) => - `**"${t}"** (${fs_.length} files)\n${fs_.map(f => ` - ${f}`).join('\n')}` -).join('\n\n') + '\n'; - -out += `\n### 3. No \`## About\` First Heading — ${pct(issues.noAboutHeading.length)}\n\n`; -if (issues.noAboutHeading.length === 0) out += '_None._\n'; -else { - // Group: no heading at all vs wrong heading - const noHeading = issues.noAboutHeading.filter(x => x.firstH === '(none)'); - const wrongHeading = issues.noAboutHeading.filter(x => x.firstH !== '(none)'); - if (noHeading.length) { - out += `**No headings at all** (${noHeading.length} files — typically API reference pages):\n`; - out += noHeading.map(x => `- ${x.r}`).join('\n') + '\n\n'; - } - if (wrongHeading.length) { - out += `**Different first heading** (${wrongHeading.length} files):\n`; - out += wrongHeading.map(x => `- \`${x.firstH}\` → ${x.r}`).join('\n') + '\n'; - } -} - -// ── WARNING ─────────────────────────────────────────────────────────────────── -out += `\n---\n\n## 🟡 Warnings\n\n`; - -out += `### 4. Title Too Short (<15 chars) — ${pct(issues.titleTooShort.length)}\n\n`; -if (issues.titleTooShort.length === 0) out += '_None._\n'; -else out += issues.titleTooShort.map(x => `- "${x.title}" (${x.len}) → ${x.r}`).join('\n') + '\n'; - -out += `\n### 5. Title Too Long (>60 chars) — ${pct(issues.titleTooLong.length)}\n\n`; -if (issues.titleTooLong.length === 0) out += '_None._\n'; -else out += issues.titleTooLong.map(x => `- "${x.title}" (${x.len}) → ${x.r}`).join('\n') + '\n'; - -out += `\n### 6. Generic / Keyword-Poor Title — ${pct(issues.titleGeneric.length)}\n\n`; -if (issues.titleGeneric.length === 0) out += '_None._\n'; -else out += issues.titleGeneric.map(x => `- "${x.title}" → ${x.r}`).join('\n') + '\n'; - -out += `\n### 7. Description Too Short (<120 chars) — ${pct(issues.descTooShort.length)}\n\n`; -if (issues.descTooShort.length === 0) out += '_None._\n'; -else out += issues.descTooShort.map(x => `- (${x.len} chars) → ${x.r}`).join('\n') + '\n'; - -out += `\n### 8. Description Too Long (>155 chars) — ${pct(issues.descTooLong.length)}\n\n`; -if (issues.descTooLong.length === 0) out += '_None._\n'; -else out += issues.descTooLong.map(x => `- (${x.len} chars) → ${x.r}`).join('\n') + '\n'; - -out += `\n### 9. Description Bad Start Phrase — ${pct(issues.descBadStart.length)}\n\n`; -if (issues.descBadStart.length === 0) out += '_None._\n'; -else out += issues.descBadStart.map(x => `- "${x.desc}..." → ${x.r}`).join('\n') + '\n'; - -out += `\n### 10. Vague Single-Word Headings — ${pct(issues.vagueHeading.length)} files affected\n\n`; -if (issues.vagueHeading.length === 0) out += '_None._\n'; -else out += issues.vagueHeading.map(x => `- ${x.r}\n${x.headings.map(h => ` - \`${h}\``).join('\n')}`).join('\n') + '\n'; - -out += `\n### 11. Heading Hierarchy Issues (skipped level / H3 before H2) — ${pct(issues.skippedHeadingLevel.length)}\n\n`; -if (issues.skippedHeadingLevel.length === 0) out += '_None._\n'; -else out += issues.skippedHeadingLevel.map(x => `- ${x.r}\n${x.problems.map(p => ` - ${p}`).join('\n')}`).join('\n') + '\n'; - -// ── INFO / AEO ──────────────────────────────────────────────────────────────── -out += `\n---\n\n## 🔵 AEO / GEO Opportunities\n\n`; - -out += `### 12. No TLDR Block — ${pct(issues.noTldr.length)} files lack a summary block\n\n`; -out += `_A \`<TLDR>\` component or \`## TL;DR\` section near the top helps LLMs extract concise answers for AI-generated responses._\n\n`; -out += `Pages with highest priority (most content, no TLDR) — top 30:\n\n`; -// Sort by file path depth (deeper = more specific = higher value for TLDR) -const noTldrTop = issues.noTldr - .filter(f => !f.includes('/api/') && !f.includes('index')) - .slice(0, 30); -out += noTldrTop.map(f => `- ${f}`).join('\n') + '\n'; -if (issues.noTldr.length > 30) out += `\n_...and ${issues.noTldr.length - 30} more (mostly API reference pages)._\n`; - -out += `\n### 13. First Paragraph Is Code Block or List — ${pct(issues.firstParaIsCodeOrList.length)}\n\n`; -out += `_Generative engines prefer prose definitions before code. Pages that open with a code block or bullet list after the heading miss the chance to define the concept in plain language._\n\n`; -if (issues.firstParaIsCodeOrList.length === 0) out += '_None._\n'; -else out += issues.firstParaIsCodeOrList.map(f => `- ${f}`).join('\n') + '\n'; - -out += `\n### 14. Question-Style Headings (AEO signal) ✅\n\n`; -out += `${issues.hasQuestionHeadings.length} pages already use question-style headings — good for AEO.\n\n`; -out += `**${issues.noQuestionHeadings.length} pages have no question-style headings** — opportunity to add "What is X?", "How does Y work?", "When should I use Z?" sub-sections.\n\n`; -out += `Pages with question headings (examples):\n`; -out += issues.hasQuestionHeadings.slice(0, 15).map(x => `- ${x.r} (${x.count} question headings)`).join('\n') + '\n'; - -out += `\n### 15. Accordion / FAQ Blocks (AEO signal) ✅\n\n`; -out += `${issues.hasAccordionOrFaq.length} pages have \`<Accordion>\` or FAQ sections — these are strong AEO signals.\n\n`; -if (issues.hasAccordionOrFaq.length > 0) { - out += issues.hasAccordionOrFaq.map(f => `- ${f}`).join('\n') + '\n'; -} - -// ── TOP 20 ──────────────────────────────────────────────────────────────────── -out += `\n---\n\n## 📋 Top 20 Pages by Issue Count (Priority Rewrite List)\n\n`; -out += `| # | File | Issues |\n|---|---|---|\n`; -out += top20.map(([f, n], i) => `| ${i + 1} | ${f} | ${n} |`).join('\n') + '\n'; - -fs.writeFileSync(path.join(ROOT, 'aeo-audit-report.md'), out); -console.log(out); -console.error('\nReport saved to aeo-audit-report.md'); diff --git a/scripts/seo-audit.cjs b/scripts/seo-audit.cjs deleted file mode 100644 index aa45c2e1..00000000 --- a/scripts/seo-audit.cjs +++ /dev/null @@ -1,151 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -const ROOT = 'C:/Users/Shibu/docs'; -const DOCS_DIR = path.join(ROOT, 'src/pages/docs'); - -function getAllMdx(dir) { - const results = []; - for (const entry of fs.readdirSync(dir)) { - const full = path.join(dir, entry); - if (fs.statSync(full).isDirectory()) results.push(...getAllMdx(full)); - else if (entry.endsWith('.mdx') || entry.endsWith('.md')) results.push(full); - } - return results; -} - -function parseFrontmatter(content) { - const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/); - if (!match) return {}; - const fm = {}; - const raw = match[1]; - // Match key: "value" or key: value (handles quoted and unquoted) - const re = /^(\w+):\s*(?:"([^"]*?)"|'([^']*?)'|(.*?))\s*$/gm; - let m; - while ((m = re.exec(raw)) !== null) { - fm[m[1]] = m[2] !== undefined ? m[2] : m[3] !== undefined ? m[3] : m[4]; - } - return fm; -} - -function getBody(content) { - return content.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n/, ''); -} - -function firstHeading(body) { - const lines = body.split(/\r?\n/); - for (const line of lines) { - const trimmed = line.trim(); - if (/^#{1,6} /.test(trimmed)) return trimmed; - } - return null; -} - -function hasNextSteps(body) { - if (/##\s+Next Steps/i.test(body)) return true; - // CardGroup with at least one Card that has href - if (/<CardGroup[\s\S]*?<Card\s[^>]*href=/i.test(body)) return true; - return false; -} - -function isFeaturePage(relPath) { - return /\/features\//.test(relPath); -} - -const files = getAllMdx(DOCS_DIR); - -const missingDesc = []; -const titleTooShort = []; -const titleTooLong = []; -const descTooShort = []; -const descTooLong = []; -const titleMap = {}; -const noAboutHeading = []; -const featureMissingNextSteps = []; - -for (const f of files) { - const rel = path.relative(ROOT, f).split(path.sep).join('/'); - const content = fs.readFileSync(f, 'utf-8'); - const fm = parseFrontmatter(content); - const body = getBody(content); - const title = (fm.title || '').trim(); - const desc = (fm.description || '').trim(); - - // 1. Missing description - if (!desc) missingDesc.push(rel); - - // 2. Title length - if (title && title.length < 15) titleTooShort.push({ rel, title, len: title.length }); - if (title && title.length > 60) titleTooLong.push({ rel, title, len: title.length }); - - // 3. Description length - if (desc) { - if (desc.length < 120) descTooShort.push({ rel, len: desc.length, desc: desc.slice(0, 80) }); - if (desc.length > 155) descTooLong.push({ rel, len: desc.length, desc: desc.slice(0, 80) }); - } - - // 4. Duplicate titles - if (title) { - if (!titleMap[title]) titleMap[title] = []; - titleMap[title].push(rel); - } - - // 5. First heading == ## About - const h = firstHeading(body); - if (!h || !h.startsWith('## About')) { - noAboutHeading.push({ rel, heading: h || '(no heading)' }); - } - - // 6. Feature pages missing Next Steps - if (isFeaturePage(rel) && !hasNextSteps(body)) { - featureMissingNextSteps.push(rel); - } -} - -const dupTitles = Object.entries(titleMap).filter(([, v]) => v.length > 1); - -let out = ''; -out += '# SEO Audit Report\n\n'; -out += `Site: src/pages/docs/ | Files scanned: ${files.length}\n\n---\n\n`; - -out += `## 1. Missing \`description\` — ${missingDesc.length} files\n\n`; -out += missingDesc.length === 0 ? '_None — all files have descriptions._\n' - : missingDesc.map(f => `- ${f}`).join('\n') + '\n'; - -out += `\n## 2. Title too short (<15 chars) — ${titleTooShort.length} files\n\n`; -out += titleTooShort.length === 0 ? '_None._\n' - : titleTooShort.map(x => `- "${x.title}" (${x.len} chars) → ${x.rel}`).join('\n') + '\n'; - -out += `\n## 3. Title too long (>60 chars) — ${titleTooLong.length} files\n\n`; -out += titleTooLong.length === 0 ? '_None._\n' - : titleTooLong.map(x => `- "${x.title}" (${x.len} chars) → ${x.rel}`).join('\n') + '\n'; - -out += `\n## 4. Description too short (<120 chars) — ${descTooShort.length} files\n\n`; -out += descTooShort.length === 0 ? '_None._\n' - : descTooShort.map(x => `- (${x.len} chars) "${x.desc}..." → ${x.rel}`).join('\n') + '\n'; - -out += `\n## 5. Description too long (>155 chars) — ${descTooLong.length} files\n\n`; -out += descTooLong.length === 0 ? '_None._\n' - : descTooLong.map(x => `- (${x.len} chars) "${x.desc}..." → ${x.rel}`).join('\n') + '\n'; - -out += `\n## 6. Duplicate titles — ${dupTitles.length} groups\n\n`; -if (dupTitles.length === 0) out += '_None._\n'; -else out += dupTitles.map(([t, fs]) => - `**"${t}"** (${fs.length} files)\n${fs.map(f => ` - ${f}`).join('\n')}` -).join('\n\n') + '\n'; - -out += `\n## 7. First body heading ≠ \`## About\` — ${noAboutHeading.length} files\n\n`; -if (noAboutHeading.length === 0) out += '_All files open with ## About._\n'; -else { - const shown = noAboutHeading.slice(0, 100); - out += shown.map(x => `- \`${x.heading}\` → ${x.rel}`).join('\n'); - if (noAboutHeading.length > 100) out += `\n... and ${noAboutHeading.length - 100} more`; - out += '\n'; -} - -out += `\n## 8. Feature pages missing Next Steps / CardGroup — ${featureMissingNextSteps.length} files\n\n`; -out += featureMissingNextSteps.length === 0 ? '_None._\n' - : featureMissingNextSteps.map(f => `- ${f}`).join('\n') + '\n'; - -fs.writeFileSync(path.join(ROOT, 'seo-audit-report.md'), out); -console.log(out); diff --git a/seo-audit-report.md b/seo-audit-report.md deleted file mode 100644 index 467b6e4a..00000000 --- a/seo-audit-report.md +++ /dev/null @@ -1,206 +0,0 @@ -# SEO Audit Report - -Site: src/pages/docs/ | Files scanned: 612 - ---- - -## 1. Missing `description` — 0 files - -_None — all files have descriptions._ - -## 2. Title too short (<15 chars) — 0 files - -_None._ - -## 3. Title too long (>60 chars) — 1 files - -- "Understanding Prototype: Pre-Production Testing in Future AGI" (61 chars) → src/pages/docs/prototype/concepts/understanding-prototype.mdx - -## 4. Description too short (<120 chars) — 16 files - -- (119 chars) "Access and manage your Future AGI API keys and secret keys from the developer da..." → src/pages/docs/admin-settings.mdx -- (116 chars) "Retrieve details of a specific call execution by UUID, including provider call I..." → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx -- (106 chars) "List all custom eval configs, with optional filtering by project UUID or eval ta..." → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx -- (115 chars) "Update an evaluation's config and key mapping, then optionally re-run it across ..." → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx -- (119 chars) "Trigger one or more evaluations to run across a dataset by submitting user eval ..." → src/pages/docs/api/dataset-evals/start-evals-process.mdx -- (112 chars) "Append a specified number of empty rows to an existing dataset by ID. Returns a ..." → src/pages/docs/api/datasets/add-empty-rows.mdx -- (118 chars) "Copy rows from a source dataset into a target dataset using a column mapping to ..." → src/pages/docs/api/datasets/add-rows-from-existing.mdx -- (118 chars) "Append rows to an existing dataset by uploading a CSV or JSONL file as multipart..." → src/pages/docs/api/datasets/add-rows-from-file.mdx -- (119 chars) "Add one or more columns to a dataset in a single request. Specify each column's ..." → src/pages/docs/api/datasets/columns/add-columns.mdx -- (113 chars) "Delete one or more rows from a dataset by row UUIDs, or delete all rows at once ..." → src/pages/docs/api/datasets/delete-rows.mdx -- (119 chars) "Create one or more copies of specific rows within a dataset by providing row UUI..." → src/pages/docs/api/datasets/duplicate-rows.mdx -- (116 chars) "Retrieve available models, tools, output formats, and tool choices for configuri..." → src/pages/docs/api/datasets/run-prompt/retrieve-run-prompt-options.mdx -- (113 chars) "Soft-delete a single eval task by UUID. The task must not be in running state. R..." → src/pages/docs/api/eval-tasks/delete-eval-task.mdx -- (119 chars) "Pause a running eval task by UUID. Task must be in running state. Returns a conf..." → src/pages/docs/api/eval-tasks/pause-eval-task.mdx -- (119 chars) "Find answers to frequently asked questions about Future AGI products, pricing, f..." → src/pages/docs/faq.mdx -- (119 chars) "Build a new prompt manually in the Prompt Workbench with full control over struc..." → src/pages/docs/prompt/features/create-from-scratch.mdx - -## 5. Description too long (>155 chars) — 47 files - -- (158 chars) "Create a new version of an agent definition. Accepts agent name, language, syste..." → src/pages/docs/api/agent-versions/createagentversion.mdx -- (156 chars) "Get the default annotation queue for a project, dataset, or agent definition, au..." → src/pages/docs/api/annotations/queues/get-or-create-default.mdx -- (157 chars) "Transition an annotation queue to a new status (draft, active, paused, or comple..." → src/pages/docs/api/annotations/queues/update-status.mdx -- (162 chars) "Create an eval task for a project. Set eval configs, sampling rate, run type (co..." → src/pages/docs/api/eval-tasks/create-eval-task.mdx -- (161 chars) "Create a workspace-level persona for voice or text simulation. Set gender, age g..." → src/pages/docs/api/personas/createpersona.mdx -- (170 chars) "List system and workspace personas with pagination. Filter by type (prebuilt/cus..." → src/pages/docs/api/personas/listpersonas.mdx -- (182 chars) "Add one or more evaluation configurations to an existing test run. Specify templ..." → src/pages/docs/api/run-tests/addevalconfigs.mdx -- (181 chars) "Compare evaluation summaries side-by-side across multiple test executions. Accep..." → src/pages/docs/api/run-tests/compareevalsummaries.mdx -- (162 chars) "Create a new test run with scenarios, agent definition, eval configs, and option..." → src/pages/docs/api/run-tests/createruntest.mdx -- (168 chars) "Delete an evaluation configuration from a test run by run test and eval config U..." → src/pages/docs/api/run-tests/deleteevalconfig.mdx -- (170 chars) "Trigger a new execution of a test run. Select scenarios by inclusion or exclusio..." → src/pages/docs/api/run-tests/executeruntest.mdx -- (165 chars) "List paginated call executions for a test run. Filter by status or search string..." → src/pages/docs/api/run-tests/getcallexecutions.mdx -- (161 chars) "Retrieve aggregated evaluation summary for a test run. Optionally scope to a spe..." → src/pages/docs/api/run-tests/getevalsummary.mdx -- (164 chars) "Retrieve full details of a test run by UUID, including agent definition, prompt ..." → src/pages/docs/api/run-tests/getruntestdetails.mdx -- (162 chars) "List paginated test executions for a run test. Filter by status or search string..." → src/pages/docs/api/run-tests/gettestexecutions.mdx -- (165 chars) "List paginated test runs. Filter by name, source type, or prompt template. Retur..." → src/pages/docs/api/run-tests/listruntests.mdx -- (162 chars) "Rerun test executions within a run test. Choose eval_only to re-evaluate existin..." → src/pages/docs/api/run-tests/reruntestexecutions.mdx -- (168 chars) "Run new evaluation configs on completed test executions. Specify eval config UUI..." → src/pages/docs/api/run-tests/runnewevalsontestexecution.mdx -- (159 chars) "Update an evaluation configuration for a test run. Modify config, mapping, model..." → src/pages/docs/api/run-tests/updateevalconfig.mdx -- (161 chars) "Update the agent definition, agent version, simulator agent, scenarios, or tool ..." → src/pages/docs/api/run-tests/updatetestcomponents.mdx -- (159 chars) "Add up to 10 AI-generated columns to a scenario dataset. Specify name, data type..." → src/pages/docs/api/scenarios/addcolumns.mdx -- (166 chars) "Add a specified number of empty rows to a scenario's dataset by dataset UUID. Ac..." → src/pages/docs/api/scenarios/addemptyrowstodataset.mdx -- (171 chars) "Generate and add 10–100 AI-populated rows to a scenario dataset. Provide optiona..." → src/pages/docs/api/scenarios/addscenariorowswithai.mdx -- (167 chars) "Create a simulation scenario from a dataset, script, or conversation graph. Supp..." → src/pages/docs/api/scenarios/createscenario.mdx -- (168 chars) "List paginated scenarios with optional search and filtering by agent definition ..." → src/pages/docs/api/scenarios/listscenarios.mdx -- (173 chars) "Retrieve latency, cost, and conversation metrics for a simulation run. Query by ..." → src/pages/docs/api/simulation-analytics/metrics.mdx -- (175 chars) "Retrieve simulation run records with eval scores, scenario metadata, and per-cal..." → src/pages/docs/api/simulation-analytics/runs.mdx -- (165 chars) "Cancel an in-progress test execution by UUID. Execution must be in pending, runn..." → src/pages/docs/api/test-executions/cancelexecution.mdx -- (178 chars) "Retrieve the AI-generated eval explanation summary for a test execution. Include..." → src/pages/docs/api/test-executions/getevalexplanationsummary.mdx -- (167 chars) "Retrieve pass/fail rates and top-performing scenarios for a test execution. Retu..." → src/pages/docs/api/test-executions/getperformancesummary.mdx -- (168 chars) "Retrieve a test execution by UUID with paginated call executions. Supports searc..." → src/pages/docs/api/test-executions/gettestexecutiondetails.mdx -- (171 chars) "Rerun call executions within a test execution. Choose eval_only to re-evaluate e..." → src/pages/docs/api/test-executions/reruncalls.mdx -- (162 chars) "Reference for all x-agentcc-* headers in Agent Command Center — control caching,..." → src/pages/docs/command-center/api/headers.mdx -- (160 chars) "Complete API reference for Agent Command Center — OpenAI-compatible endpoints, x..." → src/pages/docs/command-center/concepts/api-reference.mdx -- (162 chars) "Learn how Agent Command Center configuration works — hierarchy from request head..." → src/pages/docs/command-center/concepts/configuration.mdx -- (161 chars) "How Agent Command Center feeds signals into Future AGI Observe, Evaluate, Protec..." → src/pages/docs/command-center/concepts/platform-integration.mdx -- (161 chars) "Deploy Agent Command Center on your own infrastructure via Docker or Go binary —..." → src/pages/docs/command-center/deployment/self-hosted.mdx -- (156 chars) "Set per-key, per-org, and global RPM limits. Enforce monthly spend budgets and p..." → src/pages/docs/command-center/features/rate-limiting.mdx -- (156 chars) "Submit fire-and-forget async evaluations, poll job IDs for results, and run 50+ ..." → src/pages/docs/cookbook/quickstart/async-batch-eval.mdx -- (156 chars) "Define LLM quality criteria in plain English, register reusable eval metrics in ..." → src/pages/docs/cookbook/quickstart/custom-eval-metrics.mdx -- (158 chars) "Score RAG retrieval and generation quality independently with five metrics in on..." → src/pages/docs/cookbook/quickstart/rag-evaluation.mdx -- (157 chars) "Evaluate LLM outputs for professional tone, harmful content, and demographic bia..." → src/pages/docs/cookbook/quickstart/tone-toxicity-bias-eval.mdx -- (161 chars) "Simulate tool-calling agent conversations, trace every tool invocation as child ..." → src/pages/docs/cookbook/quickstart/tool-calling-simulation.mdx -- (157 chars) "Auto-score every production LLM response, set alerts for quality regressions, an..." → src/pages/docs/cookbook/use-cases/production-quality-monitoring.mdx -- (159 chars) "Full .env reference for self-hosted Future AGI — secrets, database credentials, ..." → src/pages/docs/self-hosting/environment.mdx -- (163 chars) "Production readiness checklist — replace secrets, configure TLS, set up managed ..." → src/pages/docs/self-hosting/production.mdx -- (166 chars) "Debug self-hosted Future AGI — symptoms, causes, and fixes for startup failures,..." → src/pages/docs/self-hosting/troubleshooting.mdx - -## 6. Duplicate titles — 2 groups - -**"Google GenAI Integration with Future AGI for Gemini Tracing"** (2 files) - - src/pages/docs/integrations/google-genai.mdx - - src/pages/docs/integrations/traceai/google_genai.mdx - -**"OpenAI Agents SDK Integration with Future AGI Tracing"** (2 files) - - src/pages/docs/integrations/openai-agents.mdx - - src/pages/docs/integrations/traceai/openai_agents.mdx - -## 7. First body heading ≠ `## About` — 434 files - -- `## Accessing API Keys` → src/pages/docs/admin-settings.mdx -- `## What you will do` → src/pages/docs/annotations/quickstart.mdx -- `## Installation` → src/pages/docs/annotations/sdk/annotation-queue-using-sdk.mdx -- `# JavaScript SDK` → src/pages/docs/annotations/sdk/javascript.mdx -- `# Python SDK` → src/pages/docs/annotations/sdk/python.mdx -- `(no heading)` → src/pages/docs/api/agent-definitions/createagentdefinition.mdx -- `(no heading)` → src/pages/docs/api/agent-definitions/deleteagentdefinitions.mdx -- `(no heading)` → src/pages/docs/api/agent-definitions/fetchassistantfromprovider.mdx -- `(no heading)` → src/pages/docs/api/agent-definitions/getagentdefinition.mdx -- `(no heading)` → src/pages/docs/api/agent-definitions/listagentdefinitions.mdx -- `(no heading)` → src/pages/docs/api/agent-versions/createagentversion.mdx -- `(no heading)` → src/pages/docs/api/agent-versions/getagentversion.mdx -- `(no heading)` → src/pages/docs/api/agent-versions/getversioncallexecutions.mdx -- `(no heading)` → src/pages/docs/api/agent-versions/getversionevalsummary.mdx -- `(no heading)` → src/pages/docs/api/agent-versions/listagentversions.mdx -- `(no heading)` → src/pages/docs/api/annotations/bulk/bulk-annotate-spans.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/add-items.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/assign-items.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/bulk-remove-items.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/complete-item.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/get-annotate-detail.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/get-item-annotations.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/get-next-item.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/list-items.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/release-item.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/skip-item.mdx -- `(no heading)` → src/pages/docs/api/annotations/items/submit-annotations.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/create-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/delete-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/get-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/list-labels.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/restore-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/labels/update-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/add-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/create-queue.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/delete-queue.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/export-to-dataset.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/export.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/find-queues-for-source.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/get-agreement.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/get-analytics.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/get-or-create-default.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/get-progress.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/get-queue.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/list-queues.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/remove-label.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/update-queue.mdx -- `(no heading)` → src/pages/docs/api/annotations/queues/update-status.mdx -- `(no heading)` → src/pages/docs/api/annotations/scores/bulk-create-scores.mdx -- `(no heading)` → src/pages/docs/api/annotations/scores/create-score.mdx -- `(no heading)` → src/pages/docs/api/annotations/scores/delete-score.mdx -- `(no heading)` → src/pages/docs/api/annotations/scores/get-scores-for-source.mdx -- `(no heading)` → src/pages/docs/api/annotations/scores/list-scores.mdx -- `(no heading)` → src/pages/docs/api/call-executions/getcallexecutiondetails.mdx -- `(no heading)` → src/pages/docs/api/call-executions/getsessioncomparison.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/check-config-exists.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/create-custom-eval-config.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/delete-custom-eval-config.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/get-custom-eval-config.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/list-configs-filtered.mdx -- `(no heading)` → src/pages/docs/api/custom-eval-configs/update-custom-eval-config.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/add-dataset-eval.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/create-custom-eval-template.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/delete-dataset-eval.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/edit-and-run-eval.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/get-eval-structure.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/get-eval-template-names.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/list-dataset-evals.mdx -- `(no heading)` → src/pages/docs/api/dataset-evals/start-evals-process.mdx -- `(no heading)` → src/pages/docs/api/datasets/add-as-new.mdx -- `(no heading)` → src/pages/docs/api/datasets/add-empty-rows.mdx -- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-existing.mdx -- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-file.mdx -- `(no heading)` → src/pages/docs/api/datasets/add-rows-from-huggingface.mdx -- `(no heading)` → src/pages/docs/api/datasets/analytics/annotation-summary.mdx -- `(no heading)` → src/pages/docs/api/datasets/analytics/eval-stats.mdx -- `(no heading)` → src/pages/docs/api/datasets/analytics/explanation-summary.mdx -- `(no heading)` → src/pages/docs/api/datasets/analytics/run-prompt-stats.mdx -- `(no heading)` → src/pages/docs/api/datasets/clone-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/add-columns.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/add-multiple-static-columns.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/add-static-column.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/delete-column.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/get-column-config.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/get-column-details.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/update-column-name.mdx -- `(no heading)` → src/pages/docs/api/datasets/columns/update-column-type.mdx -- `(no heading)` → src/pages/docs/api/datasets/create-dataset-from-huggingface.mdx -- `(no heading)` → src/pages/docs/api/datasets/create-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/create-empty-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/delete-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/delete-rows.mdx -- `(no heading)` → src/pages/docs/api/datasets/duplicate-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/duplicate-rows.mdx -- `(no heading)` → src/pages/docs/api/datasets/list-datasets.mdx -- `(no heading)` → src/pages/docs/api/datasets/merge-dataset.mdx -- `(no heading)` → src/pages/docs/api/datasets/run-prompt/add-run-prompt-column.mdx -- `(no heading)` → src/pages/docs/api/datasets/run-prompt/edit-run-prompt-column.mdx -- `(no heading)` → src/pages/docs/api/datasets/run-prompt/get-column-values.mdx -- `(no heading)` → src/pages/docs/api/datasets/run-prompt/get-model-voices.mdx -... and 334 more - -## 8. Feature pages missing Next Steps / CardGroup — 3 files - -- src/pages/docs/agent-playground/features/build-workflow.mdx -- src/pages/docs/agent-playground/features/create-graph.mdx -- src/pages/docs/agent-playground/features/run-and-monitor.mdx From 84a96cd1b1688d66991d8f7de34f9ca042fabb68 Mon Sep 17 00:00:00 2001 From: Shibu <shibu@futureagi.com> Date: Thu, 7 May 2026 17:47:29 +0530 Subject: [PATCH 51/51] fix: restore Card title to h3 for correct heading hierarchy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Card titles sit under ## Next Steps (h2) in the DOM, so they should be h3, not p. Restores the heading hierarchy: h1 → h2 (Next Steps) → h3 (card title). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --- src/components/docs/Card.astro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/docs/Card.astro b/src/components/docs/Card.astro index 4210fdc1..ee482b87 100644 --- a/src/components/docs/Card.astro +++ b/src/components/docs/Card.astro @@ -86,7 +86,7 @@ const Tag = href ? 'a' : 'div'; </div> )} - <p class:list={[ + <h3 class:list={[ "text-[1.125rem] font-semibold text-[var(--color-text-primary)] mb-2", href && "group-hover:text-[var(--color-accent-primary)] transition-colors" ]}> @@ -96,7 +96,7 @@ const Tag = href ? 'a' : 'div'; <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3" /> </svg> )} - </p> + </h3> <div class="text-sm text-[var(--color-text-secondary)]"> <slot />