[Production] Release 2026-07-16 - #153
Merged
Merged
Conversation
* Generate a Click CLI catalog for the docs site. Walk the watcher Click tree into JSON so data-hub-docs can render and export the command reference without hand-maintaining flag tables. Co-authored-by: Cursor <cursoragent@cursor.com> * Wire CLI catalog snapshot writer and tighten its tests. Route `main()` through `write_cli_catalog_snapshot` (was dead code) via a shared serializer, clarify that the tests are walker smoke checks rather than a docs-snapshot drift guard, and replace the tautological default-path test with determinism and write round-trip coverage. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
* Derive file S3 location server-side on upload (ENG-1450)
The PATCH /api/v1/files/:fileId endpoint accepted arbitrary s3_bucket and
s3_key values, letting any files:update caller repoint a record at any S3
object. Downstream download redirects and Lambda reprocessing trusted those
DB values, enabling data tampering and unauthorized object access.
The watcher only ever echoed back the canonical bucket/key that
request-upload-url already computed, so these fields carried no new
information. Drop them from patchFileBody and rebuild the canonical
{instrumentId}/{runId}/{filename} key from trusted DB state on the uploaded
transition instead of validating client input.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Trim ENG-1450 comments to the 3-line inline limit
Co-authored-by: Cursor <cursoragent@cursor.com>
* Remove Linear ticket references from comments and docs
Co-authored-by: Cursor <cursoragent@cursor.com>
* Stop sending server-derived S3 fields from the watcher
The upload PATCH no longer sends s3_bucket / s3_key now that the server
derives the canonical S3 location itself; the watcher only reports status
and content type. Bump the watcher to 0.5.1.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
* Fix path traversal in watcher upload queue (ENG-1452) Malicious runs could set detected_files[].relative_path to a `..` or absolute path; the watcher joined it onto its watch directory and uploaded the resolved file, exfiltrating arbitrary files from the instrument PC. Server-side: reject `..` segments, absolute prefixes, and null bytes in relative_path/filename (both POSIX and Windows separators). Watcher: defense-in-depth containment check so queued paths escaping the watch directory are refused and cancelled instead of read. Co-authored-by: Cursor <cursoragent@cursor.com> * Push pagination page changes to browser history Add `history: "push"` to the pagination nuqs option so paging back and forth is reflected in browser history and the back button works. Co-authored-by: Cursor <cursoragent@cursor.com> * Guard request-upload-url filename against path traversal Apply the same safe-relative-path check to `requestUploadUrlBody.filename` that `detected_files` already use: the filename is persisted as `relative_path` and joined into the S3 key, so an unchecked `..`/absolute value could reach the watcher's upload queue. Add integration coverage for the rejection and drop internal ticket references from comments. Co-authored-by: Cursor <cursoragent@cursor.com> * Bump watcher version to 0.5.2 Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.