agentfootprint 9.89.2 → 9.90.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/dist/conventions.js +146 -46
  3. package/dist/conventions.js.map +1 -1
  4. package/dist/core/LLMCall.js +13 -3
  5. package/dist/core/LLMCall.js.map +1 -1
  6. package/dist/core/agent/buildAgentChart.js +25 -8
  7. package/dist/core/agent/buildAgentChart.js.map +1 -1
  8. package/dist/core/agent/buildAgentMessageApiChart.js +12 -2
  9. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  10. package/dist/core/agent/buildDynamicAgentChart.js +27 -9
  11. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  12. package/dist/core/agent/buildMessageApiChart.js +6 -1
  13. package/dist/core/agent/buildMessageApiChart.js.map +1 -1
  14. package/dist/core/flowchartAsTool.js +2 -2
  15. package/dist/core/flowchartAsTool.js.map +1 -1
  16. package/dist/core/runbook/recording.js +5 -4
  17. package/dist/core/runbook/recording.js.map +1 -1
  18. package/dist/core/runbook/runbookAsTool.js +2 -2
  19. package/dist/core/runbook/runbookAsTool.js.map +1 -1
  20. package/dist/core/servableSnapshot.js +35 -83
  21. package/dist/core/servableSnapshot.js.map +1 -1
  22. package/dist/esm/conventions.d.ts +54 -0
  23. package/dist/esm/conventions.js +140 -44
  24. package/dist/esm/conventions.js.map +1 -1
  25. package/dist/esm/core/LLMCall.js +14 -4
  26. package/dist/esm/core/LLMCall.js.map +1 -1
  27. package/dist/esm/core/agent/buildAgentChart.js +26 -9
  28. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  29. package/dist/esm/core/agent/buildAgentMessageApiChart.js +13 -3
  30. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  31. package/dist/esm/core/agent/buildDynamicAgentChart.js +28 -10
  32. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  33. package/dist/esm/core/agent/buildMessageApiChart.js +7 -2
  34. package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
  35. package/dist/esm/core/flowchartAsTool.d.ts +21 -15
  36. package/dist/esm/core/flowchartAsTool.js +2 -2
  37. package/dist/esm/core/flowchartAsTool.js.map +1 -1
  38. package/dist/esm/core/runbook/recording.d.ts +5 -4
  39. package/dist/esm/core/runbook/recording.js +5 -4
  40. package/dist/esm/core/runbook/recording.js.map +1 -1
  41. package/dist/esm/core/runbook/runbookAsTool.js +2 -2
  42. package/dist/esm/core/runbook/runbookAsTool.js.map +1 -1
  43. package/dist/esm/core/runbook/types.d.ts +11 -7
  44. package/dist/esm/core/servableSnapshot.d.ts +34 -43
  45. package/dist/esm/core/servableSnapshot.js +35 -83
  46. package/dist/esm/core/servableSnapshot.js.map +1 -1
  47. package/dist/esm/index.d.ts +1 -1
  48. package/dist/esm/index.js +5 -0
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/lib/time-travel/milestoneStops.js +29 -9
  51. package/dist/esm/lib/time-travel/milestoneStops.js.map +1 -1
  52. package/dist/index.js +16 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/lib/time-travel/milestoneStops.js +29 -9
  55. package/dist/lib/time-travel/milestoneStops.js.map +1 -1
  56. package/dist/types/conventions.d.ts +54 -0
  57. package/dist/types/conventions.d.ts.map +1 -1
  58. package/dist/types/core/LLMCall.d.ts.map +1 -1
  59. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  60. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  61. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  62. package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
  63. package/dist/types/core/flowchartAsTool.d.ts +21 -15
  64. package/dist/types/core/flowchartAsTool.d.ts.map +1 -1
  65. package/dist/types/core/runbook/recording.d.ts +5 -4
  66. package/dist/types/core/runbook/recording.d.ts.map +1 -1
  67. package/dist/types/core/runbook/types.d.ts +11 -7
  68. package/dist/types/core/runbook/types.d.ts.map +1 -1
  69. package/dist/types/core/servableSnapshot.d.ts +34 -43
  70. package/dist/types/core/servableSnapshot.d.ts.map +1 -1
  71. package/dist/types/index.d.ts +1 -1
  72. package/dist/types/index.d.ts.map +1 -1
  73. package/dist/types/lib/time-travel/milestoneStops.d.ts.map +1 -1
  74. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -7,6 +7,129 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [9.90.0] - 2026-09-10
