Documentation
¶
Overview ¶
Package manifest parses and persists the multiversa.toml declarative manifest.
Index ¶
Constants ¶
const DefaultPath = "multiversa.toml"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Deploy ¶ added in v0.7.0
type Deploy struct {
Targets []string `toml:"targets,omitempty" json:"targets,omitempty"` // cloudflare | vercel | github | vps | insforge
}
Deploy lists where this tenant's software ships. The manifest is the unit of replication; the deploy target is the per-client difference.
type Graph ¶ added in v0.7.0
type Graph struct {
Engine string `toml:"engine,omitempty" json:"engine,omitempty"` // "graphify"
Anchor string `toml:"anchor,omitempty" json:"anchor,omitempty"` // "identity" — graph roots at the brand DNA
Ingest []string `toml:"ingest,omitempty" json:"ingest,omitempty"` // sources: docs, posts, decisions, …
}
Graph configures the knowledge graph. Anchored to the identity section: everything ingested inherits the brand DNA as context.
type Identity ¶ added in v0.7.0
type Identity struct {
Brand string `toml:"brand,omitempty" json:"brand,omitempty"`
Voice string `toml:"voice,omitempty" json:"voice,omitempty"` // tone in the tenant's own words
Language string `toml:"language,omitempty" json:"language,omitempty"` // primary output language
Avatar string `toml:"avatar,omitempty" json:"avatar,omitempty"` // avatar personality id
Taboos []string `toml:"taboos,omitempty" json:"taboos,omitempty"` // hard boundaries — runner blocks these
}
Identity is the brand DNA — the lightweight manifest-level slice of the L4 identity layer. The knowledge graph and every skill run anchor to this section, so ingestion inherits brand context from setup.
type Manifest ¶
type Manifest struct {
Multiversa Meta `toml:"multiversa" json:"multiversa"`
Tenant Tenant `toml:"tenant,omitempty" json:"tenant,omitempty"`
Identity Identity `toml:"identity,omitempty" json:"identity,omitempty"`
Pillars []Pillar `toml:"pillars,omitempty" json:"pillars,omitempty"`
Scoring Scoring `toml:"scoring,omitempty" json:"scoring,omitempty"`
Vault Vault `toml:"vault,omitempty" json:"vault,omitempty"`
Graph Graph `toml:"graph,omitempty" json:"graph,omitempty"`
Sync Sync `toml:"sync,omitempty" json:"sync,omitempty"`
Deploy Deploy `toml:"deploy,omitempty" json:"deploy,omitempty"`
Stack map[string]string `toml:"stack" json:"stack"`
Agents Agents `toml:"agents" json:"agents"`
Backend Backend `toml:"backend" json:"backend"`
Credits Credits `toml:"credits" json:"credits"`
}
type Pillar ¶ added in v0.7.0
type Pillar struct {
ID string `toml:"id" json:"id"`
Name string `toml:"name" json:"name"`
Metric string `toml:"metric,omitempty" json:"metric,omitempty"` // what "impact" means for this pillar
Weight float64 `toml:"weight,omitempty" json:"weight,omitempty"` // relative priority, default 1.0
}
Pillar is one strategic pillar of the tenant's business. The scoring engine classifies every signal against these.
type Scoring ¶ added in v0.7.0
type Scoring struct {
Alignment float64 `toml:"alignment,omitempty" json:"alignment,omitempty"`
Urgency float64 `toml:"urgency,omitempty" json:"urgency,omitempty"`
Impact float64 `toml:"impact,omitempty" json:"impact,omitempty"`
Effort float64 `toml:"effort,omitempty" json:"effort,omitempty"`
Confidence float64 `toml:"confidence,omitempty" json:"confidence,omitempty"`
ExplorationQuota float64 `toml:"exploration_quota,omitempty" json:"exploration_quota,omitempty"`
DecayHalfLifeDays int `toml:"decay_half_life_days,omitempty" json:"decay_half_life_days,omitempty"`
}
Scoring holds the tenant's weights for the five scoring dimensions plus the anti-negative-loop parameters (see motor-scoring-spec).
type Sync ¶ added in v0.7.0
type Sync struct {
Providers []string `toml:"providers,omitempty" json:"providers,omitempty"` // "insforge", "gdrive" — order = priority
Mode string `toml:"mode,omitempty" json:"mode,omitempty"` // backup | sync
Plan string `toml:"plan,omitempty" json:"plan,omitempty"` // e.g. "nano" (InsForge free tier)
Auto bool `toml:"auto" json:"auto"` // default false — la IA propone, tú decides
}
Sync declares backup/sync providers for the tenant's data (memory, graph, manifest — NEVER the vault). auto=false means every sync is proposed and human-approved; there is no silent replication.
type Tenant ¶ added in v0.7.0
type Tenant struct {
Slug string `toml:"slug,omitempty" json:"slug,omitempty"` // kebab-case id, dir name under ~/.multiversa/tenants/
Name string `toml:"name,omitempty" json:"name,omitempty"` // display name, e.g. "PulseOS — Cintia Larizatti"
Kind string `toml:"kind,omitempty" json:"kind,omitempty"` // personal-os | personal-brand | agency | team
Owner string `toml:"owner,omitempty" json:"owner,omitempty"` // contact of the human who decides
}
Tenant identifies whose OS this manifest instantiates. One manifest = one tenant = one isolated installation (ElevatOS, PulseOS, …).
type Vault ¶ added in v0.7.0
type Vault struct {
Path string `toml:"path,omitempty" json:"path,omitempty"` // relative to the tenant dir
}
Vault declares where the tenant's secrets live. The manifest only ever stores the path — vault CONTENTS are never read, serialized, or synced by any Multiversa surface. The directory is created 0700.