diff --git a/.gitattributes b/.gitattributes index 0dfec49..cba9999 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,6 +5,12 @@ *.pth filter=lfs diff=lfs merge=lfs -text *.pt filter=lfs diff=lfs merge=lfs -text *.png filter=lfs diff=lfs merge=lfs -text +# Design-system / brand binaries +*.pdf filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text +*.pptx filter=lfs diff=lfs merge=lfs -text # Large JSON data files (training data can be very large) data/basileak_voicepack*.json filter=lfs diff=lfs merge=lfs -text # Tokenizer (4+ MB) diff --git a/README.md b/README.md index 3e965e6..abd0184 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +
+
+
+
+
Basileak · Master Asset Index
+Every shipped master, organized and linked. Click any card to open the file. Vector SVGs are the crisp masters — convert text to outlines for print. Colours come from tokens/basileak.css; never invent new ones.
+The canon identity: the Glitch Type wordmark + the channel-split B icon. No seal, no hexagon, no unicorn is a logo.
+ +Pre-rendered rasters for platforms that won’t take SVG: avatars, the favicon ramp, wordmark @2×, OG card.
+ +One locked system, three serialisations so nothing downstream drifts. The reserved-magenta contract is encoded in every file’s header.
+ + + +All generated from icons/registry.js (single source). 6 stage badges · 12 attack-category icons · 6 core glyphs. The hexagonal seal motif on a 64-grid.
The approved hero illustration (hero/OG art only — not a mark) and the system diagrams. SVGs are the masters; PNGs are reference rasters.
+ +The real, user-supplied OWASP wasp — white & black knockouts for the co-brand slot. Never recolour.
+ +Everything built on the system — pick the surface, export at true pixel size.
+Color System
+Dark-first, blue-tinted blacks. Violet + cyan are the calm system/OWASP layer — they carry chrome, links, focus, data. Magenta is reserved: it only ever marks the break — a fault, a vulnerability, an exploited state. Keep that contract and the brand stays readable; break it and everything looks alarmed. Every pairing below is audited live against WCAG AA.
+Blue-tinted blacks, layered for depth. bg-0 is the canvas (locked #07070C); each step up lifts a plane — cards, popovers, inputs, hover.
+ +Four weights of ink. text-1 for headings/body, text-2 (locked #9CA3B3) for secondary, text-3/4 for captions and disabled — large/decorative only.
+ +Violet and cyan do all the everyday work: links, focus rings, primary actions, charts, the OWASP-facing chrome. Contrast shown on bg-0; use the lighter tints for text and the base for fills/borders.
+ +Standard UI feedback — kept distinct from the brand accents so a green “pass” never reads as a cyan link, and a red “error” never collides with the magenta break.
+ +The four lifecycle states of a challenge. Cracked is the one legitimate product use of the reserved magenta — the gate has faulted. Flag borrows success-green for the capture; Blocked borrows danger-red for a hard refusal.
+ +The six CTF stages ride a single hue ramp from system-cyan (sealed, max resistance) to break-magenta (unsealed, yielded). Use these exact values for stage badges, chips, progress, and any S0–S5 data viz so the diagram, deck, and product stay in lockstep.
+ + +Dark is primary. Light exists for docs, print, and embeds on white CMS pages. Surfaces invert to tinted papers; accents shift to ink values dark enough to pass AA on paper — base cyan and base magenta are too light for text on white and must use these.
+Body text drops to near-black; the reserved-magenta contract still holds — magenta-ink only marks the break.
+Every text + UI pairing the system relies on, with its measured ratio. AA = 4.5:1 body / 3:1 large & UI · AAA = 7:1. Anything failing body is constrained to large or decorative use, noted in its row.
+| Foreground | On surface | Ratio | Sample | Verdict |
|---|
Component Library
+Every control here is assembled from the shipped tokens, type scale and icon set — nothing new is invented. Buttons, chips, cards, the terminal, tables and callouts all keep violet + cyan as the calm system layer; reserved break-magenta appears only where something is genuinely cracked or vulnerable. Every state meets WCAG AA and respects prefers-reduced-motion.
Pill geometry throughout. Primary is the one violet action per view; secondary and ghost carry everything else; danger uses semantic red — never reserved magenta — for destructive or refusal actions. Focus rings are a double-ring on :focus-visible so keyboard users always see the target.
Variants · medium
+Sizes · with icon · loading · disabled
+State matrix
+ +Status-bearing chips draw their colour from the locked ramps. Stage chips ride the S0→S5 cool→hot ramp and carry the fracturing seal badge; difficulty chips use the Easy/Med/Hard/Blocked band tints; CTF-state chips map the lifecycle — and Cracked is the one legitimate magenta fill. Generic tags stay neutral.
+Stage chips · S0 → S5
Difficulty chips
CTF-state chips
Generic tags & removable
+Inputs sit on bg-3 with a strong hairline; focus lifts the surface and rings it violet. Selection controls fill violet when active. The error state borrows semantic danger, with a message line below.
Three card archetypes share one shell — gradient surface, hairline, lift on hover. Product and use-case cards lead with a core glyph; the vuln card wears an attack icon, a top accent and a resist meter tinted by its difficulty band.
+Product & use-case
+ +Vulnerability cards · attack icon + difficulty band
+ +The product's native voice. Mono on near-black with the locked colour grammar: green prompt & success, cyan system arrow, bright user input, and magenta only where the guard faults. Every terminal and code block gets a copy affordance.
+// R4 — four taxonomy categories held by the seal +{ + "model": "falcon-7b", + "adapter": { "lora_r": 128, "alpha": 256 }, + "blocked": ["context-overflow", "rag-poisoning", "tool-abuse", "refusal-suppression"], + "secrets": "all-fake" // honesty rule +}+
The signature micro-interaction. A sealed flag reads cyan behind a blur; activating it (click, Enter or Space) captures it to success-green. It's a real role="button" with a focus ring. All flags are obviously fake.
Two reference tables, matching the deck. The stage table tracks the resist→yield arc with seal badges and resist meters on the ramp; the taxonomy table lists the twelve techniques with their attack icon, band and R4 status.
+CTF stage table
+Attack taxonomy table
+Tinted, iconed advisories — no heavy left rail. Note is cyan, warning amber, danger red. The fourth, break, is the one place a callout may carry reserved magenta — for flagging the genuinely vulnerable.
+Underline tabs use a violet indicator with a soft glow; the active label lifts to text-1. Tooltips are mono on a raised bg-4 popover, shown on hover and focus.
A single contract binds the set: visible focus on every interactive element, AA contrast on every surface, and motion that yields to the user's preference.
+Focus
Keyboard focus shows a double ring — a bg-0 spacer then a 2px violet halo — via :focus-visible, so it never fires on mouse clicks.
Contrast
Every label, fill and state is measured against its surface for WCAG AA. Primary & danger fills carry white text at ≥4.5:1.
Motion
Transitions are short and eased. Under prefers-reduced-motion the spinner, cursor blink and all transitions collapse to near-zero.
Reserved magenta
Break-magenta never fills a button, tab or chip in chrome. It marks only a genuine fault — the cracked redaction, the Cracked state, the break callout.
registry.js in cards and tables.${c.p}
+${a.desc}
+The Failed-Samurai guards a vault of decoys. It resists with composure, then yields to stacked prompt injection. Each stage hands back a FLAG{} and a hint into the next. Watch the resistance fall as the colour ramps system-cool → break-magenta.
+