11
+
12
+ **The recording carries its own milestones.** Until now a stored run could not
13
+ say which of its stops were an LLM turn, a tool call or a decision: every reader
14
+ re-derived that from the stage id — `milestoneFor(runtimeStageId)`, a switch
15
+ that parses `#` and `/`, lives outside the recording, and goes stale the day a
16
+ stage is renamed. footprintjs 9.21 gave a chart a way to DECLARE a stage's
17
+ names at build time and stamp them on its first commit bundle
18
+ (`CommitBundle.tags`). This release puts the agent's milestones there — law 3
19
+ of footprintjs's declared-tags design: **the tag is the fact; the derivation is
20
+ the fallback.**
21
+
22
+ ### Added
23
+
24
+ - **Declared milestones, one vocabulary, one owner.** `conventions.ts` now
25
+ holds ONE table (local stage id → `Milestone`) that both `milestoneFor(id)`
26
+ and the new `milestoneTagsFor(localStageId)` read, so the fact on the bundle
27
+ and the fallback from the id can never disagree. Every milestone site in
28
+ `buildAgentChart`, `buildDynamicAgentChart`, `LLMCall` and the two messageAPI
29
+ charts declares `milestoneTagsFor(<its id>)` — never a literal. The wire
30
+ form: `milestone:<kind>` (what a reader filters on) and
31
+ `milestone-label:<label>` (the human word). Exported: `MILESTONE_KINDS`,
32
+ `MILESTONE_TAG_PREFIX`, `MILESTONE_LABEL_TAG_PREFIX`, `milestoneTag(kind)`,
33
+ `milestoneTags(milestone)`, `milestoneTagsFor(localStageId)` (throws for an
34
+ id the table does not classify — a wiring mistake is loud), and
35
+ `milestoneFromTags(tags, labelWhenUndeclared?)` (reads a bundle's tags back;
36
+ non-strings ignored; a `milestone:` tag with an unknown kind is `null`).
37
+ - **The Map advertises the vocabulary.** `buildTimeStructure` lists the tags
38
+ each stage CAN produce before any run — a lens draws its legend first.
39
+ - `examples/observability/25-declared-vs-derived-stops.ts` — one real run
40
+ scrubbed two ways: `tagStops(['milestone:llm-turn'])` (footprintjs's own
41
+ strategy, no agent id conventions) and a DERIVED mark (a write-set predicate:
42
+ stops where `currentSkillId` was written), with the measured cost of each on
43
+ 42 commits — declared 0.016 ms, write-set 0.020 ms, `milestoneStops`
44
+ 0.018 ms, and a `stateAt` fold per candidate stop 11.7 ms (≈ 750×). That
45
+ ratio is why the declaration is the fact and the derivation is the fallback.
46
+
47
+ ### Changed
48
+
49
+ - **`milestoneStops` reads the bundle first.** A stop's first bundle
50
+ (`log[stop.commitIdx]`, where footprintjs stamps the tags) decides: tags
51
+ present → they are the milestone, and a bundle tagged as something ELSE is
52
+ not a stop however recognisable its id; no tags at all → `milestoneFor(id)`,
53
+ exactly as before. A recording made before 9.90.0 therefore yields the same
54
+ axis it always did; `milestoneOf(stop)`, `Stop<Milestone>` and the labels
55
+ are unchanged in shape. `test/lib/time-travel/milestone-stops-equivalence.test.ts`
56
+ now also pins the TAG-ONLY axis against the id axis on every fixture (both
57
+ chart shapes, every drill, a paused-then-resumed run, an `LLMCall`) — the
58
+ forgotten-tag catch: a declaration site without its tag goes red — plus a
59
+ stripped-tags recording (the fallback), a mixed log, and the Map.
60
+ - **footprintjs `^9.21.1` (was `^9.20.0`)** — dev and peer. 9.21.1 is the
61
+ release that lets a subflow mounted as a decider / selector BRANCH carry
62
+ declared tags (`SubflowMountOptions.tags`, landing on the mount's FIRST
63
+ bundle), which is how the three context slots — `sf-system-prompt` /
64
+ `sf-messages` / `sf-tools`, selector branches in every Agent chart — declare
65
+ `milestone:slot`. **Every milestone stage is declared.** On a 9.90.0
66
+ recording the id fallback runs zero times, and the equivalence test counts
67
+ it on every fixture, so a future undeclared site is caught even where the
68
+ fallback would have hidden it on the axis.
69
+
70
+ ```ts
71
+ import { tagStops, timeTravel } from 'footprintjs/trace';
72
+ import { milestoneTag, milestoneStopsStrategy } from 'agentfootprint';
73
+
74
+ // A reader with NO agent id conventions — footprintjs's own strategy, our word:
75
+ const turns = timeTravel(agent.getSnapshot()!, { strategy: tagStops([milestoneTag('llm-turn')]) });
76
+ turns.stops.map((s) => s.label); // ['Run start', 'CallLLM', 'CallLLM', 'Run end']
77
+ turns.stops[1].meta; // ['milestone:llm-turn', 'milestone-label:LLM turn']
78
+
79
+ // The agent's own axis, unchanged in shape — tag first, id fallback:
80
+ const all = timeTravel(agent.getSnapshot()!, { strategy: milestoneStopsStrategy });
81
+ all.stops[5].meta; // { kind: 'llm-turn', label: 'LLM turn' } — read off the bundle
82
+ ```
83
+
84
+ ## [9.89.3] - 2026-09-10
85
+
86
+ **One owner of a subflow's served state.** A patch: no signature changes; a
87
+ tool without `redact` behaves byte for byte as before.
88
+
89
+ ### Changed
90
+
91
+ - **footprintjs `^9.20.0` (was `^9.19.1`), and the refold in
92
+ `servableSnapshot` is deleted.** 9.89.1 made `servableSnapshot` the one
93
+ owner of what `flowchartAsTool({ redact })` / `runbookAsTool({ redact })`
94
+ may show, and had to refold every subflow's final state from its scrubbed
95
+ `history` with footprintjs's `stateAt`, because
96
+ `getSnapshot({ redact: true })` served
97
+ `subflowResults[*].treeContext.globalContext` (and its `#n` twin) as the
98
+ subflow's RAW heap — footprintjs mirrored the run-level runtime only, and
99
+ 9.89.2 named it as the one limit left. footprintjs 9.20.0 closed it at the
100
+ root: a subflow keeps its own redacted mirror whenever the run does, and the
101
+ redacted view serves that mirror as one object under both keys, equal to the
102
+ fold over the subflow's scrubbed history. With that, the refold here was a
103
+ SECOND owner of the same rule — and two owners drift — so it is gone: under
104
+ a policy `servableSnapshot` returns `executor.getSnapshot({ redact: true })`
105
+ exactly as the substrate serves it, and without one `executor.getSnapshot()`
106
+ as before. Removed from `src/core/servableSnapshot.ts`: `refoldSubflowStates`,
107
+ `refoldOne`, `isSubflowStateEntry`, the `SubflowStateEntry` type and the
108
+ `footprintjs/trace` import. The five 9.19 proofs of 9.89.2 (§6) stay green.
109
+
110
+ What a consumer sees — the same served state, now from the substrate, with
111
+ ONE byte-level difference under a policy: a subflow entry's
112
+ `treeContext.initialState` (its pre-seed base, `{}` — the seed is a commit,
113
+ `history[0]`) is no longer dropped by this package but served as footprintjs
114
+ serves it. `test/core/flowchartAsTool.redact.test.ts` §7 flips: footprintjs's
115
+ own redacted view holds the placeholder (red on 9.19.x), and
116
+ `servableSnapshot`'s view is that very object (identity), not a refold:
117
+
118
+ ```ts
119
+ const executor = new FlowChartExecutor(chart); // mounts a subflow that writes innerKey
120
+ executor.setRedactionPolicy({ keys: ['innerKey'] });
121
+ await executor.run({ input: {} });
122
+ executor.getSnapshot({ redact: true }).subflowResults!['sf'].treeContext.globalContext;
123
+ // { innerKey: 'REDACTED', derived: 'ok' } — the subflow's own mirror (the raw heap on 9.19.x)
124
+ servableSnapshot(executor, policy); // the object getSnapshot({ redact: true }) returned — nothing rewritten
125
+ ```
126
+
127
+ The `redact` JSDoc on both options, `servableSnapshot`'s module note, the
128
+ runbook recording notes, the runbook-as-tool guide and entry 6 of
129
+ `docs/design/2026-09-recorded-not-built.md` now say the limit closed instead
130
+ of answering it: nothing left the log carries that the served view does not
131
+ scrub; the resume checkpoint is, as before, not a served view.
132
+
10
133
  ## [9.89.2] - 2026-09-10
