EU-Mike branding lands alongside a tighter CELEX-confirmation rule in the system prompt

The substantive change in this group is a system prompt revision that forces the LLM to surface its inferred CELEX or ECLI and get user confirmation before fetching any document. The EU-blue banner and visual rebrand are project-specific; the prompt rule is worth examining separately.

chat-uibranding

840135db is the main commit. Visual side: EuBanner.tsx (114 lines) renders a thin EU-blue (#003399) strip across every authed page - inline SVG for the flag, 12 geometrically computed gold stars, "EU-Mike" wordmark, personal credit. Global CSS, tab title, and metadata follow. The old footer is removed.

The non-cosmetic changes are more interesting. mikeApi.ts is hard-coded to call /eu-law-chat instead of /chat. No flag, no env var - the original endpoint is effectively gone from the UI. And the system prompt in euLawChat.ts gains a structured confirmation requirement: when the user gives a free-text citation like "Schrems II" or "Regulation 2016/679", the LLM must show its inferred identifier ("I believe this is ECLI:EU:C:2020:559. Should I fetch it?") and wait for confirmation before calling any fetch tool. Explicit CELEX or ECLI strings from the user skip the confirmation step. eu_verify_citation (pure regex) also runs freely. Rule 6 changes the language default from user language to English.

The README commits (3d1289e9, ce6c70fe) document the new name, the four EU-law tools, the EU_LAW_MCP_URL env var, and the optional status of R2/S3.

So what The EU-Mike visual identity and personal credit are not importable. The system prompt's confirmation-before-fetch rule is worth a look if you are building EU-law retrieval - it closes the gap where the LLM either guesses a wrong CELEX or stalls and asks the user to look one up manually. The `mikeApi.ts` hard-coding would need to be parameterized before the `/eu-law-chat` endpoint could coexist with the original chat path.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

3 commits from lucianschw-dev/eumike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
840135db Frontend EU-Mike branding + tightened EU-law system prompt Lucian.schw 2026-05-17 ↗ GitHub
commit body
Frontend:
- New EuBanner component (real EU flag SVG with 12 five-pointed stars
  on EU blue, plus 'EU-Mike' name and 'Created by Lucian Schwartz-Croft'
  credit) mounted at the top of every authed page
- Primary color switched to EU blue (#003399) in light and dark themes
- mikeApi.ts streaming chat POST routed to /eu-law-chat so the new
  endpoint is actually exercised by the UI
- Browser tab title and OpenGraph metadata updated to 'EU-Mike'
- Old fixed-position footer removed (banner replaces it)

Backend:
- EU_LAW_SYSTEM_PROMPT_EXTRA tightened: when the user gives a free-text
  citation, the LLM must show its inferred CELEX/ECLI and get user
  confirmation before fetching. Explicit identifiers from the user
  still go straight through.
3d1289e9 Remove website link from README lucianschw-dev 2026-05-17 ↗ GitHub
Removed website link from the README.
ce6c70fe Rename project to EU-Mike and update README lucianschw-dev 2026-05-17 ↗ GitHub
Updated project description to reflect the new name and features of EU-Mike, including added EU law tools and integration with EUR-Lex.

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-467.md from inside the repo you want the changes in.

⬇ Download capture-thread-467.md