@slope-dev/slope 1.60.0 → 1.62.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/README.md +6 -0
- package/dist/cli/commands/agent.js +2 -2
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/commit-ready.js +1 -1
- package/dist/cli/commands/commit-ready.js.map +1 -1
- package/dist/cli/commands/next.d.ts +1 -1
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +31 -2
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/now.d.ts +3 -0
- package/dist/cli/commands/now.d.ts.map +1 -1
- package/dist/cli/commands/now.js +14 -2
- package/dist/cli/commands/now.js.map +1 -1
- package/dist/cli/commands/pr.d.ts +11 -3
- package/dist/cli/commands/pr.d.ts.map +1 -1
- package/dist/cli/commands/pr.js +81 -31
- package/dist/cli/commands/pr.js.map +1 -1
- package/dist/cli/commands/review-run.d.ts +40 -6
- package/dist/cli/commands/review-run.d.ts.map +1 -1
- package/dist/cli/commands/review-run.js +235 -105
- package/dist/cli/commands/review-run.js.map +1 -1
- package/dist/cli/commands/review-state.d.ts.map +1 -1
- package/dist/cli/commands/review-state.js +61 -7
- package/dist/cli/commands/review-state.js.map +1 -1
- package/dist/cli/commands/review.d.ts +9 -1
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +67 -39
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/roadmap.d.ts.map +1 -1
- package/dist/cli/commands/roadmap.js +364 -5
- package/dist/cli/commands/roadmap.js.map +1 -1
- package/dist/cli/commands/sprint.d.ts.map +1 -1
- package/dist/cli/commands/sprint.js +353 -54
- package/dist/cli/commands/sprint.js.map +1 -1
- package/dist/cli/guards/claim-required.d.ts.map +1 -1
- package/dist/cli/guards/claim-required.js +19 -4
- package/dist/cli/guards/claim-required.js.map +1 -1
- package/dist/cli/guards/next-action.js +1 -1
- package/dist/cli/guards/next-action.js.map +1 -1
- package/dist/cli/guards/phase-boundary.d.ts.map +1 -1
- package/dist/cli/guards/phase-boundary.js +8 -2
- package/dist/cli/guards/phase-boundary.js.map +1 -1
- package/dist/cli/guards/post-push.js +2 -2
- package/dist/cli/guards/post-push.js.map +1 -1
- package/dist/cli/guards/review-tier.d.ts.map +1 -1
- package/dist/cli/guards/review-tier.js +2 -3
- package/dist/cli/guards/review-tier.js.map +1 -1
- package/dist/cli/guards/roadmap-edit-shipped.d.ts.map +1 -1
- package/dist/cli/guards/roadmap-edit-shipped.js +143 -7
- package/dist/cli/guards/roadmap-edit-shipped.js.map +1 -1
- package/dist/cli/guards/scope-drift.d.ts.map +1 -1
- package/dist/cli/guards/scope-drift.js +8 -2
- package/dist/cli/guards/scope-drift.js.map +1 -1
- package/dist/cli/guards/session-briefing.js +6 -2
- package/dist/cli/guards/session-briefing.js.map +1 -1
- package/dist/cli/guards/sprint-completion.d.ts.map +1 -1
- package/dist/cli/guards/sprint-completion.js +94 -18
- package/dist/cli/guards/sprint-completion.js.map +1 -1
- package/dist/cli/index.js +4 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +31 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/review-diff.d.ts +72 -0
- package/dist/cli/review-diff.d.ts.map +1 -0
- package/dist/cli/review-diff.js +416 -0
- package/dist/cli/review-diff.js.map +1 -0
- package/dist/cli/roadmap-source-migration.d.ts +113 -0
- package/dist/cli/roadmap-source-migration.d.ts.map +1 -0
- package/dist/cli/roadmap-source-migration.js +721 -0
- package/dist/cli/roadmap-source-migration.js.map +1 -0
- package/dist/cli/roadmap-source-store.d.ts +44 -0
- package/dist/cli/roadmap-source-store.d.ts.map +1 -0
- package/dist/cli/roadmap-source-store.js +307 -0
- package/dist/cli/roadmap-source-store.js.map +1 -0
- package/dist/cli/sprint-inference.js +1 -1
- package/dist/cli/sprint-inference.js.map +1 -1
- package/dist/cli/sprint-rollover.d.ts +102 -0
- package/dist/cli/sprint-rollover.d.ts.map +1 -0
- package/dist/cli/sprint-rollover.js +558 -0
- package/dist/cli/sprint-rollover.js.map +1 -0
- package/dist/cli/sprint-state.d.ts +72 -1
- package/dist/cli/sprint-state.d.ts.map +1 -1
- package/dist/cli/sprint-state.js +203 -5
- package/dist/cli/sprint-state.js.map +1 -1
- package/dist/cli/template-generator.d.ts.map +1 -1
- package/dist/cli/template-generator.js +45 -32
- package/dist/cli/template-generator.js.map +1 -1
- package/dist/cli/workflow-resync.d.ts.map +1 -1
- package/dist/cli/workflow-resync.js +9 -8
- package/dist/cli/workflow-resync.js.map +1 -1
- package/dist/core/briefing.d.ts.map +1 -1
- package/dist/core/briefing.js +254 -14
- package/dist/core/briefing.js.map +1 -1
- package/dist/core/builder.d.ts +16 -2
- package/dist/core/builder.d.ts.map +1 -1
- package/dist/core/builder.js +82 -5
- package/dist/core/builder.js.map +1 -1
- package/dist/core/index.d.ts +9 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/roadmap-focus.d.ts +101 -0
- package/dist/core/roadmap-focus.d.ts.map +1 -0
- package/dist/core/roadmap-focus.js +293 -0
- package/dist/core/roadmap-focus.js.map +1 -0
- package/dist/core/roadmap-migration.d.ts +101 -0
- package/dist/core/roadmap-migration.d.ts.map +1 -0
- package/dist/core/roadmap-migration.js +630 -0
- package/dist/core/roadmap-migration.js.map +1 -0
- package/dist/core/roadmap-sources.d.ts +52 -0
- package/dist/core/roadmap-sources.d.ts.map +1 -0
- package/dist/core/roadmap-sources.js +487 -0
- package/dist/core/roadmap-sources.js.map +1 -0
- package/dist/core/roadmap.d.ts +25 -1
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +62 -45
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/workflow-engine.d.ts.map +1 -1
- package/dist/core/workflow-engine.js +17 -2
- package/dist/core/workflow-engine.js.map +1 -1
- package/dist/mcp/registry.d.ts +1 -1
- package/dist/mcp/registry.d.ts.map +1 -1
- package/dist/mcp/registry.js +5 -4
- package/dist/mcp/registry.js.map +1 -1
- package/package.json +1 -1
- package/src/core/workflows/sprint-standard.yaml +1 -1
- package/templates/claude-code/CLAUDE.md +3 -1
- package/templates/claude-code/commands/start-sprint.md +9 -5
- package/templates/claude-code/rules/sprint-checklist.md +13 -10
- package/templates/codex/plugins/slope/.codex-plugin/plugin.json +1 -1
- package/templates/codex/plugins/slope/skills/slope-sprint/SKILL.md +5 -4
- package/templates/cursor/rules/slope-sprint-checklist.mdc +11 -8
- package/templates/generic/SLOPE-CHECKLIST.md +10 -7
- package/templates/pi/skills/start-sprint.md +9 -5
package/dist/core/briefing.js
CHANGED
|
@@ -2,7 +2,7 @@ import { computeHandicapCard } from './handicap.js';
|
|
|
2
2
|
import { computeDispersion } from './dispersion.js';
|
|
3
3
|
import { generateTrainingPlan } from './advisor.js';
|
|
4
4
|
import { checkConflicts } from './registry.js';
|
|
5
|
-
import { formatStrategicContext } from './roadmap.js';
|
|
5
|
+
import { formatRoadmapSprintLabel, formatStrategicContext, roadmapSprintOrderValue, } from './roadmap.js';
|
|
6
6
|
// --- Library functions ---
|
|
7
7
|
const DEFAULT_BRIEFING_HAZARD_LIMIT = 12;
|
|
8
8
|
/**
|
|
@@ -63,6 +63,209 @@ export function extractHazardIndex(scorecards, keyword) {
|
|
|
63
63
|
}
|
|
64
64
|
return { shot_hazards: shotHazards, bunker_locations: bunkers };
|
|
65
65
|
}
|
|
66
|
+
const ROUTE_STOP_WORDS = new Set([
|
|
67
|
+
'about', 'after', 'again', 'against', 'also', 'before', 'begin', 'being', 'between',
|
|
68
|
+
'agent', 'architecture', 'code', 'context', 'could', 'does', 'feature', 'from', 'gate',
|
|
69
|
+
'handoff', 'into', 'next', 'only', 'other', 'phase', 'planning', 'process', 'project',
|
|
70
|
+
'review', 'route', 'routes', 'routing', 'should', 'slope', 'sprint', 'start', 'system', 'than',
|
|
71
|
+
'that', 'their', 'then', 'there',
|
|
72
|
+
'these', 'this', 'those', 'through', 'until', 'when', 'where', 'which', 'while', 'with',
|
|
73
|
+
'work', 'would',
|
|
74
|
+
]);
|
|
75
|
+
function roadmapIdsEqual(roadmap, left, right) {
|
|
76
|
+
return roadmapSprintOrderValue(roadmap, left) === roadmapSprintOrderValue(roadmap, right);
|
|
77
|
+
}
|
|
78
|
+
function roadmapSprintById(roadmap, sprint) {
|
|
79
|
+
return roadmap.sprints.find(candidate => roadmapIdsEqual(roadmap, candidate.id, sprint));
|
|
80
|
+
}
|
|
81
|
+
function roadmapPhaseForSprint(roadmap, sprint) {
|
|
82
|
+
return roadmap.phases.find(phase => phase.sprints.some(id => roadmapIdsEqual(roadmap, id, sprint)));
|
|
83
|
+
}
|
|
84
|
+
function collectDependencyDepths(roadmap, sprint) {
|
|
85
|
+
const depths = new Map();
|
|
86
|
+
const root = roadmapSprintById(roadmap, sprint);
|
|
87
|
+
const queue = (root?.depends_on ?? []).map(id => ({ id, depth: 1 }));
|
|
88
|
+
while (queue.length > 0) {
|
|
89
|
+
const current = queue.shift();
|
|
90
|
+
const order = roadmapSprintOrderValue(roadmap, current.id);
|
|
91
|
+
const previous = depths.get(order);
|
|
92
|
+
if (previous != null && previous <= current.depth)
|
|
93
|
+
continue;
|
|
94
|
+
depths.set(order, current.depth);
|
|
95
|
+
const dependency = roadmapSprintById(roadmap, current.id);
|
|
96
|
+
for (const nested of dependency?.depends_on ?? []) {
|
|
97
|
+
queue.push({ id: nested, depth: current.depth + 1 });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return depths;
|
|
101
|
+
}
|
|
102
|
+
function meaningfulRouteTokens(text) {
|
|
103
|
+
const tokens = text.toLowerCase().match(/[a-z][a-z0-9_-]{2,}/g) ?? [];
|
|
104
|
+
return new Set(tokens.filter(token => !ROUTE_STOP_WORDS.has(token) && !/^s\d/.test(token)));
|
|
105
|
+
}
|
|
106
|
+
function normalizeAssignmentPhrase(text) {
|
|
107
|
+
return text.toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();
|
|
108
|
+
}
|
|
109
|
+
function currentAssignmentEvidence(roadmap, sprint) {
|
|
110
|
+
const row = roadmapSprintById(roadmap, sprint);
|
|
111
|
+
const values = [
|
|
112
|
+
row?.theme,
|
|
113
|
+
row?.type,
|
|
114
|
+
row?.note,
|
|
115
|
+
row?.outcome,
|
|
116
|
+
...(row?.tickets ?? []).flatMap(ticket => [ticket.title, ticket.note]),
|
|
117
|
+
].filter((value) => typeof value === 'string');
|
|
118
|
+
return {
|
|
119
|
+
tokens: meaningfulRouteTokens(values.join(' ')),
|
|
120
|
+
phrases: new Set(values.map(normalizeAssignmentPhrase).filter(Boolean)),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function sprintMentionPattern(roadmap, sprint) {
|
|
124
|
+
const raw = String(sprint).replace('.', '\\.');
|
|
125
|
+
const order = String(roadmapSprintOrderValue(roadmap, sprint)).replace('.', '\\.');
|
|
126
|
+
const label = formatRoadmapSprintLabel(roadmap, sprint).slice(1).replace('.', '\\.');
|
|
127
|
+
const aliases = [...new Set([raw, order, label])].join('|');
|
|
128
|
+
return new RegExp(`\\bS(?:${aliases})\\b`, 'i');
|
|
129
|
+
}
|
|
130
|
+
function extractTargetAssignmentPremise(sentence, mention) {
|
|
131
|
+
const target = mention.source;
|
|
132
|
+
const routedAfterTarget = new RegExp(`${target}\\s+(?:routes?\\s+to|will\\s+focus\\s+on|is\\s+(?:now\\s+)?(?:assigned|reassigned)\\s+to|follows?|hands?\\s+off\\s+to)\\s+(.+?)(?=\\s+(?:before|after|as\\s+if|because)\\b|[;,.!?]|$)`, 'i').exec(sentence);
|
|
133
|
+
if (routedAfterTarget?.[1])
|
|
134
|
+
return routedAfterTarget[1];
|
|
135
|
+
const forTarget = new RegExp(`for\\s+${target}\\s*,?\\s*(?:route|go|move|focus)(?:\\s+next)?\\s+(?:to|on)\\s+(.+?)(?=\\s+(?:before|after|because)\\b|[;,.!?]|$)`, 'i').exec(sentence);
|
|
136
|
+
if (forTarget?.[1])
|
|
137
|
+
return forTarget[1];
|
|
138
|
+
const startAsAssignment = new RegExp(`(?:do\\s+not|don['’]t)?\\s*(?:start|begin)\\s+${target}\\s+(?!until\\b|before\\b|after\\b|if\\b|when\\b)(.+?)(?=\\s+(?:as\\s+if|before|after|because)\\b|[;,.!?]|$)`, 'i').exec(sentence);
|
|
139
|
+
return startAsAssignment?.[1] ?? null;
|
|
140
|
+
}
|
|
141
|
+
function assignmentPremiseMatchesCurrent(premise, assignment) {
|
|
142
|
+
const phrase = normalizeAssignmentPhrase(premise);
|
|
143
|
+
if (assignment.phrases.has(phrase))
|
|
144
|
+
return true;
|
|
145
|
+
const premiseTokens = meaningfulRouteTokens(premise);
|
|
146
|
+
if (premiseTokens.size === 0)
|
|
147
|
+
return false;
|
|
148
|
+
const matches = [...premiseTokens].filter(token => assignment.tokens.has(token));
|
|
149
|
+
if (premiseTokens.size === 1)
|
|
150
|
+
return matches.length === 1 && matches[0].length >= 5;
|
|
151
|
+
return matches.length >= 2 && matches.length / premiseTokens.size >= 0.5;
|
|
152
|
+
}
|
|
153
|
+
function splitHazardClauses(description) {
|
|
154
|
+
return description
|
|
155
|
+
.split(/(?<=;)\s+|:\s+|\s*,\s*(?:but|however)\s+|\s+[—–-]\s+/i)
|
|
156
|
+
.map(clause => clause.trim())
|
|
157
|
+
.filter(Boolean);
|
|
158
|
+
}
|
|
159
|
+
function stripSupersededRouteDirectives(description, roadmap, targetSprint, assignment) {
|
|
160
|
+
const mention = sprintMentionPattern(roadmap, targetSprint);
|
|
161
|
+
const kept = [];
|
|
162
|
+
let suppressed = 0;
|
|
163
|
+
for (const sentence of description.split(/(?<=[.!?])\s+/)) {
|
|
164
|
+
let suppressContinuation = false;
|
|
165
|
+
for (const rawClause of splitHazardClauses(sentence)) {
|
|
166
|
+
const clause = rawClause.trim();
|
|
167
|
+
if (!clause)
|
|
168
|
+
continue;
|
|
169
|
+
if (suppressContinuation && /^(?:before|after|as\s+if|because|then)\b/i.test(clause)) {
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
suppressContinuation = false;
|
|
173
|
+
const assignmentPremise = extractTargetAssignmentPremise(clause, mention);
|
|
174
|
+
if (!assignmentPremise) {
|
|
175
|
+
kept.push(clause);
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const matchesAssignment = assignmentPremiseMatchesCurrent(assignmentPremise, assignment);
|
|
179
|
+
if (matchesAssignment)
|
|
180
|
+
kept.push(clause);
|
|
181
|
+
else {
|
|
182
|
+
suppressed++;
|
|
183
|
+
suppressContinuation = true;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { description: kept.join(' '), suppressed };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Derive current-roadmap provenance for immutable scorecard hazards. Route-like
|
|
191
|
+
* sentences that name the requested sprint are removed only when their premise
|
|
192
|
+
* has no meaningful overlap with that sprint's current authored assignment.
|
|
193
|
+
*/
|
|
194
|
+
function scopeBriefingHazards(index, roadmap, currentSprint) {
|
|
195
|
+
const target = roadmapSprintById(roadmap, currentSprint);
|
|
196
|
+
if (!target) {
|
|
197
|
+
return { shot_hazards: [], bunker_locations: [], suppressed_route_directives: 0 };
|
|
198
|
+
}
|
|
199
|
+
const targetPhase = roadmapPhaseForSprint(roadmap, currentSprint);
|
|
200
|
+
const dependencyDepths = collectDependencyDepths(roadmap, currentSprint);
|
|
201
|
+
const assignment = currentAssignmentEvidence(roadmap, currentSprint);
|
|
202
|
+
let suppressed = 0;
|
|
203
|
+
const provenanceFor = (sourceSprint) => {
|
|
204
|
+
const sourcePhase = roadmapPhaseForSprint(roadmap, sourceSprint);
|
|
205
|
+
const dependencyDepth = dependencyDepths.get(roadmapSprintOrderValue(roadmap, sourceSprint));
|
|
206
|
+
let relationship = 'historical';
|
|
207
|
+
if (roadmapIdsEqual(roadmap, sourceSprint, currentSprint))
|
|
208
|
+
relationship = 'active_sprint';
|
|
209
|
+
else if (dependencyDepth === 1)
|
|
210
|
+
relationship = 'direct_dependency';
|
|
211
|
+
else if (dependencyDepth != null)
|
|
212
|
+
relationship = 'transitive_dependency';
|
|
213
|
+
else if (sourcePhase
|
|
214
|
+
&& targetPhase
|
|
215
|
+
&& sourcePhase === targetPhase
|
|
216
|
+
&& roadmapSprintOrderValue(roadmap, sourceSprint) < roadmapSprintOrderValue(roadmap, target.id)) {
|
|
217
|
+
relationship = 'same_phase';
|
|
218
|
+
}
|
|
219
|
+
return {
|
|
220
|
+
source_sprint: sourceSprint,
|
|
221
|
+
source_phase: sourcePhase?.name,
|
|
222
|
+
target_sprint: target.id,
|
|
223
|
+
target_phase: targetPhase?.name,
|
|
224
|
+
relationship,
|
|
225
|
+
relevance: relationship === 'active_sprint' ? 'active' : 'historical',
|
|
226
|
+
};
|
|
227
|
+
};
|
|
228
|
+
const shotHazards = [];
|
|
229
|
+
for (const hazard of index.shot_hazards) {
|
|
230
|
+
const scoped = roadmapIdsEqual(roadmap, hazard.sprint, target.id)
|
|
231
|
+
? { description: hazard.description, suppressed: 0 }
|
|
232
|
+
: stripSupersededRouteDirectives(hazard.description, roadmap, target.id, assignment);
|
|
233
|
+
suppressed += scoped.suppressed;
|
|
234
|
+
if (!scoped.description)
|
|
235
|
+
continue;
|
|
236
|
+
shotHazards.push({ ...hazard, description: scoped.description, provenance: provenanceFor(hazard.sprint) });
|
|
237
|
+
}
|
|
238
|
+
const bunkerLocations = [];
|
|
239
|
+
for (const bunker of index.bunker_locations) {
|
|
240
|
+
const scoped = roadmapIdsEqual(roadmap, bunker.sprint, target.id)
|
|
241
|
+
? { description: bunker.location, suppressed: 0 }
|
|
242
|
+
: stripSupersededRouteDirectives(bunker.location, roadmap, target.id, assignment);
|
|
243
|
+
suppressed += scoped.suppressed;
|
|
244
|
+
if (!scoped.description)
|
|
245
|
+
continue;
|
|
246
|
+
bunkerLocations.push({ ...bunker, location: scoped.description, provenance: provenanceFor(bunker.sprint) });
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
shot_hazards: shotHazards,
|
|
250
|
+
bunker_locations: bunkerLocations,
|
|
251
|
+
suppressed_route_directives: suppressed,
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
function formatBriefingHazardProvenance(provenance, roadmap) {
|
|
255
|
+
const source = formatRoadmapSprintLabel(roadmap, provenance.source_sprint);
|
|
256
|
+
const target = formatRoadmapSprintLabel(roadmap, provenance.target_sprint);
|
|
257
|
+
const phase = provenance.source_phase ?? 'unassigned phase';
|
|
258
|
+
const relationship = provenance.relationship === 'active_sprint'
|
|
259
|
+
? 'active'
|
|
260
|
+
: provenance.relationship === 'direct_dependency'
|
|
261
|
+
? `direct dependency history for ${target}`
|
|
262
|
+
: provenance.relationship === 'transitive_dependency'
|
|
263
|
+
? `transitive dependency history for ${target}`
|
|
264
|
+
: provenance.relationship === 'same_phase'
|
|
265
|
+
? 'phase history'
|
|
266
|
+
: 'historical';
|
|
267
|
+
return `[${source} | ${phase} | ${relationship}]`;
|
|
268
|
+
}
|
|
66
269
|
/**
|
|
67
270
|
* Compute nutrition trends across scorecards.
|
|
68
271
|
* Shows which dev health categories are consistently healthy vs neglected.
|
|
@@ -131,28 +334,43 @@ export function buildSkillBriefing(opts) {
|
|
|
131
334
|
if (!registry || !Array.isArray(registry.skills) || registry.skills.length === 0) {
|
|
132
335
|
return { recommendations: [], gaps: [] };
|
|
133
336
|
}
|
|
134
|
-
const sprint = currentSprint != null
|
|
135
|
-
? roadmap
|
|
337
|
+
const sprint = currentSprint != null && roadmap
|
|
338
|
+
? roadmapSprintById(roadmap, currentSprint)
|
|
136
339
|
: undefined;
|
|
137
340
|
const sprintText = normalizeSearchText(sprint ? collectStringValues(sprint).join(' ') : '');
|
|
138
341
|
const filterText = normalizeSearchText([
|
|
139
342
|
...(filter?.categories ?? []),
|
|
140
343
|
...(filter?.keywords ?? []),
|
|
141
344
|
].join(' '));
|
|
142
|
-
const
|
|
143
|
-
const
|
|
144
|
-
|
|
345
|
+
const rawHazardIndex = extractHazardIndex(scorecards);
|
|
346
|
+
const scopedHazardIndex = roadmap && currentSprint != null && roadmapSprintById(roadmap, currentSprint)
|
|
347
|
+
? scopeBriefingHazards(rawHazardIndex, roadmap, currentSprint)
|
|
348
|
+
: undefined;
|
|
349
|
+
const relevantHazards = scopedHazardIndex
|
|
350
|
+
? scopedHazardIndex.shot_hazards.filter(hazard => hazard.provenance.relationship !== 'historical'
|
|
351
|
+
&& hazard.provenance.relationship !== 'transitive_dependency')
|
|
352
|
+
: rawHazardIndex.shot_hazards;
|
|
353
|
+
const relevantBunkers = scopedHazardIndex
|
|
354
|
+
? scopedHazardIndex.bunker_locations.filter(bunker => bunker.provenance.relationship !== 'historical'
|
|
355
|
+
&& bunker.provenance.relationship !== 'transitive_dependency')
|
|
356
|
+
: rawHazardIndex.bunker_locations;
|
|
357
|
+
const recentHazards = [...relevantHazards]
|
|
358
|
+
.sort((a, b) => roadmap
|
|
359
|
+
? roadmapSprintOrderValue(roadmap, b.sprint) - roadmapSprintOrderValue(roadmap, a.sprint)
|
|
360
|
+
: b.sprint - a.sprint)
|
|
145
361
|
.slice(0, 20);
|
|
146
362
|
const hazardText = normalizeSearchText([
|
|
147
363
|
...recentHazards.map(h => `${h.type} ${h.ticket} ${h.description}`),
|
|
148
|
-
...
|
|
364
|
+
...relevantBunkers.slice(-10).map(b => b.location),
|
|
149
365
|
].join(' '));
|
|
150
366
|
const changedFilesText = normalizeSearchText([
|
|
151
367
|
...(claims ?? []).map(c => c.target),
|
|
152
368
|
...(changedFiles ?? []),
|
|
153
369
|
].join(' '));
|
|
154
370
|
const requestedScorecard = currentSprint != null
|
|
155
|
-
? scorecards.find(card =>
|
|
371
|
+
? scorecards.find(card => roadmap
|
|
372
|
+
? roadmapIdsEqual(roadmap, scorecardSprintNumber(card), currentSprint)
|
|
373
|
+
: scorecardSprintNumber(card) === currentSprint)
|
|
156
374
|
: undefined;
|
|
157
375
|
const requestedSkillIds = collectRequestedScorecardSkillIds(requestedScorecard);
|
|
158
376
|
const historicalSkillIds = collectScorecardSkillIds(scorecards);
|
|
@@ -269,8 +487,21 @@ export function formatBriefing(opts) {
|
|
|
269
487
|
lines.push('\u2500'.repeat(50));
|
|
270
488
|
lines.push('HAZARDS');
|
|
271
489
|
const hazards = extractHazardIndex(scorecards, filter?.keywords?.[0]);
|
|
272
|
-
|
|
273
|
-
|
|
490
|
+
const scopedHazards = roadmap && currentSprint && roadmapSprintById(roadmap, currentSprint)
|
|
491
|
+
? scopeBriefingHazards(hazards, roadmap, currentSprint)
|
|
492
|
+
: undefined;
|
|
493
|
+
let filteredBunkers = scopedHazards?.bunker_locations ?? hazards.bunker_locations;
|
|
494
|
+
let filteredShotHazards = scopedHazards?.shot_hazards ?? hazards.shot_hazards;
|
|
495
|
+
// With a resolved roadmap target, default output contains only the selected
|
|
496
|
+
// sprint, direct dependencies, and prior work in its current phase. An
|
|
497
|
+
// explicit keyword remains an escape hatch into labelled transitive or
|
|
498
|
+
// unrelated historical evidence.
|
|
499
|
+
if (scopedHazards && !filter?.keywords?.length) {
|
|
500
|
+
filteredBunkers = filteredBunkers.filter(b => b.provenance?.relationship !== 'historical'
|
|
501
|
+
&& b.provenance?.relationship !== 'transitive_dependency');
|
|
502
|
+
filteredShotHazards = filteredShotHazards.filter(h => h.provenance?.relationship !== 'historical'
|
|
503
|
+
&& h.provenance?.relationship !== 'transitive_dependency');
|
|
504
|
+
}
|
|
274
505
|
// Role-based focus area filtering: show only hazards relevant to the role's focus
|
|
275
506
|
if (role && role.focusAreas.length > 0) {
|
|
276
507
|
const focusLow = role.focusAreas.map(a => a.replace(/\*/g, '').replace(/\/$/, '').toLowerCase());
|
|
@@ -281,13 +512,19 @@ export function formatBriefing(opts) {
|
|
|
281
512
|
const hazardLines = [
|
|
282
513
|
...filteredShotHazards.map(h => ({
|
|
283
514
|
sprint: h.sprint,
|
|
284
|
-
|
|
515
|
+
order: roadmap ? roadmapSprintOrderValue(roadmap, h.sprint) : h.sprint,
|
|
516
|
+
line: scopedHazards && h.provenance
|
|
517
|
+
? ` ${formatBriefingHazardProvenance(h.provenance, roadmap)} ${h.type}: ${h.description}`
|
|
518
|
+
: ` [S${h.sprint}] ${h.type}: ${h.description}`,
|
|
285
519
|
})),
|
|
286
520
|
...filteredBunkers.map(b => ({
|
|
287
521
|
sprint: b.sprint,
|
|
288
|
-
|
|
522
|
+
order: roadmap ? roadmapSprintOrderValue(roadmap, b.sprint) : b.sprint,
|
|
523
|
+
line: scopedHazards && b.provenance
|
|
524
|
+
? ` ${formatBriefingHazardProvenance(b.provenance, roadmap)} bunker: ${b.location}`
|
|
525
|
+
: ` [S${b.sprint}] ${b.location}`,
|
|
289
526
|
})),
|
|
290
|
-
].sort((a, b) => b.
|
|
527
|
+
].sort((a, b) => b.order - a.order);
|
|
291
528
|
for (const entry of hazardLines.slice(0, DEFAULT_BRIEFING_HAZARD_LIMIT)) {
|
|
292
529
|
lines.push(entry.line);
|
|
293
530
|
}
|
|
@@ -297,7 +534,10 @@ export function formatBriefing(opts) {
|
|
|
297
534
|
}
|
|
298
535
|
}
|
|
299
536
|
else {
|
|
300
|
-
lines.push(' No bunker locations recorded.');
|
|
537
|
+
lines.push(scopedHazards ? ' No hazards relevant to the current roadmap context.' : ' No bunker locations recorded.');
|
|
538
|
+
}
|
|
539
|
+
if (scopedHazards && scopedHazards.suppressed_route_directives > 0) {
|
|
540
|
+
lines.push(` Suppressed ${scopedHazards.suppressed_route_directives} superseded route directive${scopedHazards.suppressed_route_directives === 1 ? '' : 's'} that no longer match ${formatRoadmapSprintLabel(roadmap, currentSprint)}'s roadmap assignment.`);
|
|
301
541
|
}
|
|
302
542
|
// Section 2.5: Course status (active claims)
|
|
303
543
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.js","sourceRoot":"","sources":["../../src/core/briefing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"briefing.js","sourceRoot":"","sources":["../../src/core/briefing.ts"],"names":[],"mappings":"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"}
|
package/dist/core/builder.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import type { GolfScorecard, ShotRecord, HoleStats, ConditionRecord, SpecialPlay, TrainingSession, NutritionEntry, NineteenthHole, SprintType, AgentBreakdown } from './types.js';
|
|
1
|
+
import type { GolfScorecard, ShotRecord, ShotResult, HoleStats, ConditionRecord, SpecialPlay, TrainingSession, NutritionEntry, NineteenthHole, SprintType, AgentBreakdown, ClubSelection, HazardHit } from './types.js';
|
|
2
|
+
/** Runtime-friendly shot input accepted by buildScorecard, including MCP/JS aliases. */
|
|
3
|
+
export interface ScorecardShotInput {
|
|
4
|
+
ticket_key?: string;
|
|
5
|
+
/** Backward-compatible alias used by early MCP examples. */
|
|
6
|
+
ticket?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
club: ClubSelection;
|
|
9
|
+
result: ShotResult;
|
|
10
|
+
hazards?: Array<HazardHit | string>;
|
|
11
|
+
provisional_declared?: boolean;
|
|
12
|
+
notes?: string;
|
|
13
|
+
}
|
|
2
14
|
/**
|
|
3
15
|
* Compute HoleStats from a shots array.
|
|
4
16
|
* Derives fairways_hit, GIR, hazards_hit, and miss_directions
|
|
@@ -29,10 +41,12 @@ export interface ScorecardInput {
|
|
|
29
41
|
par: 3 | 4 | 5;
|
|
30
42
|
slope: number;
|
|
31
43
|
date: string;
|
|
32
|
-
shots:
|
|
44
|
+
shots: ScorecardShotInput[];
|
|
33
45
|
player?: string;
|
|
34
46
|
putts?: number;
|
|
35
47
|
penalties?: number;
|
|
48
|
+
/** Optional judged final score. Defaults to par plus recorded misses/penalties. */
|
|
49
|
+
score?: number;
|
|
36
50
|
type?: SprintType;
|
|
37
51
|
conditions?: ConditionRecord[];
|
|
38
52
|
special_plays?: SpecialPlay[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/core/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/core/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EAET,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,UAAU,EAEV,cAAc,EACd,aAAa,EACb,SAAS,EAGV,MAAM,YAAY,CAAC;AAkBpB,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD,SAAS,CAuCX;AAID;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAI,GAAG,SAAS,CA2CrE;AAgBD,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG5B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAG1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,CA6CnE;AAiFD,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAW/E"}
|