Commit Graph
2477 Commits
Author SHA1 Message Date
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
Dotta e117692027 Add secrets CLI portability docs 2026-05-07 18:59:05 -05:00
DottaandPaperclip 90670ea4eb Add Secrets storybook story and fixtures
Adds product/secrets story coverage for the inventory, binding picker
(empty/active/disabled/missing variants), env editor with secret
bindings, and the run-failure copy. Wires fetch fixtures and provider
health response into the storybook preview so the page renders against
canned data. Fall through to selectedCompanyId so the page shows when
the company is selected even before the companies list resolves.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip af5451711d Reject managed secret externalRef overrides
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip 70a86170f5 Harden AWS managed secret refs
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip d1a8a8e621 Build secrets board UI and reusable binding picker
Implements PAP-2350. Adds a dedicated company-scoped Secrets page with
inventory, detail drawer, create/link/rotate/disable/archive/delete flows,
provider health bar, usage and access-event tabs. Surfaces a reusable
SecretBindingPicker component plus an enhanced EnvVarEditor that selects
versions and warns on missing/disabled secrets.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
DottaandPaperclip c26273328f Harden secrets provider abstraction
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 18:59:05 -05:00
Dotta c7fcfee836 Implement secrets service contract 2026-05-07 18:59:04 -05:00