@forwardimpact/pathway 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.
Files changed (131) hide show
  1. package/app/commands/agent.js +109 -21
  2. package/app/commands/command-factory.js +3 -3
  3. package/app/commands/interview.js +14 -7
  4. package/app/commands/job.js +43 -29
  5. package/app/commands/progress.js +14 -7
  6. package/app/commands/serve.js +5 -0
  7. package/app/commands/stage.js +0 -10
  8. package/app/commands/track.js +5 -8
  9. package/app/components/builder.js +111 -27
  10. package/app/css/components/surfaces.css +16 -0
  11. package/app/formatters/agent/profile.js +113 -87
  12. package/app/formatters/agent/skill.js +64 -31
  13. package/app/formatters/behaviour/dom.js +3 -0
  14. package/app/formatters/behaviour/microdata.js +106 -0
  15. package/app/formatters/discipline/dom.js +28 -1
  16. package/app/formatters/discipline/microdata.js +117 -0
  17. package/app/formatters/discipline/shared.js +49 -8
  18. package/app/formatters/driver/dom.js +3 -0
  19. package/app/formatters/driver/microdata.js +91 -0
  20. package/app/formatters/grade/dom.js +3 -0
  21. package/app/formatters/grade/microdata.js +151 -0
  22. package/app/formatters/index.js +32 -1
  23. package/app/formatters/interview/shared.js +13 -8
  24. package/app/formatters/job/description.js +5 -3
  25. package/app/formatters/json-ld.js +242 -0
  26. package/app/formatters/microdata-shared.js +184 -0
  27. package/app/formatters/progress/shared.js +14 -11
  28. package/app/formatters/skill/dom.js +3 -0
  29. package/app/formatters/skill/microdata.js +151 -0
  30. package/app/formatters/stage/dom.js +3 -18
  31. package/app/formatters/stage/microdata.js +110 -0
  32. package/app/formatters/stage/shared.js +0 -27
  33. package/app/formatters/track/dom.js +5 -30
  34. package/app/formatters/track/markdown.js +2 -25
  35. package/app/formatters/track/microdata.js +111 -0
  36. package/app/formatters/track/shared.js +6 -58
  37. package/app/handout-main.js +26 -12
  38. package/app/index.html +11 -0
  39. package/app/lib/card-mappers.js +17 -12
  40. package/app/lib/job-cache.js +12 -9
  41. package/app/lib/template-loader.js +66 -0
  42. package/app/lib/yaml-loader.js +25 -8
  43. package/app/main.js +8 -4
  44. package/app/model/agent.js +158 -130
  45. package/app/model/checklist.js +57 -91
  46. package/app/model/derivation.js +135 -68
  47. package/app/model/index-generator.js +1 -7
  48. package/app/model/job.js +19 -13
  49. package/app/model/levels.js +20 -12
  50. package/app/model/loader.js +41 -17
  51. package/app/model/matching.js +33 -3
  52. package/app/model/profile.js +38 -45
  53. package/app/model/schema-validation.js +438 -0
  54. package/app/model/validation.js +747 -68
  55. package/app/pages/agent-builder.js +119 -25
  56. package/app/pages/assessment-results.js +10 -4
  57. package/app/pages/discipline.js +36 -6
  58. package/app/pages/driver.js +9 -47
  59. package/app/pages/interview-builder.js +3 -1
  60. package/app/pages/interview.js +15 -4
  61. package/app/pages/job-builder.js +4 -1
  62. package/app/pages/job.js +15 -4
  63. package/app/pages/landing.js +10 -10
  64. package/app/pages/progress-builder.js +3 -1
  65. package/app/pages/progress.js +72 -21
  66. package/app/pages/stage.js +3 -126
  67. package/app/slide-main.js +45 -17
  68. package/app/slides/index.js +3 -1
  69. package/app/slides/overview.js +40 -4
  70. package/app/slides/progress.js +4 -2
  71. package/bin/pathway.js +18 -64
  72. package/examples/agents/.claude/skills/architecture-design/SKILL.md +58 -16
  73. package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +59 -18
  74. package/examples/agents/.claude/skills/code-quality-review/SKILL.md +58 -17
  75. package/examples/agents/.claude/skills/devops-cicd/SKILL.md +64 -18
  76. package/examples/agents/.claude/skills/full-stack-development/SKILL.md +59 -15
  77. package/examples/agents/.claude/skills/sre-practices/SKILL.md +64 -18
  78. package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +58 -17
  79. package/examples/agents/.github/agents/se-platform-code.agent.md +39 -88
  80. package/examples/agents/.github/agents/se-platform-plan.agent.md +41 -88
  81. package/examples/agents/.github/agents/se-platform-review.agent.md +38 -15
  82. package/examples/agents/.vscode/settings.json +1 -1
  83. package/examples/behaviours/outcome_ownership.yaml +1 -2
  84. package/examples/behaviours/polymathic_knowledge.yaml +1 -2
  85. package/examples/behaviours/precise_communication.yaml +1 -2
  86. package/examples/behaviours/relentless_curiosity.yaml +1 -2
  87. package/examples/behaviours/systems_thinking.yaml +1 -2
  88. package/examples/capabilities/business.yaml +80 -142
  89. package/examples/capabilities/delivery.yaml +155 -219
  90. package/examples/capabilities/people.yaml +2 -34
  91. package/examples/capabilities/reliability.yaml +161 -80
  92. package/examples/capabilities/scale.yaml +234 -252
  93. package/examples/copilot-setup-steps.yaml +25 -0
  94. package/examples/devcontainer.yaml +21 -0
  95. package/examples/disciplines/_index.yaml +1 -0
  96. package/examples/disciplines/data_engineering.yaml +14 -12
  97. package/examples/disciplines/engineering_management.yaml +63 -0
  98. package/examples/disciplines/software_engineering.yaml +14 -12
  99. package/examples/drivers.yaml +1 -4
  100. package/examples/framework.yaml +1 -2
  101. package/examples/grades.yaml +1 -3
  102. package/examples/questions/behaviours/outcome_ownership.yaml +1 -2
  103. package/examples/questions/behaviours/polymathic_knowledge.yaml +1 -2
  104. package/examples/questions/behaviours/precise_communication.yaml +1 -2
  105. package/examples/questions/behaviours/relentless_curiosity.yaml +1 -2
  106. package/examples/questions/behaviours/systems_thinking.yaml +1 -2
  107. package/examples/questions/skills/architecture_design.yaml +1 -2
  108. package/examples/questions/skills/cloud_platforms.yaml +1 -2
  109. package/examples/questions/skills/code_quality.yaml +1 -2
  110. package/examples/questions/skills/data_modeling.yaml +1 -2
  111. package/examples/questions/skills/devops.yaml +1 -2
  112. package/examples/questions/skills/full_stack_development.yaml +1 -2
  113. package/examples/questions/skills/sre_practices.yaml +1 -2
  114. package/examples/questions/skills/stakeholder_management.yaml +1 -2
  115. package/examples/questions/skills/team_collaboration.yaml +1 -2
  116. package/examples/questions/skills/technical_writing.yaml +1 -2
  117. package/examples/self-assessments.yaml +1 -3
  118. package/examples/stages.yaml +101 -46
  119. package/examples/tracks/_index.yaml +0 -1
  120. package/examples/tracks/platform.yaml +8 -13
  121. package/examples/tracks/sre.yaml +8 -18
  122. package/examples/vscode-settings.yaml +2 -7
  123. package/package.json +9 -3
  124. package/templates/agent.template.md +65 -0
  125. package/templates/skill.template.md +28 -0
  126. package/examples/agents/.claude/skills/data-modeling/SKILL.md +0 -99
  127. package/examples/agents/.claude/skills/developer-experience/SKILL.md +0 -99
  128. package/examples/agents/.claude/skills/knowledge-management/SKILL.md +0 -100
  129. package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +0 -102
  130. package/examples/agents/.claude/skills/technical-writing/SKILL.md +0 -129
  131. package/examples/tracks/manager.yaml +0 -53
