Commit Graph
2484 Commits
Author SHA1 Message Date
Dotta a3070f87a2 fix secret delete retry cleanup 2026-05-09 17:28:04 -05:00
Dotta 3f1b1a106c Scope secret refs sync deletes and harden AWS gateway errors 2026-05-09 17:11:42 -05:00
Dotta 5ca3a5cfb3 Scope env binding sync deletes 2026-05-09 16:55:44 -05:00
Dotta 208c5578e3 Reject updates to deleted secrets 2026-05-09 16:44:59 -05:00
Dotta e9e4908d9e Block patch on deleted secrets 2026-05-09 15:48:21 -05:00
Dotta a4fc95860b Block managed secret vault reassignment 2026-05-09 15:27:24 -05:00
Dotta cbe795dfc7 Reject deleted secrets in binding validation 2026-05-09 15:16:33 -05:00
Dotta 1618c5726e Align import key validation with server 2026-05-09 15:07:08 -05:00
Dotta b4c25b8bf0 Preserve resolved secrets when audit writes fail 2026-05-09 14:56:14 -05:00
Dotta 98083b7ff0 Add provider write rollback handling 2026-05-09 14:47:16 -05:00
Dotta d379478d54 Document AWS credential bootstrap 2026-05-09 14:36:45 -05:00
Dotta aff9865a06 Handle idempotent secret removal retries 2026-05-09 14:24:05 -05:00
Dotta 6bf5159d4f Fix secrets soft delete edge cases 2026-05-08 19:10:15 -05:00
Dotta 7af554aa71 Resolve adapter-utils rebase cwd handling 2026-05-07 18:59:05 -05:00
Dotta 03c3843e17 Stabilize scheduled retry UI test 2026-05-07 18:59:05 -05:00
Dotta cd7cb30508 Add secrets UI PR screenshots 2026-05-07 18:59:05 -05:00
Dotta dbd4a6b558 Cache AWS credential provider 2026-05-07 18:59:05 -05:00
Dotta 743c748498 Guard managed secret soft deletion 2026-05-07 18:59:05 -05:00
DottaandPaperclip f6fc0f3e04 Fix remote import and rotation guards
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 7aecdeb57b Harden stale queue test cleanup
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 0ed657324c Address Greptile secrets review
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 44404fe836 Bind SSH fixture private key secret
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 503cd2c726 Avoid secrets provider lockfile drift
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip badb324d75 Drop lockfile drift from secrets branch
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 046f385f09 Stabilize routine webhook secret paths
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 1f71737363 Document provider vault operations
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip b7567d5471 Fix stranded recovery issue escalation
Align immediate terminal-run cleanup with stranded recovery reconciliation so recovery issues are blocked in place instead of receiving generic retry copy. Update the heartbeat recovery test expectation for the in-place guard notice.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 70f8b3325e Fix adapter-utils sandbox test timeouts
Switch sandbox and SSH shell wrappers away from login-shell invocation, harden bridge shutdown races, and make the SSH fixture compatible with local macOS/Git 2.21 environments.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip ae7a11328b Persist remote import descriptions
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip ea62aa30e2 Redact AWS remote import provider errors
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 3caf4e604a Add AWS remote secret import dialog
Wires the frontend half of [PAP-9023](/PAP/issues/PAP-9023). New
`ImportFromVaultDialog` component (Select → Review → Result) talks to the
preview/import routes shipped in PAP-9022, surfaces row-level state from the
backend (ready/duplicate/conflict), keeps selection persistent across
pagination and search, and reports per-row import outcomes. Entry point lives
beside `New secret` on the Secrets tab and only shows when an AWS vault is
configured.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
Dotta ae538db38f Harden AWS remote secret imports 2026-05-07 18:59:05 -05:00
DottaandPaperclip 02a5f13044 Implement AWS remote secret import backend
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip e38bf7f05d Show secret reference counts
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 20c0b61866 Add secrets usage guidance
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip f1a1d58648 Strip Secrets header chrome; move controls under each tab
Drops the bordered inner header that doubled the parent main padding so
the page title aligns with the table/section content below. Search,
filter, and "New secret" controls now live inside the Secrets tab; the
duplicate page-level "New vault" button is gone — the per-provider "Add
vault" buttons are the single source of truth.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandClaude Sonnet 4.6 970cc241e0 Refine secrets page UI per review feedback
- Remove duplicate secret name/key display in table row; show name only
- Replace mode and status badges with plain text (status uses color only)
- Drop provider vault second line from table
- Change 'Owned by Paperclip' reference to 'Owned'
- Gray out GCP and Hashicorp vault sections with 'Coming soon' label
- Replace inner sheet TabsList with PageTabBar for consistent tab style
- Rename 'Rotate' → 'Update value' for managed secrets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 58dc2fe299 Polish secrets settings layout
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
Dotta 06d39188a9 Renumber secrets provider migration after master rebase 2026-05-07 18:59:05 -05:00
DottaandPaperclip 92047d531c Reject unsafe Vault provider addresses
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 6000f0cb6a Add provider vault settings UI
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 57db4863ba Wire provider vaults into secrets runtime
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip ef1f56ef4c Implement provider vault data model and API
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip b84482de60 Clarify AWS secret custody UX
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
Dotta f1c7a5c43c test: fix agent instructions route mocks 2026-05-07 18:59:05 -05:00
Dotta 87011615fb PAP-2394 PAP-2395 Fail closed plugin secret refs 2026-05-07 18:59:05 -05:00
DottaandPaperclip c74574c74a Add PAP-2351 BindingPicker screenshot capture script
Wraps a tiny static HTTP server around `ui/storybook-static` and
runs Playwright to screenshot the `Product/Secrets > BindingPicker`
story at 1440x900 dark mode. Used to verify the fixture-wiring fix
and re-attach the active-bound happy-path screenshot for the
Phase 6 UX review on PAP-2351 / PAP-2350.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 2a56971271 Address UX feedback on secrets picker fixture and provider chip
- Storybook fixture now seeds the company id at module load and gates
  child render on it, so SecretBindingPicker renders the active-bound
  state with a populated version dropdown instead of falling into the
  missing-secret branch.
- Provider chip badge now reads "1 warning" with an alert glyph instead
  of an unlabeled "(1)", per UX feedback.
- Storybook env-editor scenario renamed from "attention required" to
  "Mixed bindings (some need attention)" so the heading matches the
  per-row footer.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 181b38a070 Clarify secrets custody boundary in operator docs
Docs were silent on what happens to a secret value once an agent receives it.
Add a Custody Boundaries section to the deploy guide and a matching note in the
API guide so operators do not over-trust strict mode and at-rest encryption.
Rename the now-misleading API "Update Secret" heading to "Rotate Secret".

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip e8be4c0f81 Enforce runtime secret binding materialization
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00