Skip to content

docs: expand SDK troubleshooting with runtime errors and platform-agnostic language#206

Merged
marythought merged 9 commits intomainfrom
dspx-2426-troubleshooting
Mar 3, 2026
Merged

docs: expand SDK troubleshooting with runtime errors and platform-agnostic language#206
marythought merged 9 commits intomainfrom
dspx-2426-troubleshooting

Conversation

@marythought
Copy link
Contributor

@marythought marythought commented Mar 2, 2026

Summary

  • Adds three new error sections to docs/sdks/troubleshooting.mdx: Token Expired, TDF Format Error, and Entity Resolution Failed — covering runtime errors from the DSPX-2426 top-10 list not previously documented
  • Updates Permission Denied section to mention key access denied as another form of the error
  • Adds Getting Help section with platform health check and GitHub issue guidance
  • Generalizes all opentdf-local-dev-specific language so the page can be imported into DSP docs without modification: hardcoded local URLs → <platform-endpoint>/<idp-endpoint>/<kas-endpoint>, Caddy/installer-specific cert steps → generic trust instructions, docker compose restart → generic pointer to deployment docs, opentdf.io example namespace → example.com, hardcoded opentdf clientId → <your-client-id>

Preview

https://opentdf-docs-preview-dspx-2426.surge.sh/sdks/troubleshooting

Test plan

  • Build the docs site locally and verify all new sections render correctly
  • Confirm all internal links still resolve (/sdks/policy#create-subject-mapping, /sdks/discovery#validateattributes)
  • Review page at /sdks/troubleshooting for readability

Closes DSPX-2426

🤖 Generated with Claude Code

…ostic language

Adds Token Expired, TDF Format Error, and Entity Resolution Failed
sections to cover runtime errors not previously documented. Updates
Permission Denied to mention 'key access denied'. Adds Getting Help
section. Generalizes all opentdf-local-dev-specific URLs, Caddy/installer
references, and hardcoded namespaces so the page can be imported into
DSP docs without modification.

Closes DSPX-2426

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@marythought marythought requested a review from a team as a code owner March 2, 2026 17:26
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the SDK troubleshooting documentation by incorporating solutions for several common runtime errors and making the entire guide more universally applicable. The changes aim to provide clearer, more comprehensive guidance for users regardless of their specific deployment environment, improving the overall usability and relevance of the documentation.

Highlights

  • New Error Sections: Added three new troubleshooting sections for common runtime errors: 'Token Expired', 'TDF Format Error', and 'Entity Resolution Failed'.
  • Platform-Agnostic Language: Generalized all platform-specific language, replacing hardcoded local URLs, Caddy/installer-specific certificate steps, and Docker Compose restart commands with generic placeholders and instructions suitable for any deployment.
  • Updated Permission Denied Section: Expanded the 'Permission Denied' section to include 'key access denied' as another form of the error and updated example commands to use generic client IDs and namespaces.
  • Getting Help Guidance: Introduced a new 'Getting Help' section with steps for checking platform health, searching GitHub discussions, and guidelines for opening new GitHub issues.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • docs/sdks/troubleshooting.mdx
    • Added new sections for 'Token Expired', 'TDF Format Error', and 'Entity Resolution Failed' errors.
    • Updated the 'Authentication Failed' section to use generic client IDs and identity provider endpoints.
    • Revised the 'Certificate Errors (SSL/TLS)' section to provide platform-agnostic certificate trust instructions and removed Caddy-specific details.
    • Modified the 'Connection Refused' section to use a generic platform endpoint and refer to deployment documentation for restarting services.
    • Updated the 'Permission Denied' section to include 'key access denied' and generalized example namespaces and client IDs.
    • Added a new 'Getting Help' section with guidance for further assistance.
    • Generalized namespace references in 'Resource Already Exists' section examples.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request significantly enhances the SDK troubleshooting documentation by adding new sections for common runtime errors like "Token Expired", "TDF Format Error", and "Entity Resolution Failed". It also improves existing sections, such as "Permission Denied", by including additional error messages. A new "Getting Help" section provides guidance on checking platform health and reporting issues. Crucially, the PR generalizes platform-specific language and URLs, replacing hardcoded values with placeholders, which makes the documentation more platform-agnostic and reusable. These changes are well-aligned with the goal of providing comprehensive and adaptable troubleshooting resources.

marythought and others added 3 commits March 2, 2026 09:58
Signed-off-by: Mary Dickson <mary.dickson@virtru.com>
Without authentication, the GitHub API caps at 60 req/hr per IP. When
exceeded it returns {"message": "API rate limit exceeded"} ��� not an
array — causing "contents is not iterable" and a build failure.

- Add githubHeaders() to send GITHUB_TOKEN when available (5000 req/hr)
- Add Array.isArray guard so rate-limit responses warn and skip instead of crash
- Add HTTP error handling in fetchJson/fetchText for 4xx/5xx responses
- Pass GITHUB_TOKEN to the build step in test-deploy.yaml
- Remove duplicate *.info.mdx files instead of silently skipping rename

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add 'attribute does not exist' error to Resource Not Found section
  (ticket error #9 was missing coverage)
- Fix Keycloak-specific /realms/<realm> path in Token Expired JS example
  with a comment to adjust for other IdPs
- Fix placeholder inconsistency: 'your-client-id' → '<your-client-id>'
  in Entity Resolution Failed section
- Restore internal link in scope note as full URL so it works when
  imported into DSP docs
- Add Windows PowerShell cert trust instructions to Certificate Errors
- Replace duplicate health check code block in Getting Help with a
  prose reference to the Connection Refused section
- Improve preprocessing.ts log message: 'stale duplicate' is clearer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace --attribute-value-fqn with a jq lookup + --attribute-value-id in
the Permission Denied and Entity Resolution Failed CLI examples. Both
otdfctl and tructl support --attribute-value-id; tructl has no --attribute-value-fqn
flag (tracked in DSPX-2529), so this approach works with both CLIs and
removes the need for a special-case transform when importing into DSP docs.

Also removes --namespace from the attributes list call; tructl has no
--namespace filter flag (also tracked in DSPX-2529).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pflynn-virtru
pflynn-virtru previously approved these changes Mar 2, 2026
jp-ayyappan
jp-ayyappan previously approved these changes Mar 2, 2026
Copy link
Contributor

@jp-ayyappan jp-ayyappan left a comment

Choose a reason for hiding this comment

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

Check comments first and verify before merge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jp-ayyappan
jp-ayyappan previously approved these changes Mar 2, 2026
pflynn-virtru
pflynn-virtru previously approved these changes Mar 3, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@marythought marythought dismissed stale reviews from pflynn-virtru and jp-ayyappan via 69771ee March 3, 2026 15:44
@marythought marythought requested a review from a team as a code owner March 3, 2026 15:44
marythought and others added 2 commits March 3, 2026 07:46
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@marythought marythought merged commit 01781f2 into main Mar 3, 2026
3 checks passed
@marythought marythought deleted the dspx-2426-troubleshooting branch March 3, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants