Skip to content

Conversation

@jhamon
Copy link
Collaborator

@jhamon jhamon commented Jan 29, 2026

Summary

  • Updates the IT threat detection notebook to use Pinecone Python SDK v8
  • Modernizes API key handling with getpass fallback pattern
  • Uses pc.has_index() instead of deprecated list_indexes().names() pattern
  • Removes outdated TensorFlow/Keras version pins
  • Updates stale documentation link and removes time-sensitive language

Related

Test plan

  • Verify notebook JSON is valid
  • Confirm Colab badge links work correctly
  • Check that code cells use correct SDK v8 patterns

Note

Medium Risk
Mostly documentation/notebook updates, but adds a new scripts/ticketbot.py automation CLI that spawns subprocess worker pools, manages git worktrees, and runs the agent command with retries—misconfiguration could impact local repos or CI runners.

Overview
Notebook update: Refreshes learn/security/it-threat-detection.ipynb to Pinecone Python SDK v8 usage (e.g., pip install pinecone, getpass API key fallback, pc.has_index()), loosens dependency pins, and updates minor docs/formatting.

New automation tooling: Adds scripts/ticketbot.py, a click-based CLI that orchestrates multiple worker pools (tb-pick-work, tb-iterate-prs with modulo sharding, tb-merge-ready) by creating per-worker git worktrees, invoking agent with logging and exponential-backoff retries, and supporting graceful drain on SIGTERM/CTRL-C.

Written by Cursor Bugbot for commit 6bcbb96. This will update automatically on new commits. Configure here.

- Update Pinecone SDK install from pinecone-client==3.1.0 to pinecone
- Update API key handling to use getpass fallback pattern
- Use pc.has_index() instead of pc.list_indexes().names()
- Add named keyword argument for create_index name parameter
- Remove outdated TensorFlow/Keras version pins
- Update stale documentation link
- Remove time-sensitive language ("recent academic work")

Resolves SDK-134
@jhamon jhamon added the documentation Improvements or additions to documentation label Jan 29, 2026
@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

- Fix import sorting (I001 errors)
- Add missing metadata to execute_result outputs
- Add missing name to stream outputs
@jhamon
Copy link
Collaborator Author

jhamon commented Jan 29, 2026

CI Status Notes

The following CI checks are failing due to pre-existing issues with this notebook, not the SDK v8 update:

Link Check Failure

  • External GitHub links return 301 redirects (valid HTTP response, but the link checker only accepts 200)
  • Google Drive download link returns 303 redirect (also valid)
  • These links were present before this PR

Notebook Execution Failure

  • This notebook downloads ~700MB of network traffic data from external AWS S3
  • It requires TensorFlow/Keras environment setup
  • The notebook was designed for manual Colab execution, not automated CI

Checks That Pass

  • lint / lint-changed
  • test-notebooks / validate-notebooks
  • report-client-versions / analyze-client-versions
  • GitGuardian Security Checks
  • CodeQL

Address Bugbot review: change `from keras.utils.np_utils import normalize`
to `from tensorflow.keras.utils import normalize` since standalone keras
was removed from dependencies.
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.



if __name__ == "__main__":
cli()
Copy link

Choose a reason for hiding this comment

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

Unrelated ticket automation script accidentally included

High Severity

The file scripts/ticketbot.py appears to be accidentally committed in this PR. The PR is titled "fix(docs): update it-threat-detection.ipynb to SDK v8" and the description exclusively discusses notebook updates for Pinecone SDK v8. However, this 371-line script is a completely unrelated ticket automation tool that spawns Cursor agents to handle ticket processing. It has no connection to the Pinecone SDK or the notebook being updated and is not mentioned anywhere in the PR description or discussion.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants