Repository navigation
docs: record what a stored value authenticates, and tell reviewers what is not a finding - #1258
Conversation
…at is not a finding Agent reviews have flagged, four or five times, that a stored container's membership and order are not authenticated. That is deliberate (vitaminc ADR 0002): stored values are rows and columns, read in any order and in part. stack-encrypt ADR 0010 applies it to what Stack Encrypt stores: each leaf is bound to its context, key, role, type and version; a container's membership and order, a passthrough field (except a context field), and which row a leaf belongs to are not. AGENTS.md gains "Review guidelines" with these as known non-findings (Codex reads it; CLAUDE.md imports it for Claude Code's /code-review), and .github/copilot-instructions.md repeats them for Copilot.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
Agent reviews of Stack Encrypt have flagged the same thing four or five times: a stored container's entries and order are not authenticated. It's deliberate. Stored values are database rows and columns, which come back in any order and in part. Nothing a reviewer reads said so, which is why it kept coming back. This PR records the decision for Stack Encrypt and puts it in the files each review bot reads.
Changes
packages/stack-encrypt/docs/adr/0010-what-a-stored-value-authenticates.md: applies vitaminc's ADR 0002 to what Stack Encrypt stores.Aeadis for a leaf that doesn't open, andOpenedTypeis for a refused type or shape. Stricter authentication will be opt-in through named types.AGENTS.md: a new "Review guidelines" section listing these as known non-findings, with the rule kept narrow: a leaf not bound to its context, key, role, type or version is still a defect. Codex readsAGENTS.md, andCLAUDE.mdimports it, so Claude Code's/code-review(cipherstash-agent) reads it too..github/copilot-instructions.md(new): the same list for Copilot code review.Verification
vitest run --config scripts/vitest.config.mjs) passed 76 of 77 files. The one failure,check-auth-npm-changeset, is environmental:@changesets/parseis missing from thenode_modulesI borrowed, and it fails the same way without this change.Related
Error::OpenedType, which the ADR names, and a test that pins the container case.Review notes
.coderabbit.yaml. A repository config file can override settings made in CodeRabbit's web UI, and CodeRabbit's code-guidelines feature already readsAGENTS.mdand.github/copilot-instructions.mdby default. Worth confirming in the org's CodeRabbit settings.Error::OpenedTypeis ahead ofnextuntil fix(stack-encrypt)!: report a ciphertext that opens as the wrong type as OpenedType, not Aead #1256 merges.