@cat-factory/agents 0.100.0 → 0.101.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.
@@ -73,6 +73,15 @@ export declare class FoundationalServiceSourceService {
73
73
  */
74
74
  refreshStale(staleAfterMs: number, limit: number): Promise<number>;
75
75
  private runSync;
76
+ /**
77
+ * Log the two coverage outcomes an operator would want to know about, each named for the fix
78
+ * it needs — a truncated walk asks for a narrower link, a missing folder for a corrected one.
79
+ *
80
+ * This is the ONLY standing signal an AUTOREFRESH pass leaves: the sweep discards the sync
81
+ * result, so a folder that vanished upstream reaches a human through this line or not at all.
82
+ * (A manual resync also surfaces both on the SPA's toast.)
83
+ */
84
+ private warnAboutCoverage;
76
85
  /**
77
86
  * `folder` mode: ONE service, named on the link, whose contracts are every contract document
78
87
  * under the linked folder (and its subfolders when the link says so).
@@ -99,12 +108,23 @@ export declare class FoundationalServiceSourceService {
99
108
  * tells a downstream agent how to read it, and a "contract" nobody can interpret is worse in
100
109
  * an agent's context than an absent one.
101
110
  *
102
- * A path whose EXTENSION could never yield a format is dropped without a read and without a
103
- * count it is a README beside the specs, not a contract that failed. Everything else that
104
- * fails is COUNTED on the report, because a link that produced fewer contracts than its
105
- * author expected has no other explanation available to them.
111
+ * A path that could never yield a format is dropped without a read and without a count — it
112
+ * is a README or a `package.json` beside the specs, not a contract that failed. Everything
113
+ * else that fails is COUNTED on the report and NAMED in the log (see {@link skip}), because a
114
+ * link that produced fewer contracts than its author expected has no other explanation
115
+ * available to them.
106
116
  */
107
117
  private readContracts;
118
+ /**
119
+ * Count one dropped candidate and name it in the log.
120
+ *
121
+ * The count alone answers "did I lose anything?" but never "which file, and why?" — and one
122
+ * reason is undiagnosable without the log line: a DUPLICATE contract id silently keeps the
123
+ * first claimant, so the losing document is absent from the catalog under a name that is
124
+ * present. `debug` rather than `warn` because a thin catalog entry is usually intended (prose
125
+ * and drafts sit beside specs); the count on the sync result is what asks for attention.
126
+ */
127
+ private skip;
108
128
  private writeService;
109
129
  private listDir;
110
130
  private readFile;
@@ -1 +1 @@
1
- {"version":3,"file":"FoundationalServiceSourceService.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EACnC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAEV,qBAAqB,EACrB,KAAK,EAEL,6BAA6B,EAE7B,mCAAmC,EACnC,YAAY,EACZ,WAAW,EACX,MAAM,EAEP,MAAM,qBAAqB,CAAA;AAqD5B;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,4CAA4C;IAC3D,mCAAmC,EAAE,mCAAmC,CAAA;IACxE,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,iCAAiC,CAAA;IACxD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,gCAAgC;IAG/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,4CAA4C,EAE9E;IAED,2DAA2D;IACrD,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAGtC;IAED,wFAAwF;IAClF,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAiCpC;IAED,+DAA+D;IACzD,MAAM,CACV,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgBf;IAED,yFAAyF;IACnF,MAAM,CACV,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,+BAA+B,CAAC,CAI1C;IAED,kGAAkG;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAQvE;IAED,uFAAuF;IACjF,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,6BAA6B,CAAC,CAExC;IAED;;;;;;;;;OASG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBvE;YAIa,OAAO;IA8DrB;;;OAGG;YACW,eAAe;IA4E7B,mGAAmG;YACrF,kBAAkB;IAWhC,wFAAwF;YAC1E,oBAAoB;IAkFlC,0FAA0F;YAC5E,cAAc;IA8C5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;;;;OAUG;YACW,aAAa;YAgEb,YAAY;IAsC1B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,QAAQ;YAcF,OAAO;YAkBP,mBAAmB;CAUlC"}
1
+ {"version":3,"file":"FoundationalServiceSourceService.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,6BAA6B,EAC7B,kCAAkC,EACnC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAEV,qBAAqB,EACrB,KAAK,EAEL,6BAA6B,EAE7B,mCAAmC,EACnC,YAAY,EACZ,WAAW,EACX,MAAM,EAEP,MAAM,qBAAqB,CAAA;AAqD5B;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,4CAA4C;IAC3D,mCAAmC,EAAE,mCAAmC,CAAA;IACxE,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,iCAAiC,CAAA;IACxD,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAChG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,gCAAgC;IAG/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,IAAI,EAAE,4CAA4C,EAE9E;IAED,2DAA2D;IACrD,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAGtC;IAED,wFAAwF;IAClF,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,yBAAyB,CAAC,CAiCpC;IAED,+DAA+D;IACzD,MAAM,CACV,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgBf;IAED,yFAAyF;IACnF,MAAM,CACV,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,+BAA+B,CAAC,CAI1C;IAED,kGAAkG;IAC5F,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAQvE;IAED,uFAAuF;IACjF,IAAI,CACR,SAAS,EAAE,4BAA4B,EACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,6BAA6B,CAAC,CAExC;IAED;;;;;;;;;OASG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBvE;YAIa,OAAO;IA8DrB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;YACW,eAAe;IA0F7B,mGAAmG;YACrF,kBAAkB;IAWhC,wFAAwF;YAC1E,oBAAoB;IAkFlC,0FAA0F;YAC5E,cAAc;IA8C5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;;;;;OAWG;YACW,aAAa;IAgE3B;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI;YAkBE,YAAY;IAsC1B,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,QAAQ;YAcF,OAAO;YAkBP,mBAAmB;CAUlC"}
@@ -141,7 +141,7 @@ export class FoundationalServiceSourceService {
141
141
  // Accumulated by the reconcile and lifted onto the result below. The shared engine has no
142
142
  // notion of a dropped file, and giving it one would put a foundational-services concern in
143
143
  // the module the fragment and skill libraries share.
144
- const report = { skipped: 0, truncated: false };
144
+ const report = { skipped: 0, folderScan: null };
145
145
  const outcome = await syncRepoSource({
146
146
  source,
147
147
  installationId,
@@ -154,6 +154,14 @@ export class FoundationalServiceSourceService {
154
154
  // it moved (manifest OR contract document), so every service is unchanged and not a
155
155
  // single per-directory read is paid for.
156
156
  if (!commitMoved) {
157
+ // A source that has NEVER synced reaches this line only because the head probe found
158
+ // no commit for its path AT ALL — for a repo we can read, that means the path is not
159
+ // there. Say so: the walk short-circuits before it could observe the empty listing,
160
+ // so without this a link with a mistyped folder syncs "successfully" forever, and the
161
+ // author is told 0 updated / 0 removed by a source that can never produce anything.
162
+ if (source.mode === 'folder' && source.lastSyncedCommit === null) {
163
+ report.folderScan = 'missing';
164
+ }
157
165
  return {
158
166
  liveIds: new Set(existing.map((s) => s.serviceId)),
159
167
  upserted: 0,
@@ -174,16 +182,32 @@ export class FoundationalServiceSourceService {
174
182
  updateSyncState: (commit, now) => this.deps.foundationalServiceSourceRepository.updateSyncState(source.id, commit, now),
175
183
  invalidate: () => this.deps.invalidateCatalog?.(source.ownerKind, source.ownerId) ?? Promise.resolve(),
176
184
  });
177
- if (report.truncated) {
178
- this.log.warn('Foundational folder source truncated by a scan cap', {
179
- sourceId: source.id,
180
- ownerKind: source.ownerKind,
181
- ownerId: source.ownerId,
182
- dirPath: source.dirPath,
183
- recursive: source.recursive,
184
- });
185
+ this.warnAboutCoverage(source, report.folderScan);
186
+ return { ...outcome, skippedFiles: report.skipped, folderScan: report.folderScan };
187
+ }
188
+ /**
189
+ * Log the two coverage outcomes an operator would want to know about, each named for the fix
190
+ * it needs — a truncated walk asks for a narrower link, a missing folder for a corrected one.
191
+ *
192
+ * This is the ONLY standing signal an AUTOREFRESH pass leaves: the sweep discards the sync
193
+ * result, so a folder that vanished upstream reaches a human through this line or not at all.
194
+ * (A manual resync also surfaces both on the SPA's toast.)
195
+ */
196
+ warnAboutCoverage(source, coverage) {
197
+ if (coverage === null || coverage === 'complete')
198
+ return;
199
+ const fields = {
200
+ sourceId: source.id,
201
+ ownerKind: source.ownerKind,
202
+ ownerId: source.ownerId,
203
+ dirPath: source.dirPath,
204
+ recursive: source.recursive,
205
+ };
206
+ if (coverage === 'truncated') {
207
+ this.log.warn('Foundational folder source truncated by a scan cap', fields);
208
+ return;
185
209
  }
186
- return { ...outcome, skippedFiles: report.skipped, truncated: report.truncated };
210
+ this.log.warn('Foundational folder source points at a folder that is not there', fields);
187
211
  }
188
212
  /**
189
213
  * `folder` mode: ONE service, named on the link, whose contracts are every contract document
@@ -197,10 +221,11 @@ export class FoundationalServiceSourceService {
197
221
  root: source.dirPath,
198
222
  recursive: source.recursive,
199
223
  });
200
- // A truncation is a STABLE outcome, so it is reported but never folded into `incomplete`:
201
- // holding the pin back would make the next sync re-read, truncate identically, and the
202
- // source would look permanently behind while serving exactly what it already serves.
203
- report.truncated = scan.truncated;
224
+ report.folderScan = scan.coverage;
225
+ // Candidates the WALK declined (too large to read) join the ones that failed on their
226
+ // bodies: both are files that looked like contracts and are not in the catalog, which is
227
+ // the one question the count answers.
228
+ report.skipped += scan.skippedCandidates;
204
229
  const contracts = await this.readContracts({
205
230
  source,
206
231
  installationId,
@@ -212,25 +237,37 @@ export class FoundationalServiceSourceService {
212
237
  contractIdFor: (path) => contractIdFromRelativePath(path, source.dirPath),
213
238
  });
214
239
  if (contracts.length === 0) {
215
- // Two DIFFERENT zero-contract outcomes reach this line, and only one of them is a failure.
240
+ // THREE different states produce zero contracts, and the disposition splits on whether we
241
+ // have EVIDENCE about the folder — never on the empty result alone, which they share.
216
242
  //
217
- // Nothing under the folder even LOOKED like a contract: a spec folder nobody has filled in
218
- // yet, one holding only prose, or one whose contents were removed upstream (a listing of a
219
- // missing path reads back empty, not as an error). That is a stable state, so the pass is
220
- // COMPLETE pin it, and let the tombstone sweep retire a service whose folder was emptied,
221
- // exactly as `directory` mode retires a directory that lost its `service.md`. Calling it
222
- // incomplete instead would hold the pin back forever: every later sweep would re-walk the
223
- // whole subtree to reach the same answer while the source never stopped reporting changes
224
- // upstream the very re-read loop the truncation disposition above exists to avoid.
225
- if (scan.paths.length === 0)
243
+ // STABLE the walk saw the whole folder (`complete`), or the folder is not there at all
244
+ // (`missing`; git cannot store an empty directory, so an empty root listing means absent),
245
+ // and nothing under it even LOOKED like a contract. A spec folder nobody has filled in
246
+ // yet, one holding only prose, or one emptied upstream. Pin, and let the tombstone sweep
247
+ // retire the service, exactly as `directory` mode retires a directory that lost its
248
+ // `service.md`. Calling this incomplete instead would hold the pin back forever: every
249
+ // later sweep would re-walk the whole subtree to reach the same answer while the source
250
+ // never stopped reporting changes upstream.
251
+ if (scan.paths.length === 0 && scan.coverage !== 'truncated') {
226
252
  return { liveIds: new Set(), upserted: 0, unchanged: 0 };
227
- // Candidates WERE found and every one of them read back unusable — a transient read
228
- // failure, or a tree caught mid-edit. Keep a prior row alive and leave the pin behind so
229
- // the next pass re-reads, the same disposition `files` mode takes, for the same reason:
230
- // retiring a service over a momentary read failure strips a capability from every
231
- // subsequent design.
232
- if (prior)
253
+ }
254
+ // TRANSIENT either a cap stopped the walk BEFORE it reached any candidate, or every
255
+ // candidate it did reach read back unusable.
256
+ //
257
+ // The first is why the stable branch above tests coverage and not just the count: a
258
+ // truncated walk that found nothing is a statement about the WALK, not about the folder.
259
+ // A recursive link over a wide tree whose specs sit below the visited prefix would
260
+ // otherwise retire a live service on the strength of directories we declined to list, and
261
+ // pin the commit so it stayed retired. (A truncated walk that DID produce contracts is
262
+ // stable and pins normally — it is only the absence of evidence that is not evidence.)
263
+ //
264
+ // The second is the same disposition `files` mode takes, for the same reason: retiring a
265
+ // service over a momentary read failure strips a capability from every subsequent design.
266
+ //
267
+ // Both leave the pin behind so the next pass re-reads, and keep a prior row alive.
268
+ if (prior) {
233
269
  return { liveIds: new Set([serviceId]), upserted: 0, unchanged: 1, incomplete: true };
270
+ }
234
271
  return { liveIds: new Set(), upserted: 0, unchanged: 0, incomplete: true };
235
272
  }
236
273
  // An OPTIONAL `service.md` at the folder root enriches the catalog entry; it can never
@@ -376,10 +413,11 @@ export class FoundationalServiceSourceService {
376
413
  * tells a downstream agent how to read it, and a "contract" nobody can interpret is worse in
377
414
  * an agent's context than an absent one.
378
415
  *
379
- * A path whose EXTENSION could never yield a format is dropped without a read and without a
380
- * count it is a README beside the specs, not a contract that failed. Everything else that
381
- * fails is COUNTED on the report, because a link that produced fewer contracts than its
382
- * author expected has no other explanation available to them.
416
+ * A path that could never yield a format is dropped without a read and without a count — it
417
+ * is a README or a `package.json` beside the specs, not a contract that failed. Everything
418
+ * else that fails is COUNTED on the report and NAMED in the log (see {@link skip}), because a
419
+ * link that produced fewer contracts than its author expected has no other explanation
420
+ * available to them.
383
421
  */
384
422
  async readContracts(params) {
385
423
  const { source, installationId, readRef, serviceId, paths, now, report, contractIdFor } = params;
@@ -392,17 +430,17 @@ export class FoundationalServiceSourceService {
392
430
  const fetched = await pMap(paths.filter(isContractCandidatePath), async (path) => ({ path, file: await this.readFile(source, installationId, path, readRef) }), { concurrency: CONTRACT_READ_CONCURRENCY });
393
431
  for (const { path, file } of fetched) {
394
432
  if (!file) {
395
- report.skipped++;
433
+ this.skip(report, source, path, 'unreadable');
396
434
  continue;
397
435
  }
398
436
  const format = detectContractFormat(path, file.content);
399
437
  if (!format) {
400
- report.skipped++;
438
+ this.skip(report, source, path, 'unrecognised');
401
439
  continue;
402
440
  }
403
441
  const contractId = contractIdFor(path);
404
442
  if (seen.has(contractId)) {
405
- report.skipped++;
443
+ this.skip(report, source, path, 'duplicate-contract-id', { contractId });
406
444
  continue;
407
445
  }
408
446
  seen.add(contractId);
@@ -431,6 +469,26 @@ export class FoundationalServiceSourceService {
431
469
  }
432
470
  return out;
433
471
  }
472
+ /**
473
+ * Count one dropped candidate and name it in the log.
474
+ *
475
+ * The count alone answers "did I lose anything?" but never "which file, and why?" — and one
476
+ * reason is undiagnosable without the log line: a DUPLICATE contract id silently keeps the
477
+ * first claimant, so the losing document is absent from the catalog under a name that is
478
+ * present. `debug` rather than `warn` because a thin catalog entry is usually intended (prose
479
+ * and drafts sit beside specs); the count on the sync result is what asks for attention.
480
+ */
481
+ skip(report, source, path, reason, fields) {
482
+ report.skipped++;
483
+ this.log.debug('Skipped a foundational contract candidate', {
484
+ sourceId: source.id,
485
+ ownerKind: source.ownerKind,
486
+ ownerId: source.ownerId,
487
+ path,
488
+ reason,
489
+ ...fields,
490
+ });
491
+ }
434
492
  async writeService(source, identity, contracts, prior, readRef, now) {
435
493
  await this.deps.foundationalServiceRepository.upsert({
436
494
  serviceId: identity.serviceId,
@@ -1 +1 @@
1
- {"version":3,"file":"FoundationalServiceSourceService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FoundationalServiceSourceService.js","sourceRoot":"","sources":["../../src/foundationalServices/FoundationalServiceSourceService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { FolderScanCoverage } from '@cat-factory/contracts';
1
2
  import type { RepoContentEntry } from '@cat-factory/kernel';
2
3
  /**
3
4
  * How many subfolder levels below the scanned root a recursive walk descends. Deep enough for
@@ -24,6 +25,19 @@ export declare const MAX_FOLDER_CONTRACT_FILES = 100;
24
25
  * seconds and one that takes minutes.
25
26
  */
26
27
  export declare const FOLDER_SCAN_CONCURRENCY = 8;
28
+ /**
29
+ * How large a candidate file may be before the walk declines to read it.
30
+ *
31
+ * Pinned to the host contents API's own ceiling rather than chosen freely: above 1 MiB GitHub
32
+ * answers a file read with EMPTY content, so fetching one can only ever cost a round trip and
33
+ * produce a skip. Declining it up front turns that into a reported skip with no read, and keeps
34
+ * a multi-megabyte document out of the YAML parser on the runtimes that do return it.
35
+ *
36
+ * A cap on the WALK, not on what a contract may be: `files` and `directory` sources name their
37
+ * documents, so nobody is protected from a file they asked for by name. It is the unbounded
38
+ * discovery that needs a bound.
39
+ */
40
+ export declare const MAX_FOLDER_CONTRACT_FILE_BYTES: number;
27
41
  /** Lists one repo directory at the scan's pinned ref. */
28
42
  export type ListRepoDirectory = (path: string) => Promise<RepoContentEntry[]>;
29
43
  export interface FolderScanResult {
@@ -32,11 +46,17 @@ export interface FolderScanResult {
32
46
  /** The OPTIONAL `service.md` sitting at the folder root, if there is one. */
33
47
  manifestPath: string | null;
34
48
  /**
35
- * A cap stopped the walk short, so {@link paths} is a PREFIX of what the folder holds. The
36
- * caller reports it; it is deliberately NOT treated as a transient failure, because a
37
- * re-read would truncate identically and the source would never look caught up.
49
+ * How much of the folder this walk saw. The caller BRANCHES on it, because "found no
50
+ * candidates" means opposite things depending on whether the walk finished: see the
51
+ * reconcile's three-way disposition.
52
+ */
53
+ coverage: FolderScanCoverage;
54
+ /**
55
+ * Candidates the walk declined to read at all (too large — {@link
56
+ * MAX_FOLDER_CONTRACT_FILE_BYTES}). Reported so a cap never drops a file in silence; the
57
+ * caller folds it into the sync's skipped count beside the files that failed on their bodies.
38
58
  */
39
- truncated: boolean;
59
+ skippedCandidates: number;
40
60
  }
41
61
  /**
42
62
  * Walk `root` for contract documents.
@@ -1 +1 @@
1
- {"version":3,"file":"folder-scan.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAc3D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;AA+D7E,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,6EAA6E;IAC7E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,iBAAiB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiD5B"}
1
+ {"version":3,"file":"folder-scan.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAc3D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAA;AAE9C;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,QAAc,CAAA;AAEzD,yDAAyD;AACzD,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;AA2E7E,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,6EAA6E;IAC7E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,iBAAiB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiE5B"}
@@ -34,6 +34,19 @@ export const MAX_FOLDER_CONTRACT_FILES = 100;
34
34
  * seconds and one that takes minutes.
35
35
  */
36
36
  export const FOLDER_SCAN_CONCURRENCY = 8;
37
+ /**
38
+ * How large a candidate file may be before the walk declines to read it.
39
+ *
40
+ * Pinned to the host contents API's own ceiling rather than chosen freely: above 1 MiB GitHub
41
+ * answers a file read with EMPTY content, so fetching one can only ever cost a round trip and
42
+ * produce a skip. Declining it up front turns that into a reported skip with no read, and keeps
43
+ * a multi-megabyte document out of the YAML parser on the runtimes that do return it.
44
+ *
45
+ * A cap on the WALK, not on what a contract may be: `files` and `directory` sources name their
46
+ * documents, so nobody is protected from a file they asked for by name. It is the unbounded
47
+ * discovery that needs a bound.
48
+ */
49
+ export const MAX_FOLDER_CONTRACT_FILE_BYTES = 1024 * 1024;
37
50
  /**
38
51
  * Classify one directory's entries. Pure and per-directory, so the walk above stays a loop over
39
52
  * levels and this stays the single place that decides what an entry IS.
@@ -47,6 +60,7 @@ function readDirectoryListing(dir, entries, recursive) {
47
60
  const children = [];
48
61
  let manifestPath = null;
49
62
  let depthCapped = false;
63
+ let oversize = 0;
50
64
  // Code-unit order, locale-independent — the same rule the `directory` reconcile sorts by, so
51
65
  // neither walk's outcome depends on ICU collation.
52
66
  const sorted = [...entries].sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
@@ -56,8 +70,17 @@ function readDirectoryListing(dir, entries, recursive) {
56
70
  manifestPath = entry.path;
57
71
  continue;
58
72
  }
59
- if (isContractCandidatePath(entry.path))
60
- files.push(entry.path);
73
+ if (!isContractCandidatePath(entry.path))
74
+ continue;
75
+ // A size the listing does not carry is not a size we may assume is over the cap: the
76
+ // read still has to happen, and an oversized body then reads back empty and is skipped
77
+ // there. Declining on an ABSENT size would silently drop contracts on any host whose
78
+ // listing omits it.
79
+ if (entry.size !== undefined && entry.size > MAX_FOLDER_CONTRACT_FILE_BYTES) {
80
+ oversize++;
81
+ continue;
82
+ }
83
+ files.push(entry.path);
61
84
  continue;
62
85
  }
63
86
  if (entry.type !== 'dir' || !recursive)
@@ -71,7 +94,7 @@ function readDirectoryListing(dir, entries, recursive) {
71
94
  }
72
95
  children.push({ path: entry.path, depth: dir.depth + 1 });
73
96
  }
74
- return { files, children, manifestPath, depthCapped };
97
+ return { files, children, manifestPath, depthCapped, oversize };
75
98
  }
76
99
  /**
77
100
  * Walk `root` for contract documents.
@@ -91,6 +114,12 @@ export async function scanContractFolder(params) {
91
114
  let manifestPath = null;
92
115
  let truncated = false;
93
116
  let listings = 0;
117
+ let skippedCandidates = 0;
118
+ // Git cannot represent an empty directory, so a root that lists NOTHING is a root that is not
119
+ // there — the host answers a missing path with an empty listing rather than an error. That
120
+ // makes this the one observation separating "the folder holds no contracts" from "the folder
121
+ // is gone", which the caller must tell apart to know whether retiring the service is warranted.
122
+ let rootIsEmpty = false;
94
123
  // One LEVEL at a time. The listings within a level are independent of each other, so they run
95
124
  // concurrently; the level boundary is what keeps the walk breadth-first, and therefore keeps
96
125
  // the visit order — and every cap's outcome — identical to a one-at-a-time walk.
@@ -114,11 +143,14 @@ export async function scanContractFolder(params) {
114
143
  });
115
144
  const next = [];
116
145
  for (const { dir, entries } of listed) {
146
+ if (dir.depth === 0 && entries.length === 0)
147
+ rootIsEmpty = true;
117
148
  const yielded = readDirectoryListing(dir, entries, recursive);
118
149
  if (yielded.manifestPath)
119
150
  manifestPath = yielded.manifestPath;
120
151
  if (yielded.depthCapped)
121
152
  truncated = true;
153
+ skippedCandidates += yielded.oversize;
122
154
  for (const file of yielded.files) {
123
155
  if (paths.length >= MAX_FOLDER_CONTRACT_FILES) {
124
156
  truncated = true;
@@ -134,6 +166,14 @@ export async function scanContractFolder(params) {
134
166
  // prefix — say so rather than letting a full-looking list stand for a partial folder.
135
167
  if (frontier.length > 0 && paths.length >= MAX_FOLDER_CONTRACT_FILES)
136
168
  truncated = true;
137
- return { paths, manifestPath, truncated };
169
+ // `missing` outranks `truncated` because it cannot co-occur with it in any real walk: an
170
+ // absent root queues no children, so nothing is left for a cap to refuse. Stating the
171
+ // precedence anyway keeps the invariant on the page rather than in the reader's head.
172
+ const coverage = rootIsEmpty
173
+ ? 'missing'
174
+ : truncated
175
+ ? 'truncated'
176
+ : 'complete';
177
+ return { paths, manifestPath, coverage, skippedCandidates };
138
178
  }
139
179
  //# sourceMappingURL=folder-scan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"folder-scan.js","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-scan.js","sourceRoot":"","sources":["../../src/foundationalServices/folder-scan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-source.logic.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/foundational-source.logic.ts"],"names":[],"mappings":"AAcA,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAQ3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAMlF;AAiBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAWvD;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"foundational-source.logic.d.ts","sourceRoot":"","sources":["../../src/foundationalServices/foundational-source.logic.ts"],"names":[],"mappings":"AAcA,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAE3E;AAyBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAMlF;AAiBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAWvD;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -22,8 +22,17 @@ export const SERVICE_MANIFEST_FILE = 'service.md';
22
22
  * Architect's catalog with a service that has contracts and nothing saying what it is for.
23
23
  */
24
24
  export function parseServiceOverview(content) {
25
+ return overviewOf(splitManifest(content));
26
+ }
27
+ /**
28
+ * Split and parse a manifest ONCE. Both entry points below need the frontmatter and the body,
29
+ * and the name-checking one used to re-split the document to reach the overview.
30
+ */
31
+ function splitManifest(content) {
25
32
  const { frontmatter, body } = splitFrontmatter(content);
26
- const meta = parseSimpleYaml(frontmatter);
33
+ return { meta: parseSimpleYaml(frontmatter), body };
34
+ }
35
+ function overviewOf({ meta, body }) {
27
36
  return {
28
37
  summary: str(meta.summary) || str(meta.description),
29
38
  capabilities: strList(meta.capabilities),
@@ -40,11 +49,11 @@ export function parseServiceOverview(content) {
40
49
  * rather than two rows silently claiming the same id from different folders.
41
50
  */
42
51
  export function parseServiceManifest(content) {
43
- const { frontmatter } = splitFrontmatter(content);
44
- const name = str(parseSimpleYaml(frontmatter).name);
52
+ const split = splitManifest(content);
53
+ const name = str(split.meta.name);
45
54
  if (!name)
46
55
  return null;
47
- const overview = parseServiceOverview(content);
56
+ const overview = overviewOf(split);
48
57
  return { ...overview, name, summary: overview.summary || name };
49
58
  }
50
59
  function str(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-source.logic.js","sourceRoot":"","sources":["../../src/foundationalServices/foundational-source.logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-source.logic.js","sourceRoot":"","sources":["../../src/foundationalServices/foundational-source.logic.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/agents",
3
- "version": "0.100.0",
3
+ "version": "0.101.0",
4
4
  "description": "Agent catalog, routing, prompts and fragment library for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,14 +32,14 @@
32
32
  "handlebars": "^4.7.9",
33
33
  "p-map": "^7.0.6",
34
34
  "valibot": "^1.4.2",
35
- "@cat-factory/contracts": "0.208.0",
36
- "@cat-factory/kernel": "0.208.0",
37
- "@cat-factory/prompt-fragments": "0.15.32"
35
+ "@cat-factory/contracts": "0.209.0",
36
+ "@cat-factory/kernel": "0.209.0",
37
+ "@cat-factory/prompt-fragments": "0.15.33"
38
38
  },
39
39
  "devDependencies": {
40
40
  "typescript": "7.0.2",
41
41
  "vitest": "^4.1.10",
42
- "@cat-factory/caching": "0.12.5"
42
+ "@cat-factory/caching": "0.12.6"
43
43
  },
44
44
  "scripts": {
45
45
  "build": "tsc -b tsconfig.build.json",