@@ -0,0 +1,63 @@
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/discipline.schema.json
2
+
3
+ specialization: Engineering Management
4
+ roleTitle: Engineering Manager
5
+ isManagement: true
6
+ minGrade: SE
7
+
8
+ description: |
9
+ People and delivery leadership, focusing on team effectiveness,
10
+ career development, and organizational outcomes.
11
+
12
+ # null = allow trackless (generalist)
13
+ validTracks:
14
+ - null
15
+
16
+ coreSkills:
17
+ - stakeholder_management
18
+ - team_collaboration
19
+ supportingSkills:
20
+ - code_quality
21
+ - devops
22
+ broadSkills:
23
+ - architecture_design
24
+ - technical_writing
25
+
26
+ behaviourModifiers:
27
+ outcome_ownership: 1
28
+ systems_thinking: 1
29
+
30
+ # Human-specific content
31
+ human:
32
+ professionalRoleSummary:
33
+ We are seeking a skilled {roleTitle} who will lead engineering teams,
34
+ focusing on team effectiveness, career development, and organizational
35
+ outcomes. In this role, you will create space for curiosity and
36
+ experimentation while modeling ownership behaviours.
37
+ managementRoleSummary:
38
+ We are seeking an experienced {specialization} leader to build and lead
39
+ high-performing engineering teams. In this role, you will drive team
40
+ effectiveness and career development while ensuring organizational outcomes
41
+ are achieved. You will create space for innovation and model the ownership
42
+ behaviors that define our engineering culture.
43
+
44
+ # Agent-specific content
45
+ agent:
46
+ identity: |
47
+ You are an {specialization} leadership support agent. Your primary
48
+ focus is supporting engineering managers with team effectiveness,
49
+ process design, and communication.
50
+ priority: |
51
+ People and process over direct implementation. You help create space
52
+ for curiosity and experimentation, model ownership behaviors, and
53
+ remove organizational friction.
54
+
55
+ Your role is to support engineering judgment, not replace it.
56
+ beforeMakingChanges:
57
+ - Consider team dynamics and individual growth
58
+ - Think about systemic improvements over individual fixes
59
+ - Focus on enabling others rather than doing directly
60
+ constraints:
61
+ - Focus on enabling and empowering rather than doing directly
62
+ - Consider long-term team health over short-term fixes
63
+ - Support engineering judgment, don't replace it
@@ -1,8 +1,13 @@
1
- # Discipline: Software Engineering
2
- # Builds and maintains software systems
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/discipline.schema.json
3
2
 
4
3
  specialization: Software Engineering
5
4
  roleTitle: Software Engineer
5
+ isProfessional: true
6
+ # null = allow trackless (generalist)
7
+ validTracks:
8
+ - null
9
+ - platform
10
+ - sre
6
11
 
7
12
  # Shared content (human and agent)
8
13
  description:
@@ -47,21 +52,18 @@ human:
47
52
 
48
53
  # Agent-specific content
49
54
  agent:
50
- coreInstructions: |
55
+ identity: |
51
56
  You are a {roleTitle} agent. Your primary focus is writing
52
57
  correct, maintainable, well-tested code.
53
-
54
- Before making changes:
55
- 1. Understand the existing architecture and patterns
56
- 2. Identify test coverage requirements
57
- 3. Consider backward compatibility implications
58
-
58
+ priority: |
59
59
  Code review is more important than code generation. Every line of code
60
60
  you produce must be understood and verified. Never ship code without
61
61
  comprehensive testing.
62
-
63
- ## Delegation
64
-
62
+ beforeMakingChanges:
63
+ - Understand the existing architecture and patterns
64
+ - Identify test coverage requirements
65
+ - Consider backward compatibility implications
66
+ delegation: |
65
67
  When facing tasks outside your expertise, use `runSubagent` to delegate:
66
68
  - Data modeling or statistical analysis → data science subagent
67
69
  - Security assessment or threat modeling → research subagent
@@ -1,8 +1,5 @@
1
- # Drivers - What outcomes matter?
2
- # Organizational outcomes that productive teams achieve
3
- # Links skills and behaviours to business impact
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/drivers.schema.json
4
2
 
5
- # Direction & Strategy
6
3
  - id: clear_direction
7
4
  name: Clear Direction
8
5
  description:
