@forwardimpact/schema 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +58 -0
- package/bin/fit-schema.js +48 -21
- package/examples/behaviours/outcome_ownership.yaml +1 -1
- package/examples/behaviours/polymathic_knowledge.yaml +1 -1
- package/examples/behaviours/precise_communication.yaml +1 -1
- package/examples/behaviours/relentless_curiosity.yaml +1 -1
- package/examples/behaviours/systems_thinking.yaml +1 -1
- package/examples/capabilities/business.yaml +1 -1
- package/examples/capabilities/delivery.yaml +1 -1
- package/examples/capabilities/people.yaml +1 -1
- package/examples/capabilities/reliability.yaml +1 -1
- package/examples/capabilities/scale.yaml +1 -1
- package/examples/disciplines/data_engineering.yaml +1 -1
- package/examples/disciplines/engineering_management.yaml +1 -1
- package/examples/disciplines/software_engineering.yaml +1 -1
- package/examples/drivers.yaml +1 -1
- package/examples/framework.yaml +1 -1
- package/examples/grades.yaml +1 -1
- package/examples/questions/behaviours/outcome_ownership.yaml +1 -1
- package/examples/questions/behaviours/polymathic_knowledge.yaml +1 -1
- package/examples/questions/behaviours/precise_communication.yaml +1 -1
- package/examples/questions/behaviours/relentless_curiosity.yaml +1 -1
- package/examples/questions/behaviours/systems_thinking.yaml +1 -1
- package/examples/questions/skills/architecture_design.yaml +1 -1
- package/examples/questions/skills/cloud_platforms.yaml +1 -1
- package/examples/questions/skills/code_quality.yaml +1 -1
- package/examples/questions/skills/data_modeling.yaml +1 -1
- package/examples/questions/skills/devops.yaml +1 -1
- package/examples/questions/skills/full_stack_development.yaml +1 -1
- package/examples/questions/skills/sre_practices.yaml +1 -1
- package/examples/questions/skills/stakeholder_management.yaml +1 -1
- package/examples/questions/skills/team_collaboration.yaml +1 -1
- package/examples/questions/skills/technical_writing.yaml +1 -1
- package/examples/self-assessments.yaml +1 -1
- package/examples/stages.yaml +1 -1
- package/examples/tracks/platform.yaml +1 -1
- package/examples/tracks/sre.yaml +1 -1
- package/lib/schema-validation.js +1 -1
- package/package.json +5 -5
- package/schema/json/behaviour-questions.schema.json +1 -1
- package/schema/json/behaviour.schema.json +1 -1
- package/schema/json/capability.schema.json +1 -1
- package/schema/json/defs.schema.json +1 -1
- package/schema/json/discipline.schema.json +1 -1
- package/schema/json/drivers.schema.json +1 -1
- package/schema/json/framework.schema.json +1 -1
- package/schema/json/grades.schema.json +1 -1
- package/schema/json/self-assessments.schema.json +1 -1
- package/schema/json/skill-questions.schema.json +1 -1
- package/schema/json/stages.schema.json +1 -1
- package/schema/json/track.schema.json +1 -1
- package/schema/rdf/behaviour-questions.ttl +96 -0
- package/schema/rdf/behaviour.ttl +130 -0
- package/schema/rdf/capability.ttl +440 -0
- package/schema/rdf/defs.ttl +396 -0
- package/schema/rdf/discipline.ttl +336 -0
- package/schema/rdf/drivers.ttl +84 -0
- package/schema/rdf/framework.ttl +128 -0
- package/schema/rdf/grades.ttl +357 -0
- package/schema/rdf/self-assessments.ttl +147 -0
- package/schema/rdf/skill-questions.ttl +128 -0
- package/schema/rdf/stages.ttl +142 -0
- package/schema/rdf/track.ttl +231 -0
- package/schema/json/index.schema.json +0 -18
- package/schema/rdf/pathway.ttl +0 -2362
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
@prefix fit: <https://www.forwardimpact.team/schema/rdf/> .
|
|
2
|
+
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
|
3
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
4
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
5
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
6
|
+
|
|
7
|
+
# =============================================================================
|
|
8
|
+
# Stages Schema
|
|
9
|
+
# =============================================================================
|
|
10
|
+
# Engineering lifecycle stages with handoffs and criteria.
|
|
11
|
+
# =============================================================================
|
|
12
|
+
|
|
13
|
+
# -----------------------------------------------------------------------------
|
|
14
|
+
# Classes
|
|
15
|
+
# -----------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
fit:Handoff a rdfs:Class ;
|
|
18
|
+
rdfs:label "Handoff"@en ;
|
|
19
|
+
rdfs:comment "Transition from one stage to another"@en .
|
|
20
|
+
|
|
21
|
+
# -----------------------------------------------------------------------------
|
|
22
|
+
# Properties
|
|
23
|
+
# -----------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
fit:handoffs a rdf:Property ;
|
|
26
|
+
rdfs:label "handoffs"@en ;
|
|
27
|
+
rdfs:comment "Transitions to other stages"@en ;
|
|
28
|
+
rdfs:domain fit:Stage ;
|
|
29
|
+
rdfs:range fit:Handoff .
|
|
30
|
+
|
|
31
|
+
fit:entryCriteria a rdf:Property ;
|
|
32
|
+
rdfs:label "entryCriteria"@en ;
|
|
33
|
+
rdfs:comment "Conditions that must be met before entering this stage"@en ;
|
|
34
|
+
rdfs:range xsd:string .
|
|
35
|
+
|
|
36
|
+
fit:targetStage a rdf:Property ;
|
|
37
|
+
rdfs:label "targetStage"@en ;
|
|
38
|
+
rdfs:comment "The stage to transition to"@en ;
|
|
39
|
+
rdfs:domain fit:Handoff ;
|
|
40
|
+
rdfs:range fit:Stage .
|
|
41
|
+
|
|
42
|
+
fit:label a rdf:Property ;
|
|
43
|
+
rdfs:label "label"@en ;
|
|
44
|
+
rdfs:comment "Button label for the handoff action"@en ;
|
|
45
|
+
rdfs:domain fit:Handoff ;
|
|
46
|
+
rdfs:range xsd:string .
|
|
47
|
+
|
|
48
|
+
fit:prompt a rdf:Property ;
|
|
49
|
+
rdfs:label "prompt"@en ;
|
|
50
|
+
rdfs:comment "Instructions for the next stage"@en ;
|
|
51
|
+
rdfs:domain fit:Handoff ;
|
|
52
|
+
rdfs:range xsd:string .
|
|
53
|
+
|
|
54
|
+
# =============================================================================
|
|
55
|
+
# SHACL SHAPES
|
|
56
|
+
# =============================================================================
|
|
57
|
+
|
|
58
|
+
# -----------------------------------------------------------------------------
|
|
59
|
+
# Stage Shape
|
|
60
|
+
# -----------------------------------------------------------------------------
|
|
61
|
+
|
|
62
|
+
fit:StageShape a sh:NodeShape ;
|
|
63
|
+
sh:targetClass fit:Stage ;
|
|
64
|
+
sh:property [
|
|
65
|
+
sh:path fit:id ;
|
|
66
|
+
sh:in ( "plan" "code" "review" ) ;
|
|
67
|
+
sh:minCount 1 ;
|
|
68
|
+
sh:maxCount 1 ;
|
|
69
|
+
sh:name "id" ;
|
|
70
|
+
sh:description "Stage identifier" ;
|
|
71
|
+
] ;
|
|
72
|
+
sh:property [
|
|
73
|
+
sh:path fit:name ;
|
|
74
|
+
sh:datatype xsd:string ;
|
|
75
|
+
sh:minCount 1 ;
|
|
76
|
+
sh:maxCount 1 ;
|
|
77
|
+
sh:name "name" ;
|
|
78
|
+
sh:description "Human-readable stage name" ;
|
|
79
|
+
] ;
|
|
80
|
+
sh:property [
|
|
81
|
+
sh:path fit:emojiIcon ;
|
|
82
|
+
sh:datatype xsd:string ;
|
|
83
|
+
sh:maxCount 1 ;
|
|
84
|
+
sh:name "emojiIcon" ;
|
|
85
|
+
sh:description "Emoji for visual representation" ;
|
|
86
|
+
] ;
|
|
87
|
+
sh:property [
|
|
88
|
+
sh:path fit:description ;
|
|
89
|
+
sh:datatype xsd:string ;
|
|
90
|
+
sh:maxCount 1 ;
|
|
91
|
+
sh:name "description" ;
|
|
92
|
+
sh:description "Description of the stage's purpose" ;
|
|
93
|
+
] ;
|
|
94
|
+
sh:property [
|
|
95
|
+
sh:path fit:handoffs ;
|
|
96
|
+
sh:node fit:HandoffShape ;
|
|
97
|
+
sh:name "handoffs" ;
|
|
98
|
+
sh:description "Transitions to other stages" ;
|
|
99
|
+
] ;
|
|
100
|
+
sh:property [
|
|
101
|
+
sh:path fit:constraints ;
|
|
102
|
+
sh:datatype xsd:string ;
|
|
103
|
+
sh:name "constraints" ;
|
|
104
|
+
sh:description "Restrictions on behaviour in this stage" ;
|
|
105
|
+
] ;
|
|
106
|
+
sh:property [
|
|
107
|
+
sh:path fit:entryCriteria ;
|
|
108
|
+
sh:datatype xsd:string ;
|
|
109
|
+
sh:name "entryCriteria" ;
|
|
110
|
+
sh:description "Conditions that must be met before entering this stage" ;
|
|
111
|
+
] .
|
|
112
|
+
|
|
113
|
+
# -----------------------------------------------------------------------------
|
|
114
|
+
# Handoff Shape
|
|
115
|
+
# -----------------------------------------------------------------------------
|
|
116
|
+
|
|
117
|
+
fit:HandoffShape a sh:NodeShape ;
|
|
118
|
+
sh:targetClass fit:Handoff ;
|
|
119
|
+
sh:property [
|
|
120
|
+
sh:path fit:targetStage ;
|
|
121
|
+
sh:in ( "plan" "code" "review" ) ;
|
|
122
|
+
sh:minCount 1 ;
|
|
123
|
+
sh:maxCount 1 ;
|
|
124
|
+
sh:name "targetStage" ;
|
|
125
|
+
sh:description "The stage to transition to" ;
|
|
126
|
+
] ;
|
|
127
|
+
sh:property [
|
|
128
|
+
sh:path fit:label ;
|
|
129
|
+
sh:datatype xsd:string ;
|
|
130
|
+
sh:minCount 1 ;
|
|
131
|
+
sh:maxCount 1 ;
|
|
132
|
+
sh:name "label" ;
|
|
133
|
+
sh:description "Button label for the handoff action" ;
|
|
134
|
+
] ;
|
|
135
|
+
sh:property [
|
|
136
|
+
sh:path fit:prompt ;
|
|
137
|
+
sh:datatype xsd:string ;
|
|
138
|
+
sh:minCount 1 ;
|
|
139
|
+
sh:maxCount 1 ;
|
|
140
|
+
sh:name "prompt" ;
|
|
141
|
+
sh:description "Instructions for the next stage" ;
|
|
142
|
+
] .
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
@prefix fit: <https://www.forwardimpact.team/schema/rdf/> .
|
|
2
|
+
@prefix sh: <http://www.w3.org/ns/shacl#> .
|
|
3
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
4
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
5
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
6
|
+
|
|
7
|
+
# =============================================================================
|
|
8
|
+
# Track Schema
|
|
9
|
+
# =============================================================================
|
|
10
|
+
# Work context that modifies skill and behaviour expectations.
|
|
11
|
+
# =============================================================================
|
|
12
|
+
|
|
13
|
+
# -----------------------------------------------------------------------------
|
|
14
|
+
# Classes
|
|
15
|
+
# -----------------------------------------------------------------------------
|
|
16
|
+
|
|
17
|
+
fit:Track a rdfs:Class ;
|
|
18
|
+
rdfs:label "Track"@en ;
|
|
19
|
+
rdfs:comment "Work context that modifies skill and behaviour expectations"@en .
|
|
20
|
+
|
|
21
|
+
fit:TrackAgentSection a rdfs:Class ;
|
|
22
|
+
rdfs:label "Track Agent Section"@en ;
|
|
23
|
+
rdfs:comment "Agent-specific content for a track"@en .
|
|
24
|
+
|
|
25
|
+
fit:SkillModifier a rdfs:Class ;
|
|
26
|
+
rdfs:label "Skill Modifier"@en ;
|
|
27
|
+
rdfs:comment "Modifier applied to skills in a capability by a track"@en .
|
|
28
|
+
|
|
29
|
+
fit:AssessmentWeights a rdfs:Class ;
|
|
30
|
+
rdfs:label "Assessment Weights"@en ;
|
|
31
|
+
rdfs:comment "Custom weights for skill vs behaviour assessment"@en .
|
|
32
|
+
|
|
33
|
+
# -----------------------------------------------------------------------------
|
|
34
|
+
# Properties
|
|
35
|
+
# -----------------------------------------------------------------------------
|
|
36
|
+
|
|
37
|
+
fit:roleContext a rdf:Property ;
|
|
38
|
+
rdfs:label "roleContext"@en ;
|
|
39
|
+
rdfs:comment "Contextual description for job listings"@en ;
|
|
40
|
+
rdfs:domain fit:Track ;
|
|
41
|
+
rdfs:range xsd:string .
|
|
42
|
+
|
|
43
|
+
fit:skillModifiers a rdf:Property ;
|
|
44
|
+
rdfs:label "skillModifiers"@en ;
|
|
45
|
+
rdfs:comment "Modifiers by capability ID"@en ;
|
|
46
|
+
rdfs:domain fit:Track .
|
|
47
|
+
|
|
48
|
+
fit:assessmentWeights a rdf:Property ;
|
|
49
|
+
rdfs:label "assessmentWeights"@en ;
|
|
50
|
+
rdfs:comment "Custom weights for skill vs behaviour assessment"@en ;
|
|
51
|
+
rdfs:domain fit:Track ;
|
|
52
|
+
rdfs:range fit:AssessmentWeights .
|
|
53
|
+
|
|
54
|
+
# Skill Modifier Properties
|
|
55
|
+
fit:targetCapability a rdf:Property ;
|
|
56
|
+
rdfs:label "targetCapability"@en ;
|
|
57
|
+
rdfs:comment "The capability this modifier applies to"@en ;
|
|
58
|
+
rdfs:domain fit:SkillModifier ;
|
|
59
|
+
rdfs:range fit:Capability .
|
|
60
|
+
|
|
61
|
+
# Assessment Weight Properties
|
|
62
|
+
fit:skillWeight a rdf:Property ;
|
|
63
|
+
rdfs:label "skillWeight"@en ;
|
|
64
|
+
rdfs:comment "Weight for skills in assessment (0-1)"@en ;
|
|
65
|
+
rdfs:domain fit:AssessmentWeights ;
|
|
66
|
+
rdfs:range xsd:decimal .
|
|
67
|
+
|
|
68
|
+
fit:behaviourWeight a rdf:Property ;
|
|
69
|
+
rdfs:label "behaviourWeight"@en ;
|
|
70
|
+
rdfs:comment "Weight for behaviours in assessment (0-1)"@en ;
|
|
71
|
+
rdfs:domain fit:AssessmentWeights ;
|
|
72
|
+
rdfs:range xsd:decimal .
|
|
73
|
+
|
|
74
|
+
# =============================================================================
|
|
75
|
+
# SHACL SHAPES
|
|
76
|
+
# =============================================================================
|
|
77
|
+
|
|
78
|
+
# -----------------------------------------------------------------------------
|
|
79
|
+
# Track Shape
|
|
80
|
+
# -----------------------------------------------------------------------------
|
|
81
|
+
|
|
82
|
+
fit:TrackShape a sh:NodeShape ;
|
|
83
|
+
sh:targetClass fit:Track ;
|
|
84
|
+
sh:property [
|
|
85
|
+
sh:path fit:id ;
|
|
86
|
+
sh:datatype xsd:string ;
|
|
87
|
+
sh:pattern "^[a-z][a-z0-9_]*$" ;
|
|
88
|
+
sh:maxCount 1 ;
|
|
89
|
+
sh:name "id" ;
|
|
90
|
+
sh:description "Track identifier (derived from filename)" ;
|
|
91
|
+
] ;
|
|
92
|
+
sh:property [
|
|
93
|
+
sh:path fit:name ;
|
|
94
|
+
sh:datatype xsd:string ;
|
|
95
|
+
sh:minCount 1 ;
|
|
96
|
+
sh:maxCount 1 ;
|
|
97
|
+
sh:name "name" ;
|
|
98
|
+
sh:description "Human-readable track name" ;
|
|
99
|
+
] ;
|
|
100
|
+
sh:property [
|
|
101
|
+
sh:path fit:description ;
|
|
102
|
+
sh:datatype xsd:string ;
|
|
103
|
+
sh:maxCount 1 ;
|
|
104
|
+
sh:name "description" ;
|
|
105
|
+
sh:description "Description of the track's focus" ;
|
|
106
|
+
] ;
|
|
107
|
+
sh:property [
|
|
108
|
+
sh:path fit:roleContext ;
|
|
109
|
+
sh:datatype xsd:string ;
|
|
110
|
+
sh:maxCount 1 ;
|
|
111
|
+
sh:name "roleContext" ;
|
|
112
|
+
sh:description "Contextual description for job listings" ;
|
|
113
|
+
] ;
|
|
114
|
+
sh:property [
|
|
115
|
+
sh:path fit:skillModifiers ;
|
|
116
|
+
sh:node fit:SkillModifierShape ;
|
|
117
|
+
sh:name "skillModifiers" ;
|
|
118
|
+
sh:description "Modifiers by capability ID" ;
|
|
119
|
+
] ;
|
|
120
|
+
sh:property [
|
|
121
|
+
sh:path fit:behaviourModifiers ;
|
|
122
|
+
sh:node fit:BehaviourModifierShape ;
|
|
123
|
+
sh:name "behaviourModifiers" ;
|
|
124
|
+
sh:description "Modifiers to behaviour expectations" ;
|
|
125
|
+
] ;
|
|
126
|
+
sh:property [
|
|
127
|
+
sh:path fit:assessmentWeights ;
|
|
128
|
+
sh:node fit:AssessmentWeightsShape ;
|
|
129
|
+
sh:maxCount 1 ;
|
|
130
|
+
sh:name "assessmentWeights" ;
|
|
131
|
+
sh:description "Custom weights for skill vs behaviour assessment" ;
|
|
132
|
+
] ;
|
|
133
|
+
sh:property [
|
|
134
|
+
sh:path fit:minGrade ;
|
|
135
|
+
sh:datatype xsd:string ;
|
|
136
|
+
sh:pattern "^[A-Z][A-Z0-9]*$" ;
|
|
137
|
+
sh:maxCount 1 ;
|
|
138
|
+
sh:name "minGrade" ;
|
|
139
|
+
sh:description "Minimum grade required for this track (grade ID)" ;
|
|
140
|
+
] ;
|
|
141
|
+
sh:property [
|
|
142
|
+
sh:path fit:agent ;
|
|
143
|
+
sh:node fit:TrackAgentSectionShape ;
|
|
144
|
+
sh:maxCount 1 ;
|
|
145
|
+
sh:name "agent" ;
|
|
146
|
+
sh:description "Agent-specific content" ;
|
|
147
|
+
] .
|
|
148
|
+
|
|
149
|
+
# -----------------------------------------------------------------------------
|
|
150
|
+
# Track Agent Section Shape
|
|
151
|
+
# -----------------------------------------------------------------------------
|
|
152
|
+
|
|
153
|
+
fit:TrackAgentSectionShape a sh:NodeShape ;
|
|
154
|
+
sh:targetClass fit:TrackAgentSection ;
|
|
155
|
+
sh:property [
|
|
156
|
+
sh:path fit:identity ;
|
|
157
|
+
sh:datatype xsd:string ;
|
|
158
|
+
sh:maxCount 1 ;
|
|
159
|
+
sh:name "identity" ;
|
|
160
|
+
sh:description "Identity override for the agent" ;
|
|
161
|
+
] ;
|
|
162
|
+
sh:property [
|
|
163
|
+
sh:path fit:priority ;
|
|
164
|
+
sh:datatype xsd:string ;
|
|
165
|
+
sh:maxCount 1 ;
|
|
166
|
+
sh:name "priority" ;
|
|
167
|
+
sh:description "Priority guidance specific to this track" ;
|
|
168
|
+
] ;
|
|
169
|
+
sh:property [
|
|
170
|
+
sh:path fit:beforeMakingChanges ;
|
|
171
|
+
sh:datatype xsd:string ;
|
|
172
|
+
sh:name "beforeMakingChanges" ;
|
|
173
|
+
sh:description "Additional checklist items to consider" ;
|
|
174
|
+
] ;
|
|
175
|
+
sh:property [
|
|
176
|
+
sh:path fit:constraints ;
|
|
177
|
+
sh:datatype xsd:string ;
|
|
178
|
+
sh:name "constraints" ;
|
|
179
|
+
sh:description "Additional constraints specific to this track" ;
|
|
180
|
+
] .
|
|
181
|
+
|
|
182
|
+
# -----------------------------------------------------------------------------
|
|
183
|
+
# Skill Modifier Shape
|
|
184
|
+
# -----------------------------------------------------------------------------
|
|
185
|
+
|
|
186
|
+
fit:SkillModifierShape a sh:NodeShape ;
|
|
187
|
+
sh:targetClass fit:SkillModifier ;
|
|
188
|
+
sh:property [
|
|
189
|
+
sh:path fit:targetCapability ;
|
|
190
|
+
sh:datatype xsd:string ;
|
|
191
|
+
sh:pattern "^[a-z][a-z0-9_]*$" ;
|
|
192
|
+
sh:minCount 1 ;
|
|
193
|
+
sh:maxCount 1 ;
|
|
194
|
+
sh:name "targetCapability" ;
|
|
195
|
+
sh:description "The capability this modifier applies to" ;
|
|
196
|
+
] ;
|
|
197
|
+
sh:property [
|
|
198
|
+
sh:path fit:modifierValue ;
|
|
199
|
+
sh:datatype xsd:integer ;
|
|
200
|
+
sh:minCount 1 ;
|
|
201
|
+
sh:maxCount 1 ;
|
|
202
|
+
sh:name "modifierValue" ;
|
|
203
|
+
sh:description "Level modifier to apply to all skills in this capability" ;
|
|
204
|
+
] .
|
|
205
|
+
|
|
206
|
+
# -----------------------------------------------------------------------------
|
|
207
|
+
# Assessment Weights Shape
|
|
208
|
+
# -----------------------------------------------------------------------------
|
|
209
|
+
|
|
210
|
+
fit:AssessmentWeightsShape a sh:NodeShape ;
|
|
211
|
+
sh:targetClass fit:AssessmentWeights ;
|
|
212
|
+
sh:property [
|
|
213
|
+
sh:path fit:skillWeight ;
|
|
214
|
+
sh:datatype xsd:decimal ;
|
|
215
|
+
sh:minInclusive 0 ;
|
|
216
|
+
sh:maxInclusive 1 ;
|
|
217
|
+
sh:minCount 1 ;
|
|
218
|
+
sh:maxCount 1 ;
|
|
219
|
+
sh:name "skillWeight" ;
|
|
220
|
+
sh:description "Weight for skills in assessment (must sum to 1 with behaviourWeight)" ;
|
|
221
|
+
] ;
|
|
222
|
+
sh:property [
|
|
223
|
+
sh:path fit:behaviourWeight ;
|
|
224
|
+
sh:datatype xsd:decimal ;
|
|
225
|
+
sh:minInclusive 0 ;
|
|
226
|
+
sh:maxInclusive 1 ;
|
|
227
|
+
sh:minCount 1 ;
|
|
228
|
+
sh:maxCount 1 ;
|
|
229
|
+
sh:name "behaviourWeight" ;
|
|
230
|
+
sh:description "Weight for behaviours in assessment (must sum to 1 with skillWeight)" ;
|
|
231
|
+
] .
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://schema.forwardimpact.team/json/index.schema.json",
|
|
4
|
-
"title": "Auto-generated Index",
|
|
5
|
-
"description": "Index file for browser loading, generated by npx pathway --generate-index",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"required": ["files"],
|
|
8
|
-
"properties": {
|
|
9
|
-
"files": {
|
|
10
|
-
"type": "array",
|
|
11
|
-
"description": "List of file basenames (without extension) in the directory",
|
|
12
|
-
"items": {
|
|
13
|
-
"type": "string"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"additionalProperties": false
|
|
18
|
-
}
|