@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.
- package/app/commands/agent.js +109 -21
- package/app/commands/command-factory.js +3 -3
- package/app/commands/interview.js +14 -7
- package/app/commands/job.js +43 -29
- package/app/commands/progress.js +14 -7
- package/app/commands/serve.js +5 -0
- package/app/commands/stage.js +0 -10
- package/app/commands/track.js +5 -8
- package/app/components/builder.js +111 -27
- package/app/css/components/surfaces.css +16 -0
- package/app/formatters/agent/profile.js +113 -87
- package/app/formatters/agent/skill.js +64 -31
- package/app/formatters/behaviour/dom.js +3 -0
- package/app/formatters/behaviour/microdata.js +106 -0
- package/app/formatters/discipline/dom.js +28 -1
- package/app/formatters/discipline/microdata.js +117 -0
- package/app/formatters/discipline/shared.js +49 -8
- package/app/formatters/driver/dom.js +3 -0
- package/app/formatters/driver/microdata.js +91 -0
- package/app/formatters/grade/dom.js +3 -0
- package/app/formatters/grade/microdata.js +151 -0
- package/app/formatters/index.js +32 -1
- package/app/formatters/interview/shared.js +13 -8
- package/app/formatters/job/description.js +5 -3
- package/app/formatters/json-ld.js +242 -0
- package/app/formatters/microdata-shared.js +184 -0
- package/app/formatters/progress/shared.js +14 -11
- package/app/formatters/skill/dom.js +3 -0
- package/app/formatters/skill/microdata.js +151 -0
- package/app/formatters/stage/dom.js +3 -18
- package/app/formatters/stage/microdata.js +110 -0
- package/app/formatters/stage/shared.js +0 -27
- package/app/formatters/track/dom.js +5 -30
- package/app/formatters/track/markdown.js +2 -25
- package/app/formatters/track/microdata.js +111 -0
- package/app/formatters/track/shared.js +6 -58
- package/app/handout-main.js +26 -12
- package/app/index.html +11 -0
- package/app/lib/card-mappers.js +17 -12
- package/app/lib/job-cache.js +12 -9
- package/app/lib/template-loader.js +66 -0
- package/app/lib/yaml-loader.js +25 -8
- package/app/main.js +8 -4
- package/app/model/agent.js +158 -130
- package/app/model/checklist.js +57 -91
- package/app/model/derivation.js +135 -68
- package/app/model/index-generator.js +1 -7
- package/app/model/job.js +19 -13
- package/app/model/levels.js +20 -12
- package/app/model/loader.js +41 -17
- package/app/model/matching.js +33 -3
- package/app/model/profile.js +38 -45
- package/app/model/schema-validation.js +438 -0
- package/app/model/validation.js +747 -68
- package/app/pages/agent-builder.js +119 -25
- package/app/pages/assessment-results.js +10 -4
- package/app/pages/discipline.js +36 -6
- package/app/pages/driver.js +9 -47
- package/app/pages/interview-builder.js +3 -1
- package/app/pages/interview.js +15 -4
- package/app/pages/job-builder.js +4 -1
- package/app/pages/job.js +15 -4
- package/app/pages/landing.js +10 -10
- package/app/pages/progress-builder.js +3 -1
- package/app/pages/progress.js +72 -21
- package/app/pages/stage.js +3 -126
- package/app/slide-main.js +45 -17
- package/app/slides/index.js +3 -1
- package/app/slides/overview.js +40 -4
- package/app/slides/progress.js +4 -2
- package/bin/pathway.js +18 -64
- package/examples/agents/.claude/skills/architecture-design/SKILL.md +58 -16
- package/examples/agents/.claude/skills/cloud-platforms/SKILL.md +59 -18
- package/examples/agents/.claude/skills/code-quality-review/SKILL.md +58 -17
- package/examples/agents/.claude/skills/devops-cicd/SKILL.md +64 -18
- package/examples/agents/.claude/skills/full-stack-development/SKILL.md +59 -15
- package/examples/agents/.claude/skills/sre-practices/SKILL.md +64 -18
- package/examples/agents/.claude/skills/technical-debt-management/SKILL.md +58 -17
- package/examples/agents/.github/agents/se-platform-code.agent.md +39 -88
- package/examples/agents/.github/agents/se-platform-plan.agent.md +41 -88
- package/examples/agents/.github/agents/se-platform-review.agent.md +38 -15
- package/examples/agents/.vscode/settings.json +1 -1
- package/examples/behaviours/outcome_ownership.yaml +1 -2
- package/examples/behaviours/polymathic_knowledge.yaml +1 -2
- package/examples/behaviours/precise_communication.yaml +1 -2
- package/examples/behaviours/relentless_curiosity.yaml +1 -2
- package/examples/behaviours/systems_thinking.yaml +1 -2
- package/examples/capabilities/business.yaml +80 -142
- package/examples/capabilities/delivery.yaml +155 -219
- package/examples/capabilities/people.yaml +2 -34
- package/examples/capabilities/reliability.yaml +161 -80
- package/examples/capabilities/scale.yaml +234 -252
- package/examples/copilot-setup-steps.yaml +25 -0
- package/examples/devcontainer.yaml +21 -0
- package/examples/disciplines/_index.yaml +1 -0
- package/examples/disciplines/data_engineering.yaml +14 -12
- package/examples/disciplines/engineering_management.yaml +63 -0
- package/examples/disciplines/software_engineering.yaml +14 -12
- package/examples/drivers.yaml +1 -4
- package/examples/framework.yaml +1 -2
- package/examples/grades.yaml +1 -3
- package/examples/questions/behaviours/outcome_ownership.yaml +1 -2
- package/examples/questions/behaviours/polymathic_knowledge.yaml +1 -2
- package/examples/questions/behaviours/precise_communication.yaml +1 -2
- package/examples/questions/behaviours/relentless_curiosity.yaml +1 -2
- package/examples/questions/behaviours/systems_thinking.yaml +1 -2
- package/examples/questions/skills/architecture_design.yaml +1 -2
- package/examples/questions/skills/cloud_platforms.yaml +1 -2
- package/examples/questions/skills/code_quality.yaml +1 -2
- package/examples/questions/skills/data_modeling.yaml +1 -2
- package/examples/questions/skills/devops.yaml +1 -2
- package/examples/questions/skills/full_stack_development.yaml +1 -2
- package/examples/questions/skills/sre_practices.yaml +1 -2
- package/examples/questions/skills/stakeholder_management.yaml +1 -2
- package/examples/questions/skills/team_collaboration.yaml +1 -2
- package/examples/questions/skills/technical_writing.yaml +1 -2
- package/examples/self-assessments.yaml +1 -3
- package/examples/stages.yaml +101 -46
- package/examples/tracks/_index.yaml +0 -1
- package/examples/tracks/platform.yaml +8 -13
- package/examples/tracks/sre.yaml +8 -18
- package/examples/vscode-settings.yaml +2 -7
- package/package.json +9 -3
- package/templates/agent.template.md +65 -0
- package/templates/skill.template.md +28 -0
- package/examples/agents/.claude/skills/data-modeling/SKILL.md +0 -99
- package/examples/agents/.claude/skills/developer-experience/SKILL.md +0 -99
- package/examples/agents/.claude/skills/knowledge-management/SKILL.md +0 -100
- package/examples/agents/.claude/skills/pattern-generalization/SKILL.md +0 -102
- package/examples/agents/.claude/skills/technical-writing/SKILL.md +0 -129
- 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
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
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
|
package/examples/drivers.yaml
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
#
|
|
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:
|
package/examples/framework.yaml
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
#
|
|
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: "🧭"
|
package/examples/grades.yaml
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
#
|
|
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,7 +1,5 @@
|
|
|
1
|
-
#
|
|
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
|
package/examples/stages.yaml
CHANGED
|
@@ -1,76 +1,131 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
43
|
+
prompt: Implement the tasks defined in plan.md.
|
|
28
44
|
constraints:
|
|
29
|
-
- Do not make code edits
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
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
|
|
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
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
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
|
|
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
|
|
86
|
+
prompt: Address the findings in review.md.
|
|
67
87
|
- targetStage: plan
|
|
68
|
-
label: Needs
|
|
69
|
-
prompt:
|
|
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,11 +1,7 @@
|
|
|
1
|
-
#
|
|
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
|
-
|
|
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
|
package/examples/tracks/sre.yaml
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
#
|
|
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
|
-
|
|
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
|
|
22
|
-
chat.
|
|
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.
|
|
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": {
|