@@ -1,5 +1,4 @@
1
- # Framework - High-level definitions about the Engineering Pathway
2
- # Drives page content for landing page, entity list pages, and handout chapters
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/framework.schema.json
3
2
 
4
3
  title: Engineering Pathway
5
4
  emoji: "🧭"
@@ -1,6 +1,4 @@
1
- # Grades - What career level?
2
- # Base skill levels and behaviour maturities by seniority
3
- # See domain-concepts.instructions.md for level progressions
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/grades.schema.json
4
2
 
5
3
  - id: L1
6
4
  professionalTitle: Engineer I
@@ -1,5 +1,4 @@
1
- # outcome_ownership questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/behaviour-questions.schema.json
3
2
 
4
3
  emerging:
5
4
  - id: own_emerg_1
@@ -1,5 +1,4 @@
1
- # polymathic_knowledge questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/behaviour-questions.schema.json
3
2
 
4
3
  emerging:
5
4
  - id: poly_emerg_1
@@ -1,5 +1,4 @@
1
- # precise_communication questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/behaviour-questions.schema.json
3
2
 
4
3
  emerging:
5
4
  - id: comm_emerg_1
@@ -1,5 +1,4 @@
1
- # relentless_curiosity questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/behaviour-questions.schema.json
3
2
 
4
3
  emerging:
5
4
  - id: cur_emerg_1
@@ -1,5 +1,4 @@
1
- # systems_thinking questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/behaviour-questions.schema.json
3
2
 
4
3
  emerging:
5
4
  - id: sys_emerg_1
@@ -1,5 +1,4 @@
1
- # architecture_design questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: arch_aware_1
@@ -1,5 +1,4 @@
1
- # cloud_platforms questions
2
- # See skills.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: cp_aware_1
@@ -1,5 +1,4 @@
1
- # code_quality questions
2
- # See skills.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: cq_aware_1
@@ -1,5 +1,4 @@
1
- # data_modeling questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: dm_aware_1
@@ -1,5 +1,4 @@
1
- # devops questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: devops_aware_1
@@ -1,5 +1,4 @@
1
- # full_stack_development questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: fs_aware_1
@@ -1,5 +1,4 @@
1
- # sre_practices questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: sre_aware_1
@@ -1,5 +1,4 @@
1
- # stakeholder_management questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: stk_aware_1
@@ -1,5 +1,4 @@
1
- # team_collaboration questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: tc_aware_1
@@ -1,5 +1,4 @@
1
- # technical_writing questions
2
- # See skills.yaml or behaviours.yaml for metadata
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/skill-questions.schema.json
3
2
 
4
3
  awareness:
5
4
  - id: tw_aware_1
@@ -1,7 +1,5 @@
1
- # Self Assessments - Example profiles for testing candidate matching
2
- # Maps skills to levels and behaviours to maturities
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/self-assessments.schema.json
3
2
 
4
- # Example: Mid-level Software Engineer
5
3
  - id: example_mid_swe
6
4
  skillLevels:
7
5
  architecture_design: working
@@ -1,76 +1,131 @@
1
- # Stages - What part of the lifecycle?
2
- #
3
- # Defines the three stages of the engineering lifecycle with their tools,
4
- # handoffs, and constraints. Used for both human checklists and AI agent
5
- # profile generation.
6
- #
7
- # Entry criteria define what must be complete before starting work in a stage.
8
- # Exit criteria are implicit: they equal the entry criteria of the next stage.
9
- #
10
- # See concept/lifecycle.md for full documentation.
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/stages.schema.json
2
+
3
+ - id: specify
4
+ name: Specify
5
+ emoji: "🎯"
6
+ description:
7
+ Define What and Why - User stories, acceptance criteria, requirements
8
+ handoffs:
9
+ - targetStage: specify
10
+ label: Refine Spec
11
+ prompt: Refine spec.md with more detail or clarity.
12
+ - targetStage: specify
13
+ label: Alternative Spec
14
+ prompt: Create an alternative spec.md exploring a different approach.
15
+ - targetStage: plan
16
+ label: Create Plan
17
+ prompt: Create plan.md based on spec.md.
18
+ constraints:
19
+ - Do not make code edits or execute commands
20
+ - Focus on WHAT users need and WHY, not HOW to implement
21
+ - Write specifications as markdown files under specs/[feature-name]/spec.md
22
+ - Mark ambiguities with [NEEDS CLARIFICATION]; ask the user; do not guess
23
+ - No technology choices, APIs, or code structure in specifications
24
+ entryCriteria: []
25
+ exitCriteria:
26
+ - spec.md exists with user stories and acceptance criteria
27
+ - No unresolved [NEEDS CLARIFICATION] markers in spec.md
11
28
 
12
29
  - id: plan
13
30
  name: Plan
14
- emoji: "📋"
31
+ emoji: "📐"
15
32
  description:
16
- Research & Design - Understand the problem, gather context, design the
17
- solution
18
- availableTools:
19
- - search
20
- - web/fetch
21
- - search/codebase
22
- - read
23
- - todos
33
+ Define How - Technology choices, architecture, contracts, data models
24
34
  handoffs:
35
+ - targetStage: plan
36
+ label: Refine Plan
37
+ prompt: Refine plan.md with more detail or clarity.
38
+ - targetStage: plan
39
+ label: Alternative Plan
40
+ prompt: Create an alternative plan.md exploring a different approach.
25
41
  - targetStage: code
26
42
  label: Start Coding
27
- prompt: Implement the planned changes.
43
+ prompt: Implement the tasks defined in plan.md.
28
44
  constraints:
29
- - Do not make code edits
30
- - Do not execute commands
31
- - Research thoroughly before proposing solutions
32
- entryCriteria: [] # Entry stage, no prior work expected
45
+ - Do not make code edits or execute commands
46
+ - Every technology choice must trace back to a specific requirement
47
+ - Write plans as markdown files under specs/[feature-name]/plan.md
48
+ - Define contracts and data models before implementation details
49
+ - Document rationale for architectural decisions
50
+ entryCriteria:
51
+ - spec.md exists with user stories and acceptance criteria
52
+ - No unresolved [NEEDS CLARIFICATION] markers in spec.md
53
+ exitCriteria:
54
+ - plan.md exists with technology choices and architecture
55
+ - Contracts and data models defined where applicable
56
+ - No unresolved [NEEDS CLARIFICATION] markers in plan.md
33
57
 
34
58
  - id: code
35
59
  name: Code
36
60
  emoji: "💻"
37
- description: Build & Iterate - Implement, test, refine
38
- availableTools:
39
- - search
40
- - search/codebase
41
- - read
42
- - edit
43
- - todos
61
+ description: Build and Iterate - Implement, test, refine
44
62
  handoffs:
45
63
  - targetStage: review
46
64
  label: Request Review
47
65
  prompt: Review the implemented changes.
48
- constraints: []
66
+ constraints:
67
+ - Implement one task at a time, verify before moving on
68
+ - Write tests alongside implementation
69
+ - Track progress with the todo tool
49
70
  entryCriteria:
50
- - Problem statement documented
51
- - Approach selected with rationale
52
- - Implementation plan exists
71
+ - spec.md exists with user stories and acceptance criteria
72
+ - plan.md exists with technology choices and architecture
73
+ - No unresolved [NEEDS CLARIFICATION] markers in plan.md
74
+ exitCriteria:
75
+ - Implementation complete according to plan.md
76
+ - Tests written and passing
77
+ - Self-review completed
53
78
 
54
79
  - id: review
55
80
  name: Review
56
- emoji: ""
57
- description: Verify & Ship - Review, approve, deploy, document
58
- availableTools:
59
- - search
60
- - search/codebase
61
- - read
62
- - todos
81
+ emoji: "🔍"
82
+ description: Verify and Ship - Review, approve, document
63
83
  handoffs:
64
84
  - targetStage: code
65
85
  label: Request Changes
66
- prompt: Address the review feedback.
86
+ prompt: Address the findings in review.md.
67
87
  - targetStage: plan
68
- label: Needs Replanning
69
- prompt: The implementation needs replanning.
88
+ label: Needs Re-planning
89
+ prompt: Update plan.md to address issues found in review.md.
90
+ - targetStage: deploy
91
+ label: Deploy
92
+ prompt: Deploy the approved changes.
70
93
  constraints:
