Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b487643b3 | ||
|
|
f004e14f36 | ||
|
|
c2665624e3 | ||
|
|
0af096a285 | ||
|
|
70ffea0e16 | ||
|
|
b3e3594571 |
No files matched your search
@@ -27,7 +27,7 @@ After publication, verify the exact commit’s Actions task and deployed page bo
|
||||
|
||||
## Sections and diagrams
|
||||
|
||||
Top-level sections are Organization, Strategy, and Contribution, each with an independent sidebar. The first Organization page is Structure and contains an explicitly illustrative organization chart, not confirmed Eldorado reporting lines.
|
||||
Top-level sections are Organization, Strategy, and Contribution, each with an independent sidebar. The first Organization page is Structure. It presents the organizational operating model: leadership, departments, teams, responsibilities and cross-functional delivery. Research and source excerpts remain under `research/organization/`, outside the published documentation.
|
||||
|
||||
Archify 3.0.1 is vendored under `vendor/archify/` from commit `d5a1333d7447c866a765adac7d4d062f2f02e4d2`. MIT and third-party notices are preserved. `diagrams/` holds editable JSON; `pnpm diagrams:build` validates and generates local standalone viewers before every site build. The iframe is sandboxed without same-origin permission. See `docs/contribution/diagrams.md` for capability analysis, authoring, boundaries, and upgrade procedure.
|
||||
|
||||
|
||||
@@ -0,0 +1,230 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "Eldorado leadership and delivery structure",
|
||||
"output": "static/diagrams/organization-reporting/index.html",
|
||||
"quality_profile": "showcase",
|
||||
"legend": {
|
||||
"entries": {
|
||||
"backend": {
|
||||
"label": "Leadership / department"
|
||||
},
|
||||
"frontend": {
|
||||
"label": "Role / delivery team"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "cto",
|
||||
"type": "frontend",
|
||||
"label": "CTO",
|
||||
"sublabel": "Technology direction",
|
||||
"pos": [
|
||||
40,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "head-engineering",
|
||||
"type": "frontend",
|
||||
"label": "Head of Engineering",
|
||||
"sublabel": "Engineering leadership",
|
||||
"pos": [
|
||||
400,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "group-em",
|
||||
"type": "frontend",
|
||||
"label": "Group Eng. Manager",
|
||||
"sublabel": "Engineering group leadership",
|
||||
"pos": [
|
||||
760,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "em",
|
||||
"type": "frontend",
|
||||
"label": "Engineering Manager",
|
||||
"sublabel": "Team leadership and delivery",
|
||||
"pos": [
|
||||
1120,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "engineers",
|
||||
"type": "frontend",
|
||||
"label": "Software engineers",
|
||||
"sublabel": "Product Engineering teams",
|
||||
"pos": [
|
||||
1480,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ai-architect",
|
||||
"type": "frontend",
|
||||
"label": "AI Architect",
|
||||
"sublabel": "AI enablement across engineering",
|
||||
"pos": [
|
||||
40,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "coo",
|
||||
"type": "backend",
|
||||
"label": "COO",
|
||||
"sublabel": "Lukas Deksnys",
|
||||
"pos": [
|
||||
400,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ops-qa",
|
||||
"type": "frontend",
|
||||
"label": "QA Specialist (Ops)",
|
||||
"sublabel": "Independent operational quality",
|
||||
"pos": [
|
||||
760,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "cmo",
|
||||
"type": "frontend",
|
||||
"label": "CMO",
|
||||
"sublabel": "Marketing leadership",
|
||||
"pos": [
|
||||
1120,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "brand-lead",
|
||||
"type": "frontend",
|
||||
"label": "Brand Team Lead",
|
||||
"sublabel": "Brand and community",
|
||||
"pos": [
|
||||
1480,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "cto-head-engineering",
|
||||
"from": "cto",
|
||||
"to": "head-engineering",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "head-engineering-group-em",
|
||||
"from": "head-engineering",
|
||||
"to": "group-em",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "group-em-em",
|
||||
"from": "group-em",
|
||||
"to": "em",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "em-engineers",
|
||||
"from": "em",
|
||||
"to": "engineers",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "cto-ai-architect",
|
||||
"from": "cto",
|
||||
"to": "ai-architect",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "coo-ops-qa",
|
||||
"from": "coo",
|
||||
"to": "ops-qa",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "cmo-brand-lead",
|
||||
"from": "cmo",
|
||||
"to": "brand-lead",
|
||||
"label": "Leads",
|
||||
"variant": "default"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Leadership and delivery",
|
||||
"items": [
|
||||
"Arrows run from leader to role or team.",
|
||||
"Functional leaders develop people, standards and delivery capability."
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Cross-functional execution",
|
||||
"items": [
|
||||
"Product Owners, Designers and Tech Leads align on product outcomes.",
|
||||
"AI Enablement works across engineering teams."
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,22 +2,32 @@
|
||||
"schema_version": 1,
|
||||
"diagram_type": "architecture",
|
||||
"meta": {
|
||||
"title": "Illustrative organization structure",
|
||||
"title": "Eldorado organization structure",
|
||||
"output": "static/diagrams/organization-structure/index.html",
|
||||
"quality_profile": "showcase"
|
||||
"quality_profile": "showcase",
|
||||
"legend": {
|
||||
"entries": {
|
||||
"backend": {
|
||||
"label": "Leadership / department"
|
||||
},
|
||||
"frontend": {
|
||||
"label": "Role / delivery team"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": [
|
||||
{
|
||||
"id": "leadership",
|
||||
"id": "management",
|
||||
"type": "backend",
|
||||
"label": "Example leadership",
|
||||
"sublabel": "Illustrative only",
|
||||
"label": "Management",
|
||||
"sublabel": "CEO / COO",
|
||||
"pos": [
|
||||
320,
|
||||
660,
|
||||
40
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
320,
|
||||
80
|
||||
]
|
||||
},
|
||||
@@ -25,27 +35,27 @@
|
||||
"id": "product",
|
||||
"type": "backend",
|
||||
"label": "Product",
|
||||
"sublabel": "Example function",
|
||||
"sublabel": "Experience and product outcomes",
|
||||
"pos": [
|
||||
40,
|
||||
260
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "engineering",
|
||||
"id": "technology",
|
||||
"type": "backend",
|
||||
"label": "Engineering",
|
||||
"sublabel": "Example function",
|
||||
"label": "Technology",
|
||||
"sublabel": "Engineering and platform",
|
||||
"pos": [
|
||||
320,
|
||||
260
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
@@ -53,41 +63,156 @@
|
||||
"id": "operations",
|
||||
"type": "backend",
|
||||
"label": "Operations",
|
||||
"sublabel": "Example function",
|
||||
"sublabel": "Service, resolution and trust",
|
||||
"pos": [
|
||||
600,
|
||||
260
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
200,
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "marketing",
|
||||
"type": "backend",
|
||||
"label": "Marketing",
|
||||
"sublabel": "Brand and customer growth",
|
||||
"pos": [
|
||||
880,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "finance",
|
||||
"type": "backend",
|
||||
"label": "Finance & Accounting",
|
||||
"sublabel": "Financial performance and controls",
|
||||
"pos": [
|
||||
1160,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "people",
|
||||
"type": "backend",
|
||||
"label": "HR & Administration",
|
||||
"sublabel": "People and workplace",
|
||||
"pos": [
|
||||
1440,
|
||||
280
|
||||
],
|
||||
"size": [
|
||||
240,
|
||||
80
|
||||
]
|
||||
}
|
||||
],
|
||||
"connections": [
|
||||
{
|
||||
"id": "leadership-product",
|
||||
"from": "leadership",
|
||||
"to": "product"
|
||||
"id": "management-product",
|
||||
"from": "management",
|
||||
"to": "product",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "leadership-engineering",
|
||||
"from": "leadership",
|
||||
"to": "engineering"
|
||||
"id": "management-technology",
|
||||
"from": "management",
|
||||
"to": "technology",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "leadership-operations",
|
||||
"from": "leadership",
|
||||
"to": "operations"
|
||||
"id": "management-operations",
|
||||
"from": "management",
|
||||
"to": "operations",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-marketing",
|
||||
"from": "management",
|
||||
"to": "marketing",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-finance",
|
||||
"from": "management",
|
||||
"to": "finance",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
},
|
||||
{
|
||||
"id": "management-people",
|
||||
"from": "management",
|
||||
"to": "people",
|
||||
"label": "Coordinates",
|
||||
"variant": "default"
|
||||
}
|
||||
],
|
||||
"cards": [
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Test diagram \u2014 not a confirmed structure",
|
||||
"dot": "cyan",
|
||||
"title": "Product",
|
||||
"items": [
|
||||
"All roles and relationships are illustrative.",
|
||||
"Actual Eldorado teams and reporting lines remain to be defined."
|
||||
"Orders; Categories",
|
||||
"Sellers & Operations",
|
||||
"Data & Intelligence; Product Design"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Technology",
|
||||
"items": [
|
||||
"Product Engineering; Quality Engineering",
|
||||
"Platform & Reliability; Architecture & Security",
|
||||
"AI Enablement; Internal IT"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Operations",
|
||||
"items": [
|
||||
"Customer Support; Trust & Resolution",
|
||||
"Risk & Fraud",
|
||||
"Operational Quality"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "Marketing",
|
||||
"items": [
|
||||
"Brand & Community; Creative; SEO",
|
||||
"PPC & Affiliate; Influencer",
|
||||
"CRM"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "cyan",
|
||||
"title": "Finance & Accounting",
|
||||
"items": [
|
||||
"Financial Planning & Analysis",
|
||||
"Accounting, Tax & Controls",
|
||||
"Treasury & Payment Operations"
|
||||
]
|
||||
},
|
||||
{
|
||||
"dot": "amber",
|
||||
"title": "HR & Administration",
|
||||
"items": [
|
||||
"Talent Acquisition",
|
||||
"People Operations",
|
||||
"Office & Administration"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -9,13 +9,13 @@ description: Author typed JSON diagrams and embed their local interactive viewer
|
||||
|
||||
| Diagram type | Intended use |
|
||||
| --- | --- |
|
||||
| Architecture | Components, boundaries and relationships; also suitable for this illustrative structure test |
|
||||
| Architecture | Components, boundaries and relationships; also used for the organization structure views |
|
||||
| Workflow | Processes, branches and approval gates |
|
||||
| Sequence | Participants and ordered messages |
|
||||
| Dataflow | Sources, processing and destinations |
|
||||
| Lifecycle | States and transitions |
|
||||
|
||||
The standalone viewer provides pan/zoom, node inspection, search/focus, relationship tracing, light/dark themes, and an export menu. Motion is opt-in. The Organization example exercises architecture mode; other diagram types use the same build interface but do not yet have portal-specific examples. Browser-dependent exports such as video are not acceptance-tested by this integration.
|
||||
The standalone viewer provides pan/zoom, node inspection, search/focus, relationship tracing, light/dark themes, and an export menu. Motion is opt-in. The Organization views exercise architecture mode; other diagram types use the same build interface but do not yet have portal-specific examples. Browser-dependent exports such as video are not acceptance-tested by this integration.
|
||||
|
||||
## Author a diagram
|
||||
|
||||
@@ -34,10 +34,10 @@ pnpm build
|
||||
```mdx
|
||||
import ArchifyDiagram from '@site/src/components/ArchifyDiagram';
|
||||
|
||||
<ArchifyDiagram name="organization-structure" title="Illustrative organization structure" />
|
||||
<ArchifyDiagram name="organization-structure" title="Eldorado organization structure" />
|
||||
```
|
||||
|
||||
Supply a text alternative below each diagram. The wrapper uses a local, base-path-aware iframe with a descriptive title, scripts and downloads enabled, and no same-origin or parent-navigation permissions. A full-viewer link provides a wider canvas in a new tab; that direct page is not iframe-sandboxed. Only publish reviewed, trusted diagrams, and do not describe iframe isolation as protection for the standalone route. Generated output is ignored by Git and rebuilt in CI.
|
||||
Supply a text alternative below each diagram. The wrapper uses a local, base-path-aware iframe with a descriptive title, scripts and downloads enabled, and no same-origin or parent-navigation permissions. The Open full viewer button expands the diagram in a full-screen modal on the current page, with the same iframe sandbox. Close it with the Close button or Escape; focus returns to the opener. It does not open a new tab. The separate standalone HTML asset remains directly addressable and is not itself iframe-sandboxed, so publish only reviewed, trusted diagrams. Generated output is ignored by Git and rebuilt in CI.
|
||||
|
||||
## Integration boundaries
|
||||
|
||||
|
||||
@@ -1,19 +1,131 @@
|
||||
---
|
||||
title: Structure
|
||||
description: Explore an illustrative organization diagram with the Archify viewer.
|
||||
slug: /structure
|
||||
description: Eldorado’s organizational operating model, departments, teams and responsibilities.
|
||||
---
|
||||
|
||||
import ArchifyDiagram from '@site/src/components/ArchifyDiagram';
|
||||
|
||||
:::note Illustrative integration example
|
||||
This is **not Eldorado’s confirmed organization chart**. The roles and relationships below are test data demonstrating the diagram capability. Actual teams, reporting lines, and AI responsibilities will be defined separately.
|
||||
:::
|
||||
This operating model organizes Eldorado around six departments: **Product, Technology, Operations, Marketing, Finance & Accounting, and HR & Administration**. Leadership aligns their priorities around marketplace growth, customer trust and efficient delivery.
|
||||
|
||||
<ArchifyDiagram name="organization-structure" title="Illustrative organization structure" />
|
||||
## Leadership
|
||||
|
||||
Select a node to inspect it. Use the viewer’s search, zoom, theme, and export controls, or open the full viewer for more space.
|
||||
| Role | Leadership | Responsibility |
|
||||
| --- | --- | --- |
|
||||
| Chief Executive Officer | Vladas Jurkevičius | Company direction, business performance, strategic priorities and executive alignment. |
|
||||
| Chief Operating Officer | Lukas Deksnys | Marketplace operations, customer service, resolution quality and operational performance. |
|
||||
|
||||
## Text alternative
|
||||
Functional leaders translate company priorities into departmental plans. Team leads own execution, people development and service quality within their teams.
|
||||
|
||||
The example connects **Example leadership** to three sample functions: **Product**, **Engineering**, and **Operations**. These links demonstrate structure; they do not assert real reporting relationships at Eldorado.
|
||||
## Organization overview
|
||||
|
||||
<ArchifyDiagram name="organization-structure" title="Eldorado organization structure" />
|
||||
|
||||
**Management coordinates the six departments.** Each department has a clear business responsibility and a set of teams that deliver it.
|
||||
|
||||
## Departments and teams
|
||||
|
||||
### Product
|
||||
|
||||
**Purpose:** improve the buyer and seller experience and turn marketplace opportunities into valuable product capabilities.
|
||||
|
||||
| Team | Responsibilities |
|
||||
| --- | --- |
|
||||
| Orders | Purchase and post-purchase journeys, order status, delivery experience, dispute flows, feedback and loyalty. |
|
||||
| Categories | Category experiences, including Boosting and Currency, discovery, conversion and category-specific user journeys. |
|
||||
| Sellers & Operations | Seller Portal, seller integrations, onboarding and verification, balances and withdrawals, invoicing and operational tooling. |
|
||||
| Data & Intelligence | Product analytics, experimentation, offer ranking, recommendations and decision support. |
|
||||
| Product Design | User research, interaction design, design consistency and accessible buyer and seller experiences across product teams. |
|
||||
|
||||
Product Owners, Designers and Tech Leads work together on each product area. Product owns priorities and outcomes; Technology owns engineering execution and technical quality.
|
||||
|
||||
### Technology
|
||||
|
||||
**Purpose:** build and operate a secure, reliable marketplace and improve the effectiveness of engineering.
|
||||
|
||||
| Team / function | Responsibilities |
|
||||
| --- | --- |
|
||||
| Product Engineering | Develop and maintain marketplace capabilities in cross-functional product teams. |
|
||||
| Platform & Reliability | Shared platform services, delivery infrastructure, observability, availability and performance. |
|
||||
| Architecture & Security | Technical standards, system design, infrastructure security and secure engineering practices. |
|
||||
| Quality Engineering | Test strategy, automation, release quality and defect prevention. |
|
||||
| AI Enablement | AI-assisted engineering workflows, developer tools, adoption, standards and safe use of AI. |
|
||||
| Internal IT | Identity and access, employee devices, internal systems, software administration and joiner–mover–leaver processes. |
|
||||
|
||||
The CTO owns technology direction. The Head of Engineering leads engineering delivery through Group Engineering Managers and Engineering Managers. The AI Architect coordinates AI enablement across engineering, working with Architecture & Security and team leaders.
|
||||
|
||||
### Operations
|
||||
|
||||
**Purpose:** keep marketplace trading dependable and resolve customer issues fairly and efficiently.
|
||||
|
||||
| Team | Responsibilities |
|
||||
| --- | --- |
|
||||
| Customer Support | Buyer and seller assistance, knowledge management, self-service and support workflow automation. |
|
||||
| Trust & Resolution | Disputes, appeals, refunds, warranties, chargebacks and complex customer cases. |
|
||||
| Risk & Fraud | Transaction and account risk, fraud prevention, investigations and operational controls. |
|
||||
| Operational Quality | Independent case reviews, quality standards, calibration, service accuracy and improvement tracking across operational teams. |
|
||||
|
||||
The COO coordinates Operations. Team leads manage specialists and daily service delivery. Operational Quality reports directly to the COO and reviews quality across teams.
|
||||
|
||||
### Marketing
|
||||
|
||||
**Purpose:** attract and retain customers, build the Eldorado brand and grow marketplace demand.
|
||||
|
||||
| Team / workstream | Responsibilities |
|
||||
| --- | --- |
|
||||
| Brand & Community | Brand positioning, campaigns, organic social, community and brand partnerships. |
|
||||
| Creative | Campaign concepts, visual assets and performance creative. |
|
||||
| SEO | Organic discovery, search visibility and content performance. |
|
||||
| PPC & Affiliate | Paid acquisition, affiliate channels and return on marketing investment. |
|
||||
| Influencer | Creator relationships, influencer programs and campaign delivery. |
|
||||
| CRM | Customer lifecycle communication, retention, reactivation and campaign personalization. |
|
||||
|
||||
The CMO coordinates Marketing. The Brand Team Lead owns Brand & Community, with shared support from Creative and the other marketing workstreams.
|
||||
|
||||
### Finance & Accounting
|
||||
|
||||
**Purpose:** maintain financial control, support business decisions and keep marketplace money flows dependable.
|
||||
|
||||
| Team / function | Responsibilities |
|
||||
| --- | --- |
|
||||
| Financial Planning & Analysis | Budgets, forecasts, profitability, management reporting and investment analysis. |
|
||||
| Accounting, Tax & Controls | Accounting, financial reporting, tax, audit coordination and internal controls. |
|
||||
| Treasury & Payment Operations | Cash management, reconciliation, payout oversight, payment-provider coordination and financial risk. |
|
||||
|
||||
The CFO coordinates Finance & Accounting and works with executive leadership on business performance. Finance, Operations and Product share responsibility for effective payment and withdrawal processes, each within its own area of expertise.
|
||||
|
||||
### HR & Administration
|
||||
|
||||
**Purpose:** help teams attract, develop and retain people and provide an effective working environment.
|
||||
|
||||
| Team | Responsibilities |
|
||||
| --- | --- |
|
||||
| Talent Acquisition | Recruitment, candidate experience, hiring coordination and workforce demand support. |
|
||||
| People Operations | Employee onboarding, development, performance processes, policies and employee experience. |
|
||||
| Office & Administration | Workplace services, office operations and administrative coordination. |
|
||||
|
||||
HR partners with department leaders on team capacity and development. People Operations works with Internal IT on employee onboarding, role changes and offboarding.
|
||||
|
||||
## Leadership and delivery structure
|
||||
|
||||
<ArchifyDiagram name="organization-reporting" title="Eldorado leadership and delivery structure" />
|
||||
|
||||
The diagram shows management responsibility from leader to role or team:
|
||||
|
||||
- **CTO → Head of Engineering → Group Engineering Managers → Engineering Managers → Product Engineering teams.**
|
||||
- **CTO → AI Architect**, coordinating engineering AI enablement.
|
||||
- **COO → Operational Quality**, providing independent quality oversight.
|
||||
- **CMO → Brand Team Lead**, leading Brand & Community.
|
||||
|
||||
Product teams combine product ownership, design, engineering, quality and data expertise. Functional management develops people and professional standards; cross-functional teams deliver business outcomes.
|
||||
|
||||
## How the departments work together
|
||||
|
||||
| Business outcome | Collaboration |
|
||||
| --- | --- |
|
||||
| Better buyer experience | Product defines improvements; Technology delivers them; Operations brings customer feedback; Data measures the result. |
|
||||
| Stronger seller experience | Product and Technology develop seller tools; Operations supports sellers; Finance manages financial processes. |
|
||||
| Safe and trustworthy trading | Risk & Fraud, Trust & Resolution, Architecture & Security, and Finance coordinate controls and incident responses. |
|
||||
| Sustainable growth | Marketing develops demand; Product improves conversion and retention; Finance measures profitability. |
|
||||
| AI-powered execution | AI Enablement supports engineering; Data & Intelligence develops marketplace intelligence; Operations improves service and quality workflows. |
|
||||
|
||||
Department leaders remain accountable for outcomes, controls and service quality as AI becomes part of everyday work.
|
||||
@@ -0,0 +1,7 @@
|
||||
# Organization background research
|
||||
|
||||
The source/excerpt ledger and `reconstruction-snapshot.mdx` preserve the original public-evidence investigation. They are background working material, outside the published docs and static assets.
|
||||
|
||||
The reader-facing `docs/organization/structure.mdx` is an organizational operating model, not a research report or an employee roster. Per the user's presentation direction, it describes leadership, departments, teams and responsibilities directly without evidence markers, vacancies or citations. Internet research informs the model; this editorial change does not independently verify staffing, incumbent names or every reporting relationship.
|
||||
|
||||
The original snapshot records which categories and relationships were evidenced, job-advertised or inferred. Retain that provenance for future maintenance, without importing it into the published page, diagram metadata or search index.
|
||||
@@ -0,0 +1,102 @@
|
||||
---
|
||||
title: Structure
|
||||
description: Distinguish Eldorado’s publicly evidenced organization from advertised roles and planning assumptions.
|
||||
---
|
||||
|
||||
import ArchifyDiagram from '@site/src/components/ArchifyDiagram';
|
||||
|
||||
**Research snapshot: 2026-10-02.** This is a public-evidence reconstruction for AI strategy planning, **not a verified employee roster** or an internally approved organization chart.
|
||||
|
||||
## What is known
|
||||
|
||||
Eldorado names **Vladas Jurkevičius — co-founder and CEO** and **Lukas Deksnys — co-founder and COO** on its official About page.[1]
|
||||
|
||||
Its official careers site uses seven hiring categories: **Management, Product, Technology, Operations, Marketing, Finance & Accounting, and HR & Administration**. Those labels are directly evidenced; treating them as six peer departments beneath Management is a planning arrangement, not a published reporting hierarchy.[4]
|
||||
|
||||
### Evidence legend
|
||||
|
||||
- **E — Publicly evidenced:** a named leader, team, function or careers category explicitly appears in an official source. This does not establish every reporting relationship.
|
||||
- **J — Job-advertised:** a vacancy describes a role, mandate or reporting line. The position may be unfilled or newly created.
|
||||
- **A — Assumed:** a proposed grouping or missing team boundary used for planning, not a claim about Eldorado’s current structure. Dashed connectors identify assumed placements.
|
||||
|
||||
## Department overview
|
||||
|
||||
<ArchifyDiagram name="organization-structure" title="Eldorado organization — evidence and assumptions" />
|
||||
|
||||
**Text alternative:** Management is shown above Product, Technology, Operations, Marketing, Finance & Accounting, and HR & Administration. All six placements beneath Management are assumed. The department names come from the careers taxonomy; the notes in the viewer identify evidenced teams and proposed subdivisions. This view does not assign every function directly to the CEO or COO.
|
||||
|
||||
## Departments and teams
|
||||
|
||||
The following separates **named teams** from **roles, capabilities and domains**. A function mentioned in a vacancy is not automatically a separately staffed team.
|
||||
|
||||
| Department / function | Publicly evidenced teams, roles or domains | Assumed completion for planning |
|
||||
| --- | --- | --- |
|
||||
| **Management** | **E:** CEO Vladas Jurkevičius and COO Lukas Deksnys. **J:** CTO and CMO are referenced as reporting managers.[1][8][12] CFO is advertised.[5] No incumbent names are inferred for those three roles. | **A:** a leadership coordination layer across the six functions. Exact executive reporting lines, Board membership and decision rights remain unverified. |
|
||||
| **Product** | **E:** Order/Orders team; Categories design team, with Boosting & Currency scope; Data Team appears in the ranking Data Scientist vacancy metadata. Data classification and product design evidence.[9][13][14] **J:** Sellers and Operations product-owner domain, including Seller Portal, integrations, onboarding, balances/withdrawals, invoicing and support tooling.[15] | **A:** treat Sellers & Operations as a cross-functional product squad for planning, not a proven standalone team. Do not duplicate Data as a separate peer department. |
|
||||
| **Technology** | **J:** Head of Engineering → Group Engineering Managers → Engineering Managers → engineers. AI Architect reports to CTO and starts solo. Technical Architect is named as an infrastructure/security partner; IT Engineer is advertised for identity, device management and internal SaaS.[6][8][10] | **A:** CTO → Head of Engineering. Proposed shared platform/reliability and security capability groups, with staffing and reporting unverified. Do not turn AI Architect into an established AI department. |
|
||||
| **Operations** | **E:** Customer Support, Trust & Resolution, Risk & Fraud. **J:** QA Specialist (Operations) reports directly to COO; separate support/resolution Team Lead mandates cover specialist teams.[11][17][18] | **A:** COO ownership of the wider Operations function and its team-lead escalation chain. Only the QA Specialist’s direct COO line is explicit in the reviewed sources. |
|
||||
| **Marketing** | **J:** Brand Team Lead reports to CMO. **E:** the wider Marketing team names Creative, SEO, PPC & Affiliate, Influencer, and CRM; brand scope includes organic social, community and brand partnerships.[12] | **A:** model these named disciplines as planning workstreams under Marketing. Separate team managers, headcounts and each discipline’s direct CMO line are not established. |
|
||||
| **Finance & Accounting** | **E:** Finance team / hiring category. **J:** CFO remit includes planning, reporting, cash/capital, tax, compliance, financial risk and payments; it describes partnership with CEO and Board, not an explicit reporting line.[5] | **A:** FP&A; Accounting/Tax/Controls; Treasury/Payment Operations as three capability groups. These are inferred subdivisions, not proven staffed teams. Financial risk is not the same thing as the Operations Risk & Fraud team. |
|
||||
| **HR & Administration** | **E:** Talent Acquisition team / role category. **J:** full-cycle IT and non-IT recruitment, partnering with hiring managers.[16] | **A:** People Operations and Office/Administration alongside Talent Acquisition. Separate teams and the HR leader’s reporting line remain unverified. |
|
||||
|
||||
The Sellers and Operations posting establishes a **product domain**, not a named Sellers department. Its mandate crosses seller-facing features, operational tooling and marketplace infrastructure.[15]
|
||||
|
||||
## Reporting lines supported by vacancies
|
||||
|
||||
<ArchifyDiagram name="organization-reporting" title="Eldorado reporting lines — advertised and assumed" />
|
||||
|
||||
**Read arrows as manager → role/team.** Solid **J** connectors are explicitly described in vacancies. The dashed **A** link between CTO and Head of Engineering is the only inferred link in this diagram. Separate rows are not connected because their upward reporting lines were not established.
|
||||
|
||||
| Manager / leader | Role or team below it | Status and scope |
|
||||
| --- | --- | --- |
|
||||
| Head of Engineering | Group Engineering Manager | **J:** explicitly reports directly to Head of Engineering; the vacancy describes managing 4–5 Engineering Managers.[6] |
|
||||
| Group Engineering Manager | Engineering Manager | **J:** explicitly named manager in the Engineering Manager vacancy.[7] |
|
||||
| Engineering Manager | Software engineers | **J:** leads a team of around five engineers. This is the advertised span, not a count of all current engineering teams.[7] |
|
||||
| CTO | AI Architect | **J:** explicitly direct; a new individual-contributor role, starting solo with a possible future team.[8] |
|
||||
| COO | QA Specialist (Operations) | **J:** explicitly direct; independent quality work across Customer Support, Trust & Resolution, and Risk & Fraud.[11] |
|
||||
| CMO | Brand Team Lead | **J:** explicitly direct; brand, organic social, community and brand partnerships remit.[12] |
|
||||
| Customer Support / Trust & Resolution Team Leads | Their specialists | **J:** support/resolution leadership advert describes teams of 5–10 specialists; the resolution-specific advert also states 5–10. Their own upward manager is not stated.[17][18] |
|
||||
| CTO | Head of Engineering | **A:** plausible technology reporting arrangement, retained only as a planning assumption. |
|
||||
|
||||
Product Owner, Tech Lead and Product Designer are described as collaborating on product direction. That is evidence of cross-functional work, **not** evidence that one line-manages the others.[13][14]
|
||||
|
||||
## What this means for AI strategy
|
||||
|
||||
**Research interpretation, not an approved roadmap:** use the evidenced organizational owners rather than inventing one central AI department.
|
||||
|
||||
- **Engineering enablement:** the AI Architect vacancy focuses on engineering output, adoption, standards and security under the CTO—not ownership of every business AI initiative.[8]
|
||||
- **Marketplace intelligence:** Product/Data has an advertised ranking and recommendations remit, including experimentation and learning-to-rank.[9]
|
||||
- **Operations quality:** operational QA explicitly includes auditing AI-handled support and LLM-assisted scoring; customer support leadership includes AI-assisted support and automation.[11][17]
|
||||
- **Planning assumption:** coordinate these three areas with Product, Operations, Technology and Finance owners. Whether to create a cross-company AI steering group is a future decision, not a finding about current organization.
|
||||
|
||||
## Limits and validation questions
|
||||
|
||||
- **No complete internal chart was found in the reviewed public sources.** This is not a claim that none exists. Research prioritized official About, careers, vacancy and legal pages; it is not an exhaustive employee or vacancy census.
|
||||
- **Job postings are time-bound recruitment evidence.** A vacancy can describe a future role or team. Names, staffing, budgets and every executive reporting line still need company confirmation.
|
||||
- **No reliable total headcount is asserted.** The careers homepage itself contains both “150+” and “200+” descriptions; do not use either to derive department sizes.[2]
|
||||
- **Legal entities are not departments.** The Terms of Service names GWD Processing FZCO, Eldorado Sales LLC and Halfway House OÜ collectively as Eldorado. This establishes contracting language, not a parent/subsidiary hierarchy or the employing entity of each team.[3]
|
||||
- **Keep scope distinctions:** marketplace Risk & Fraud, financial risk, AI security, and corporate compliance may collaborate but should not be collapsed into one assumed reporting chain.
|
||||
|
||||
Before using this as an operating model, confirm: **(1)** which advertised roles are filled, **(2)** executive and functional reporting lines, **(3)** product squad membership and engineering matrix, **(4)** ownership of Payments, Legal/Compliance and Data, and **(5)** the real team roster and capacity. Replace each **A** only when evidence is supplied.
|
||||
|
||||
## Sources
|
||||
|
||||
[1] https://www.eldorado.gg/about-us — Eldorado About us
|
||||
[2] https://careers.eldorado.gg — Eldorado Careers homepage
|
||||
[3] https://www.eldorado.gg/terms-of-service — Eldorado Terms of Service
|
||||
[4] https://careers.eldorado.gg/jobs — Eldorado Jobs — official hiring categories
|
||||
[5] https://careers.eldorado.gg/jobs/8394692-chief-financial-officer — Chief Financial Officer
|
||||
[6] https://careers.eldorado.gg/jobs/8376024-group-engineering-manager — Group Engineering Manager
|
||||
[7] https://careers.eldorado.gg/jobs/8290012-engineering-manager — Engineering Manager
|
||||
[8] https://careers.eldorado.gg/jobs/8175478-ai-architect — AI Architect
|
||||
[9] https://careers.eldorado.gg/jobs/8261309-data-scientist-offer-ranking-recommendations — Data Scientist (Offer Ranking & Recommendations)
|
||||
[10] https://careers.eldorado.gg/jobs/8363463-it-engineer — IT Engineer
|
||||
[11] https://careers.eldorado.gg/jobs/8358613-qa-specialist-operations — QA Specialist (Operations)
|
||||
[12] https://careers.eldorado.gg/jobs/8450323-brand-team-lead — Brand Team Lead
|
||||
[13] https://careers.eldorado.gg/jobs/8404928-product-designer-orders-team — Product Designer (Orders team)
|
||||
[14] https://careers.eldorado.gg/jobs/8253165-product-designer — Product Designer
|
||||
[15] https://careers.eldorado.gg/jobs/8389376-product-owner-sellers-and-operations — Product Owner (Sellers and Operations)
|
||||
[16] https://careers.eldorado.gg/jobs/8487069-talent-acquisition-partner-junior-mid — Talent Acquisition Partner (Junior - Mid)
|
||||
[17] https://careers.eldorado.gg/jobs/8381712-customer-support-team-lead — Customer Support Team Lead
|
||||
[18] https://careers.eldorado.gg/jobs/8483510-trust-resolution-team-lead — Trust & Resolution Team Lead
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
{
|
||||
"version": 1,
|
||||
"sources": [
|
||||
{
|
||||
"id": 1,
|
||||
"url": "https://www.eldorado.gg/about-us",
|
||||
"title": "Eldorado About us",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Eldorado.gg was founded by two Lithuanian co-founders, Vladas Jurkevičius (CEO) and Lukas Deksnys (COO).",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"url": "https://careers.eldorado.gg",
|
||||
"title": "Eldorado Careers homepage",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "A global team of 150+ professionals shaping the future of in-game commerce at Eldorado.gg",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "A team of 200+ professionals",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"url": "https://www.eldorado.gg/terms-of-service",
|
||||
"title": "Eldorado Terms of Service",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Together, GWD Processing FZCO, Eldorado Sales LLC and Halfway House OÜ are collectively referred to in this Agreement as “Eldorado,” unless otherwise specified.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"url": "https://careers.eldorado.gg/jobs",
|
||||
"title": "Eldorado Jobs — official hiring categories",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Finance & Accounting (1)\nHR & Administration (1)\nMarketing (2)\nOperations (5)\nProduct (3)\nTechnology (9)\nManagement",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"url": "https://careers.eldorado.gg/jobs/8394692-chief-financial-officer",
|
||||
"title": "Chief Financial Officer",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "This is a key executive role with a broad mandate across financial planning, reporting, cash and capital management, tax, compliance, risk, payments and the Finance team.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"url": "https://careers.eldorado.gg/jobs/8376024-group-engineering-manager",
|
||||
"title": "Group Engineering Manager",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We're growing and looking for a Group Engineering Manager to lead an engineering group of several teams, manage 4-5 Engineering Managers, and report directly to Head of Engineering.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"url": "https://careers.eldorado.gg/jobs/8290012-engineering-manager",
|
||||
"title": "Engineering Manager",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We’re growing and looking for an Engineering Manager to lead a team of around five software engineers and report to a Group Engineering Manager.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"url": "https://careers.eldorado.gg/jobs/8175478-ai-architect",
|
||||
"title": "AI Architect",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We're creating a new role at Eldorado.gg: AI Architect, reporting directly to the CTO.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "You'll start solo: this is an individual-contributor role on paper, with outsized influence in practice. No direct reports required from day one, but a mandate that touches the whole organization.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Own the security posture of AI usage across engineering, in partnership with Technical Architect on infra and security.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"url": "https://careers.eldorado.gg/jobs/8261309-data-scientist-offer-ranking-recommendations",
|
||||
"title": "Data Scientist (Offer Ranking & Recommendations)",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Team\nProduct\nRole\nData Team",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"url": "https://careers.eldorado.gg/jobs/8363463-it-engineer",
|
||||
"title": "IT Engineer",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Own the joiner–mover–leaver process end to end;",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"url": "https://careers.eldorado.gg/jobs/8358613-qa-specialist-operations",
|
||||
"title": "QA Specialist (Operations)",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Our Operations teams - Customer Support, Trust & Resolution, and Risk & Fraud - are scaling fast, and each measures quality its own way.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "We're creating a new role at Eldorado.gg: QA Specialist (Operations), reporting directly to the COO.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Audit AI-handled support conversations and root-cause failures into content, routing, or model issues;",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"url": "https://careers.eldorado.gg/jobs/8450323-brand-team-lead",
|
||||
"title": "Brand Team Lead",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "You will manage a team of several people and report to our CMO.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Lead and develop a high-performing team spanning brand, organic social, community and brand partnerships;",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Collaborate closely with the wider Marketing team (Creative, SEO, PPC & Affiliate, Influencer, CRM) as well as Product, Data, and other cross-functional stakeholders.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"url": "https://careers.eldorado.gg/jobs/8404928-product-designer-orders-team",
|
||||
"title": "Product Designer (Orders team)",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We're growing and looking for a Product Designer to join our Order team.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Shape product direction as an equal stakeholder alongside the Product Owner and Tech Lead, owning the end-to-end design process for the order page, dispute flows, and broader post-purchase delivery experience;",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"url": "https://careers.eldorado.gg/jobs/8253165-product-designer",
|
||||
"title": "Product Designer",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We’re growing and looking for a Product Designer to join our Categories design team.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"url": "https://careers.eldorado.gg/jobs/8389376-product-owner-sellers-and-operations",
|
||||
"title": "Product Owner (Sellers and Operations)",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "You’ll own the seller platform domain — the systems and tools that power how sellers operate on Eldorado.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "This includes Seller Portal and dashboards, direct seller integrations, onboarding and verification tools, balances and withdrawals, invoicing, and customer support tooling.",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"url": "https://careers.eldorado.gg/jobs/8487069-talent-acquisition-partner-junior-mid",
|
||||
"title": "Talent Acquisition Partner (Junior - Mid)",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Team\nHR & Administration\nRole\nTalent Acquisition",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"url": "https://careers.eldorado.gg/jobs/8381712-customer-support-team-lead",
|
||||
"title": "Customer Support Team Lead",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "We’re growing our Customer Operations function and looking for two experienced Team Leads to join our Customer Support and Trust & Resolution teams.",
|
||||
"added": "2026-10-02"
|
||||
},
|
||||
{
|
||||
"text": "Explore AI-assisted support and automation opportunities;",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"url": "https://careers.eldorado.gg/jobs/8483510-trust-resolution-team-lead",
|
||||
"title": "Trust & Resolution Team Lead",
|
||||
"accessed": "2026-10-02",
|
||||
"quotes": [
|
||||
{
|
||||
"text": "Lead, coach, and grow a team of 5-10 Trust & Resolution Specialists;",
|
||||
"added": "2026-10-02"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
+15
-4
@@ -55,12 +55,23 @@ test('Archify is pinned, licensed and rebuilt, not a remote embed', () => {
|
||||
assert(wrapper.includes('sandbox="allow-scripts allow-downloads"'));
|
||||
assert(!wrapper.includes('allow-same-origin'));
|
||||
assert(wrapper.includes('useBaseUrl'));
|
||||
assert(wrapper.includes('showModal()') && wrapper.includes('onClose='));
|
||||
assert(!wrapper.includes('target="_blank"'));
|
||||
assert(wrapper.includes('Close full-screen diagram'));
|
||||
});
|
||||
test('example is explicitly illustrative and contains valid connected nodes', () => {
|
||||
const spec = JSON.parse(read('diagrams/organization-structure.architecture.json'));
|
||||
assert(spec.meta.title.includes('Illustrative'));
|
||||
test('organization page presents an operating model, not research notes', () => {
|
||||
const page = read('docs/organization/structure.mdx');
|
||||
assert(page.includes('operating model') && page.includes('## Departments and teams'));
|
||||
const prohibited = /assum|job.advert|vacanc|publicly evidenced|research snapshot|## Sources|\[\d+\]|\b[EJA]:\s/i;
|
||||
assert(!prohibited.test(page));
|
||||
assert(page.includes('Vladas Jurkevičius') && page.includes('Lukas Deksnys'));
|
||||
assert(existsSync('research/organization/reconstruction-snapshot.mdx'));
|
||||
assert(JSON.parse(read('research/organization/sources.json')).sources.every(s => s.quotes?.length));
|
||||
for (const name of ['organization-structure', 'organization-reporting']) {
|
||||
const spec = JSON.parse(read(`diagrams/${name}.architecture.json`));
|
||||
assert(!prohibited.test(JSON.stringify(spec)));
|
||||
const ids = new Set(spec.components.map(n => n.id));
|
||||
assert.equal(ids.size, spec.components.length);
|
||||
for (const edge of spec.connections) assert(ids.has(edge.from) && ids.has(edge.to));
|
||||
assert(read('docs/organization/structure.mdx').includes('not Eldorado’s confirmed organization chart'));
|
||||
}
|
||||
});
|
||||
+10
-1
@@ -21,7 +21,16 @@ if (process.argv.includes('--build')) {
|
||||
}
|
||||
assert(!readdirSync('build/diagrams', {recursive: true}).some(f => f.endsWith('.delivery.json')), 'Private build receipts must not be published');
|
||||
const diagram = read('build/diagrams/organization-structure/index.html');
|
||||
assert(diagram.includes('Example leadership') && diagram.includes('node-engineering'));
|
||||
assert(diagram.includes('Coordinates') && diagram.includes('node-technology'));
|
||||
assert(!/A: placement|E: careers|J: advertised/.test(diagram));
|
||||
assert(!diagram.includes('Example leadership'));
|
||||
const reporting = read('build/diagrams/organization-reporting/index.html');
|
||||
assert(reporting.includes('AI Architect') && reporting.includes('Leads'));
|
||||
assert(!/A: assumed|J: direct/.test(reporting));
|
||||
const structure = read('build/organization/structure/index.html');
|
||||
assert(structure.includes('Vladas Jurkevičius') && structure.includes('operating model'));
|
||||
assert(!/Research snapshot|Job-advertised|careers\.eldorado\.gg|Assumed/.test(structure));
|
||||
assert(!structure.includes('Illustrative integration example'));
|
||||
assert(!diagram.includes('/opt/data/'), 'No build paths in published diagrams');
|
||||
const home = read('build/index.html');
|
||||
assert(/<title\b[^>]*>Eldorado Powered By AI<\/title>/.test(home));
|
||||
|
||||
@@ -1,12 +1,28 @@
|
||||
import React from 'react';
|
||||
import React, {useEffect, useId, useRef, useState} from 'react';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
|
||||
export default function ArchifyDiagram({name, title}: {name: string; title: string}): React.ReactElement {
|
||||
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(name)) throw new Error('Invalid diagram name');
|
||||
const source = useBaseUrl(`/diagrams/${name}/`);
|
||||
const json = useBaseUrl(`/diagrams/${name}.json`);
|
||||
const dialog = useRef<HTMLDialogElement>(null);
|
||||
const opener = useRef<HTMLButtonElement>(null);
|
||||
const headingId = useId();
|
||||
const [expanded, setExpanded] = useState(false);
|
||||
useEffect(() => {
|
||||
if (!expanded) return;
|
||||
dialog.current?.showModal();
|
||||
const previousOverflow = document.body.style.overflow;
|
||||
document.body.style.overflow = 'hidden';
|
||||
return () => {document.body.style.overflow = previousOverflow;};
|
||||
}, [expanded]);
|
||||
const close = () => {dialog.current?.close();};
|
||||
return <section className="archify-panel" aria-label={title}>
|
||||
<div className="archify-toolbar"><strong>Interactive diagram</strong><div><a href={source} target="_blank" rel="noopener noreferrer">Open full viewer ↗</a><a href={json} download>JSON source ↓</a></div></div>
|
||||
<div className="archify-toolbar"><strong>Interactive diagram</strong><div><button ref={opener} type="button" className="archify-expand" onClick={() => setExpanded(true)}>Open full viewer ⛶</button><a href={json} download>JSON source ↓</a></div></div>
|
||||
<iframe src={source} title={title} sandbox="allow-scripts allow-downloads" loading="lazy" referrerPolicy="no-referrer" />
|
||||
<dialog ref={dialog} className="archify-modal" aria-labelledby={headingId} onClose={() => {setExpanded(false); opener.current?.focus();}}>
|
||||
<div className="archify-modal-toolbar"><strong id={headingId}>{title}</strong><button type="button" onClick={close} autoFocus aria-label="Close full-screen diagram">Close ×</button></div>
|
||||
{expanded && <iframe src={source} title={`${title} — expanded`} sandbox="allow-scripts allow-downloads" referrerPolicy="no-referrer" />}
|
||||
</dialog>
|
||||
</section>;
|
||||
}
|
||||
@@ -101,4 +101,12 @@ a:focus-visible, button:focus-visible {outline: 3px solid #b88719; outline-offse
|
||||
.archify-toolbar div {display: flex; gap: 20px; flex-wrap: wrap;}
|
||||
.archify-panel iframe {width: 100%; height: 720px; border: 0; display: block; background: #f6f6f6;}
|
||||
@media (max-width: 700px) {.archify-panel iframe {height: 650px;}}
|
||||
.archify-expand {border: 0; padding: 0; background: transparent; color: var(--ifm-link-color); font: inherit; cursor: pointer;}
|
||||
.archify-expand:hover {text-decoration: underline;}
|
||||
.archify-modal {position: fixed; inset: 0; margin: 0; padding: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; border: 0; background: var(--surface); color: var(--ifm-color-content);}
|
||||
.archify-modal[open] {display: flex; flex-direction: column;}
|
||||
.archify-modal::backdrop {background: #000b;}
|
||||
.archify-modal-toolbar {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 20px; border-bottom: 1px solid var(--line);}
|
||||
.archify-modal-toolbar button {flex-shrink: 0; padding: 8px 16px; background: var(--gold); color: #14131a; font: inherit; font-weight: 700; border: 0; cursor: pointer;}
|
||||
.archify-panel .archify-modal iframe {flex: 1; min-height: 0; height: 100%; width: 100%;}
|
||||
@media (prefers-reduced-motion: reduce) {.start-card {transition: none;} .start-card:hover {transform: none;}}
|
||||
Reference in new issue
Block a user