Documentation
¶
Overview ¶
Package composition is this repository's composition root: the exact set of values handed to bootstrap.Run, assembled in one place so the binary and its suite cannot describe different products.
It is a library rather than a main package for that reason alone. Everything in New is what an extending product's cmd/ would otherwise hold inline, and cmd/main.go does nothing this package does not.
Index ¶
Constants ¶
const Version = "quillfern-console"
Version is what Core reports as its build. A real extending binary stamps this at link time; the value matters only because Core renders it in the sidebar.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Product ¶
type Product struct {
// Components is this repository's bring-up graph in registration order:
// the steering store, the steering service that requires it, and the
// noteboard that requires the service. Core resolves the order; the edges
// are declared here.
Components []*component.Definition
// Board is the service mounted through the HTTP seam and brought up by the
// last of those components.
Board *noteboard.Board
// Options is the complete list handed to bootstrap.Run, in the order the
// seams apply: identity, the overlay that redefines part of what renders
// it, the sidebar entry, the page that entry links to, every component in
// Components, and the agent harness.
Options []bootstrap.Option
}
Product is one assembled composition: the values behind the seams, and the option list that carries them.