Skip to content

feat(sdk): persist security finding publication associations - #452

Merged
daneschneider-oai merged 28 commits into
mainfrom
dev/kyleb/linear-publish-persistence
Aug 16, 2026
Merged

feat(sdk): persist security finding publication associations#452
daneschneider-oai merged 28 commits into
mainfrom
dev/kyleb/linear-publish-persistence

Conversation

@kmbroai

@kmbroai kmbroai commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

Persist security-finding publication associations in existing local scan history without adding issue-creation or CLI behavior.

Changes

  • Add append-only workbench migrations for finding-to-external-issue associations and NULL-safe team-only publication uniqueness.
  • Validate the completed scan, original scan directory, finding IDs, occurrence IDs, and destination before accepting publication records.
  • Add file-backed Python workbench preflight and transactional import commands with current-run database readback.
  • Add the TypeScript publication-store adapter and package allowlist entry.
  • Preserve existing scan history, support idempotent record replay, and keep independently created issues distinct for both project-scoped and team-only destinations.

Testing

  • Real SQLite publication-store, existing CLI workbench, and saved-scan-history tests: 27 passed with 147 assertions.
  • Validated missing databases, mismatched findings, cross-scan occurrences, invalid destinations, transaction rollback, and repeated publication.
  • Real SQLite regressions verify NULL project storage, exact replay idempotency, cross-finding conflict rejection, and migration upgrades that preserve existing project-scoped records.

Risk and rollout

  • The migration is additive and retains existing scan and finding records.
  • This layer does not contact Linear, start Codex, or expose publication commands.
  • Stacked on the connected Linear publication engine.

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@kmbroai
kmbroai marked this pull request as ready for review August 15, 2026 19:30
wholley-oai
wholley-oai previously approved these changes Aug 15, 2026

@soyeon-oai soyeon-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed the exact PR delta. I found one sealed-scan integrity issue in the publication preflight.

Comment thread sdk/typescript/_bundled_plugin/scripts/workbench_db.py
Base automatically changed from dev/kyleb/linear-publish-engine to main August 16, 2026 00:41
@daneschneider-oai
daneschneider-oai dismissed wholley-oai’s stale review August 16, 2026 00:41

The base branch was changed.

@github-actions github-actions Bot added the enhancement New feature or request label Aug 16, 2026
# Conflicts:
#	sdk/typescript/scripts/check-package.mjs
@daneschneider-oai
daneschneider-oai merged commit dee278a into main Aug 16, 2026
33 checks passed
@daneschneider-oai
daneschneider-oai deleted the dev/kyleb/linear-publish-persistence branch August 16, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants