Skip to content

Ownership and Systems

Use this page to understand who owns decisions, who needs to review, which repositories Engineering is responsible for, and how vendors or external services fit into the system.

Sibling teams

Consult the right team before work changes experience, scope, content, or strategy.

TeamOwnsConsult when
DesignVisual language, component specifications, user experience standardsComponent appearance, interaction behavior, accessibility, and usability change
Product ManagementPriorities, stakeholders, roadmap, and delivery scopeScope, roadmap tradeoffs, sprint planning, or stakeholder commitments change
Web ExperienceContent operations and editorial workflowsCMS authoring, content models, training, or agency editor workflows change
Strategic InvestmentsOpportunities, partnerships, and technology directionNew opportunities need feasibility, risk, architecture, or sizing input

Engineering roles

RoleResponsibilities
Director, EngineeringTechnical direction, roadmap, team priorities, cross-team coordination, vendor expectations, deployment accountability
EngineersBuild, test, review, document, and deploy across the repo portfolio
Vendor engineersContribute within assigned scope under Engineering review

Engineering review is required for architecture decisions, database schema changes, CI/CD changes, deployment changes, new dependencies, public APIs, production infrastructure, authentication, authorization, secrets, and data-handling changes.

Delivery role map

Use this map when a change touches GitHub, ArgoCD, AWS, production promotion, or emergency response.

RoleGitHubArgoCDAWSWhat they can approve
Technical OwnerTeam permission admin when repo grants are appliedFullFullCritical exceptions and production decisions
Technical AdminTeam permission admin when repo grants are appliedAdminScopedPromotions and emergency response
DeveloperTeam permission push when repo grants are appliedReadNoneCode changes, no production actions
SRETeam permission push when repo grants are appliedReadScopedReliability and release infrastructure issues
Security EngineerTeam permission pull when repo grants are appliedReadNoneSecurity review and advisories
QA EngineerTeam permission pull when repo grants are appliedReadNoneTest validation findings
Content AdministratorNone for this flowNoneNoneDrupal and content workflows only

Exception authority

Exceptions are not convenience paths. A technical owner may approve an emergency bypass only when delay creates more risk than the bypass, and the PR, incident, or ticket must record the reason, approver, scope, and follow-up. Temporary elevated access expires by default and is reviewed with the same evidence as other access changes.

Repository RACI

Check this matrix before starting work that changes architecture, deployment, monitoring, security, or stakeholder-facing behavior.

RepoEngineeringDesignVendorsDoIT Web ServicesNotes
mdwds-coreR/ACR for assigned workIEngineering owns architecture, review, deployment, monitoring, docs, and security
md-cmsR/A for architecture, review, docs, securityIR for assigned workR/A for deployment and monitoringShared platform with vendor and DoIT participation
mdwds-iconsR/AC/R for icon work--Engineering owns deployment and package operations
analytics.maryland.govTBD-TBDTBDOwnership under review
cms-training.maryland.govTBD-TBDTBDOwnership under review
digital.maryland.govTBDCTBDTBDOwnership under review
gitops.maryland.govI--R/AEngineering has awareness-only involvement
SOSELFTBD-TBDR/AManual SharePoint deployment path
documentationR/A---Engineering owns this handbook

R means responsible, A means accountable, C means consulted, I means informed, and TBD means ownership is not settled. There should be one accountable owner per activity.

Repository inventory

RepoGitHub orgWhat it isEngineering roleDeploy ownerStatus
mdwds-iconsmaryland-govIcon package consumed by mdwds-corePrimary ownerEngineeringActive
mdwds-coremaryland-govMaryland Web Design System component libraryPrimary ownerEngineeringActive
md-cmsmaryland-govDrupal CMS consuming mdwds-coreCo-ownerEngineering, vendor team, DoIT Web ServicesActive
cms-training.maryland.govmaryland-govTraining site built on the CMS platformTBDTBDOwnership under review
workbooksmdds-engineeringEngineering workbooksPrimary ownerEngineeringActive
documentationmaryland-govEngineering handbookPrimary ownerEngineeringActive
digital.maryland.govmarylanddigitalserviceDigital Playbook public siteTBDTBDOwnership under review
analytics.maryland.govmaryland-govAnalytics platformTBDTBDOwnership under review
gitops.maryland.govmarylanddigitalserviceGitOps infrastructureAwareness onlyInfrastructure / DevOpsActive
SOSELFDoITWebServicesSharePoint Online SPFx siteTBDDoIT Web ServicesOwnership under review

Deployment order

When a change spans the Maryland Web Design System and CMS chain, ship in this order.

  1. mdwds-icons
  2. mdwds-core
  3. md-cms
  4. cms-training.maryland.gov

Each step must finish before the next begins. Shipping out of order creates missing icons, stale design-system assets, CMS/runtime mismatches, or training-environment drift.

Vendor collaboration

Vendors own day-to-day implementation inside their assigned scope, but Engineering owns the platform contracts they build against.

  • Establish a shared channel, written status rhythm, meeting cadence, and escalation path.
  • Provision access with least privilege, review it at least quarterly, and revoke it at engagement end.
  • Require Engineering approval before vendor-authored PRs merge.
  • Record decisions and scope changes in writing.
  • Give the first PR extra review detail to calibrate expectations.

External integrations

Treat every external service integration as a provider boundary.

  • Store vendor dependencies behind a wrapper in src/lib/providers/{domain} or the local equivalent.
  • Import vendor SDKs only in wrapper files, never throughout app services.
  • Keep provider interfaces narrow and stable.
  • Require a mock implementation for tests.
  • Verify inbound webhook signatures before body parsing.
  • Enforce replay protection with provider event IDs and time windows.
  • Normalize inbound payloads to internal domain events and hand downstream work to a queue.

ATO evidence

For ATO or continuous monitoring, retain the repo inventory, ownership map, GitHub org/repo exports, CODEOWNERS, vendor register, integration inventory, data-flow record, and boundary notes for systems Engineering does not control.

Where to go next