-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathreference_contract.yml
More file actions
94 lines (93 loc) · 4.46 KB
/
Copy pathreference_contract.yml
File metadata and controls
94 lines (93 loc) · 4.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# The reference kinds this Foundry authors — the `kind:` of an entry in a Mold's
# `references[]` manifest.
#
# Only `kinds` lives here. The other four vocabularies a reference entry names —
# `used_at`, `load`, `modes`, `evidence` — describe the compilation machinery rather
# than any domain, so they are the same in every Foundry and ship as data in
# @galaxy-foundry/reference-contract. packages/gxwf-foundry-note-schema/src/reference-contract.ts
# composes the two halves.
#
# `kinds` stays here because it is the half that genuinely varies. It is also the half
# that carries its own `href`: these kinds are specified in this repo's MOLD_SPEC, while
# the inherited four are specified in the Foundry Pattern and link there.
#
# Each kind also declares HOW IT IS CAST, in a `cast:` block:
#
# resolve where the source bytes come from, and how the bundled file is named:
# `note` (the note file), `package-export` (an npm export the note names
# in `package` + `package_export`), `payload-companion` (the kind's single
# `bundled` companion, sitting beside the note).
# default_mode the transform applied when a `references[]` entry names no `mode`.
# slug_field frontmatter field naming the bundled file, where the note's own slug is
# the wrong name for a reader of the bundle.
#
# Which sibling files travel with a note is NOT declared here. The kind's own layout in
# packages/gxwf-foundry-note-schema/src/types/<kind>/schema.ts is the sole source: a companion ships
# when its `disposition` is `bundled`, and a note may name extra ones only where the kind
# declares `additionalCompanions: allow`.
#
# A kind with NO `cast:` block is vocabulary the site renders and the caster refuses. That
# is the whole mechanism: the caster has no list of castable kinds to keep in step with
# this one, it just asks whether the kind declared how.
#
# Which DIRECTORY a cast lands each kind in, and under what extension, is not here: that
# varies by target and lives in casts/<target>/_target.yml. The split is that a kind
# declares its STRATEGY and a target declares its PLACEMENT.
kinds:
pattern:
label: Pattern
description: Workflow-construction idiom. Copied verbatim.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: note
default_mode: verbatim
cli-tool:
label: CLI Tool
description: Tool-level install metadata. Aggregated into the cast bundle's Required Tools section.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: note
default_mode: verbatim
# content/cli/<dir>/index.md, and the directory is not always the command.
slug_field: tool
cli-command:
label: CLI Command
description: Command reference. Usually cast to a sidecar and loaded only when invoked.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: note
default_mode: sidecar
schema:
label: Schema
description: Structured contract copied for validation or lookup.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: package-export
default_mode: verbatim
prompt:
label: Prompt
description: Prompt fragment copied verbatim or inlined by the target adapter.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: payload-companion
default_mode: verbatim
example:
label: Example
description: Fixture or exemplar copied verbatim.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: path
# No `cast:` block: authored vocabulary with no caster support. The first Mold to
# reference one defines the contract — declare a block here and the caster picks it up.
research:
label: Research
description: Background synthesis loaded by explicit progressive-disclosure metadata.
href: https://github.com/galaxyproject/foundry/blob/main/content/meta/mold-spec.md#typed-reference-manifest
ref_shape: wiki-link
cast:
resolve: note
default_mode: verbatim