instar 1.3.1113 → 1.3.1115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +157 -124
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/CartographerNavigator.d.ts.map +1 -1
  5. package/dist/core/CartographerNavigator.js +8 -3
  6. package/dist/core/CartographerNavigator.js.map +1 -1
  7. package/dist/core/CartographerRootAuthority.d.ts +143 -0
  8. package/dist/core/CartographerRootAuthority.d.ts.map +1 -0
  9. package/dist/core/CartographerRootAuthority.js +448 -0
  10. package/dist/core/CartographerRootAuthority.js.map +1 -0
  11. package/dist/core/CartographerRootRegistry.d.ts +100 -0
  12. package/dist/core/CartographerRootRegistry.d.ts.map +1 -0
  13. package/dist/core/CartographerRootRegistry.js +306 -0
  14. package/dist/core/CartographerRootRegistry.js.map +1 -0
  15. package/dist/core/CartographerSweepEngine.d.ts +12 -0
  16. package/dist/core/CartographerSweepEngine.d.ts.map +1 -1
  17. package/dist/core/CartographerSweepEngine.js +81 -1
  18. package/dist/core/CartographerSweepEngine.js.map +1 -1
  19. package/dist/core/CartographerTree.d.ts +6 -0
  20. package/dist/core/CartographerTree.d.ts.map +1 -1
  21. package/dist/core/CartographerTree.js +6 -1
  22. package/dist/core/CartographerTree.js.map +1 -1
  23. package/dist/core/ScopeVerifier.d.ts +2 -0
  24. package/dist/core/ScopeVerifier.d.ts.map +1 -1
  25. package/dist/core/ScopeVerifier.js +8 -1
  26. package/dist/core/ScopeVerifier.js.map +1 -1
  27. package/dist/data/standards-guard-index.json +1 -1
  28. package/dist/data/standards-guard-index.meta.json +2 -2
  29. package/dist/data/standards-registry.meta.json +1 -1
  30. package/dist/server/AgentServer.d.ts +2 -0
  31. package/dist/server/AgentServer.d.ts.map +1 -1
  32. package/dist/server/AgentServer.js +1 -0
  33. package/dist/server/AgentServer.js.map +1 -1
  34. package/dist/server/routes.d.ts +4 -0
  35. package/dist/server/routes.d.ts.map +1 -1
  36. package/dist/server/routes.js +133 -87
  37. package/dist/server/routes.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/data/builtin-manifest.json +47 -47
  40. package/src/data/standards-guard-index.json +1 -1
  41. package/src/data/standards-guard-index.meta.json +2 -2
  42. package/src/data/standards-registry.meta.json +1 -1
  43. package/upgrades/1.3.1114.md +46 -0
  44. package/upgrades/1.3.1115.md +62 -0
  45. package/upgrades/side-effects/cartographer-project-aware-navigation.md +189 -0
  46. package/upgrades/side-effects/cartographer-verified-root-authority.md +151 -0
