@forwardimpact/map 0.15.2 → 0.15.4
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/package.json
CHANGED
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
"properties": {
|
|
228
228
|
"specify": { "$ref": "#/$defs/skillStage" },
|
|
229
229
|
"plan": { "$ref": "#/$defs/skillStage" },
|
|
230
|
-
"
|
|
230
|
+
"scaffold": { "$ref": "#/$defs/skillStage" },
|
|
231
231
|
"code": { "$ref": "#/$defs/skillStage" },
|
|
232
232
|
"review": { "$ref": "#/$defs/skillStage" },
|
|
233
233
|
"deploy": { "$ref": "#/$defs/skillStage" }
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
16
16
|
"type": "string",
|
|
17
|
-
"enum": ["specify", "plan", "
|
|
17
|
+
"enum": ["specify", "plan", "scaffold", "code", "review", "deploy"],
|
|
18
18
|
"description": "Stage identifier"
|
|
19
19
|
},
|
|
20
20
|
"name": {
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"properties": {
|
|
78
78
|
"targetStage": {
|
|
79
79
|
"type": "string",
|
|
80
|
-
"enum": ["specify", "plan", "
|
|
80
|
+
"enum": ["specify", "plan", "scaffold", "code", "review", "deploy"],
|
|
81
81
|
"description": "The stage to transition to"
|
|
82
82
|
},
|
|
83
83
|
"label": {
|
package/schema/rdf/stages.ttl
CHANGED
|
@@ -74,7 +74,7 @@ fit:StageShape a sh:NodeShape ;
|
|
|
74
74
|
sh:targetClass fit:Stage ;
|
|
75
75
|
sh:property [
|
|
76
76
|
sh:path fit:id ;
|
|
77
|
-
sh:in ( "specify" "plan" "
|
|
77
|
+
sh:in ( "specify" "plan" "scaffold" "code" "review" "deploy" ) ;
|
|
78
78
|
sh:minCount 1 ;
|
|
79
79
|
sh:maxCount 1 ;
|
|
80
80
|
sh:name "id" ;
|
|
@@ -142,7 +142,7 @@ fit:HandoffShape a sh:NodeShape ;
|
|
|
142
142
|
sh:targetClass fit:Handoff ;
|
|
143
143
|
sh:property [
|
|
144
144
|
sh:path fit:targetStage ;
|
|
145
|
-
sh:in ( "specify" "plan" "
|
|
145
|
+
sh:in ( "specify" "plan" "scaffold" "code" "review" "deploy" ) ;
|
|
146
146
|
sh:minCount 1 ;
|
|
147
147
|
sh:maxCount 1 ;
|
|
148
148
|
sh:name "targetStage" ;
|
package/src/validation.js
CHANGED
|
@@ -338,15 +338,15 @@ function validateSkill(skill, index, requiredStageIds = []) {
|
|
|
338
338
|
);
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
// Error if implementationReference still contains <
|
|
341
|
+
// Error if implementationReference still contains <scaffolding_steps> tags (migration aid)
|
|
342
342
|
if (
|
|
343
343
|
typeof skill.implementationReference === "string" &&
|
|
344
|
-
skill.implementationReference.includes("<
|
|
344
|
+
skill.implementationReference.includes("<scaffolding_steps>")
|
|
345
345
|
) {
|
|
346
346
|
errors.push(
|
|
347
347
|
createError(
|
|
348
348
|
"INVALID_FIELD",
|
|
349
|
-
"Skill implementationReference contains <
|
|
349
|
+
"Skill implementationReference contains <scaffolding_steps> tags. Extract install commands to skill.installScript instead.",
|
|
350
350
|
`${path}.implementationReference`,
|
|
351
351
|
),
|
|
352
352
|
);
|
|
@@ -2089,7 +2089,7 @@ export function validateAgentData({ humanData, agentData }) {
|
|
|
2089
2089
|
|
|
2090
2090
|
// Validate skills with agent sections have complete stage coverage
|
|
2091
2091
|
const skillsWithAgent = (humanData.skills || []).filter((s) => s.agent);
|
|
2092
|
-
const requiredStages = [
|
|
2092
|
+
const requiredStages = (humanData.stages || []).map((s) => s.id);
|
|
2093
2093
|
|
|
2094
2094
|
for (const skill of skillsWithAgent) {
|
|
2095
2095
|
const stages = skill.agent.stages || {};
|
package/README.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# @forwardimpact/map
|
|
2
|
-
|
|
3
|
-
A public site describing the data model for consumption by AI agents and
|
|
4
|
-
engineers.
|
|
5
|
-
|
|
6
|
-
## Role in the Vision
|
|
7
|
-
|
|
8
|
-
The Map product is the fundamental underpinning of all Forward Impact products.
|
|
9
|
-
It defines how engineering competencies, career progression, and agent
|
|
10
|
-
capabilities are structured\u2014and publishes that structure in
|
|
11
|
-
machine-readable formats so AI agents can reliably interpret and work with
|
|
12
|
-
career framework data.
|
|
13
|
-
|
|
14
|
-
Making the data model well understood is a first-class goal. By publishing JSON
|
|
15
|
-
Schema and RDF/SHACL definitions alongside canonical example data, we ensure
|
|
16
|
-
that every consumer—human or AI—shares a consistent understanding of the data
|
|
17
|
-
model.
|
|
18
|
-
|
|
19
|
-
## What It Does
|
|
20
|
-
|
|
21
|
-
- **Public data model** — JSON Schema and RDF/SHACL definitions for skills,
|
|
22
|
-
behaviours, disciplines, tracks, and levels
|
|
23
|
-
- **Data loading** — Parse and validate YAML data files
|
|
24
|
-
- **Validation** — Enforce referential integrity, required fields, and schema
|
|
25
|
-
compliance
|
|
26
|
-
- **Index generation** — Generate browser-compatible file indexes
|
|
27
|
-
- **Example data** — Canonical examples for testing and reference
|
|
28
|
-
|
|
29
|
-
## Usage
|
|
30
|
-
|
|
31
|
-
```sh
|
|
32
|
-
# Validate all data files
|
|
33
|
-
npx fit-map validate
|
|
34
|
-
|
|
35
|
-
# Generate index files for browser
|
|
36
|
-
npx fit-map generate-index
|
|
37
|
-
|
|
38
|
-
# Validate SHACL ontology
|
|
39
|
-
npx fit-map validate --shacl
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Package Exports
|
|
43
|
-
|
|
44
|
-
```javascript
|
|
45
|
-
import { loadAllData, loadCapabilities } from "@forwardimpact/map";
|
|
46
|
-
import { validateAll } from "@forwardimpact/map/validation";
|
|
47
|
-
import {
|
|
48
|
-
SKILL_PROFICIENCIES,
|
|
49
|
-
BEHAVIOUR_MATURITIES,
|
|
50
|
-
} from "@forwardimpact/map/levels";
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Data Structure
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
examples/
|
|
57
|
-
├── levels.yaml # Career levels
|
|
58
|
-
├── stages.yaml # Lifecycle stages
|
|
59
|
-
├── drivers.yaml # Organizational outcomes
|
|
60
|
-
├── disciplines/ # Engineering specialties
|
|
61
|
-
├── tracks/ # Work contexts (platform, SRE, etc.)
|
|
62
|
-
├── behaviours/ # Approach to work
|
|
63
|
-
├── capabilities/ # Skills grouped by area
|
|
64
|
-
└── questions/ # Interview questions
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
See the [documentation](../../website/docs/map/index.md) for details.
|