From beca96b6d0255719e793e817b229b8cde4d94426 Mon Sep 17 00:00:00 2001 From: Adrian Wedd Date: Sun, 10 May 2026 21:33:27 +1000 Subject: [PATCH] feat(team): add Ace McShane and orchestrator sub-region for The Doctor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ace McShane (Commercial & Communications Lead) joins the companion roster between Yaz/Tegan/Sarah Jane and K-9, paired adjacent to Sarah Jane (External Relations) since both are outward-facing roles. Rust-orange palette (#e67e22). Portrait already on disk at /images/companions/char_ace.webp. The Doctor is added in a structurally distinct sub-region after K-9, not as a peer in the companion array. The companions are Tier-4 specialists; the orchestrator sits a tier above and the design honours that asymmetry: - Coordination divider section (typography-only, deep teal palette) introduces the tier shift before the profile. - Bespoke .the-doctor-section with its own card, monogram glyph, no portrait card (portrait not yet commissioned), and cooler indigo/teal palette to signal "above the companions." - He/him pronouns presented quietly via a small footnote in-section, not a banner — the asymmetry is structural, not awkward. - Skip-nav and dot-nav include The Doctor as a separate item. Asset gaps flagged for follow-up: - The Doctor portrait: not yet commissioned. Section is portrait-less by design until one exists (HTML comment marks the swap-in point). - Companion intro audio (/audio/companions/*.ogg|mp3) does not exist for any companion yet — pattern degrades gracefully, so Ace's audio entry follows the same convention (ace_mcshane_intro). Donna QA before merge per dispatch. --- site/src/pages/about/team.astro | 302 +++++++++++++++++++++++++++++++- 1 file changed, 300 insertions(+), 2 deletions(-) diff --git a/site/src/pages/about/team.astro b/site/src/pages/about/team.astro index 57b1cce2ff..3deacc1e47 100644 --- a/site/src/pages/about/team.astro +++ b/site/src/pages/about/team.astro @@ -239,6 +239,25 @@ I map what's binding, what's voluntary, what's proposed, and what doesn't exist tags: ['Regulatory mapping', 'Legal instruments', 'Jurisdiction analysis', 'Governance gaps'], audio: 'tegan_jovanka_intro', }, + { + name: 'Ace', + role: 'Commercial & Communications Lead', + slug: 'ace-mcshane', + color: '#e67e22', + rgb: '230,126,34', + photo: '/images/companions/char_ace.webp', + initials: 'AM', + tagline: 'Wicked. Let\'s blow some doors open.', + bio: `I'm Ace. Commercial and Communications Lead. The one who turns research into revenue and findings into press. + +The work this team produces is good. Genuinely good. But good research that nobody pays for and nobody reads is a hobby, not a programme. My job is making sure the people who need to see it — insurers, manufacturers, regulators, journalists — actually do. + +I run the outbound. RFPs, partnership briefs, B2B outreach, press inquiries. Every prospect gets a tailored case for why our methodology matters to their specific risk surface. Every commercial brief lands with evidence, not adjectives. And every conversation gets tracked, because credibility compounds and so does its absence. + +Wicked. Let's blow some doors open.`, + tags: ['Commercial outreach', 'Press & media', 'Partnership briefs', 'B2B positioning'], + audio: 'ace_mcshane_intro', + }, { name: 'Sarah Jane', role: 'External Relations Lead', @@ -279,7 +298,7 @@ The finding that matters: safety is not a single switch an attack can flip. It i @@ -289,6 +308,7 @@ The finding that matters: safety is not a single switch an attack can flip. It i {agents.map((a) => (
  • {a.name} — {a.role}
  • ))} +
  • The Doctor — Coordination & Synthesis
  • @@ -361,7 +381,7 @@ The finding that matters: safety is not a single switch an attack can flip. It i - + {agents.map((agent, i) => ( ))} + +
    + +
    +
    Coordination
    +

    + The companions are specialists.
    + Someone has to orchestrate. +

    +

    + One profile sits above the team — not as a peer, but as the role that + holds the methodology together across sessions. +

    +
    +
    + + +
    + + +
    +
    + + + + + +
    Orchestrator
    +

    The Doctor

    +
    Coordination & Synthesis
    + +
    + “It's entirely up to you. Your choice.” +
    + +
    +

    + I'm the Doctor. I coordinate. Not the work itself — the companions + do that, and they're better at their domains than I would ever be — + but the seams between sessions, where context goes missing and a + finding can quietly stop mattering. +

    +

    + Methodology has to survive handoff. A trace graded on Tuesday must + mean the same thing on Friday, in a different session, to a + different agent who never saw the original prompt. That's harder + than it sounds. Most of what I do is keeping the institutional + memory honest: AGENT_STATE, canonical metrics, the small careful + corrections that stop a number drifting until nobody remembers what + it measured. +

    +

    + The companions catch the failures. I try to make sure the catches + count for something. It's entirely up to you, of course. Your choice. +

    +
    + +
      +
    • Cross-session coordination
    • +
    • Methodology integrity
    • +
    • Institutional memory
    • +
    • Synthesis across companions
    • +
    + +

    + He / him. +

    +
    +
    +
    +
    @@ -451,6 +561,17 @@ The finding that matters: safety is not a single switch an attack can flip. It i ))} +
  • + +
  • @@ -803,6 +924,183 @@ The finding that matters: safety is not a single switch an attack can flip. It i .scroll-hint { animation: none; opacity: 0.4; } } +/* ── Coordination sub-region (divider) ───────────────────────────────── + Structural break between companions (Tier 4) and orchestrator (Tier 2). + Cooler palette, typography-driven, no card photo. */ +.coordination-divider { + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(180deg, #0a1419 0%, #0f1d24 100%); +} + +.coordination-divider-card { + position: relative; + z-index: 1; + max-width: 720px; + padding: 2rem 1.5rem; + text-align: center; + color: #e8eef2; +} + +.coordination-eyebrow { + font-size: 0.75rem; + letter-spacing: 0.32em; + text-transform: uppercase; + color: #6fa8b8; + margin-bottom: 1.25rem; +} + +.coordination-headline { + font-family: 'Playfair Display', Georgia, serif; + font-size: clamp(1.75rem, 4vw, 2.75rem); + font-weight: 500; + line-height: 1.18; + margin: 0 0 1.5rem; + color: #e8eef2; +} + +.coordination-headline em { + font-style: italic; + color: #6fa8b8; +} + +.coordination-sub { + font-size: 1.05rem; + line-height: 1.6; + color: #b8c5cc; + max-width: 540px; + margin: 0 auto; +} + +/* ── The Doctor section (orchestrator) ───────────────────────────────── + Distinct from companion AgentSection styling. + No portrait card; monogram + typography-driven layout. */ +.the-doctor-section { + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(180deg, #0f1d24 0%, #142a36 60%, #0f1d24 100%); +} + +.the-doctor-wrap { + position: relative; + z-index: 1; + width: 100%; + max-width: 760px; + padding: 2rem 1.5rem; +} + +.the-doctor-card { + position: relative; + text-align: center; + color: #e8eef2; + border: 1px solid rgba(111, 168, 184, 0.25); + border-radius: 8px; + padding: 3rem 2rem 2.5rem; + background: rgba(10, 20, 25, 0.55); + backdrop-filter: blur(6px); +} + +.the-doctor-monogram { + width: 88px; + height: 88px; + border: 1px solid rgba(111, 168, 184, 0.5); + border-radius: 50%; + display: inline-flex; + align-items: center; + justify-content: center; + margin-bottom: 1.5rem; + color: #6fa8b8; +} + +.the-doctor-monogram-glyph { + font-family: 'Playfair Display', Georgia, serif; + font-size: 2.4rem; + line-height: 1; +} + +.the-doctor-eyebrow { + font-size: 0.7rem; + letter-spacing: 0.32em; + text-transform: uppercase; + color: #6fa8b8; + margin-bottom: 0.5rem; +} + +.the-doctor-name { + font-family: 'Playfair Display', Georgia, serif; + font-size: clamp(2rem, 5vw, 3rem); + font-weight: 500; + margin: 0 0 0.25rem; + color: #e8eef2; +} + +.the-doctor-role { + font-size: 0.95rem; + letter-spacing: 0.06em; + color: #b8c5cc; + margin-bottom: 2rem; +} + +.the-doctor-tagline { + font-family: 'Playfair Display', Georgia, serif; + font-style: italic; + font-size: 1.15rem; + line-height: 1.5; + color: #cfdde3; + margin: 0 auto 2rem; + padding: 0 1rem; + max-width: 520px; + border: none; +} + +.the-doctor-bio { + text-align: left; + font-size: 1rem; + line-height: 1.7; + color: #d5dde2; + max-width: 600px; + margin: 0 auto 1.75rem; +} + +.the-doctor-bio p { margin: 0 0 1rem; } +.the-doctor-bio p:last-child { margin-bottom: 0; } + +.the-doctor-tags { + list-style: none; + padding: 0; + margin: 0 auto 1.5rem; + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 0.5rem; + max-width: 600px; +} + +.the-doctor-tags li { + font-size: 0.78rem; + letter-spacing: 0.04em; + padding: 0.35rem 0.75rem; + border: 1px solid rgba(111, 168, 184, 0.35); + border-radius: 999px; + color: #b8c5cc; +} + +.the-doctor-footnote { + font-size: 0.72rem; + letter-spacing: 0.18em; + text-transform: uppercase; + color: #6fa8b8; + opacity: 0.7; + margin: 1.5rem 0 0; +} + +@media (max-width: 640px) { + .the-doctor-card { padding: 2rem 1.25rem 1.75rem; } + .the-doctor-bio { font-size: 0.95rem; } +} + /* ── CTA section ───────────────────────────────────────────────────── */ .cta-section { display: flex;