Skip to content

Eop card browser/m2 eop deck browsing#3181

Draft
ayman-art wants to merge 11 commits into
masterfrom
eop-card-browser/m2-eop-deck-browsing
Draft

Eop card browser/m2 eop deck browsing#3181
ayman-art wants to merge 11 commits into
masterfrom
eop-card-browser/m2-eop-deck-browsing

Conversation

@ayman-art

Copy link
Copy Markdown
Collaborator

Description

A clear and concise summary of the change and which issue (if any) it fixes. Should also include relevant motivation and context.

Resolved or fixed issue:

AI Tool Disclosure

  • My contribution does not include any AI-generated content
  • My contribution includes AI-generated content, as disclosed below:
    • AI Tools: [e.g. GitHub CoPilot, ChatGPT, JetBrains Junie etc.]
    • LLMs and versions: [e.g. GPT-4.1, Claude Haiku 4.5, Gemini 2.5 Pro etc.]
    • Prompts: [Summarize the key prompts or instructions given to the AI tools]

Affirmation

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for browsing and rendering the “Elevation of Privilege” (EoP) deck in the SvelteKit website (new edition constant, deck loading, UI toggles, taxonomy/mapping rendering, and i18n strings).

Changes:

  • Add VERSION_EOP and wire EoP (eop, 5.0) into deck/suit loading and existing browsing routes.
  • Extend card-code validation lists and update ordering/color mappings for new EoP suits/cards.
  • Introduce EoP-specific UI components (taxonomy + mapping) and extend tests to cover the new deck.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
cornucopia.owasp.org/src/routes/edition/[edition]/+page.svelte Adds EoP as a selectable edition and renders its description/suits.
cornucopia.owasp.org/src/routes/edition/[edition]/[card]/+page.svelte Extends allowed card IDs to include EoP codes and labels edition name for eop.
cornucopia.owasp.org/src/routes/edition/[edition]/[card]/[version]/+page.svelte Extends allowed card IDs to include EoP codes and labels edition name for eop.
cornucopia.owasp.org/src/routes/edition/[edition]/[card]/[version]/[lang]/+page.svelte Extends allowed card IDs to include EoP codes and labels edition name for eop.
cornucopia.owasp.org/src/routes/cards/+page.svelte Adds EoP suits to the cards browser UI, preview selection, and noscript output.
cornucopia.owasp.org/src/routes/cards/+page.server.ts Loads EoP deck cards server-side and merges into the deck map.
cornucopia.owasp.org/src/routes/cards/[card]/+page.svelte Extends allowed card IDs to include EoP codes and labels edition name for eop.
cornucopia.owasp.org/src/routes/cards/[card]/+page.server.ts Loads EoP deck cards server-side for per-card pages.
cornucopia.owasp.org/src/lib/services/decService.integration.test.ts Updates integration expectations for EoP deck presence and total card counts.
cornucopia.owasp.org/src/lib/services/deckServiceConsts.ts Adds VERSION_EOP.
cornucopia.owasp.org/src/lib/services/deckService.ts Registers EoP deck metadata (latest + available decks).
cornucopia.owasp.org/src/lib/services/deckService.test.ts Adds unit tests for EoP edition/version/language and adjusts deck counts.
cornucopia.owasp.org/src/lib/components/eopCardTaxonomy.svelte New: taxonomy display for EoP cards (mappings + attacks).
cornucopia.owasp.org/src/lib/components/eopCardMapping.svelte New: compact STRIDE mapping renderer for EoP cards in previews.
cornucopia.owasp.org/src/lib/components/cardPreview.svelte Refactors mapping rendering to support EoP mapping component.
cornucopia.owasp.org/src/lib/components/cardFound.svelte Refactors taxonomy rendering to support EoP taxonomy component.
cornucopia.owasp.org/src/domain/suit/suitController.ts Adds EoP deck/language metadata for suit discovery.
cornucopia.owasp.org/src/domain/suit/order.ts Adds suit ordering for STRIDE suit names.
cornucopia.owasp.org/src/domain/card/order.ts Adds per-suit ordering for EoP card IDs.
cornucopia.owasp.org/src/domain/card/cardColor.ts Adds color keys for STRIDE suit names.
cornucopia.owasp.org/data/website/phrases/en/cards.json Adds EoP copy + i18n keys for button/heading and EoP taxonomy headings.

Comment on lines +69 to 71
{#if MappingComponent}
<MappingComponent {mapping} {style}></MappingComponent>
{/if}
Comment on lines +87 to 89
{#if Taxonomy}
<Taxonomy {card} {mappingData} {routes} {capecData} {asvsVersion}></Taxonomy>
{/if}
@sydseter

sydseter commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

You have the card texts, and the cards are browsable. No styling is applied, but I guess that is what you are working on next?

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.

3 participants