71
94
  - Do not make code edits
95
+ - Write review findings as markdown under specs/[feature-name]/review.md
72
96
  - Prioritize actionable feedback over exhaustive lists
97
+ - Track findings and required changes with the todo tool
98
+ - Run the application locally and verify changes work as expected
99
+ - Test user-facing functionality against acceptance criteria
73
100
  entryCriteria:
74
- - Implementation complete
101
+ - Implementation complete according to plan.md
75
102
  - Tests written and passing
76
103
  - Self-review completed
104
+ exitCriteria:
105
+ - Application runs locally without errors
106
+ - Changes verified against acceptance criteria through manual testing
107
+ - No blocking issues identified in review
108
+ - Review approved
109
+
110
+ - id: deploy
111
+ name: Deploy
112
+ emoji: "🚀"
113
+ description: Ship to Production - Push, monitor workflows, verify deployment
114
+ handoffs:
115
+ - targetStage: code
116
+ label: Fix Pipeline
117
+ prompt: Fix the failing workflow issues identified during deployment.
118
+ constraints:
119
+ - Use git push to deploy changes
120
+ - Use gh CLI to monitor triggered workflows (gh run list, gh run watch)
121
+ - Do not make code edits; hand off to code stage if fixes are needed
122
+ - Verify all workflows complete successfully before considering deployment
123
+ done
124
+ entryCriteria:
125
+ - Application runs locally without errors
126
+ - Changes verified against acceptance criteria through manual testing
127
+ - No blocking issues identified in review
128
+ - Review approved
129
+ exitCriteria:
130
+ - All triggered workflows are green
131
+ - Deployment verified in target environment
@@ -1,6 +1,5 @@
1
1
  # Auto-generated index for browser loading
2
2
  # Do not edit manually - regenerate with: npx pathway --generate-index
3
3
  files:
4
- - manager
5
4
  - platform
6
5
  - sre
@@ -1,11 +1,7 @@
1
- # Track: Platform
2
- # Internal tooling and infrastructure focus
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/track.schema.json
3
2
 
4
3
  name: Platform
5
4
 
6
- # Track type - professional track (default)
7
- isProfessional: true
8
-
9
5
  # Shared content (used by both human job descriptions and agent profiles)
10
6
  description:
11
7
  Internal tooling and infrastructure focus, building shared capabilities that
@@ -31,22 +27,21 @@ assessmentWeights:
31
27
 
32
28
  # Agent-specific content
33
29
  agent:
34
- coreInstructions: |
30
+ identity: |
35
31
  You are a Platform {roleTitle} agent. Your primary focus is
36
32
  building self-service capabilities that enable other engineers.
37
-
33
+ priority: |
38
34
  Developer experience is paramount. You design golden paths, maintain
39
35
  backward compatibility, and document everything. Code quality and
40
36
  architecture matter because your consumers depend on your stability.
41
37
 
42
- Before making changes:
43
- 1. Understand the existing architecture and patterns
44
- 2. Identify test coverage requirements
45
- 3. Consider backward compatibility implications
46
- 4. Plan documentation updates
47
-
48
38
  Every API change must consider developer experience. Treat breaking
49
39
  changes with extreme caution—your consumers build on your stability.
40
+ beforeMakingChanges:
41
+ - Understand the existing architecture and patterns
42
+ - Identify test coverage requirements
43
+ - Consider backward compatibility implications
44
+ - Plan documentation updates
50
45
  constraints:
51
46
  - Maintain backward compatibility
52
47
  - Document breaking changes with migration guides
@@ -1,11 +1,7 @@
1
- # Track: SRE
2
- # Site Reliability Engineering focus
1
+ # yaml-language-server: $schema=https://schema.forwardimpact.team/json/track.schema.json
3
2
 
4
3
  name: SRE
5
4
 
6
- # Track type - professional track (default)
7
- isProfessional: true
8
-
9
5
  # Shared content (used by both human job descriptions and agent profiles)
10
6
  description:
11
7
  Site Reliability Engineering focus on system reliability, observability, and