@@ -0,0 +1,306 @@
1
+ /**
2
+ * Live Cartographer consumer for verified-root authority.
3
+ *
4
+ * One resolved entry binds the authority assessment, isolated tree, reporting
5
+ * metadata, zero-cost boot population, and paid-authoring revalidation. Routes
6
+ * must resolve once and keep that entry for the entire operation.
7
+ */
8
+ import fs from 'node:fs';
9
+ import path from 'node:path';
10
+ import { CartographerTree } from './CartographerTree.js';
11
+ import { CartographerRootAuthority, selectCartographerRootCandidate, } from './CartographerRootAuthority.js';
12
+ import { populateCartographer, } from './cartographerPopulation.js';
13
+ import { SafeFsExecutor } from './SafeFsExecutor.js';
14
+ function reportFor(assessment) {
15
+ const identity = assessment.identity;
16
+ if (!identity || assessment.trust === 'refused')
17
+ return null;
18
+ return {
19
+ rootId: identity.rootId,
20
+ repositoryId: identity.repositoryId,
21
+ kind: identity.kind,
22
+ canonicalPath: identity.canonicalPath,
23
+ revision: identity.revision,
24
+ provenance: { ...assessment.candidate.provenance },
25
+ verificationState: assessment.trust,
26
+ verificationReason: assessment.reason,
27
+ structuralPopulationAllowed: assessment.structuralPopulationAllowed,
28
+ paidAuthoringAllowed: assessment.paidAuthoringAllowed,
29
+ };
30
+ }
31
+ function refusedReport(assessment) {
32
+ const identity = assessment.identity;
33
+ const report = identity
34
+ ? {
35
+ rootId: identity.rootId,
36
+ repositoryId: identity.repositoryId,
37
+ kind: identity.kind,
38
+ canonicalPath: identity.canonicalPath,
39
+ revision: identity.revision,
40
+ provenance: { ...assessment.candidate.provenance },
41
+ verificationState: 'refused',
42
+ verificationReason: assessment.reason,
43
+ structuralPopulationAllowed: false,
44
+ paidAuthoringAllowed: false,
45
+ }
46
+ : undefined;
47
+ return {
48
+ ok: false,
49
+ reason: assessment.reason,
50
+ message: `Cartographer root authority refused the selected root (${assessment.reason})`,
51
+ ...(report ? { report } : {}),
52
+ };
53
+ }
54
+ /**
55
+ * Registry lifetime is one server boot. Assessments therefore pin the exact
56
+ * revision that produced the current hierarchy; paid writes revalidate against
57
+ * that pin instead of silently adopting a later HEAD.
58
+ */
59
+ export class CartographerRootRegistry {
60
+ options;
61
+ authority;
62
+ decisionLogPath;
63
+ decisionLogMaxBytes;
64
+ decisionLogKeepArchives;
65
+ now;
66
+ log;
67
+ cachedBySelection = new Map();
68
+ treesByRootId = new Map();
69
+ constructor(options) {
70
+ this.options = options;
71
+ this.now = options.now ?? (() => new Date());
72
+ this.log = options.log ?? (() => { });
73
+ this.decisionLogPath = options.decisionLogPath
74
+ ?? path.join(options.stateDir, 'cartographer', 'root-authority-decisions.jsonl');
75
+ this.decisionLogMaxBytes = options.decisionLogMaxBytes && options.decisionLogMaxBytes > 0
76
+ ? options.decisionLogMaxBytes
77
+ : 5 * 1024 * 1024;
78
+ this.decisionLogKeepArchives = options.decisionLogKeepArchives !== undefined
79
+ && options.decisionLogKeepArchives >= 0
80
+ ? Math.floor(options.decisionLogKeepArchives)
81
+ : 2;
82
+ this.authority = new CartographerRootAuthority({
83
+ now: this.now,
84
+ recordDecision: (decision) => this.recordDecision(decision),
85
+ });
86
+ }
87
+ recordDecision(decision) {
88
+ fs.mkdirSync(path.dirname(this.decisionLogPath), { recursive: true });
89
+ let activeBytes = 0;
90
+ try {
91
+ activeBytes = fs.statSync(this.decisionLogPath).size;
92
+ }
93
+ catch {
94
+ // @silent-fallback-ok — a missing active log starts at zero; any other
95
+ // append failure still propagates below and fails the authority outcome.
96
+ }
97
+ if (activeBytes > this.decisionLogMaxBytes) {
98
+ const operation = 'cartographer root-authority decision-log rotation';
99
+ const oldest = `${this.decisionLogPath}.${this.decisionLogKeepArchives}`;
100
+ if (this.decisionLogKeepArchives > 0 && fs.existsSync(oldest)) {
101
+ SafeFsExecutor.safeUnlinkSync(oldest, { operation });
102
+ }
103
+ for (let index = this.decisionLogKeepArchives - 1; index >= 1; index -= 1) {
104
+ const from = `${this.decisionLogPath}.${index}`;
105
+ if (fs.existsSync(from))
106
+ fs.renameSync(from, `${this.decisionLogPath}.${index + 1}`);
107
+ }
108
+ if (this.decisionLogKeepArchives > 0) {
109
+ fs.renameSync(this.decisionLogPath, `${this.decisionLogPath}.1`);
110
+ }
111
+ else {
112
+ SafeFsExecutor.safeUnlinkSync(this.decisionLogPath, { operation });
113
+ }
114
+ }
115
+ fs.appendFileSync(this.decisionLogPath, `${JSON.stringify(decision)}\n`, {
116
+ encoding: 'utf8',
117
+ mode: 0o600,
118
+ });
119
+ }
120
+ select(topicId) {
121
+ const binding = topicId === undefined
122
+ ? undefined
123
+ : this.options.topicBindings()[String(topicId)];
124
+ return selectCartographerRootCandidate({
125
+ kind: 'active-project-checkout',
126
+ standalone: this.options.agentType === 'standalone',
127
+ ...(this.options.serverProject ? { serverProject: this.options.serverProject } : {}),
128
+ ...(binding && topicId !== undefined
129
+ ? {
130
+ topicBinding: {
131
+ topicId,
132
+ projectDir: binding.projectDir,
133
+ projectName: binding.projectName,
134
+ ...(binding.gitRemote ? { gitRemote: binding.gitRemote } : {}),
135
+ },
136
+ }
137
+ : {}),
138
+ });
139
+ }
140
+ selectionSignature(candidate) {
141
+ return JSON.stringify({
142
+ kind: candidate.kind,
143
+ requestedPath: candidate.requestedPath,
144
+ provenance: candidate.provenance,
145
+ expectedRemote: candidate.expectedRemote ?? null,
146
+ });
147
+ }
148
+ resolve(topicId) {
149
+ const selection = this.select(topicId);
150
+ if (!selection.ok) {
151
+ try {
152
+ this.recordDecision({
153
+ schemaVersion: 1,
154
+ decidedAt: this.now().toISOString(),
155
+ operation: 'select',
156
+ context: {
157
+ topicId: topicId ?? null,
158
+ standalone: this.options.agentType === 'standalone',
159
+ },
160
+ rule: selection.code,
161
+ outcome: { trust: 'refused' },
162
+ });
163
+ }
164
+ catch (error) {
165
+ return {
166
+ ok: false,
167
+ reason: 'decision-recording-failed',
168
+ message: error instanceof Error ? error.message : String(error),
169
+ };
170
+ }
171
+ return { ok: false, reason: selection.code, message: selection.message };
172
+ }
173
+ const signature = this.selectionSignature(selection.candidate);
174
+ const cached = this.cachedBySelection.get(signature);
175
+ if (cached)
176
+ return { ok: true, root: cached.root };
177
+ let assessment;
178
+ try {
179
+ assessment = this.authority.assess(selection.candidate);
180
+ }
181
+ catch (error) {
182
+ return {
183
+ ok: false,
184
+ reason: 'decision-recording-failed',
185
+ message: error instanceof Error ? error.message : String(error),
186
+ };
187
+ }
188
+ if (!assessment.structuralPopulationAllowed || assessment.trust === 'refused') {
189
+ return refusedReport(assessment);
190
+ }
191
+ const report = reportFor(assessment);
192
+ if (!report) {
193
+ return {
194
+ ok: false,
195
+ reason: 'identity-unavailable',
196
+ message: 'Cartographer root authority did not mint a usable root identity',
197
+ };
198
+ }
199
+ let tree = this.treesByRootId.get(report.rootId);
200
+ if (!tree) {
201
+ tree = new CartographerTree({
202
+ projectDir: report.canonicalPath,
203
+ stateDir: this.options.stateDir,
204
+ stateNamespace: report.rootId.startsWith('root-')
205
+ ? report.rootId
206
+ : `root-${report.rootId}`,
207
+ });
208
+ this.treesByRootId.set(report.rootId, tree);
209
+ }
210
+ const root = { tree, assessment, report };
211
+ this.cachedBySelection.set(signature, { signature, root });
212
+ return { ok: true, root };
213
+ }
214
+ authorizePaidAuthoring(root) {
215
+ let revalidated;
216
+ try {
217
+ revalidated = this.authority.revalidate(root.assessment);
218
+ }
219
+ catch (error) {
220
+ return {
221
+ ok: false,
222
+ reason: 'decision-recording-failed',
223
+ message: error instanceof Error ? error.message : String(error),
224
+ };
225
+ }
226
+ if (revalidated.trust !== 'verified'
227
+ || !revalidated.paidAuthoringAllowed
228
+ || revalidated.identity?.rootId !== root.report.rootId
229
+ || revalidated.identity?.revision !== root.report.revision) {
230
+ return {
231
+ ok: false,
232
+ reason: revalidated.reason,
233
+ message: `Cartographer paid authoring refused (${revalidated.reason})`,
234
+ };
235
+ }
236
+ return { ok: true, root };
237
+ }
238
+ /**
239
+ * Per-root trees are regenerable caches, not history. At boot, remove only
240
+ * authority-shaped namespaces no longer selected by any live binding so old
241
+ * topic churn cannot accumulate an unbounded archive of project maps.
242
+ */
243
+ pruneInactiveRootCaches(activeNamespaces) {
244
+ const rootsDir = path.join(this.options.stateDir, 'cartographer', 'roots');
245
+ let entries;
246
+ try {
247
+ entries = fs.readdirSync(rootsDir, { withFileTypes: true });
248
+ }
249
+ catch {
250
+ return; // no root cache directory yet
251
+ }
252
+ for (const entry of entries) {
253
+ if (!entry.isDirectory() || !/^root-[a-f0-9]{24}$/.test(entry.name))
254
+ continue;
255
+ if (activeNamespaces.has(entry.name))
256
+ continue;
257
+ const target = path.join(rootsDir, entry.name);
258
+ try {
259
+ SafeFsExecutor.safeRmSync(target, {
260
+ recursive: true,
261
+ force: true,
262
+ operation: 'prune inactive Cartographer root cache at boot',
263
+ });
264
+ }
265
+ catch (error) {
266
+ this.log(`[cartographer-roots] inactive cache prune failed (${entry.name}): ${error instanceof Error ? error.message : String(error)}`);
267
+ }
268
+ }
269
+ }
270
+ /** Enumerate all explicit live roots and rebuild each hierarchy once per boot. */
271
+ async populateOnBoot() {
272
+ const topicIds = Object.keys(this.options.topicBindings())
273
+ .map((raw) => Number(raw))
274
+ .filter((value) => Number.isInteger(value) && value > 0)
275
+ .sort((a, b) => a - b);
276
+ const requests = this.options.agentType === 'standalone'
277
+ ? topicIds
278
+ : [undefined, ...topicIds];
279
+ const roots = new Map();
280
+ for (const topicId of requests) {
281
+ const resolved = this.resolve(topicId);
282
+ if (resolved.ok)
283
+ roots.set(resolved.root.report.rootId, resolved.root);
284
+ }
285
+ // An empty set can mean a temporarily unreadable/corrupt binding registry.
286
+ // Never turn uncertainty into delete-all; prune only when at least one live
287
+ // root positively selected and can anchor the keep set.
288
+ if (roots.size > 0) {
289
+ this.pruneInactiveRootCaches(new Set([...roots.values()].map((root) => `root-${root.report.rootId}`)));
290
+ }
291
+ const results = [];
292
+ for (const root of roots.values()) {
293
+ const result = await populateCartographer({
294
+ tree: root.tree,
295
+ ...(this.options.population?.config ? { config: this.options.population.config } : {}),
296
+ ...(this.options.population?.onYield ? { onYield: this.options.population.onYield } : {}),
297
+ ...(this.options.population?.runDetectWorker
298
+ ? { runDetectWorker: this.options.population.runDetectWorker }
299
+ : {}),
300
+ });
301
+ results.push({ ...result, rootAuthority: root.report });
302
+ }
303
+ return results;
304
+ }
305
+ }
306
+ //# sourceMappingURL=CartographerRootRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartographerRootRegistry.js","sourceRoot":"","sources":["../../src/core/CartographerRootRegistry.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,16 @@ export interface SweepEngineDeps {
81
81
  pressure: () => PressureReading;
82
82
  /** Author ONLY when this returns true (lease holder). Single-machine ⇒ () => true. */
83
83
  holdsLease: () => boolean;
84
+ /**
85
+ * Revalidate the authority-pinned root before any paid/background path begins.
86
+ * Omitted only by isolated legacy tests; production wiring supplies it.
87
+ */
88
+ authorizePaidAuthoring: () => {
89
+ ok: true;
90
+ } | {
91
+ ok: false;
92
+ reason: string;
93
+ };
84
94
  config: SweepEngineConfig;
85
95
  stateDir: string;
86
96
  now?: () => number;
@@ -148,6 +158,8 @@ export declare class CartographerSweepEngine {
148
158
  private authorNode;
149
159
  private persistAuthored;
150
160
  private callAuthor;
161
+ /** Close the LLM-await TOCTOU window immediately before a summary write. */
162
+ private requirePaidAuthority;
151
163
  private revalidateSample;
152
164
  /** Record one author failure; returns true if the node just crossed into quarantine. */
153
165
  private recordFailure;
@@ -1 +1 @@
1
- {"version":3,"file":"CartographerSweepEngine.d.ts","sourceRoot":"","sources":["../../src/core/CartographerSweepEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CartographerSweepEngine.d.ts","sourceRoot":"","sources":["../../src/core/CartographerSweepEngine.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,14 @@ export class SweepAbortedError extends Error {
56
56
  this.name = 'SweepAbortedError';
57
57
  }
58
58
  }
59
+ class SweepAuthorityRefusedError extends Error {
60
+ reason;
61
+ constructor(reason) {
62
+ super(`cartographer root authority refused (${reason})`);
63
+ this.name = 'SweepAuthorityRefusedError';
64
+ this.reason = reason;
65
+ }
66
+ }
59
67
  const CURSOR_REL = path.join('state', 'cartographer-sweep-cursor.json');
60
68
  export class CartographerSweepEngine {
61
69
  d;
@@ -115,6 +123,18 @@ export class CartographerSweepEngine {
115
123
  if (!this.d.holdsLease()) {
116
124
  return { ...base, reason: 'not-lease-holder' };
117
125
  }
126
+ // Root authority precedes both routing and detect. A stale/mismatched root
127
+ // must spend nothing and must not inspect one tree while reporting another.
128
+ const authority = this.d.authorizePaidAuthoring();
129
+ if (!authority.ok) {
130
+ this.log(`[cartographer-sweep] refusing to author: root authority ${authority.reason}`);
131
+ return {
132
+ ...base,
133
+ refused: true,
134
+ refusalReason: authority.reason,
135
+ reason: 'authority-refused',
136
+ };
137
+ }
118
138
  // Routing probe — the L5 canary. Refuse rather than silently burn Claude.
119
139
  const probe = this.probeRouting();
120
140
  if (!probe.ok) {
@@ -136,6 +156,21 @@ export class CartographerSweepEngine {
136
156
  detectDurationMs: detect.durationMs,
137
157
  };
138
158
  }
159
+ // Detect may run for minutes in a worker. Revalidate again after that await,
160
+ // before the first paid call, so a HEAD move during detect cannot inherit the
161
+ // authority result sampled at pass admission.
162
+ const postDetectAuthority = this.d.authorizePaidAuthoring();
163
+ if (!postDetectAuthority.ok) {
164
+ return {
165
+ ...base,
166
+ refused: true,
167
+ refusalReason: postDetectAuthority.reason,
168
+ reason: 'authority-refused',
169
+ candidateCount: detect.staleTotal,
170
+ detectStatus: this.detectStatus(detect),
171
+ detectDurationMs: detect.durationMs,
172
+ };
173
+ }
139
174
  base.candidateCount = detect.staleTotal;
140
175
  base.detectStatus = 'ok';
141
176
  base.detectDurationMs = detect.durationMs;
@@ -198,6 +233,16 @@ export class CartographerSweepEngine {
198
233
  result.skipped += 1;
199
234
  continue;
200
235
  }
236
+ // Each LLM call yields the event loop and may overlap an external checkout
237
+ // update. Revalidate the pinned revision immediately before every paid or
238
+ // fingerprint-authoring operation, not merely once per pass.
239
+ const nodeAuthority = this.d.authorizePaidAuthoring();
240
+ if (!nodeAuthority.ok) {
241
+ result.refused = true;
242
+ result.refusalReason = nodeAuthority.reason;
243
+ result.reason = 'authority-refused';
244
+ break;
245
+ }
201
246
  try {
202
247
  const outcome = await this.authorNode(node, framework, deltas);
203
248
  switch (outcome.kind) {
@@ -227,6 +272,12 @@ export class CartographerSweepEngine {
227
272
  }
228
273
  }
229
274
  catch (err) {
275
+ if (err instanceof SweepAuthorityRefusedError) {
276
+ result.refused = true;
277
+ result.refusalReason = err.reason;
278
+ result.reason = 'authority-refused';
279
+ break;
280
+ }
230
281
  if (this.isAbort(err)) {
231
282
  // Backpressure, NOT failure: leave status, don't count the breaker, retry next quiet tick.
232
283
  result.abortedBackpressure = true;
@@ -246,7 +297,15 @@ export class CartographerSweepEngine {
246
297
  if (!curtail && !result.abortedBackpressure &&
247
298
  result.centsSpent + cfg.estCentsPerAuthor <= cfg.maxCentsPerPass &&
248
299
  result.authored + result.fingerprintRefreshed < cfg.maxNodesPerPass) {
249
- result.revalidated = await this.revalidateSample(detect.revalidationSample, framework, result, deltas);
300
+ const sampleAuthority = this.d.authorizePaidAuthoring();
301
+ if (sampleAuthority.ok) {
302
+ result.revalidated = await this.revalidateSample(detect.revalidationSample, framework, result, deltas);
303
+ }
304
+ else {
305
+ result.refused = true;
306
+ result.refusalReason = sampleAuthority.reason;
307
+ result.reason = 'authority-refused';
308
+ }
250
309
  }
251
310
  // Author-phase index write (b): ONE off-thread re-read+apply+write of the
252
311
  // ≤maxNodesPerPass summary deltas. Never a per-node main-thread index write.
@@ -372,6 +431,7 @@ export class CartographerSweepEngine {
372
431
  const coveredSymbols = extractCodeSymbols(read.content);
373
432
  const prompt = this.buildLeafPrompt(node.path, read.content, read.truncated);
374
433
  const summary = await this.callAuthor(prompt);
434
+ this.requirePaidAuthority();
375
435
  return this.persistAuthored(node, summary, coveredSymbols, framework, deltas, {
376
436
  modelTier: 'light', truncated: read.truncated,
377
437
  });
@@ -397,6 +457,7 @@ export class CartographerSweepEngine {
397
457
  const coveredSymbols = extractCodeSymbols(coveredText);
398
458
  const prompt = this.buildDirPrompt(node.path, childSummaries, children.map((c) => basename(c.path)));
399
459
  const summary = await this.callAuthor(prompt);
460
+ this.requirePaidAuthority();
400
461
  return this.persistAuthored(node, summary, coveredSymbols, framework, deltas, {
401
462
  modelTier: 'light', childDigestHash: digest,
402
463
  });
@@ -440,6 +501,12 @@ export class CartographerSweepEngine {
440
501
  model: 'fast', // framework-agnostic light tier — NEVER a vendor model name
441
502
  }), this.d.config.estCentsPerAuthor);
442
503
  }
504
+ /** Close the LLM-await TOCTOU window immediately before a summary write. */
505
+ requirePaidAuthority() {
506
+ const authority = this.d.authorizePaidAuthoring();
507
+ if (!authority.ok)
508
+ throw new SweepAuthorityRefusedError(authority.reason);
509
+ }
443
510
  // ── re-validation sample (fresh ≠ correct) ──────────────────────────────────
444
511
  async revalidateSample(samplePaths, framework, result, deltas) {
445
512
  // fix instar#1069: the oldest-fresh nominees come from the off-thread detect
@@ -450,6 +517,13 @@ export class CartographerSweepEngine {
450
517
  for (const p of samplePaths) {
451
518
  if (result.centsSpent + this.d.config.estCentsPerAuthor > this.d.config.maxCentsPerPass)
452
519
  break;
520
+ const authority = this.d.authorizePaidAuthoring();
521
+ if (!authority.ok) {
522
+ result.refused = true;
523
+ result.refusalReason = authority.reason;
524
+ result.reason = 'authority-refused';
525
+ break;
526
+ }
453
527
  const node = this.d.tree.getNode(p);
454
528
  if (!node)
455
529
  continue;
@@ -461,6 +535,12 @@ export class CartographerSweepEngine {
461
535
  }
462
536
  }
463
537
  catch (err) {
538
+ if (err instanceof SweepAuthorityRefusedError) {
539
+ result.refused = true;
540
+ result.refusalReason = err.reason;
541
+ result.reason = 'authority-refused';
542
+ break;
543
+ }
464
544
  if (this.isAbort(err))
465
545
  break;
466
546
  // a failed re-validation is non-fatal; leave the node as-is.
@@ -1 +1 @@
1
- {"version":3,"file":"CartographerSweepEngine.js","sourceRoot":"","sources":["../../src/core/CartographerSweepEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CartographerSweepEngine.js","sourceRoot":"","sources":["../../src/core/CartographerSweepEngine.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,12 @@ export interface CartographerConfig {
81
81
  projectDir: string;
82
82
  /** Instar state directory (cartographer state nests under here). */
83
83
  stateDir: string;
84
+ /**
85
+ * Optional verified-root namespace. When supplied, state is isolated under
86
+ * cartographer/roots/<namespace>. Omitted preserves the legacy singleton path
87
+ * exactly; PR 11B-1 adds the inert storage substrate without changing callers.
88
+ */
89
+ stateNamespace?: string;
84
90
  /** Hard cap on descent depth (default 12). */
85
91
  maxDepth?: number;
86
92
  /** File extensions that become leaf nodes (default ts/js/mjs/cjs). */