Skip to content

feat(security): add standalone directory credential registry - #354

Draft
seonghobae wants to merge 5 commits into
feat/credential-registry-contract-main-20260811from
feat/local-credential-registry-20260811
Draft

feat(security): add standalone directory credential registry#354
seonghobae wants to merge 5 commits into
feat/credential-registry-contract-main-20260811from
feat/local-credential-registry-20260811

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Objective

Advance issue #319 with a standalone, provider-neutral local credential-store adapter on the exact #344 registry contract. The adapter resolves purpose-scoped, versioned key material without making raw environment values the long-lived runtime authority.

Exact stack identity

  • parent PR feat(security): define provider-neutral credential registry contract #344 exact head/base: 56c001eff8bc683153844170c616e03c0a884878;
  • child exact head: d7321e0c29c38553f6e0fa089a9e659d91d08b8a;
  • changed paths: DirectoryCredentialRegistry.java and its focused test only;
  • emitted child CI and fuzz: terminal-success;
  • no Security Scan or SAST run is inferred for this stacked base;
  • unresolved review threads: zero.

Contract

The read-only adapter requires canonical purpose metadata, an exact active version, bounded opaque key bytes, safe credential/version identifiers, and fail-closed handling of missing, blank, malformed, mismatched, non-canonical, empty, oversized, or symlinked registry state. Returned snapshots inherit #344's defensive secret copying and redacted diagnostics.

Scope boundary

This slice does not migrate TenantAccessService, ArtifactLinkService, ProductionAuthReadinessConfig, or production bootstrap. It does not implement writes, distributed cache, compatibility-window rotation, KMS custody, or a vendor-specific adapter.

Merge gate

Keep Draft while #344 remains unmerged. Child CI/fuzz success is review evidence, not protected-main merge evidence. After #344 reaches protected main, rebuild or retarget this two-file delta onto the new exact protected base and regenerate all main-targeted CI, Security Scan, SAST, fuzz, current-head reviews, and qualifying independent approval. No predecessor evidence transfers.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3804d391-d07f-4f6e-bfd4-0dbab46acddd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Collaborator Author

Read-only child-head review request for d7321e0c29c38553f6e0fa089a9e659d91d08b8a over exact parent #344 head 56c001eff8bc683153844170c616e03c0a884878. Emitted CI and fuzz are terminal-success; this remains Draft and is not protected-main merge evidence. Review canonical purpose/version metadata, identifier and byte bounds, symlink rejection, fail-closed malformed state, defensive snapshot semantics, and absence of write/provider authority. Do not mutate or merge the branch.

@opencode-agent review
@cwl-noema-review review
@strix review
@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Rate Limit Exceeded

@seonghobae have exceeded the limit for the number of chat messages per hour. Please wait 29 minutes and 47 seconds before sending another message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant