config.schema.json

config file

Authored

Cockpit configuration — the weighting model and category spine the kernel scores under. Drift fixed per Plan 15 drift ①: the canonical keys are `weights`/`presets` (every instance ships these; the prose contract's former `weightTriple`/`weightingPresets` are retired). Instance extensions narrow via allOf + $ref to this $id and add their own keys with unevaluatedProperties:false.

Authored — Authored by hand — the weighting model and category spine. 34 fields.
This table is generated at build time from config.schema.json — change the schema, and this page changes.
FieldTypeDescription
_comment string Free-text authoring note; ignored by the kernel.
title required string Cockpit title — the engagement/solution name shown in the shell header.
subtitle string Optional one-line subtitle under the title.
tierWeights object Default Fit weight per criterion tier — how much a criterion contributes to the Fit sum given its `tier`. Keys are the tier names; values are positive numbers.
critical number Weight applied to tier:critical fit criteria.
standard number Weight applied to tier:standard fit criteria.
nice-to-have number Weight applied to tier:nice-to-have fit criteria.
weights required object The three-axis blend — how Fit, Cost and Risk combine into the headline comparison. The active blend the cockpit opens with (a preset may override it).
fit required number Relative weight of the Fit axis.
cost required number Relative weight of the Cost axis.
risk required number Relative weight of the Risk axis.
presets required array<object> Selectable weighting stances (e.g. 'Balanced', 'Cheapest to run') — each a named override of `weights` the user can switch between.
key required string Stable selector for the preset.
label string Display name shown in the preset switcher.
weights required → weightTriple The fit/cost/risk blend this preset applies when chosen.
fit required number Relative weight of the Fit axis.
cost required number Relative weight of the Cost axis.
risk required number Relative weight of the Risk axis.
recommended boolean Marks the preset the cockpit opens on / highlights as the default stance.
reasons string Optional consultant-authored prose rationale for this stance — rendered (escaped) by the shell only when this preset is the active recommended one.
categories array<object> The solution categories the board groups by. Single-category instances ship one entry; the multi-category explorer (skischule) ships several, each pointing at its own solutions/matrix file.
key required string Stable category selector.
label required string Display name for the category tab/section.
solutionsFile string Optional filename of the solutions file backing this category (when solutions are split per category).
matrixFile string Optional filename of the per-category tool matrix (instances with a separate tool layer).
scenario object Shared costing scenario the TCO/Cost axis prices every solution under (e.g. day rate, amortisation years). Shape is instance-specific beyond the common day-rate/amortisation pair; kept permissive here and pinned in an extension if needed.
dayRate number Person-day rate used to price build/maintenance effort into money.
amortYears number Years over which one-off costs are amortised for the TCO band.
propertyFilters array<object> Manual property-filter toggles the decisions station offers in Tier 1 (the hand-required-capability sibling of the architecture toggles). Each entry declares ONE generic property-select filter (target:'property') the user can switch on by hand; absent/empty → the control isn't shown. Default OFF (opt-in narrowing). A toggle keeps solutions whose `prop` value is in `keys`; 'unknown'/absent is never eliminated. Multiple active toggles compose AND. Generic: deployment seeds saas/selfHost, but residency/mobile/etc. plug in the same way.
id required string Stable toggle id (persisted in the URL as ?fp=, and the manualProps state).
label required string Toggle caption — a CAPABILITY ('SaaS-capable', 'Self-host-capable'), not an exclusive ('Only …'): it requires support for this option, indifferent to others.
prop required string Dotted path to the solution property compared (e.g. 'deployment.saas'); a Plan-19 entry-object is unwrapped to its scalar.
keys required array<string> Accepted values (e.g. ['yes']) — a solution whose value is one of these passes the toggle.
glyph string Optional icon name for the toggle.

← Back to the reference