@slope-dev/slope 1.63.0 → 1.64.1
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/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +57 -1
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/guard.d.ts.map +1 -1
- package/dist/cli/commands/guard.js +43 -14
- package/dist/cli/commands/guard.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +3 -2
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/now.d.ts.map +1 -1
- package/dist/cli/commands/now.js +5 -2
- package/dist/cli/commands/now.js.map +1 -1
- package/dist/cli/commands/pr.d.ts +10 -3
- package/dist/cli/commands/pr.d.ts.map +1 -1
- package/dist/cli/commands/pr.js +45 -5
- package/dist/cli/commands/pr.js.map +1 -1
- package/dist/cli/commands/retro.d.ts.map +1 -1
- package/dist/cli/commands/retro.js +31 -4
- package/dist/cli/commands/retro.js.map +1 -1
- package/dist/cli/commands/review.d.ts +13 -1
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +99 -8
- 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 +75 -22
- package/dist/cli/commands/roadmap.js.map +1 -1
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +81 -15
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/sprint.d.ts.map +1 -1
- package/dist/cli/commands/sprint.js +24 -6
- package/dist/cli/commands/sprint.js.map +1 -1
- package/dist/cli/commands/standup.d.ts.map +1 -1
- package/dist/cli/commands/standup.js +68 -0
- package/dist/cli/commands/standup.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +25 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/transcript.d.ts.map +1 -1
- package/dist/cli/commands/transcript.js +15 -4
- package/dist/cli/commands/transcript.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +11 -0
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +45 -5
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/guards/claim-area.d.ts +27 -0
- package/dist/cli/guards/claim-area.d.ts.map +1 -0
- package/dist/cli/guards/claim-area.js +44 -0
- package/dist/cli/guards/claim-area.js.map +1 -0
- package/dist/cli/guards/claim-required.d.ts.map +1 -1
- package/dist/cli/guards/claim-required.js +41 -14
- package/dist/cli/guards/claim-required.js.map +1 -1
- package/dist/cli/guards/docs.d.ts.map +1 -1
- package/dist/cli/guards/docs.js +7 -0
- package/dist/cli/guards/docs.js.map +1 -1
- package/dist/cli/guards/phase-boundary.d.ts.map +1 -1
- package/dist/cli/guards/phase-boundary.js +34 -1
- package/dist/cli/guards/phase-boundary.js.map +1 -1
- package/dist/cli/guards/plan-analysis.d.ts +2 -2
- package/dist/cli/guards/plan-analysis.d.ts.map +1 -1
- package/dist/cli/guards/plan-analysis.js +16 -2
- package/dist/cli/guards/plan-analysis.js.map +1 -1
- package/dist/cli/guards/pr-review.d.ts +0 -8
- package/dist/cli/guards/pr-review.d.ts.map +1 -1
- package/dist/cli/guards/pr-review.js +31 -0
- package/dist/cli/guards/pr-review.js.map +1 -1
- package/dist/cli/guards/scope-drift.d.ts.map +1 -1
- package/dist/cli/guards/scope-drift.js +2 -4
- package/dist/cli/guards/scope-drift.js.map +1 -1
- package/dist/cli/guards/shell-write.d.ts +23 -0
- package/dist/cli/guards/shell-write.d.ts.map +1 -0
- package/dist/cli/guards/shell-write.js +81 -0
- package/dist/cli/guards/shell-write.js.map +1 -0
- package/dist/cli/guards/sprint-completion.js +11 -5
- package/dist/cli/guards/sprint-completion.js.map +1 -1
- package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -1
- package/dist/cli/guards/workflow-step-gate.js +28 -3
- package/dist/cli/guards/workflow-step-gate.js.map +1 -1
- package/dist/cli/guards/worktree-check.d.ts.map +1 -1
- package/dist/cli/guards/worktree-check.js +86 -52
- package/dist/cli/guards/worktree-check.js.map +1 -1
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/loop/workflow-adapter.d.ts.map +1 -1
- package/dist/cli/loop/workflow-adapter.js +3 -0
- package/dist/cli/loop/workflow-adapter.js.map +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/roadmap-source-store.d.ts +27 -1
- package/dist/cli/roadmap-source-store.d.ts.map +1 -1
- package/dist/cli/roadmap-source-store.js +213 -22
- package/dist/cli/roadmap-source-store.js.map +1 -1
- package/dist/cli/session-scope.d.ts +35 -0
- package/dist/cli/session-scope.d.ts.map +1 -0
- package/dist/cli/session-scope.js +79 -0
- package/dist/cli/session-scope.js.map +1 -0
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +5 -2
- package/dist/cli/session-state.js.map +1 -1
- package/dist/cli/sprint-rollover.d.ts +17 -2
- package/dist/cli/sprint-rollover.d.ts.map +1 -1
- package/dist/cli/sprint-rollover.js +163 -40
- package/dist/cli/sprint-rollover.js.map +1 -1
- package/dist/cli/sprint-state.d.ts +18 -0
- package/dist/cli/sprint-state.d.ts.map +1 -1
- package/dist/cli/sprint-state.js +26 -0
- 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 +1 -0
- package/dist/cli/template-generator.js.map +1 -1
- package/dist/cli/workflow-resync.d.ts +5 -2
- package/dist/cli/workflow-resync.d.ts.map +1 -1
- package/dist/cli/workflow-resync.js +28 -0
- package/dist/cli/workflow-resync.js.map +1 -1
- package/dist/core/config.d.ts +3 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/formatter.js +4 -4
- package/dist/core/formatter.js.map +1 -1
- package/dist/core/guard.d.ts +1 -1
- package/dist/core/guard.d.ts.map +1 -1
- package/dist/core/guard.js +9 -0
- package/dist/core/guard.js.map +1 -1
- package/dist/core/index.d.ts +7 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/roadmap-source-patch.d.ts +26 -0
- package/dist/core/roadmap-source-patch.d.ts.map +1 -0
- package/dist/core/roadmap-source-patch.js +172 -0
- package/dist/core/roadmap-source-patch.js.map +1 -0
- package/dist/core/roadmap-sources.d.ts +44 -0
- package/dist/core/roadmap-sources.d.ts.map +1 -1
- package/dist/core/roadmap-sources.js +235 -37
- package/dist/core/roadmap-sources.js.map +1 -1
- package/dist/core/roadmap.d.ts +50 -1
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +72 -6
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/sprint-id.d.ts +29 -0
- package/dist/core/sprint-id.d.ts.map +1 -0
- package/dist/core/sprint-id.js +86 -0
- package/dist/core/sprint-id.js.map +1 -0
- package/dist/core/standup.d.ts +18 -0
- package/dist/core/standup.d.ts.map +1 -1
- package/dist/core/standup.js +23 -1
- package/dist/core/standup.js.map +1 -1
- package/package.json +4 -2
- package/templates/claude-code/commands/wrap-session.md +36 -0
- package/templates/codex/plugins/slope/.codex-plugin/plugin.json +1 -1
- package/templates/pi/skills/wrap-session.md +41 -0
|
@@ -13,16 +13,42 @@ export interface RoadmapSourceStore {
|
|
|
13
13
|
export declare function resolveRoadmapSourceManifest(cwd: string, sourceFlag?: string): string;
|
|
14
14
|
export declare function hasModularRoadmapSources(cwd: string, sourceFlag?: string): boolean;
|
|
15
15
|
export declare function loadRoadmapSourceStore(cwd: string, sourceFlag?: string): RoadmapSourceStore;
|
|
16
|
-
export
|
|
16
|
+
export interface WriteRoadmapProjectionOptions {
|
|
17
|
+
/** Overwrite even when the on-disk projection holds content no source produces. */
|
|
18
|
+
force?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function writeRoadmapSourceProjection(store: RoadmapSourceStore, options?: WriteRoadmapProjectionOptions): 'written' | 'unchanged';
|
|
21
|
+
/**
|
|
22
|
+
* Refuse to silently discard authored content that exists only in the projection.
|
|
23
|
+
*
|
|
24
|
+
* `slope validate` regenerated the projection as a side effect and reported
|
|
25
|
+
* success, so a phase, six sprints and 26 tickets edited into the generated file
|
|
26
|
+
* vanished with no error, no warning and no diff — and it reproduced across
|
|
27
|
+
* operators, because nothing in the file said it was generated (GH #637).
|
|
28
|
+
*/
|
|
29
|
+
export declare function assertNoProjectionContentLoss(store: RoadmapSourceStore, existing: string): void;
|
|
17
30
|
export interface CompleteRoadmapSourceSprintResult {
|
|
18
31
|
source: string;
|
|
19
32
|
projection: 'written' | 'unchanged';
|
|
20
33
|
changed: boolean;
|
|
34
|
+
/** True when the source could not be patched surgically and was rewritten in canonical style. */
|
|
35
|
+
reformatted?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Set when the sprint holds a scorecard but its authored status is a deliberate
|
|
38
|
+
* non-complete disposition (absorbed, blocked, ...). Reconciliation refuses to
|
|
39
|
+
* overwrite it — a scorecard records how a sprint was played, not whether it
|
|
40
|
+
* completed (GH #660). The authored status is reported so the caller can surface
|
|
41
|
+
* the mismatch; nothing is written.
|
|
42
|
+
*/
|
|
43
|
+
skipped?: 'status_conflict';
|
|
44
|
+
/** The authored status that blocked auto-promotion, when skipped. */
|
|
45
|
+
authoredStatus?: string;
|
|
21
46
|
}
|
|
22
47
|
export declare function completeRoadmapSourceSprint(cwd: string, sprint: number, options?: {
|
|
23
48
|
sourceFlag?: string;
|
|
24
49
|
scorecardPath?: string;
|
|
25
50
|
dryRun?: boolean;
|
|
51
|
+
force?: boolean;
|
|
26
52
|
}): CompleteRoadmapSourceSprintResult;
|
|
27
53
|
/**
|
|
28
54
|
* Compare a checked-out generated projection with canonical generated bytes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-source-store.d.ts","sourceRoot":"","sources":["../../src/cli/roadmap-source-store.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"roadmap-source-store.d.ts","sourceRoot":"","sources":["../../src/cli/roadmap-source-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, statSync, unlinkSync } from 'node:fs';
|
|
2
2
|
import { basename, dirname, isAbsolute, join, relative, resolve } from 'node:path';
|
|
3
3
|
import { stringify } from 'yaml';
|
|
4
|
-
import { compileRoadmapSources, normalizeDiagnosticPath, parseRoadmapSourceDocument, parseRoadmapSourceProject, parseSprintNumber, roadmapSprintOrderValue, RoadmapSourceError, serializeRoadmapProjection, validateRoadmapSourceFederation, } from '../core/index.js';
|
|
4
|
+
import { compileRoadmapSources, formatRoadmapSprintLabel, normalizeDiagnosticPath, normalizeRoadmapSourcePath, parseRoadmapSourceDocument, parseRoadmapSourceProject, parseSprintNumber, roadmapSprintOrderValue, RoadmapSourceError, serializeRoadmapProjection, findRoadmapProjectionDivergence, withRoadmapProjectionMarker, stripRoadmapProjectionMarker, validateRoadmapSourceFederation, } from '../core/index.js';
|
|
5
5
|
import { atomicWriteFileSync, withFileLockSync } from './atomic-write.js';
|
|
6
6
|
import { loadConfig } from './config.js';
|
|
7
|
+
import { patchRoadmapSourceSprintText } from '../core/roadmap-source-patch.js';
|
|
8
|
+
/** Deterministic JSON with sorted keys, for order-insensitive semantic comparison. */
|
|
9
|
+
function stableJson(value) {
|
|
10
|
+
return JSON.stringify(sortKeysDeep(value));
|
|
11
|
+
}
|
|
12
|
+
function sortKeysDeep(value) {
|
|
13
|
+
if (Array.isArray(value))
|
|
14
|
+
return value.map(sortKeysDeep);
|
|
15
|
+
if (value && typeof value === 'object') {
|
|
16
|
+
return Object.fromEntries(Object.entries(value)
|
|
17
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
18
|
+
.map(([key, entry]) => [key, sortKeysDeep(entry)]));
|
|
19
|
+
}
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
7
22
|
export const DEFAULT_ROADMAP_SOURCE_MANIFEST = 'docs/roadmap/project.yaml';
|
|
8
23
|
function ensureWithin(root, path, label) {
|
|
9
24
|
const resolvedRoot = resolve(root);
|
|
@@ -61,7 +76,7 @@ export function loadRoadmapSourceStore(cwd, sourceFlag) {
|
|
|
61
76
|
const projection = serializeRoadmapProjection(roadmap);
|
|
62
77
|
return { cwd, manifestPath, sourceRoot, outputPath, project, sources, roadmap, projection };
|
|
63
78
|
}
|
|
64
|
-
export function writeRoadmapSourceProjection(store) {
|
|
79
|
+
export function writeRoadmapSourceProjection(store, options = {}) {
|
|
65
80
|
const federationLock = join(store.sourceRoot, '.federation');
|
|
66
81
|
return withFileLockSync(federationLock, () => {
|
|
67
82
|
const fresh = loadRoadmapSourceStore(store.cwd, relative(store.cwd, store.manifestPath));
|
|
@@ -73,43 +88,205 @@ export function writeRoadmapSourceProjection(store) {
|
|
|
73
88
|
].join('\n'));
|
|
74
89
|
}
|
|
75
90
|
const existing = existsSync(fresh.outputPath) ? readFileSync(fresh.outputPath, 'utf8') : null;
|
|
76
|
-
|
|
91
|
+
const desired = projectionBytesForWrite(fresh);
|
|
92
|
+
// Compare the exact bytes we would write, not marker-stripped content. A file
|
|
93
|
+
// whose content is current but whose marker is missing — one written by the
|
|
94
|
+
// migration path, or before the marker existed — must still be rewritten so
|
|
95
|
+
// it gains the warning (GH #644).
|
|
96
|
+
if (existing != null && existing.replace(/\r\n/g, '\n') === desired.replace(/\r\n/g, '\n')) {
|
|
77
97
|
return 'unchanged';
|
|
78
|
-
|
|
98
|
+
}
|
|
99
|
+
if (existing != null && !options.force)
|
|
100
|
+
assertNoProjectionContentLoss(fresh, existing);
|
|
101
|
+
atomicWriteFileSync(fresh.outputPath, desired);
|
|
79
102
|
return 'written';
|
|
80
103
|
});
|
|
81
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Refuse to silently discard authored content that exists only in the projection.
|
|
107
|
+
*
|
|
108
|
+
* `slope validate` regenerated the projection as a side effect and reported
|
|
109
|
+
* success, so a phase, six sprints and 26 tickets edited into the generated file
|
|
110
|
+
* vanished with no error, no warning and no diff — and it reproduced across
|
|
111
|
+
* operators, because nothing in the file said it was generated (GH #637).
|
|
112
|
+
*/
|
|
113
|
+
export function assertNoProjectionContentLoss(store, existing) {
|
|
114
|
+
const divergence = findRoadmapProjectionDivergence(existing, store.roadmap);
|
|
115
|
+
if (!divergence)
|
|
116
|
+
return;
|
|
117
|
+
const target = normalizeDiagnosticPath(relative(store.cwd, store.outputPath));
|
|
118
|
+
const manifest = normalizeDiagnosticPath(relative(store.cwd, store.manifestPath));
|
|
119
|
+
const lines = [
|
|
120
|
+
`Refusing to overwrite ${target}: it contains planning work that no roadmap source produces.`,
|
|
121
|
+
`${target} is a GENERATED projection of ${manifest}. Rewriting it would discard:`,
|
|
122
|
+
];
|
|
123
|
+
if (divergence.phases.length > 0) {
|
|
124
|
+
lines.push(` phases: ${divergence.phases.join(', ')}`);
|
|
125
|
+
}
|
|
126
|
+
if (divergence.sprints.length > 0) {
|
|
127
|
+
lines.push(` sprints: ${divergence.sprints.map(id => `S${id}`).join(', ')}`);
|
|
128
|
+
}
|
|
129
|
+
lines.push('', 'Move this work into the modular sources under docs/roadmap/, then re-run', '`slope roadmap compile`. To discard it deliberately, re-run with --force.');
|
|
130
|
+
const error = new RoadmapSourceError(lines.join('\n'));
|
|
131
|
+
error.projectionContentLoss = true;
|
|
132
|
+
throw error;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Statuses from which a scorecard legitimately means "now complete" — the normal
|
|
136
|
+
* closeout path (a planned/active sprint gets run and scored). Every other status
|
|
137
|
+
* is a deliberate disposition (absorbed, blocked, deferred, superseded, cancelled,
|
|
138
|
+
* skipped) that a scorecard must never override (GH #660).
|
|
139
|
+
*/
|
|
140
|
+
const PROMOTABLE_TO_COMPLETE = new Set(['', 'planned', 'active', 'in_progress', 'ready_for_pr']);
|
|
141
|
+
/**
|
|
142
|
+
* Normalize a scorecard reference the same way the source parser will, so the
|
|
143
|
+
* post-patch invariant compares like with like (e.g. `./docs/x.json` becomes
|
|
144
|
+
* `docs/x.json` on reparse). Paths the parser would reject keep their
|
|
145
|
+
* diagnostic form; post-write federation validation reports them.
|
|
146
|
+
*/
|
|
147
|
+
function normalizeScorecardRef(path) {
|
|
148
|
+
const diagnostic = normalizeDiagnosticPath(path);
|
|
149
|
+
try {
|
|
150
|
+
return normalizeRoadmapSourcePath(diagnostic, 'scorecard path');
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return diagnostic;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Resolve a sprint number to the single source entry that owns it, comparing
|
|
158
|
+
* by canonical sprint label so legacy encoded ids (235 ~ S23.5) still match
|
|
159
|
+
* while decimal neighbours (458.1 vs 458.2) never do. Label comparison is
|
|
160
|
+
* string-exact, so float representation drift cannot widen the match. (#618)
|
|
161
|
+
*/
|
|
162
|
+
function findRoadmapSourceSprint(store, sprint) {
|
|
163
|
+
const targetLabel = formatRoadmapSprintLabel(store.roadmap, sprint);
|
|
164
|
+
const matches = [];
|
|
165
|
+
for (const source of store.sources) {
|
|
166
|
+
for (const item of source.document.sprints) {
|
|
167
|
+
if (formatRoadmapSprintLabel(store.roadmap, item.id) === targetLabel) {
|
|
168
|
+
matches.push({ source, storedId: item.id, status: item.status });
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
if (matches.length === 0) {
|
|
173
|
+
// Name the cause: the projection is generated, so a sprint present only there
|
|
174
|
+
// is invisible to reconciliation and will be dropped on the next compile. The
|
|
175
|
+
// bare "not found" wording read as a per-sprint nit rather than a data warning
|
|
176
|
+
// (GH #644, #637 fix 4).
|
|
177
|
+
throw new RoadmapSourceError(`Sprint ${targetLabel} was not found in modular roadmap sources. `
|
|
178
|
+
+ 'The compiled roadmap projection is generated from these sources, so a sprint that exists only in the projection is not tracked and will be dropped on the next compile. Add it under docs/roadmap/.', store.manifestPath);
|
|
179
|
+
}
|
|
180
|
+
if (matches.length > 1) {
|
|
181
|
+
const locations = matches.map(match => `${match.source.entry.path} (id: ${match.storedId})`).join(', ');
|
|
182
|
+
throw new RoadmapSourceError(`Sprint ${targetLabel} resolves to ${matches.length} roadmap source entries (${locations}); refusing to reconcile an ambiguous identity.`, store.manifestPath);
|
|
183
|
+
}
|
|
184
|
+
return matches[0];
|
|
185
|
+
}
|
|
82
186
|
export function completeRoadmapSourceSprint(cwd, sprint, options = {}) {
|
|
83
187
|
const initial = loadRoadmapSourceStore(cwd, options.sourceFlag);
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
throw new RoadmapSourceError(`Sprint S${sprint} was not found in modular roadmap sources.`, initial.manifestPath);
|
|
87
|
-
}
|
|
188
|
+
const initialMatch = findRoadmapSourceSprint(initial, sprint);
|
|
189
|
+
const owner = initialMatch.source;
|
|
88
190
|
const sourceLabel = normalizeDiagnosticPath(relative(cwd, owner.absolutePath ?? owner.entry.path));
|
|
89
|
-
const
|
|
90
|
-
|
|
191
|
+
const authoredStatus = initialMatch.status ?? '';
|
|
192
|
+
// A scorecard records how a sprint was played, not whether it should be marked
|
|
193
|
+
// complete. Auto-promotion is only legitimate from an in-flight status; every
|
|
194
|
+
// other status is a deliberate disposition (absorbed, blocked, deferred,
|
|
195
|
+
// superseded, cancelled, skipped) that reconciliation must never overwrite
|
|
196
|
+
// (GH #660). `slope roadmap complete` passes force to intentionally override.
|
|
197
|
+
if (!options.force
|
|
198
|
+
&& authoredStatus !== 'complete'
|
|
199
|
+
&& !PROMOTABLE_TO_COMPLETE.has(authoredStatus)) {
|
|
200
|
+
return {
|
|
201
|
+
source: sourceLabel,
|
|
202
|
+
projection: 'unchanged',
|
|
203
|
+
changed: false,
|
|
204
|
+
skipped: 'status_conflict',
|
|
205
|
+
authoredStatus,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
const changed = authoredStatus !== 'complete'
|
|
209
|
+
|| Boolean(options.scorecardPath
|
|
210
|
+
&& owner.document.scorecards?.[String(initialMatch.storedId)] !== normalizeScorecardRef(options.scorecardPath));
|
|
91
211
|
if (options.dryRun) {
|
|
92
212
|
return { source: sourceLabel, projection: 'unchanged', changed };
|
|
93
213
|
}
|
|
94
214
|
const federationLock = join(initial.sourceRoot, '.federation');
|
|
95
215
|
return withFileLockSync(federationLock, () => {
|
|
96
216
|
const fresh = loadRoadmapSourceStore(cwd, options.sourceFlag);
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
217
|
+
const freshMatch = findRoadmapSourceSprint(fresh, sprint);
|
|
218
|
+
const freshOwner = freshMatch.source;
|
|
219
|
+
if (!freshOwner.absolutePath) {
|
|
220
|
+
throw new RoadmapSourceError(`Sprint S${sprint} was not found in modular roadmap sources. `
|
|
221
|
+
+ 'The compiled roadmap projection is generated from these sources, so a sprint that exists only in the projection is not tracked and will be dropped on the next compile. Add it under docs/roadmap/.', fresh.manifestPath);
|
|
100
222
|
}
|
|
101
|
-
|
|
102
|
-
|
|
223
|
+
// Re-check under the lock: a concurrent edit could have moved the authored
|
|
224
|
+
// status into a deliberate disposition after the pre-lock read. Re-derive
|
|
225
|
+
// the conflict from the freshly-loaded state rather than trusting the stale
|
|
226
|
+
// snapshot (GH #660).
|
|
227
|
+
const freshStatus = freshMatch.status ?? '';
|
|
228
|
+
if (!options.force
|
|
229
|
+
&& freshStatus !== 'complete'
|
|
230
|
+
&& !PROMOTABLE_TO_COMPLETE.has(freshStatus)) {
|
|
231
|
+
return {
|
|
232
|
+
source: sourceLabel,
|
|
233
|
+
projection: 'unchanged',
|
|
234
|
+
changed: false,
|
|
235
|
+
skipped: 'status_conflict',
|
|
236
|
+
authoredStatus: freshStatus,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
const storedId = freshMatch.storedId;
|
|
240
|
+
const scorecardKey = String(storedId);
|
|
241
|
+
const normalizedScorecard = options.scorecardPath ? normalizeScorecardRef(options.scorecardPath) : undefined;
|
|
242
|
+
const originalText = readFileSync(freshOwner.absolutePath, 'utf8');
|
|
243
|
+
const patchedText = patchRoadmapSourceSprintText(originalText, storedId, {
|
|
244
|
+
status: 'complete',
|
|
245
|
+
...(normalizedScorecard ? { scorecardKey, scorecardPath: normalizedScorecard } : {}),
|
|
246
|
+
});
|
|
247
|
+
const expectedDocument = {
|
|
248
|
+
version: freshOwner.document.version,
|
|
103
249
|
phase: freshOwner.document.phase,
|
|
104
|
-
sprints: freshOwner.document.sprints.map(item => item.id ===
|
|
105
|
-
...(freshOwner.document.scorecards ||
|
|
250
|
+
sprints: freshOwner.document.sprints.map(item => item.id === storedId ? { ...item, status: 'complete' } : item),
|
|
251
|
+
...(freshOwner.document.scorecards || normalizedScorecard ? {
|
|
106
252
|
scorecards: {
|
|
107
253
|
...(freshOwner.document.scorecards ?? {}),
|
|
108
|
-
...(
|
|
254
|
+
...(normalizedScorecard ? { [scorecardKey]: normalizedScorecard } : {}),
|
|
109
255
|
},
|
|
110
256
|
} : {}),
|
|
111
257
|
};
|
|
112
|
-
|
|
258
|
+
let reformatted = false;
|
|
259
|
+
let nextText = null;
|
|
260
|
+
if (patchedText != null) {
|
|
261
|
+
// Refuse a surgical patch that changed anything beyond the targeted
|
|
262
|
+
// sprint's status and scorecard link — the invariant that makes an
|
|
263
|
+
// adjacent-sprint mutation (#618) structurally impossible. A patched
|
|
264
|
+
// text that no longer parses means the document shape defeated the
|
|
265
|
+
// patcher (e.g. column-0 comments inside an entry); treat that like an
|
|
266
|
+
// undetectable shape and fall back rather than surfacing a raw parse
|
|
267
|
+
// error.
|
|
268
|
+
let reparsed = null;
|
|
269
|
+
try {
|
|
270
|
+
reparsed = parseRoadmapSourceDocument(patchedText, freshOwner.absolutePath);
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
reparsed = null;
|
|
274
|
+
}
|
|
275
|
+
if (reparsed != null) {
|
|
276
|
+
if (stableJson(reparsed) !== stableJson(expectedDocument)) {
|
|
277
|
+
throw new RoadmapSourceError(`Reconciling Sprint ${formatRoadmapSprintLabel(fresh.roadmap, sprint)} would change more than the targeted sprint entry; refusing to write.`, freshOwner.absolutePath);
|
|
278
|
+
}
|
|
279
|
+
nextText = patchedText;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
if (nextText == null) {
|
|
283
|
+
// The document shape prevents a confidently surgical edit (flow-style
|
|
284
|
+
// entries, mixed EOLs). Fall back to the legacy full rewrite, which
|
|
285
|
+
// reformats the bundle; post-write federation validation still runs.
|
|
286
|
+
reformatted = true;
|
|
287
|
+
nextText = stringify(expectedDocument);
|
|
288
|
+
}
|
|
289
|
+
atomicWriteFileSync(freshOwner.absolutePath, nextText);
|
|
113
290
|
const reloaded = loadRoadmapSourceStore(cwd, options.sourceFlag);
|
|
114
291
|
const validation = validateRoadmapSourceStore(reloaded, { checkProjection: false });
|
|
115
292
|
if (!validation.valid) {
|
|
@@ -122,9 +299,13 @@ export function completeRoadmapSourceSprint(cwd, sprint, options = {}) {
|
|
|
122
299
|
const projection = existing != null && roadmapProjectionMatches(existing, reloaded.projection)
|
|
123
300
|
? 'unchanged'
|
|
124
301
|
: 'written';
|
|
302
|
+
// Closeout reconciliation runs from `slope validate`, which is where the
|
|
303
|
+
// silent projection rewrite destroyed authored planning work (GH #637).
|
|
304
|
+
if (projection === 'written' && existing != null)
|
|
305
|
+
assertNoProjectionContentLoss(reloaded, existing);
|
|
125
306
|
if (projection === 'written')
|
|
126
|
-
atomicWriteFileSync(reloaded.outputPath, reloaded
|
|
127
|
-
return { source: sourceLabel, projection, changed: true };
|
|
307
|
+
atomicWriteFileSync(reloaded.outputPath, projectionBytesForWrite(reloaded));
|
|
308
|
+
return { source: sourceLabel, projection, changed: true, reformatted };
|
|
128
309
|
});
|
|
129
310
|
}
|
|
130
311
|
/**
|
|
@@ -134,7 +315,17 @@ export function completeRoadmapSourceSprint(cwd, sprint, options = {}) {
|
|
|
134
315
|
* remains observable drift.
|
|
135
316
|
*/
|
|
136
317
|
export function roadmapProjectionMatches(actual, expected) {
|
|
137
|
-
|
|
318
|
+
// `actual` is on-disk bytes, which carry the generated-file marker; `expected`
|
|
319
|
+
// is canonical marker-free bytes. Strip before comparing so a marked file is
|
|
320
|
+
// not mistaken for drift, and so projections written before the marker existed
|
|
321
|
+
// still compare equal (GH #644).
|
|
322
|
+
return stripRoadmapProjectionMarker(actual).replace(/\r\n/g, '\n')
|
|
323
|
+
=== stripRoadmapProjectionMarker(expected).replace(/\r\n/g, '\n');
|
|
324
|
+
}
|
|
325
|
+
/** Projection bytes to write: canonical content plus the generated-file marker. */
|
|
326
|
+
function projectionBytesForWrite(store) {
|
|
327
|
+
const manifestLabel = normalizeDiagnosticPath(relative(store.cwd, store.manifestPath));
|
|
328
|
+
return withRoadmapProjectionMarker(store.projection, manifestLabel);
|
|
138
329
|
}
|
|
139
330
|
export function validateRoadmapSourceStore(store, options = {}) {
|
|
140
331
|
const result = validateRoadmapSourceFederation(store.project, store.sources);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roadmap-source-store.js","sourceRoot":"","sources":["../../src/cli/roadmap-source-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roadmap-source-store.js","sourceRoot":"","sources":["../../src/cli/roadmap-source-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the working directory whose store owns *session* coordination state.
|
|
3
|
+
*
|
|
4
|
+
* Session records exist to coordinate concurrent agents across a repository, so
|
|
5
|
+
* they must live in one store per repository — not one per worktree. Secondary
|
|
6
|
+
* worktrees check out the committed `.slope/config.json`, so resolving the store
|
|
7
|
+
* from the local cwd gives every worktree its own empty database. That split is
|
|
8
|
+
* the root of GH #630 / #631: `worktree-check` reads the primary checkout's
|
|
9
|
+
* store (via the hook payload cwd) while `slope session list|prune|end` reads the
|
|
10
|
+
* worktree's own, so the guard's printed remediation can never clear the
|
|
11
|
+
* sessions the guard is blocking on.
|
|
12
|
+
*
|
|
13
|
+
* Returns the primary checkout when it owns SLOPE state, otherwise `cwd`
|
|
14
|
+
* unchanged (single-checkout repos, non-git directories, and repos whose
|
|
15
|
+
* primary checkout has no `.slope/config.json`).
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveSessionStoreCwd(cwd: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the primary checkout of the repository containing `cwd`.
|
|
20
|
+
*
|
|
21
|
+
* `git rev-parse --git-common-dir` yields the shared `.git` directory: `.git`
|
|
22
|
+
* in the primary checkout, and a path to the primary's `.git` when run inside a
|
|
23
|
+
* linked worktree. The primary checkout is that directory's parent.
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolvePrimaryCheckout(cwd: string): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* List every checkout of the repository containing `cwd` — the primary checkout
|
|
28
|
+
* and all linked worktrees — with `cwd` itself always included.
|
|
29
|
+
*
|
|
30
|
+
* Sprint lifecycle state is stored per checkout (`.slope/sprint-state.json`), so
|
|
31
|
+
* a closeout that only touches `cwd` leaves every sibling worktree reporting a
|
|
32
|
+
* stale sprint and contradictory next actions (GH #624).
|
|
33
|
+
*/
|
|
34
|
+
export declare function listRepoWorktrees(cwd: string): string[];
|
|
35
|
+
//# sourceMappingURL=session-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-scope.d.ts","sourceRoot":"","sources":["../../src/cli/session-scope.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAWvD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { basename, dirname, isAbsolute, join, resolve } from 'node:path';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the working directory whose store owns *session* coordination state.
|
|
6
|
+
*
|
|
7
|
+
* Session records exist to coordinate concurrent agents across a repository, so
|
|
8
|
+
* they must live in one store per repository — not one per worktree. Secondary
|
|
9
|
+
* worktrees check out the committed `.slope/config.json`, so resolving the store
|
|
10
|
+
* from the local cwd gives every worktree its own empty database. That split is
|
|
11
|
+
* the root of GH #630 / #631: `worktree-check` reads the primary checkout's
|
|
12
|
+
* store (via the hook payload cwd) while `slope session list|prune|end` reads the
|
|
13
|
+
* worktree's own, so the guard's printed remediation can never clear the
|
|
14
|
+
* sessions the guard is blocking on.
|
|
15
|
+
*
|
|
16
|
+
* Returns the primary checkout when it owns SLOPE state, otherwise `cwd`
|
|
17
|
+
* unchanged (single-checkout repos, non-git directories, and repos whose
|
|
18
|
+
* primary checkout has no `.slope/config.json`).
|
|
19
|
+
*/
|
|
20
|
+
export function resolveSessionStoreCwd(cwd) {
|
|
21
|
+
const primary = resolvePrimaryCheckout(cwd);
|
|
22
|
+
if (!primary)
|
|
23
|
+
return cwd;
|
|
24
|
+
if (!existsSync(join(primary, '.slope', 'config.json')))
|
|
25
|
+
return cwd;
|
|
26
|
+
return primary;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the primary checkout of the repository containing `cwd`.
|
|
30
|
+
*
|
|
31
|
+
* `git rev-parse --git-common-dir` yields the shared `.git` directory: `.git`
|
|
32
|
+
* in the primary checkout, and a path to the primary's `.git` when run inside a
|
|
33
|
+
* linked worktree. The primary checkout is that directory's parent.
|
|
34
|
+
*/
|
|
35
|
+
export function resolvePrimaryCheckout(cwd) {
|
|
36
|
+
const commonDir = safeGit(cwd, ['rev-parse', '--git-common-dir']);
|
|
37
|
+
if (!commonDir)
|
|
38
|
+
return null;
|
|
39
|
+
const absolute = isAbsolute(commonDir) ? commonDir : resolve(cwd, commonDir);
|
|
40
|
+
if (basename(absolute) !== '.git')
|
|
41
|
+
return null;
|
|
42
|
+
const root = dirname(absolute);
|
|
43
|
+
return existsSync(root) ? root : null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* List every checkout of the repository containing `cwd` — the primary checkout
|
|
47
|
+
* and all linked worktrees — with `cwd` itself always included.
|
|
48
|
+
*
|
|
49
|
+
* Sprint lifecycle state is stored per checkout (`.slope/sprint-state.json`), so
|
|
50
|
+
* a closeout that only touches `cwd` leaves every sibling worktree reporting a
|
|
51
|
+
* stale sprint and contradictory next actions (GH #624).
|
|
52
|
+
*/
|
|
53
|
+
export function listRepoWorktrees(cwd) {
|
|
54
|
+
const roots = new Set([resolve(cwd)]);
|
|
55
|
+
const raw = safeGit(cwd, ['worktree', 'list', '--porcelain']);
|
|
56
|
+
for (const line of (raw ?? '').split('\n')) {
|
|
57
|
+
if (!line.startsWith('worktree '))
|
|
58
|
+
continue;
|
|
59
|
+
const path = line.slice('worktree '.length).trim();
|
|
60
|
+
if (path)
|
|
61
|
+
roots.add(resolve(path));
|
|
62
|
+
}
|
|
63
|
+
return [...roots];
|
|
64
|
+
}
|
|
65
|
+
function safeGit(cwd, args) {
|
|
66
|
+
try {
|
|
67
|
+
const out = execFileSync('git', args, {
|
|
68
|
+
cwd,
|
|
69
|
+
encoding: 'utf8',
|
|
70
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
71
|
+
timeout: 3000,
|
|
72
|
+
}).trim();
|
|
73
|
+
return out || null;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=session-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-scope.js","sourceRoot":"","sources":["../../src/cli/session-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC;IACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IACpE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7E,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,SAAS;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,IAAc;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,GAAG;YACH,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,UAAU,YAAY;IACpB,wCAAwC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAQ1D;AAqBD,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAGvE;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAK9F;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAMtF;AAED;;+EAE+E;AAC/E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAItE;AAED;;4EAE4E;AAC5E,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmBjG;AAoCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,UAAU,YAAY;IACpB,wCAAwC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAQ1D;AAqBD,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAGvE;AAED,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAK9F;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAMtF;AAED;;+EAE+E;AAC/E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAItE;AAED;;4EAE4E;AAC5E,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmBjG;AAoCD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAgDf"}
|
|
@@ -141,11 +141,14 @@ export function dedupGuardContext(cwd, sessionId, guardName, context) {
|
|
|
141
141
|
saveDedupStateUnlocked(filePath, state);
|
|
142
142
|
return `SLOPE ${guardName}: (same as prior warning, shown ${existing.count}x)`;
|
|
143
143
|
}
|
|
144
|
-
//
|
|
144
|
+
// Budget exhausted: stay silent. This previously substituted a note about the
|
|
145
|
+
// budget itself, which every guard then repeated on every fire — spending
|
|
146
|
+
// context to announce that there is no context left, naming no file and no
|
|
147
|
+
// action. A guard with nothing useful left to say should say nothing (GH #651).
|
|
145
148
|
const budget = DEFAULT_CONTEXT_BUDGET_CHARS;
|
|
146
149
|
if ((state.total_chars ?? 0) + context.length > budget) {
|
|
147
150
|
saveDedupStateUnlocked(filePath, state);
|
|
148
|
-
return
|
|
151
|
+
return '';
|
|
149
152
|
}
|
|
150
153
|
// New content — track chars and record
|
|
151
154
|
state.total_chars = (state.total_chars ?? 0) + context.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/cli/session-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAuBxD,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB,EAAE,KAAmB;IACrE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,OAAyC;IAChF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,KAAmB;IAC/D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAyB,EAAE,KAAa;IACtF,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;QAC7B,KAAiC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB,EAAE,IAAiB;IAC9E,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;QAC9B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;+EAE+E;AAC/E,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB;IAC3D,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,8BAA8B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5D,OAAO,IAAI,KAAK,OAAO,CAAC;AAC1B,CAAC;AAED;;4EAE4E;AAC5E,MAAM,UAAU,8BAA8B,CAAC,GAAW,EAAE,SAAiB;IAC3E,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEzC,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE;YAC9B,IAAI,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC3E,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC9B,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,uDAAuD;AAEvD,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAExD,mFAAmF;AACnF,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAU3C,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC/E,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,KAAwB;IACxE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAW,EACX,SAAiB,EACjB,SAAiB,EACjB,OAAe;IAEf,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAErC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,IAAI,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,KAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9D,CAAC;QAED,qFAAqF;QACrF,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,iDAAiD;YACjD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,QAAQ,CAAC,EAAE,GAAG,GAAG,CAAC;YAClB,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,SAAS,SAAS,mCAAmC,QAAQ,CAAC,KAAK,IAAI,CAAC;QACjF,CAAC;QAED,8EAA8E;QAC9E,0EAA0E;QAC1E,2EAA2E;QAC3E,gFAAgF;QAChF,MAAM,MAAM,GAAG,4BAA4B,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YACvD,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uCAAuC;QACvC,KAAK,CAAC,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QAC3D,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|