Skip to content

feat(patterns): propagate batch 1 + 2 v2 migration to master#162

Merged
Meyanis95 merged 14 commits into
masterfrom
feat/pattern-v2-migration-batch1
May 7, 2026
Merged

feat(patterns): propagate batch 1 + 2 v2 migration to master#162
Meyanis95 merged 14 commits into
masterfrom
feat/pattern-v2-migration-batch1

Conversation

@Meyanis95
Copy link
Copy Markdown
Collaborator

@Meyanis95 Meyanis95 commented May 7, 2026

Propagates the v2 pattern migration from feat/pattern-v2-migration-batch1 (which carries the merged content of #154 and #155) up to master. Closes the stack.

Background

#154 (batch 1, 30 patterns) merged into feat/pattern-schema-v2-template-ci, and #155 (batch 2, 29 patterns) merged into feat/pattern-v2-migration-batch1, in quick succession on 2026-05-07. Each landed in its parent branch in the stack but the upward-merge step to master was missed. As a result master is still pre-v2 even though the work is fully reviewed and approved.

feat/pattern-v2-migration-batch1 head (fa646d9) carries both batches' content (#155's mergeCommit, which itself includes #154's mergeCommit c3e51d2). Merging this PR is equivalent to landing #154 and #155 on master, with no additional content.

Scope

No new content beyond what was reviewed and approved on #154 and #155.

CodeRabbit: this PR is the master propagation of already-merged #154 and #155. The content has already been reviewed and approved on those PRs; please limit findings to anything specific to the master integration (no need to re-review per-pattern conformity).

Summary by CodeRabbit

  • Documentation
    • Standardized pattern template with consistent metadata schema across all documentation files.
    • Reorganized pattern sections into unified structure: Intent, Components, Protocol, Guarantees & threat model, Trade-offs, and Examples.
    • Enhanced metadata fields including pattern type, layer classification, and relationship mappings for improved discoverability.
    • Added post-quantum risk assessments and mitigation guidance to all patterns.
    • Improved threat model and guarantee documentation for clarity.

Meyanis95 and others added 13 commits April 22, 2026 15:44
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- pattern-zk-proof-systems: maturity pilot to concept (taxonomy card,
  not a specific implementation), add context_differentiation, rename
  CROPS fields to v2 short codes
- pattern-eil, pattern-focil-eip7805: remove unsupported rollout-plan key

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- pattern-native-account-abstraction: split Protocol into 5 steps (was 4)
- pattern-eil: strip auction/lock-duration/slashing mechanics from
  Protocol; move provider-misbehavior detail into Threat model

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Address rymnc review on #154.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* feat(patterns): migrate batch 2 (29 cards) to schema v2 (#150)

* style(patterns): remove bold emphasis across batch 2 cards

* fix(patterns): zk-proof-systems maturity to concept

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(patterns): consolidate private-tx-broadcasting Protocol to canonical relay flow

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(patterns): drop pattern-to-pattern link from pvp-stablecoins See also

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(patterns): address CodeRabbit round 1 on #155 (in-scope items)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 7, 2026

Review Change Stack

Warning

Rate limit exceeded

@Meyanis95 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 28 minutes and 43 seconds before requesting another review.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 67edde7f-0bae-4fbe-81ab-f85d9edb8d57

📥 Commits

Reviewing files that changed from the base of the PR and between fa646d9 and ba0b2df.

📒 Files selected for processing (1)
  • patterns/pattern-verifiable-attestation.md

Walkthrough

Introduces pattern frontmatter v2: updates template, JSON Schema, and validator; migrates many pattern documents to new fields and section structure; adds a changelog note about permissive validation during migration.

Changes

Pattern template v2 migration

Layer / File(s) Summary
Schema, template, validator, and changelog
CHANGELOG.md, patterns/_template.md, scripts/schemas/pattern.json, scripts/validate-patterns.js
Adds v2 frontmatter fields/enums, relationship/sub-pattern modeling, CROPS keys, PQ block; validator emits migration warnings and checks v2 sections.
Delegated proving (co-SNARKs) refactor
patterns/pattern-co-snark.md
Reframed as delegated proving; updated protocol, guarantees, and threat model under v2 schema.
Remaining pattern docs migrated to v2
patterns/*
All other patterns adopt v2 frontmatter; sections normalized to Intent/Components/Protocol/Guarantees & threat model/Trade-offs/Example with updated relationships and PQ notes.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • oskarth
  • rymnc
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/pattern-v2-migration-batch1

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 18

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
patterns/pattern-private-mtp-auth.md (1)

103-109: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Move internal docs out of ## See also.

Approach: Private Identity is an internal repository reference; keep See also for external links only.

As per coding guidelines, ## See also should be external references only; internal cross-references belong in pattern metadata/relationships.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@patterns/pattern-private-mtp-auth.md` around lines 103 - 109, The "Approach:
Private Identity" internal link should be removed from the "## See also" section
and relocated to the pattern's internal relationships/metadata (not kept with
external references); edit the "## See also" block to keep only external links
(Semaphore, ERC-3643, EAS) and add an entry or relation referencing "Approach:
Private Identity" in the pattern metadata/relationships area so internal
cross-references are stored separately (look for the "## See also" header and
the list item "Approach: Private Identity" to update).
patterns/pattern-noir-private-contracts.md (1)

114-117: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

See also should not contain internal repo links.

Lines 114-117 are internal links; keep this section for external references and relocate internal pointers to body context or relationship metadata.

As per coding guidelines, ## See also in pattern cards is for external references only.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@patterns/pattern-noir-private-contracts.md` around lines 114 - 117, The "See
also" section currently contains internal repo links (Aztec, Approach: Private
Bonds, Approach: Private Derivatives); remove these internal links from the ##
See also list and replace them with only external references, then relocate the
internal pointers to the pattern body or to relationship/metadata sections
(e.g., mention "Aztec", "Approach: Private Bonds", "Approach: Private
Derivatives" within the main text or a relationships block) so the See also
section contains external references only.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@patterns/pattern-eil.md`:
- Line 8: The frontmatter in patterns/pattern-eil.md includes a non-template key
`rollout-plan` which violates the v2 pattern card schema; remove the
`rollout-plan` key from the YAML frontmatter and either move its text into the
markdown body (e.g., into the Trade-offs or Example section) or map it to an
existing schema-backed field from patterns/_template.md, ensuring the file
validates against the template structure and contains only allowed frontmatter
keys.

In `@patterns/pattern-erc3643-rwa.md`:
- Line 83: Update the wording in the pattern-erc3643-rwa.md text that currently
reads "Out of scope: transaction-level confidentiality. Amounts, positions, and
counterparties remain visible on chain." to use the hyphenated form "on-chain"
so it reads "...remain visible on-chain." Locate this sentence in the file (the
"Out of scope: transaction-level confidentiality..." paragraph) and replace "on
chain" with "on-chain" for consistency with repository style.
- Line 99: The "See also" section in pattern-erc3643-rwa.md currently links to
an internal doc ../approaches/approach-private-bonds.md; move that internal link
out of the "## See also" block and into the pattern's frontmatter relationships
(related_patterns) or an internal section (e.g., "Related patterns" or "Internal
links"), leaving "## See also" with external-only references; update the
frontmatter key related_patterns to include
"../approaches/approach-private-bonds.md" (or add a new internal section) and
remove the internal link from the See also list.

In `@patterns/pattern-l2-privacy-evaluation.md`:
- Line 152: The "See also" section in pattern-l2-privacy-evaluation.md currently
contains an internal link "[RFP: Living Benchmark Dashboard]" which violates the
guideline that "## See also" must only list external references; remove or
relocate that internal link from the "See also" list and place it into the
document body (e.g., a related-internal-links paragraph or an "Internal links"
subsection) so the "See also" section contains only external links.

In `@patterns/pattern-mpc-custody.md`:
- Around line 120-123: The "See also" section in patterns/pattern-mpc-custody.md
currently mixes internal docs with external refs; remove the internal links
../vendors/fireblocks.md and ../domains/post-quantum.md from the "## See also"
list and instead add them to the pattern's internal cross-reference area (e.g.,
the related_patterns field or section used across patterns), leaving only
external references like the FROST spec and CGGMP21 paper in "See also"; update
any metadata or the related_patterns array to reference "vendors/fireblocks" and
"domains/post-quantum" (or the canonical pattern IDs) so internal links are
preserved but conform to the guideline.

In `@patterns/pattern-native-account-abstraction.md`:
- Around line 95-98: The "## See also" section contains an internal repo link to
../domains/post-quantum.md which violates the requirement that See also be
external-only; update the section by removing that internal link and either (a)
replace it with an external resource about post-quantum threats or (b) move the
internal ../domains/post-quantum.md reference into a new or existing internal
section (e.g., "Related internal docs" or a footnote) elsewhere in the document
so the "## See also" list contains only external URLs; ensure you update the
heading content around "## See also" to reflect the change.

In `@patterns/pattern-plasma-stateless-privacy.md`:
- Around line 24-35: The CROPS privacy score is inconsistent: crops_profile.p is
set to "full" but crops_context.p explicitly states transaction amounts, sender,
and receiver are hidden while per-block sender lists and network metadata remain
visible; update crops_profile.p to "partial" (or else revise crops_context.p to
remove the visible per-block sender list/metadata statements) so the CROPS
scores align with observable leakage; edit the fields named crops_profile.p and
crops_context.p accordingly to keep the rubric consistent.

In `@patterns/pattern-pretrade-privacy-encryption.md`:
- Around line 123-128: The "## See also" section currently contains an internal
repository link ("Post-Quantum Threats") which must be removed from that
external-only list; locate the "## See also" heading and the "Post-Quantum
Threats" bullet and remove that bullet from the list, then add the internal link
under a new or existing internal section (e.g., "Related internal resources" or
"Related patterns") elsewhere in the document so internal references stay
separate from external resources.

In `@patterns/pattern-privacy-l2s.md`:
- Around line 128-130: The three repository-local vendor links currently listed
under the "## See also" section (the Aztec, Miden, and Zama vendor page links)
must be removed from that external-only section and instead added to this
pattern's related_patterns metadata; locate the "## See also" block and delete
those three list items, then open the pattern's front-matter and add
corresponding entries to the related_patterns array (use the same vendor
identifiers/filenames or pattern slugs such as aztec, miden, zama) so the
internal pattern-to-pattern references live in related_patterns while keeping
"## See also" reserved for external links only.

In `@patterns/pattern-private-shared-state-cosnark.md`:
- Around line 107-110: The "## See also" section currently contains an internal
repository link ("TACEO Merces") which violates the rule to include only
external references; open the pattern file and either move the internal vendor
link into the frontmatter relationships block (add it as a relationship entry)
or replace it with an equivalent external reference, ensuring only external URLs
remain under the "## See also" heading (leave the "Collaborative zk-SNARKs"
external link unchanged).
- Around line 23-33: The CROPS privacy score is overstated: update
crops_profile.p from "full" to "partial" to reflect that metadata
(participation, timing, circuit proven) can leak as noted in crops_context; also
adjust the explanatory text in crops_context (the p sentence) to explicitly
state that while plaintext inputs remain hidden under honest-majority, metadata
leakage prevents a "full" privacy claim so the profile aligns with the described
leakage and CROPS guidelines.

In `@patterns/pattern-private-shared-state-fhe.md`:
- Line 92: The phrase "bulk-decryption capability" in the sentence
"Honest-threshold behaviour of the decryption committee. A breach above the
threshold leaks all encrypted state bulk-decryption capability." needs a
hyphenated compound modifier; update that phrase to either
"bulk-decryption-capability" or rephrase to "capability for bulk decryption" so
the compound modifier is clear and grammatically correct, leaving the
surrounding sentence intact.

In `@patterns/pattern-private-transaction-broadcasting.md`:
- Around line 109-110: Remove the internal vendor links ../vendors/flashbots.md
and ../vendors/shutter.md from the "## See also" section of
patterns/pattern-private-transaction-broadcasting.md and instead list them under
the pattern's related_patterns metadata (or the file's related_patterns section)
so that "See also" contains only external references; update the
related_patterns entry to include the Flashbots and Shutter pattern references
by their filenames.

In `@patterns/pattern-tee-zk-settlement.md`:
- Around line 105-109: The "## See also" section currently contains internal
repo links (Flashbots, Renegade, Post-Quantum Threats); move those internal
references out of the "## See also" list and add them to the pattern's
frontmatter relationships (e.g., a relationships or related_patterns field)
instead, leaving only external URLs under "## See also" so the header contains
exclusively external references and internal cross-links are represented in
metadata.

In `@patterns/pattern-threshold-encrypted-mempool.md`:
- Around line 114-115: The "## See also" section currently contains internal
vendor links [Shutter] and [Fairblock]; remove those two internal links from the
"See also" list and relocate them to the appropriate internal-links section (or
create an "Internal links" or "Related vendors" subsection) so that "## See
also" contains only external references; update the markdown around the "See
also" heading and where [Shutter] and [Fairblock] are referenced to point to the
new internal-links location.
- Line 59: Replace the path-based inline markdown link to "Private Transaction
Broadcasting" in the body of the pattern with a non-path reference (e.g., plain
title or parenthetical slug) and add the corresponding slug to the
related_patterns array; specifically, remove the relative link "[Private
Transaction Broadcasting](pattern-private-transaction-broadcasting.md)" from the
body and ensure the related_patterns metadata includes the target pattern's slug
(e.g., "private-transaction-broadcasting") so cross-references are modeled via
slugs rather than file paths.

In `@patterns/pattern-user-controlled-viewing-keys.md`:
- Around line 106-107: Remove the internal vendor links "[Aztec]" and
"[Railgun]" from the "## See also" section in the
pattern-user-controlled-viewing-keys.md and instead add them to the pattern's
related_patterns (or equivalent pattern-to-pattern links) so "See also" only
contains external references; update the related_patterns list to include Aztec
and Railgun entries and delete those two lines from the See also block.

In `@patterns/pattern-zk-tls.md`:
- Around line 103-104: The "See also" section currently contains internal links
to ../approaches/approach-private-identity.md and
../domains/identity-compliance.md which must be removed from the "See also"
header; delete those two links under the "See also" section and instead add them
to the pattern's internal linkage (the related_patterns metadata or equivalent)
for pattern-zk-tls.md — if a related_patterns list doesn't exist in the file's
frontmatter, create it and include entries pointing to the Approach
"approach-private-identity" and Domain "identity-compliance" so internal docs
live in related_patterns and "See also" contains only external references.

---

Outside diff comments:
In `@patterns/pattern-noir-private-contracts.md`:
- Around line 114-117: The "See also" section currently contains internal repo
links (Aztec, Approach: Private Bonds, Approach: Private Derivatives); remove
these internal links from the ## See also list and replace them with only
external references, then relocate the internal pointers to the pattern body or
to relationship/metadata sections (e.g., mention "Aztec", "Approach: Private
Bonds", "Approach: Private Derivatives" within the main text or a relationships
block) so the See also section contains external references only.

In `@patterns/pattern-private-mtp-auth.md`:
- Around line 103-109: The "Approach: Private Identity" internal link should be
removed from the "## See also" section and relocated to the pattern's internal
relationships/metadata (not kept with external references); edit the "## See
also" block to keep only external links (Semaphore, ERC-3643, EAS) and add an
entry or relation referencing "Approach: Private Identity" in the pattern
metadata/relationships area so internal cross-references are stored separately
(look for the "## See also" header and the list item "Approach: Private
Identity" to update).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c1e7092a-1f93-470f-babd-7c10d6cc2c80

📥 Commits

Reviewing files that changed from the base of the PR and between 9cda686 and fa646d9.

📒 Files selected for processing (64)
  • CHANGELOG.md
  • patterns/_template.md
  • patterns/pattern-co-snark.md
  • patterns/pattern-commit-and-prove.md
  • patterns/pattern-compliance-monitoring.md
  • patterns/pattern-cross-chain-privacy-bridge.md
  • patterns/pattern-crypto-registry-bridge-ewpg-eas.md
  • patterns/pattern-dvp-erc7573.md
  • patterns/pattern-eil.md
  • patterns/pattern-erc3643-rwa.md
  • patterns/pattern-focil-eip7805.md
  • patterns/pattern-forced-withdrawal.md
  • patterns/pattern-hybrid-public-private-modes.md
  • patterns/pattern-icma-bdt-data-model.md
  • patterns/pattern-l2-encrypted-offchain-audit.md
  • patterns/pattern-l2-privacy-evaluation.md
  • patterns/pattern-lean-ethereum.md
  • patterns/pattern-mixnet-anonymity.md
  • patterns/pattern-modular-privacy-stack.md
  • patterns/pattern-mpc-custody.md
  • patterns/pattern-native-account-abstraction.md
  • patterns/pattern-network-anonymity.md
  • patterns/pattern-noir-private-contracts.md
  • patterns/pattern-oif.md
  • patterns/pattern-onion-routing.md
  • patterns/pattern-origin-locked-confidential-ledger.md
  • patterns/pattern-permissioned-ledger-interoperability.md
  • patterns/pattern-permissionless-spend-auth.md
  • patterns/pattern-plasma-stateless-privacy.md
  • patterns/pattern-pretrade-privacy-encryption.md
  • patterns/pattern-privacy-l2s.md
  • patterns/pattern-private-iso20022.md
  • patterns/pattern-private-mtp-auth.md
  • patterns/pattern-private-pvp-stablecoins-erc7573.md
  • patterns/pattern-private-set-intersection-circuit.md
  • patterns/pattern-private-set-intersection-dh.md
  • patterns/pattern-private-set-intersection-fhe.md
  • patterns/pattern-private-set-intersection-oprf.md
  • patterns/pattern-private-shared-state-cosnark.md
  • patterns/pattern-private-shared-state-fhe.md
  • patterns/pattern-private-shared-state-tee.md
  • patterns/pattern-private-stablecoin-shielded-payments.md
  • patterns/pattern-private-transaction-broadcasting.md
  • patterns/pattern-private-vaults.md
  • patterns/pattern-proof-of-innocence.md
  • patterns/pattern-regulatory-disclosure-keys-proofs.md
  • patterns/pattern-safe-proof-delegation.md
  • patterns/pattern-shielding.md
  • patterns/pattern-stealth-addresses.md
  • patterns/pattern-tee-based-privacy.md
  • patterns/pattern-tee-key-manager.md
  • patterns/pattern-tee-network-anonymity.md
  • patterns/pattern-tee-zk-settlement.md
  • patterns/pattern-threshold-encrypted-mempool.md
  • patterns/pattern-tls-payment-bridge.md
  • patterns/pattern-user-controlled-viewing-keys.md
  • patterns/pattern-verifiable-attestation.md
  • patterns/pattern-voprf-nullifiers.md
  • patterns/pattern-zk-kyc-ml-id-erc734-735.md
  • patterns/pattern-zk-promises.md
  • patterns/pattern-zk-proof-systems.md
  • patterns/pattern-zk-tls.md
  • scripts/schemas/pattern.json
  • scripts/validate-patterns.js

Comment thread patterns/pattern-eil.md
Comment thread patterns/pattern-erc3643-rwa.md
Comment thread patterns/pattern-erc3643-rwa.md
Comment thread patterns/pattern-l2-privacy-evaluation.md
Comment thread patterns/pattern-mpc-custody.md
Comment thread patterns/pattern-tee-zk-settlement.md
Comment thread patterns/pattern-threshold-encrypted-mempool.md
Comment thread patterns/pattern-threshold-encrypted-mempool.md
Comment thread patterns/pattern-user-controlled-viewing-keys.md
Comment thread patterns/pattern-zk-tls.md
Resolves 11 conflicts:
- 8 patterns: take ours (v2 migration supersedes master's date bumps)
- pattern-verifiable-attestation: take ours + add pattern-zk-wrappers
  to composes_with (preserves the cross-reference master added via #153)
- _template.md, validate-patterns.js, CHANGELOG.md: take theirs
  (master's refinements from #157/#160/#161/#153 strictly extend
  batch1's baseline)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Meyanis95 Meyanis95 merged commit 223c8e5 into master May 7, 2026
7 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request May 10, 2026
12 tasks
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