feat: huntronomer workbench v1.0-v10.0 — IDE + 3D observatory analyst toolkit#218
feat: huntronomer workbench v1.0-v10.0 — IDE + 3D observatory analyst toolkit#218
Conversation
apps/workbench/src/features/observatory/commands/observatory-command-actions.ts
Fixed
Show fixed
Hide fixed
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c6edc8c696
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
apps/workbench/src/features/observatory/__tests__/observatory-weather-layer.test.tsx
Fixed
Show fixed
Hide fixed
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0b4f57d88d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
clawdstrike/apps/workbench/src/lib/workbench/operator-crypto.ts
Lines 234 to 236 in 13f0765
exportKey() wraps salt/iv with buf(...) before passing them to crypto.subtle.deriveKey() and encrypt(), and importKey() repeats the same pattern. In stricter WebCrypto implementations (the current operator-crypto tests hit this), those calls throw TypeError, so the Identity Settings export/import path never succeeds.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 310fb17aa7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 00b0638a2b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
When a text or format filter is active, the code still flattens the filtered tree with project.expandedDirs. That leaves matches under collapsed folders hidden, so filtering can show only ancestor directories—or appear empty—until the user manually expands every parent. For large projects this makes the new explorer filter much less usable than intended.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b48d6898e8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1d8165afd0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
clawdstrike/apps/workbench/src-tauri/src/commands/workbench.rs
Lines 1229 to 1233 in 623d1f6
When a signed_receipt is present, the code accepts json_sig_valid == Some(true) without verifying that the embedded receipt payload matches the top-level id/timestamp/verdict/guard/policy_name fields that are later hashed for chain integrity. This lets a caller pair a valid signature over unrelated embedded receipt data with forged top-level fields, and the entry can still be marked signature-valid and contribute to an apparently intact chain. Compare embedded receipt fields against the top-level chain record before treating canonical-JSON verification as a pass.
Sorting receipts before chronology checks makes timestamps_ordered effectively always true for sortable timestamps and also makes the computed chain_hash insensitive to input reordering. In practice, a reordered chain can still pass as intact as long as signatures verify, which defeats the stated timestamp-order integrity check. Perform ordering validation on the original input sequence (or fail unsorted input) before any normalization.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
af37974 to
4bbd28f
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4bbd28f449
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7498c6b522
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4c37746b4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfdb22f5e9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/project/utils/resolve-project-path.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: da071d360f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a568a7ef84
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
apps/workbench/src/features/activity-bar/components/sidebar-panel.tsx
Outdated
Show resolved
Hide resolved
apps/workbench/src/features/project/utils/resolve-project-path.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
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.

Summary
v10.0 Highlights (this milestone)
Stats
Test plan
@/alias failures unrelated)🤖 Generated with Claude Code
Note
Medium Risk
Medium risk: changes touch the Rust
search_in_projectresult shape/offset calculations and add new build-time chunking rules that can affect runtime loading and search UX, plus CI security-audit ignore list adjustments.Overview
Workbench gains a Playwright E2E suite with a browser-only seeding bridge (
seedWorkbench) that stubs file I/O andsearch_in_project, plus new flow tests covering explorer actions, search reveal targeting (including unicode/whole-word and truncated preview handling), settings navigation, and observatory route smoke.Global project search output is extended and corrected in
apps/workbench/src-tauri/src/commands/workbench.rs: search matches now include both preview-truncated offsets (match_start/match_end) and full-source offsets (source_match_start/source_match_end), regex compilation is refactored viabuild_search_regex, line truncation is made multibyte-safe, and new tests assert unicode case-insensitive offsets,.gitskipping, and truncation behavior.Build output chunking is hardened for the new 3D stack via
build/workbench-chunking.ts(wired intovite.config.ts): introduces manual vendor chunk groups (three/r3f/physics/ui/etc.) and filters module preloads to keepvendor-physicsoff the eagerObservatoryWorldCanvas -> ObservatoryFlowRuntimeSceneedge; adds a build artifact smoke test to validate the bundle graph.CI updates consolidate docs dependencies install, add new RustSec ignore entries for
aws-lc-rsadvisories, adjust OpenClaw runtime summary assertions, and remove unused matrix flags in agent integration jobs.Written by Cursor Bugbot for commit 08eac5a. This will update automatically on new commits. Configure here.