arch

package
v0.41.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package arch holds the module boundary lint (boundaries_test.go): which internal package belongs to which module, and which module may import which (zero-downtime design §2.6, S19 9e).

Index

Constants

This section is empty.

Variables

View Source
var Roles = []string{"ingest", "api", "jobs"}

Roles are the process roles a merge can change (RIVOLT_ROLE without all; S19 9g).

Functions

func IngestAffecting

func IngestAffecting(merges [][]string) int

IngestAffecting counts how many of the merges' role lists include ingest.

Types

type RoleMap

type RoleMap struct {
	// contains filtered or unexported fields
}

RoleMap answers which roles a changed path affects. Build it with NewRoleMap from the repository's import graph.

func NewRoleMap

func NewRoleMap(root string) (*RoleMap, error)

NewRoleMap reads the import graph under root (the repository) and builds each role's dependency set.

func (*RoleMap) For

func (m *RoleMap) For(paths []string) []string

For returns the roles the changed paths (relative to the repository root, slash-separated) affect, in Roles order:

  • a Go package's directory (any file in it, embedded assets and migrations included): nothing when the server binary does not link it (test helpers, other commands); every role for platform and cmd/rivolt; otherwise each role whose dependency set has it, and every role when none does (linked, but no role claims it);
  • go.mod, go.sum, the Dockerfile and the chart (deploy/helm, every role's Deployment and values): every role;
  • the web app (web/, served on the public routes): api;
  • the iPhone app, docs, CI, scripts, tools and top-level text: none (they do not ship in the server);
  • anything else: every role, so an unclassified path is never under-counted.

Directories

Path Synopsis
cmd
mergeroles command
Command mergeroles reports which process roles a change affects (S19 9g), from the module map and import graph in internal/arch.
Command mergeroles reports which process roles a change affects (S19 9g), from the module map and import graph in internal/arch.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL