Conversation
5dfbeaf to
2ccffef
Compare
057ddd7 to
7c0739a
Compare
5ae1132 to
bf90ad6
Compare
| pub enum JobStatus { | ||
| /// The discover is queued or in progress. | ||
| Queued, | ||
| Success, |
There was a problem hiding this comment.
The inner fields that Success used to have were vestigial. I found no reads of either field in the UI, and no consumers remain in the backend. #1764 moved auto-discovers into capture controllers and stopped producing meaningful values for these fields. Since then, the discover handler/executor has written discovers.job_status from Success { publication_id: None, specs_unchanged: false }. Serde's skip_serializing_if = "Option::is_none" and skip_serializing_if = "std::ops::Not::not" already omitted both fields, so successful jobs were already stored as {"type":"success"}.
bf90ad6 to
5045442
Compare
Strix Security ReviewWarning This pull request has 6 commits after the last Strix review ( No security issues found. Review summaryReviewed all 35 changed files for PR #3545, focusing on the new Updated for Reviewed by Strix |
Move StorageRow, resolve_storage_mappings, join_storage_mappings, and their regression test into the existing storage_mappings module. Preserve the function bodies and test expectations, adjusting visibility and module paths. Publications still fetch and join mappings separately. Leave publication placement unchanged so discovery can reuse resolution without rewriting it.
Keep the persisted discovery status model independent of its executor, retaining the executor's existing import path through a re-export. Remove success payload fields that discovery no longer produces. Pin every persisted status tag and retain deserialization of historical success records containing publication results.
Allow draft owners to query existing discovery jobs, current draft errors, and paginated logs. Reuse the persisted status model and the draft error reader, and document historical statuses and the limits of log pagination. Seed existing jobs directly in read-side tests so ownership, historical status, diagnostics, and pagination are covered independently of GraphQL submission.
Add createDiscover using an owned draft's capture or a readable live capture. Validate authorization, connector readiness, and placement before atomically copying any required capture definition and scheduling discovery. Preserve serialized definitions and publication preconditions. Cover submission policy, capability checks, encrypted configuration, conflicting staging, rollback after writes, and the discovery-to-publication workflow.
5045442 to
4c5cf32
Compare
Description:
Add
createDiscoveranddiscover(id)to GraphQL. Discovery uses the capture staged in an owned draft, or copies a readable live capture while retaining its publication precondition. Submission atomically copies the definition and queues the existing discovery executor.Workflow steps:
bindings: [], or use an existing live capture.createDiscover(draftId, captureName, dataPlane); the optional data plane must match an existing capture's plane or be permitted by the new capture's storage mapping.discover(id)until status leavesQUEUED. Read logs throughdiscover(id).logs, and inspect the resulting definitions throughdraft(id).specs.