Directories
¶
| Path | Synopsis |
|---|---|
|
Package api is the thin driving adapter between the generated strict HTTP server (package apigen) and the engine.
|
Package api is the thin driving adapter between the generated strict HTTP server (package apigen) and the engine. |
|
gen
Package apigen provides primitives to interact with the openapi HTTP API.
|
Package apigen provides primitives to interact with the openapi HTTP API. |
|
Package auth is the identity port: who is making this request, and may they do what they are asking.
|
Package auth is the identity port: who is making this request, and may they do what they are asking. |
|
proxy
Package proxy is the Authenticator for a deployment behind an authenticating reverse proxy (oauth2-proxy, Pomerium, Authelia, an ingress with OIDC): the proxy verifies the person and forwards their identity in a header, and this adapter trusts that header.
|
Package proxy is the Authenticator for a deployment behind an authenticating reverse proxy (oauth2-proxy, Pomerium, Authelia, an ingress with OIDC): the proxy verifies the person and forwards their identity in a header, and this adapter trusts that header. |
|
roles
Package roles is a role-based Authorizer: principals in a write role may read and write, principals in a read role may read, everyone else is refused.
|
Package roles is a role-based Authorizer: principals in a write role may read and write, principals in a read role may read, everyone else is refused. |
|
Package codec is the port between a manifest's text and its document.
|
Package codec is the port between a manifest's text and its document. |
|
conformance
Package conformance is the suite every codec.Codec adapter must pass: what the engine relies on, written once, run against each syntax.
|
Package conformance is the suite every codec.Codec adapter must pass: what the engine relies on, written once, run against each syntax. |
|
json
Package json is the JSON codec.
|
Package json is the JSON codec. |
|
yaml
Package yaml is the YAML codec: yaml.v3 to read, yamlfmt to write, so a file saved by Cartograph keeps the two-space indentation the vaults are written in by hand.
|
Package yaml is the YAML codec: yaml.v3 to read, yamlfmt to write, so a file saved by Cartograph keeps the two-space indentation the vaults are written in by hand. |
|
Package config is the one place the process reads its environment.
|
Package config is the one place the process reads its environment. |
|
Package contract embeds the JSON Schema files from contract/schemas so the compiled binary is self-contained.
|
Package contract embeds the JSON Schema files from contract/schemas so the compiled binary is self-contained. |
|
Package engine is the kind-agnostic manifest engine: it validates manifests against their schema, references and kind rules, stores immutable versions, computes diffs, and indexes cross-manifest references.
|
Package engine is the kind-agnostic manifest engine: it validates manifests against their schema, references and kind rules, stores immutable versions, computes diffs, and indexes cross-manifest references. |
|
Package kinds is the registry of every manifest kind: its schema file and its rules function, if it has one beyond schema and generic reference validation.
|
Package kinds is the registry of every manifest kind: its schema file and its rules function, if it has one beyond schema and generic reference validation. |
|
goal
Package goal implements the Goal kind's rules beyond its JSON Schema: parent presence by level (a goal has no parent; an objective requires a goal as parent; an outcome requires an objective goal as parent), unique key result ids within the goal, the key result unit-by-kind rule, and the objective must-be-qualitative rule.
|
Package goal implements the Goal kind's rules beyond its JSON Schema: parent presence by level (a goal has no parent; an objective requires a goal as parent; an outcome requires an objective goal as parent), unique key result ids within the goal, the key result unit-by-kind rule, and the objective must-be-qualitative rule. |
|
kit
Package kit holds the small, dependency-free types that both the engine and the per-kind rule packages need.
|
Package kit holds the small, dependency-free types that both the engine and the per-kind rule packages need. |
|
kpireadings
Package kpireadings validates a KPI's series beyond its JSON Schema.
|
Package kpireadings validates a KPI's series beyond its JSON Schema. |
|
programme
Package programme implements the Programme kind's rules beyond its JSON Schema: the risk list a project and a programme share, checked here without phases, because a programme holds no timeline, and the gap citations they also share.
|
Package programme implements the Programme kind's rules beyond its JSON Schema: the risk list a project and a programme share, checked here without phases, because a programme holds no timeline, and the gap citations they also share. |
|
project
Package project implements the Project kind's rules beyond its JSON Schema: unique key result ids within each objective, the key result unit-by-kind rule, the objective must-be-qualitative rule, unique deliverable ids, unique success criteria ids, a success criterion's derivedFrom must name exactly one key result or deliverable that actually exists in this project, at most one funding line per currency, and a risk's escalate.reason is required when escalate.flag is true; every local reference resolves to an item this project actually has; and a dependency edge belongs to the dependency type and lands by a phase the timeline actually has.
|
Package project implements the Project kind's rules beyond its JSON Schema: unique key result ids within each objective, the key result unit-by-kind rule, the objective must-be-qualitative rule, unique deliverable ids, unique success criteria ids, a success criterion's derivedFrom must name exactly one key result or deliverable that actually exists in this project, at most one funding line per currency, and a risk's escalate.reason is required when escalate.flag is true; every local reference resolves to an item this project actually has; and a dependency edge belongs to the dependency type and lands by a phase the timeline actually has. |
|
segment
Package segment validates the slice tree beyond its JSON Schema.
|
Package segment validates the slice tree beyond its JSON Schema. |
|
settings
Package settings implements the Settings kind's one rule beyond its JSON Schema: it is the only singleton kind, so its metadata.id must always be "default".
|
Package settings implements the Settings kind's one rule beyond its JSON Schema: it is the only singleton kind, so its metadata.id must always be "default". |
|
stakeholdermap
Package stakeholdermap implements the StakeholderMap kind's rules beyond its JSON Schema: a map is scoped to a piece of work rather than to any manifest at all, and it scores each resource once.
|
Package stakeholdermap implements the StakeholderMap kind's rules beyond its JSON Schema: a map is scoped to a piece of work rather than to any manifest at all, and it scores each resource once. |
|
Package printer is the port through which a rendered document becomes a PDF.
|
Package printer is the port through which a rendered document becomes a PDF. |
|
chromium
Package chromium prints HTML to PDF with a headless Chromium.
|
Package chromium prints HTML to PDF with a headless Chromium. |
|
Package sentence composes the sentences Cartograph stores in parts.
|
Package sentence composes the sentences Cartograph stores in parts. |
|
Package spa embeds the web interface's build and serves it at "/", falling back to index.html for any path that is not a real file, so client-side routes resolve on a hard refresh.
|
Package spa embeds the web interface's build and serves it at "/", falling back to index.html for any path that is not a real file, so client-side routes resolve on a hard refresh. |
|
Package store defines the two ports the engine is built against (ManifestStore and OperationalStore) and the record shapes they persist.
|
Package store defines the two ports the engine is built against (ManifestStore and OperationalStore) and the record shapes they persist. |
|
conformance
Package conformance is the one test suite that both the SQLite and the in-memory store adapters must pass, proving they are interchangeable behind the store.ManifestStore and store.OperationalStore ports.
|
Package conformance is the one test suite that both the SQLite and the in-memory store adapters must pass, proving they are interchangeable behind the store.ManifestStore and store.OperationalStore ports. |
|
manifestmeta
Package manifestmeta reads metadata.name and metadata.labels out of a manifest's text, for the store adapters that index both beside each version.
|
Package manifestmeta reads metadata.name and metadata.labels out of a manifest's text, for the store adapters that index both beside each version. |
|
memory
Package memory is the in-memory ManifestStore and OperationalStore adapter used by tests and by the conformance suite.
|
Package memory is the in-memory ManifestStore and OperationalStore adapter used by tests and by the conformance suite. |
|
sqlite
Package sqlite is the SQLite adapter for both store.ManifestStore and store.OperationalStore, backed by modernc.org/sqlite (a pure-Go driver, no cgo).
|
Package sqlite is the SQLite adapter for both store.ManifestStore and store.OperationalStore, backed by modernc.org/sqlite (a pure-Go driver, no cgo). |
|
vault
Package vault implements store.ManifestStore over a directory tree: files are the source of truth.
|
Package vault implements store.ManifestStore over a directory tree: files are the source of truth. |
|
Package yamlfmt writes YAML the way the vaults are written by hand.
|
Package yamlfmt writes YAML the way the vaults are written by hand. |
Click to show internal directories.
Click to hide internal directories.