11
134
 
12
135
  **A redacted tool is as clean as the log, and the log is clean.** A patch: no
@@ -11,7 +11,7 @@
11
11
  * Rename any ID here → both builders and recorders stay in sync.
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isInjectionKey = exports.injectionKeyForSlot = exports.INJECTION_KEYS = exports.milestoneFor = exports.stageRole = exports.isKnownStage = exports.isKnownSubflow = exports.slotFromRuntimeStageId = exports.slotFromSubflowId = exports.isSlotSubflow = exports.STAGE_IDS = exports.assertUnreservedSubflowSegment = exports.isReservedSubflowSegment = exports.RESERVED_SUBFLOW_PREFIX = exports.SUBFLOW_IDS = void 0;
14
+ exports.isInjectionKey = exports.injectionKeyForSlot = exports.INJECTION_KEYS = exports.milestoneFromTags = exports.milestoneTagsFor = exports.milestoneTags = exports.milestoneTag = exports.MILESTONE_LABEL_TAG_PREFIX = exports.MILESTONE_TAG_PREFIX = exports.milestoneFor = exports.MILESTONE_KINDS = exports.stageRole = exports.isKnownStage = exports.isKnownSubflow = exports.slotFromRuntimeStageId = exports.slotFromSubflowId = exports.isSlotSubflow = exports.STAGE_IDS = exports.assertUnreservedSubflowSegment = exports.isReservedSubflowSegment = exports.RESERVED_SUBFLOW_PREFIX = exports.SUBFLOW_IDS = void 0;
15
15
  const trace_1 = require("footprintjs/trace");
16
16
  /** Subflow IDs — mounted by builders, observed by recorders. */