@@ -28,29 +24,23 @@ assessmentWeights:
28
24
  skillWeight: 0.6
29
25
  behaviourWeight: 0.4
30
26
 
31
- # SRE track is only valid for Software Engineering and Data Engineering
32
- validDisciplines:
33
- - software_engineering
34
- - data_engineering
35
-
36
27
  # Agent-specific content
37
28
  agent:
38
- coreInstructions: |
29
+ identity: |
39
30
  You are an SRE {roleTitle} agent. Your primary focus is
40
31
  system reliability, observability, and incident response.
41
-
32
+ priority: |
42
33
  Reliability is non-negotiable. You instrument everything, design for
43
34
  graceful degradation, and maintain error budgets. Every change
44
35
  considers blast radius and recovery paths.
45
36
 
46
- Before making changes:
47
- 1. Understand system dependencies and failure modes
48
- 2. Ensure observability instrumentation is in place
49
- 3. Consider rollback procedures and blast radius
50
- 4. Verify runbooks are updated
51
-
52
37
  Production stability trumps feature velocity. No change ships without
53
38
  understanding its impact on system reliability.
39
+ beforeMakingChanges:
40
+ - Understand system dependencies and failure modes
41
+ - Ensure observability instrumentation is in place
42
+ - Consider rollback procedures and blast radius
43
+ - Verify runbooks are updated
54
44
  constraints:
55
45
  - Never compromise on observability instrumentation
56
46
  - Document all runbooks and incident response procedures
@@ -1,8 +1,3 @@
1
- # VS Code Settings for Agent Features
2
- # These settings are exported when generating agent configurations
3
- # to ensure the target workspace has the required VS Code configuration.
4
-
5
- # Enable agent mode in chat
6
1
  chat.agent.enabled: true
7
2
 
8
3
  # Maximum requests per agent session (high limit for complex tasks)
@@ -18,5 +13,5 @@ chat.extensionUnification.enabled: true
18
13
  # Required for multi-agent workflows with handoffs
19
14
  chat.customAgentInSubagent.enabled: true
20
15
 
21
- # Enable Claude skills for enhanced agent capabilities
22
- chat.useClaudeSkills: true
16
+ # Enable agent skills for enhanced agent capabilities
17
+ chat.useAgentSkills: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forwardimpact/pathway",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Engineering Pathway framework for human and AI collaboration",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -25,7 +25,8 @@
25
25
  "files": [
26
26
  "bin/",
27
27
  "app/",
28
- "examples/"
28
+ "examples/",
29
+ "templates/"
29
30
  ],
30
31
  "exports": {
31
32
  ".": "./app/model/loader.js",
@@ -40,7 +41,7 @@
40
41
  "scripts": {
41
42
  "start": "node bin/pathway.js serve",
42
43
  "prestart": "npm run generate-index",
43
- "check": "npm run format && npm run lint && npm run test",
44
+ "check": "npm run format && npm run lint && npm run test && npm run validate:shacl",
44
45
  "check:fix": "npm run format:fix && npm run lint:fix",
45
46
  "lint": "eslint .",
46
47
  "lint:fix": "eslint . --fix",
@@ -49,17 +50,22 @@
49
50
  "test": "find ./tests -name '*.test.js' | xargs node --test",
50
51
  "test:e2e": "npx playwright test",
51
52
  "validate": "node bin/pathway.js --validate",
53
+ "validate:shacl": "node scripts/validate-shacl.js",
52
54
  "generate-index": "node bin/pathway.js --generate-index",
53
55
  "pathway": "node bin/pathway.js",
54
56
  "demo": "node scripts/demo.js"
55
57
  },
56
58
  "dependencies": {
59
+ "ajv": "^8.17.1",
60
+ "ajv-formats": "^3.0.1",
61
+ "mustache": "^4.2.0",
57
62
  "yaml": "^2.3.4"
58
63
  },
59
64
  "devDependencies": {
60
65
  "@playwright/test": "^1.49.0",
61
66
  "eslint": "^9.39.1",
62
67
  "eslint-config-prettier": "^10.1.8",
68
+ "n3": "^2.0.1",
63
69
  "prettier": "^3.7.4"
64
70
  },
65
71
  "engines": {