data/landscape.json

landscape file

GeneratedAssembled output

The raw, un-scored tool survey — every candidate seen, with its gate verdicts. Backs the Tools view; scoring happens later in solutions/matrix. Typically GENERATED from a richer research profile (not hand-maintained). Instance extensions narrow via allOf + $ref to this $id with unevaluatedProperties:false.

The assembled output — this is the file the cockpit reads. You don't edit it; you edit the authored source, and the build produces this (node scripts/build-landscape.mjs).
Generated — The neutral landscape.json the Tools view reads — a deterministic transform of the raw survey. Per-engagement (ehimare ships it; not yet generic in template/). 17 fields.
This table is generated at build time from landscape.schema.json — change the schema, and this page changes.
FieldTypeDescription
_comment string Free-text authoring/generation note; ignored by the kernel.
tools required array<tool> The surveyed tools.
name required string Product name.
vendor string Vendor / maker.
category string Survey category (e.g. the L1/L2/L3 brief the tool came from).
url string Product URL.
summary string One-line characterisation of the tool.
capabilities string Free-text on what the tool covers natively vs. not.
gates map<enum> Gate verdicts, keyed by gate criterion id (→ requirements gate ids). Each is pass | fail | unknown. Key resolution checked semantically.
tags array<string> Short capability tags (e.g. 'Open API', 'AI', 'WhatsApp').
attrs map<string> Free-form attribute map — survey facets (hosting, GDPR, pricing model, …) as label → value prose. Terse, provenance-free; for an ASSERTED tool property the reader should be able to verify, use `properties` (fact-bearing) instead.
properties map<toolProperty> Asserted, fact-bearing tool properties (Plan 23) — the provenance-carrying sibling of `attrs`. Each value is EITHER a bare string (terse), OR an object co-locating the `value` with its note + the research facts that establish it, so the Tools view can verify a property the same way a matrix cell does. Key = the property label; the `facts[]` ids resolve into research-index.json `facts` in the semantic tier.
[each value] → toolProperty One asserted tool property — EITHER the bare value string (terse form), OR an object that CO-LOCATES the value with its gloss + the research facts that establish it (Plan 23). Mirrors coverageEntry/scoreEntry so the Tools view verifies a property exactly like a matrix cell.
value required string The property value as a string.
note string One-line gloss on the property.
confidence enum Confidence in THIS property value.
offen · geschätzt · bekannt
facts array<string> research-index.json `facts` ids that establish this value — the provenance refs (Plan 23). Resolved in the semantic tier.

← Back to the reference