modelcompose

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Report

type Report struct {
	// ManifestsSeen — сколько манифестов осмотрено.
	ManifestsSeen int
	// ResourcesSeen — сколько ресурсов осмотрено во всех манифестах.
	ResourcesSeen int
	// CanonTypes — типов в каноне образа.
	CanonTypes int
	// Composed — имена типов, блоки которых добавлены, отсортированно.
	Composed []string
	// Reaffirmed — имена типов, которые канон уже объявляет и рендер которых
	// совпал с каноническим блоком побайтово.
	Reaffirmed []string
	// PriorEdition — имена типов, чей рендер равен не канону, а ПРЕЖНЕЙ
	// редакции, принимаемой переходно (Р10, [modelrender.IsPriorEdition]).
	// Действует при этом канон: прежняя редакция только допущена к сверке.
	PriorEdition []string
	// ComposedBy — отнесение добавленных типов к модулю, из документа которого
	// собран их блок (kaname#865, Д10): модуль → имена типов, отсортированно.
	// Модуль, не добавивший ни одного типа, ключа не получает. Объединение
	// значений равно [Report.Composed]: тип, объявленный доставкой дважды,
	// композиция отвергает, поэтому у каждого добавленного типа модуль ровно
	// один.
	ComposedBy map[string][]string
	// KeyTerms — термы, которые ключ публичного чтения вписал в блоки ДОБАВЛЕННЫХ
	// типов (kaname#866, Р1, Р4), в порядке доставки. Это аргумент допуска
	// (`authzmodel.Admit`), и производит его ТОТ ЖЕ вызов, что собрал текст:
	// перечень, собранный отдельно, описывал бы другой текст.
	//
	// Только из ветки добавленных типов: блоки канона (подтверждённые и прежней
	// редакции) в модель не идут, и терм, названный по ним, исключал бы то, чего
	// допуск не судит (CE-02).
	KeyTerms []authzmodel.KeyTerm
}

Report — перепись композиции. Печатается ВСЕГДА, независимо от исхода: без неё «ноль добавленного» неотличимо от «ноль прочитанного».

func Compose

func Compose(canon string, manifests []*manifest.Manifest) (string, Report, error)

Compose собирает текст модели процесса.

Всякий отказ — отказ ПУСКА у вызывающего: мягкого прохода здесь не заводится, он дал бы контроль, который не откажет ни разу за свою жизнь.

func (Report) Census

func (r Report) Census() string

Census — перепись одной строкой.

func (Report) ComposedOf added in v0.6.0

func (r Report) ComposedOf(module string) []string

ComposedOf — типы вне канона, блоки которых собраны из документа модуля module, отсортированно; модуль, не добавивший ни одного, — пусто.

Jump to

Keyboard shortcuts

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