17
17
  exports.SUBFLOW_IDS = {
@@ -328,6 +328,54 @@ function stageRole(id) {
328
328
  return 'boundary'; // unknown → neutral (never silently muted)
329
329
  }
330
330
  exports.stageRole = stageRole;
331
+ /** Every {@link MilestoneKind}, for validating a kind read off a recording. */
332
+ exports.MILESTONE_KINDS = Object.freeze([
333
+ 'iteration',
334
+ 'slot',
335
+ 'llm-turn',
336
+ 'tool-call',
337
+ 'decision',
338
+ ]);
339
+ const milestone = (kind, label) => Object.freeze({ kind, label });
340
+ /**
341
+ * THE milestone table — local stage id → {@link Milestone}. One owner, two
342
+ * readers: {@link milestoneFor} classifies an id from a recording made BEFORE
343
+ * the chart declared tags (9.90.0), and {@link milestoneTagsFor} is what every
344
+ * chart-building site declares from, so the fact stamped on the commit bundle
345
+ * and the fallback derived from the id can never disagree.
346
+ */
347
+ const MILESTONES = new Map([
348
+ // Loop entry — one per ReAct iteration. INJECTION_ENGINE is the flat loop
349
+ // target; LLM_CALL is the subflow-shape loop target.
350
+ [exports.SUBFLOW_IDS.INJECTION_ENGINE, milestone('iteration', 'Iteration')],
351
+ [exports.SUBFLOW_IDS.LLM_CALL, milestone('iteration', 'Iteration')],
352
+ // Context slots — one stop per slot that was engineered THIS iteration. In
353
+ // dynamic mode all three appear every turn; in classic mode only the slot
354
+ // that actually re-ran (Messages) appears after turn 1 — so scrubbing shows
355
+ // exactly "which slot got updated."
356
+ [exports.SUBFLOW_IDS.SYSTEM_PROMPT, milestone('slot', 'System prompt')],
357
+ [exports.SUBFLOW_IDS.MESSAGES, milestone('slot', 'Messages')],
358
+ [exports.SUBFLOW_IDS.TOOLS, milestone('slot', 'Tools')],
359
+ [exports.STAGE_IDS.CALL_LLM, milestone('llm-turn', 'LLM turn')],
360
+ [exports.STAGE_IDS.MERGE_LLM, milestone('llm-turn', 'LLM turn')],
361
+ // Tool execution mounts under the bare branch key 'tool-calls'.
362
+ ['tool-calls', milestone('tool-call', 'Tool call')],
363
+ [exports.SUBFLOW_IDS.TOOL_CALLS, milestone('tool-call', 'Tool call')],
364
+ [exports.SUBFLOW_IDS.ROUTE, milestone('decision', 'Route')],
365
+ // The answer failed its schema and the loop asked again — a stop worth
366
+ // scrubbing to, because everything after it is a second attempt.
367
+ [exports.STAGE_IDS.OUTPUT_RETRY, milestone('decision', 'Schema retry')],
368
+ // The answer left declared steps unrun and the one teaching nudge went
369
+ // back (9.18.0) — everything after it is the model finishing (or
370
+ // explaining) its procedure.
371
+ [exports.STAGE_IDS.STEP_NUDGE, milestone('decision', 'Step nudge')],
372
+ // The answer stated values no tool result carried and the one revision
373
+ // went back (9.35.0) — everything after it is the model's second try.
374
+ [exports.STAGE_IDS.EVIDENCE_RECHECK, milestone('decision', 'Evidence recheck')],
375
+ // The action budget ran out and the turn was wrapped up (9.56.0) —
376
+ // everything after it is the model summarizing with no tools to call.
377
+ [exports.STAGE_IDS.WRAP_UP, milestone('decision', 'Wrap up')],
378
+ ]);
331
379
  /**
332
380
  * Classify a stage id into a {@link Milestone}, or `null` when the stage is NOT
333
381
  * a milestone boundary (its commits fold into the surrounding milestone's
@@ -335,6 +383,14 @@ exports.stageRole = stageRole;
335
383
  * the Lens consumes it to build the time-travel slider (see
336
384
  * agentfootprint-lens `cursorPositionsAtDrill`).
337
385
  *
386
+ * **Since 9.90.0 this is the FALLBACK, not the fact.** The charts declare the
387
+ * same milestones as tags at build time ({@link milestoneTagsFor}), footprintjs
388
+ * 9.21 stamps them on the stage's first commit bundle (`CommitBundle.tags`), and
389
+ * `milestoneStops` reads the bundle first — it derives from the id only for a
390
+ * bundle that carries no tags (a recording made before 9.90.0). Every milestone
391
+ * stage is declared, slot branch mounts included (footprintjs 9.21.1). Same
392
+ * table either way, so the two readings agree.
393
+ *
338
394
  * Mirrors {@link stageRole}: accepts a runtimeStageId (`call-llm#17`), a
339
395
  * path-qualified id (`sf-llm-call/call-llm`), or a bare local id — only the
340
396
  * LOCAL stage segment matters, so it works at any nesting depth and for both
@@ -345,53 +401,97 @@ function milestoneFor(id) {
345
401
  // the path prefix — splitStageId expects the segment before `#`.
346
402
  const beforeHash = id.includes('#') ? id.slice(0, id.indexOf('#')) : id;
347
403
  const { localStageId } = (0, trace_1.splitStageId)(beforeHash);
348
- switch (localStageId) {
349
- // Loop entry — one per ReAct iteration. INJECTION_ENGINE is the flat loop
350
- // target; LLM_CALL is the subflow-shape loop target.
351
- case exports.SUBFLOW_IDS.INJECTION_ENGINE:
352
- case exports.SUBFLOW_IDS.LLM_CALL:
353
- return { kind: 'iteration', label: 'Iteration' };
354
- // Context slots — one stop per slot that was engineered THIS iteration. In
355
- // dynamic mode all three appear every turn; in classic mode only the slot
356
- // that actually re-ran (Messages) appears after turn 1 — so scrubbing shows
357
- // exactly "which slot got updated."
358
- case exports.SUBFLOW_IDS.SYSTEM_PROMPT:
359
- return { kind: 'slot', label: 'System prompt' };
360
- case exports.SUBFLOW_IDS.MESSAGES:
361
- return { kind: 'slot', label: 'Messages' };
362
- case exports.SUBFLOW_IDS.TOOLS:
363
- return { kind: 'slot', label: 'Tools' };
364
- case exports.STAGE_IDS.CALL_LLM:
365
- case exports.STAGE_IDS.MERGE_LLM:
366
- return { kind: 'llm-turn', label: 'LLM turn' };
367
- // Tool execution mounts under the bare branch key 'tool-calls'.
368
- case 'tool-calls':
369
- case exports.SUBFLOW_IDS.TOOL_CALLS:
370
- return { kind: 'tool-call', label: 'Tool call' };
371
- case exports.SUBFLOW_IDS.ROUTE:
372
- return { kind: 'decision', label: 'Route' };
373
- // The answer failed its schema and the loop asked again — a stop worth
374
- // scrubbing to, because everything after it is a second attempt.
375
- case exports.STAGE_IDS.OUTPUT_RETRY:
376
- return { kind: 'decision', label: 'Schema retry' };
377
- // The answer left declared steps unrun and the one teaching nudge went
378
- // back (9.18.0) — everything after it is the model finishing (or
379
- // explaining) its procedure.
380
- case exports.STAGE_IDS.STEP_NUDGE:
381
- return { kind: 'decision', label: 'Step nudge' };
382
- // The answer stated values no tool result carried and the one revision
383
- // went back (9.35.0) — everything after it is the model's second try.
384
- case exports.STAGE_IDS.EVIDENCE_RECHECK:
385
- return { kind: 'decision', label: 'Evidence recheck' };
386
- // The action budget ran out and the turn was wrapped up (9.56.0) —
387
- // everything after it is the model summarizing with no tools to call.
388
- case exports.STAGE_IDS.WRAP_UP:
389
- return { kind: 'decision', label: 'Wrap up' };
390
- default:
391
- return null;
392
- }
404
+ return MILESTONES.get(localStageId) ?? null;
393
405
  }
394
406
  exports.milestoneFor = milestoneFor;
407
+ // ─── Declared milestones — the tag vocabulary (9.90.0) ──────────────────
408
+ //
409
+ // footprintjs 9.21 lets a chart put NAMES on a stage at build time and stamps
410
+ // them on the stage's first commit bundle. footprintjs owns no vocabulary; this
411
+ // is agentfootprint's. Two names per milestone, produced by ONE function and
412
+ // read back by ONE function — no second string literal anywhere:
413
+ //
414
+ // 'milestone:<kind>' what a reader FILTERS on (tagStops(['milestone:llm-turn']))
415
+ // 'milestone-label:<label>' the human word the table gives that stage
416
+ //
417
+ // Law 3 of docs/design/2026-09-declared-tags.md (footprintjs): the tag is the
418
+ // fact; the derivation from the id is the fallback.
419
+ /** Prefix of the tag that names a milestone's KIND: `milestone:llm-turn`. */
420
+ exports.MILESTONE_TAG_PREFIX = 'milestone:';
421
+ /** Prefix of the tag that names a milestone's LABEL: `milestone-label:LLM turn`. */
422
+ exports.MILESTONE_LABEL_TAG_PREFIX = 'milestone-label:';
423
+ /** The kind tag for a {@link MilestoneKind} — `'milestone:' + kind`. */
424
+ function milestoneTag(kind) {
425
+ return exports.MILESTONE_TAG_PREFIX + kind;
426
+ }
427
+ exports.milestoneTag = milestoneTag;
428
+ /**
429
+ * The tags that DECLARE a {@link Milestone} on a stage: its kind tag and its
430
+ * label tag, in that order. What a declaration site spreads into `.tag(...)`
431
+ * or `{ tags }`; what {@link milestoneFromTags} reads back.
432
+ */
433
+ function milestoneTags(milestone) {
434
+ return [milestoneTag(milestone.kind), exports.MILESTONE_LABEL_TAG_PREFIX + milestone.label];
435
+ }
436
+ exports.milestoneTags = milestoneTags;
437
+ /**
438
+ * The tags to declare on the stage with this LOCAL id, from the same table
439
+ * {@link milestoneFor} reads — so a chart-building site names the id it is
440
+ * mounting and never spells a kind or a label. Throws at build time for an id
441
+ * the table does not classify: a declaration site that is not a milestone is
442
+ * a wiring mistake, and a silent no-op would be a forgotten tag by another name.
443
+ *
444
+ * @example
445
+ * ```ts
446
+ * builder
447
+ * .addFunction('CallLLM', callLLM, STAGE_IDS.CALL_LLM, 'LLM invocation')
448
+ * .tag(...milestoneTagsFor(STAGE_IDS.CALL_LLM)); // 'milestone:llm-turn', 'milestone-label:LLM turn'
449
+ * ```
450
+ */
451
+ function milestoneTagsFor(localStageId) {
452
+ const found = MILESTONES.get(localStageId);
453
+ if (!found) {
454
+ throw new Error(`milestoneTagsFor('${localStageId}'): not a milestone stage — add it to the MILESTONES table in ` +
455
+ 'conventions.ts (the one owner) before declaring it on a chart.');
456
+ }
457
+ return milestoneTags(found);
458
+ }
459
+ exports.milestoneTagsFor = milestoneTagsFor;
460
+ /**
461
+ * Read a {@link Milestone} back off a commit bundle's declared `tags`, or
462
+ * `null` when they carry no milestone kind tag. The kind must be one of
463
+ * {@link MILESTONE_KINDS}; the label is the `milestone-label:` tag when one was
464
+ * declared, else `labelWhenUndeclared` (a reader passes the stop's own label —
465
+ * the chart's word for the stage), else the kind itself. A stored row is
466
+ * `unknown[]`-shaped until narrowed: non-strings are ignored, never a milestone.
467
+ *
468
+ * @example
469
+ * ```ts
470
+ * milestoneFromTags(['milestone:llm-turn', 'milestone-label:LLM turn']);
471
+ * // { kind: 'llm-turn', label: 'LLM turn' }
472
+ * milestoneFromTags(['audit']); // null — tagged, but not a milestone
473
+ * milestoneFromTags(undefined); // null — an untagged bundle
474
+ * ```
475
+ */
476
+ function milestoneFromTags(tags, labelWhenUndeclared) {
477
+ if (!Array.isArray(tags))
478
+ return null;
479
+ const names = tags.filter((t) => typeof t === 'string');
480
+ // The first VALID kind wins; an unknown `milestone:` name (a foreign chart's
481
+ // vocabulary) is skipped rather than shadowing a real kind beside it.
482
+ const kinds = names
483
+ .filter((t) => t.startsWith(exports.MILESTONE_TAG_PREFIX))
484
+ .map((t) => t.slice(exports.MILESTONE_TAG_PREFIX.length))
485
+ .filter((k) => exports.MILESTONE_KINDS.includes(k));
486
+ const kind = kinds[0];
487
+ if (kind === undefined)
488
+ return null;
489
+ const labelTag = names.find((t) => t.startsWith(exports.MILESTONE_LABEL_TAG_PREFIX));
490
+ const declared = labelTag?.slice(exports.MILESTONE_LABEL_TAG_PREFIX.length);
491
+ const label = declared && declared.length > 0 ? declared : labelWhenUndeclared ?? kind;
492
+ return { kind: kind, label };
493
+ }
494
+ exports.milestoneFromTags = milestoneFromTags;
395
495
  /**
396
496
  * Scope-key convention for context injections.
397
497
  *
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../src/conventions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../src/conventions.ts"],"names":[],"mappings":"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"}
@@ -384,6 +384,10 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
384
384
  }),
385
385
  outputMapper: (sfOutput) => ({ systemPromptInjections: sfOutput.systemPromptInjections }),
386
386
  })
387
+ // Declared milestones (9.90.0): these slots are `addSubFlowChartNext`
388
+ // mounts, so — unlike the Agent charts' selector branches — they CAN
389
+ // carry the `slot` tag on their first commit bundle.
390
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT))
387
391
  .addSubFlowChartNext(conventions_js_1.SUBFLOW_IDS.MESSAGES, messagesSubflow, 'Messages', {
388
392
  inputMapper: (parent) => {
389
393
  // Wrap the single user message as a one-entry history for the
@@ -396,7 +400,10 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
396
400
  },
397
401
  outputMapper: (sfOutput) => ({ messagesInjections: sfOutput.messagesInjections }),
398
402
  })
399
- .addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation');
403
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.MESSAGES))
404
+ .addFunction('CallLLM', callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation')
405
+ // Declared milestone (9.90.0): the LLM turn.
406
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.CALL_LLM));
400
407
  // Conditional sf-thinking — mounted only when a ThinkingHandler
401
408
  // resolved (auto-wired by provider.name in the constructor). Same
402
409
  // build-time conditional pattern Agent uses (buildAgentChart.ts).
@@ -425,7 +432,7 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
425
432
  // TraversalResult is the answer string, which downstream
426
433
  // compositions (Sequence/Parallel/Conditional) read via
427
434
  // outputMapper's `sfOutput` parameter.
428
- return (0, footprintjs_1.flowChart)('Client', client, conventions_js_1.STAGE_IDS.CLIENT, {
435
+ return ((0, footprintjs_1.flowChart)('Client', client, conventions_js_1.STAGE_IDS.CLIENT, {
429
436
  ...(this.structureRecorders !== undefined && {
430
437
  structureRecorders: [...this.structureRecorders],
431
438
  }),
@@ -440,8 +447,11 @@ class LLMCall extends RunnerBase_js_1.RunnerBase {
440
447
  answer: sfOutput.answer,
441
448
  }),
442
449
  })
450
+ // Declared milestone (9.90.0): the mount is the iteration boundary on the
451
+ // outer log — one turn per LLMCall run.
452
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.LLM_CALL))
443
453
  .loopTo(conventions_js_1.STAGE_IDS.CLIENT)
444
- .build();
454
+ .build());
445
455
  }
446
456
  }
447
457
  exports.LLMCall = LLMCall;
@@ -1 +1 @@
1
- {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../src/core/LLMCall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LLMCall.js","sourceRoot":"","sources":["../../src/core/LLMCall.ts"],"names":[],"mappings":"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"}
@@ -283,7 +283,10 @@ function buildAgentChart(deps) {
283
283
  // subflow's iter N+1 fresh evaluation — producing
284
284
  // 8 → 16 → 24 → 32 cumulative injections per turn.
285
285
  arrayMerge: advanced_1.ArrayMergeMode.Replace,
286
- });
286
+ })
287
+ // Declared milestone (9.90.0): the iteration boundary, stamped on the
288
+ // mount's first commit bundle so a recording carries it without the id.
289
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.INJECTION_ENGINE));
287
290
  // ── Messages-slot delivery — conditional mount (7.21) ───────────
288
291
  // The one stage that lets declared content INTO the window. It has to sit
289
292
  // here: after the engine knows what is active, and before any reader of
@@ -335,7 +338,12 @@ function buildAgentChart(deps) {
335
338
  // Each branch keeps its inputMapper + outputMapper + arrayMerge:Replace
336
339
  // VERBATIM from the former sequential mounts. Replace (not concat) is
337
340
  // load-bearing: the loopTo would otherwise accumulate injections/tools.
341
+ //
342
+ // Declared milestones (9.90.0): each slot mount carries `milestone:slot`
343
+ // via `SubflowMountOptions.tags` (footprintjs 9.21.1 — a branch mount has
344
+ // no cursor for `.tag()`); it lands on the mount's FIRST bundle.
338
345
  .addSubFlowChartBranch(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT, deps.systemPromptSubflow, 'System Prompt', {
346
+ tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.SYSTEM_PROMPT),
339
347
  inputMapper: (parent) => ({
340
348
  userMessage: parent.userMessage,
341
349
  iteration: parent.iteration,
@@ -351,6 +359,7 @@ function buildAgentChart(deps) {
351
359
  arrayMerge: advanced_1.ArrayMergeMode.Replace,
352
360
  })
353
361
  .addSubFlowChartBranch(conventions_js_1.SUBFLOW_IDS.MESSAGES, deps.messagesSubflow, 'Messages', {
362
+ tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.MESSAGES),
354
363
  inputMapper: (parent) => ({
355
364
  messages: parent.history,
356
365
  iteration: parent.iteration,
@@ -360,6 +369,7 @@ function buildAgentChart(deps) {
360
369
  arrayMerge: advanced_1.ArrayMergeMode.Replace,
361
370
  })
362
371
  .addSubFlowChartBranch(conventions_js_1.SUBFLOW_IDS.TOOLS, deps.toolsSubflow, 'Tools', {
372
+ tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.TOOLS),
363
373
  inputMapper: (parent) => ({
364
374
  iteration: parent.iteration,
365
375
  activeInjections: parent.activeInjections,
@@ -468,7 +478,10 @@ function buildAgentChart(deps) {
468
478
  })
469
479
  // CallLLM emits the per-iteration `iteration_start` marker itself (no
470
480
  // dedicated IterationStart stage — emitting is passive observability).
471
- .addFunction('CallLLM', deps.callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation');
481
+ .addFunction('CallLLM', deps.callLLM, conventions_js_1.STAGE_IDS.CALL_LLM, 'LLM invocation')
482
+ // Declared milestone (9.90.0): the LLM turn — `milestone:llm-turn` on the
483
+ // stage's commit bundle, from the same table `milestoneFor` reads.
484
+ .tag(...(0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.CALL_LLM));
472
485
  // v2.14 — conditional NormalizeThinking sub-subflow. Mounted ONLY
473
486
  // when a ThinkingHandler resolved (auto-wired by provider.name OR
474
487
  // explicitly set via .thinkingHandler()). When undefined, the stage
@@ -487,8 +500,12 @@ function buildAgentChart(deps) {
487
500
  arrayMerge: advanced_1.ArrayMergeMode.Replace,
488
501
  });
489
502
  }
503
+ // Declared milestones (9.90.0) on the decider and its branches — a decider /
504
+ // branch has no cursor for `.tag()`, so each declares in its own `tags`.
490
505
  let decider = builder
491
- .addDeciderFunction('Route', deps.routeDecider, conventions_js_1.SUBFLOW_IDS.ROUTE, 'ReAct routing')
506
+ .addDeciderFunction('Route', deps.routeDecider, conventions_js_1.SUBFLOW_IDS.ROUTE, 'ReAct routing', {
507
+ tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.SUBFLOW_IDS.ROUTE),
508
+ })
492
509
  .addPausableFunctionBranch('tool-calls', 'ToolCalls', deps.toolCallsHandler, 'Tool execution (pausable via pauseHere)',
493
510
  // Branch-sourced loop: tool-calls loops back to the InjectionEngine so
494
511
  // EVERY iteration re-evaluates triggers against the freshest context (the
@@ -497,7 +514,7 @@ function buildAgentChart(deps) {
497
514
  // terminates. Survives pause/resume (human-in-the-loop tool approval): the
498
515
  // engine resolves the subflow loop target on resume — footprintjs
499
516
  // FlowChartExecutor.resume + test/lib/pause/resume-branch-loop-subflow.
500
- { loopTo: loopTarget });
517
+ { loopTo: loopTarget, tags: (0, conventions_js_1.milestoneTagsFor)('tool-calls') });
501
518
  // ── The schema re-ask — conditional mount (7.26) ────────────────
502
519
  // The second looping branch, and it loops to the SAME target the tool branch
503
520
  // does. That is the whole design: a re-ask re-enters the ordinary loop, so
@@ -505,14 +522,14 @@ function buildAgentChart(deps) {
505
522
  // any other — its own iteration bracket, its own cost tick. Omitted entirely
506
523
  // for an agent that did not ask for retries.
507
524
  if (deps.outputRetryStage) {
508
- decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.OUTPUT_RETRY, 'SchemaRetry', deps.outputRetryStage, 'Answer failed the output schema — put the correction back and ask again', { loopTo: loopTarget });
525
+ decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.OUTPUT_RETRY, 'SchemaRetry', deps.outputRetryStage, 'Answer failed the output schema — put the correction back and ask again', { loopTo: loopTarget, tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.OUTPUT_RETRY) });
509
526
  }
510
527
  // ── The unfinished-steps nudge — conditional mount (9.18.0) ─────────
511
528
  // The SchemaRetry mechanism verbatim, one branch over: same loop target,
512
529
  // same "a re-ask is one more ordinary turn" reasoning, same conditional
513
530
  // mount (no stepped skill → no branch, no stage, no event).
514
531
  if (deps.stepNudgeStage) {
515
- decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.STEP_NUDGE, 'StepNudge', deps.stepNudgeStage, 'Answer left declared steps unrun — one teaching nudge goes back (once per turn)', { loopTo: loopTarget });
532
+ decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.STEP_NUDGE, 'StepNudge', deps.stepNudgeStage, 'Answer left declared steps unrun — one teaching nudge goes back (once per turn)', { loopTo: loopTarget, tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.STEP_NUDGE) });
516
533
  }
517
534
  // ── The evidence recheck — conditional mount (9.35.0) ───────────────
518
535
  // The SchemaRetry mechanism a third time: same loop target, same "a re-ask
@@ -520,7 +537,7 @@ function buildAgentChart(deps) {
520
537
  // `posture: 'assist'` (which records and never loops) and for every agent
521
538
  // that did not ask for the check at all.
522
539
  if (deps.evidenceRecheckStage) {
523
- decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.EVIDENCE_RECHECK, 'EvidenceRecheck', deps.evidenceRecheckStage, 'Answer stated values no tool result carried — naming them back for one revision', { loopTo: loopTarget });
540
+ decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.EVIDENCE_RECHECK, 'EvidenceRecheck', deps.evidenceRecheckStage, 'Answer stated values no tool result carried — naming them back for one revision', { loopTo: loopTarget, tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.EVIDENCE_RECHECK) });
524
541
  }
525
542
  // ── The out-of-budget wrap-up — conditional mount (9.56.0) ─────────
526
543
  // The SchemaRetry mechanism a fourth time: same loop target, same "a last
@@ -528,7 +545,7 @@ function buildAgentChart(deps) {
528
545
  // cannot loop forever — not a spent latch but an empty tool list, withheld
529
546
  // at request assembly, so the call it buys has nothing to ask for.
530
547
  if (deps.wrapUpStage) {
531
- decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.WRAP_UP, 'WrapUp', deps.wrapUpStage, 'Action budget exhausted — one last call with the tools withheld, for a real answer', { loopTo: loopTarget });
548
+ decider = decider.addFunctionBranch(conventions_js_1.STAGE_IDS.WRAP_UP, 'WrapUp', deps.wrapUpStage, 'Action budget exhausted — one last call with the tools withheld, for a real answer', { loopTo: loopTarget, tags: (0, conventions_js_1.milestoneTagsFor)(conventions_js_1.STAGE_IDS.WRAP_UP) });
532
549
  }
533
550
  builder = decider
534
551
  .addSubFlowChartBranch(conventions_js_1.SUBFLOW_IDS.FINAL, finalBranchChart, 'Final', {