agenr 2026.6.4 → 2026.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,42 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [2026.6.5] - 2026-06-08
6
+
7
+ Web console, dreaming alias audit, and proposal review hardening release.
8
+
9
+ ### Added
10
+
11
+ - **Web operator console.** Added `agenr web`, a local-only browser console for corpus health, dreaming operations, proposal review, memory browsing, procedure editing, and instance switching.
12
+ - **Dreaming claim-key alias audit.** Deep dreaming can now detect possible claim-key aliases using shared lexical and adjudication helpers, with focused mutation planning and regression coverage.
13
+ - **Mixed-key proposal settlement.** Proposal review now supports manual settlement flows for mixed-key proposals, including UI review affordances and service-level validation.
14
+
15
+ ### Changed
16
+
17
+ - **Dreaming review experience** now has clearer action labels, backlog filtering for reviewed proposals, richer live run feedback, improved durable activity history, and tighter proposal diagnostics.
18
+ - **Web console management UX** now exposes structured API validation, same-origin checks, SSE dreaming progress, memory and procedure management services, and reusable frontend primitives for dense operational workflows.
19
+ - **Trace rendering** now includes clearer durable lifecycle and timeline details across CLI and web surfaces.
20
+
21
+ ### Fixed
22
+
23
+ - **Dreaming duplicate handling** now reduces duplicate claim-key extraction and duplicate insert-durable actions during reconcile passes.
24
+ - **Web console quality review issues** fixed durable metadata drawer layout, proposal review layout, dreaming diagnostics structure, and follow-up quality concerns.
25
+ - **Web console build imports** now resolve nested dreaming review panel dependencies during package builds.
26
+ - **Alias audit maintainability** now consolidates claim-key lexical overlap logic into shared core helpers.
27
+
28
+ ### Validation
29
+
30
+ Changes since release `2026.6.4`:
31
+
32
+ - Add the local-only `agenr web` operator console and React SPA
33
+ - Improve web console management UX, memory browsing, procedure editing, and dreaming progress views
34
+ - Add deep-dreaming claim-key alias audit support and shared lexical overlap helpers
35
+ - Add manual settlement for mixed-key proposals
36
+ - Improve dreaming proposal review clarity, action labels, diagnostics, and durable activity history
37
+ - Reduce dreaming duplicate claim-key extraction and duplicate insert-durable actions
38
+ - Address web console quality review findings
39
+ - Keep `pnpm check` green before release
40
+
5
41
  ## [2026.6.4] - 2026-06-07
6
42
 
7
43
  OpenClaw working-memory parity, durable terminology cleanup, and claim-key guidance release.
@@ -145,6 +145,16 @@ interface DreamRunAction {
145
145
  createdAt: string;
146
146
  }
147
147
 
148
+ /** Bounded active corpus row shown to dreaming extract for claim-key reuse. */
149
+ interface DreamClaimKeyContextDurable {
150
+ id: string;
151
+ type: DurableKind;
152
+ subject: string;
153
+ content: string;
154
+ claimKey: string;
155
+ project?: string;
156
+ }
157
+
148
158
  /**
149
159
  * Core dreaming domain types.
150
160
  */
@@ -188,6 +198,8 @@ interface ReconcileRepairCounts {
188
198
  appliedMetadataRewrites: number;
189
199
  identifiedEntityFamilyConvergences: number;
190
200
  appliedEntityFamilyConvergences: number;
201
+ identifiedAliasConvergences: number;
202
+ appliedAliasConvergences: number;
191
203
  proposalsEmitted: number;
192
204
  skippedNoClaim: number;
193
205
  skippedLowConfidence: number;
@@ -446,6 +458,10 @@ interface DreamProposalBacklogQuery {
446
458
  issueKind?: string;
447
459
  eligibleOnly?: boolean;
448
460
  durableId?: string;
461
+ /** Inclusive minimum proposal confidence. */
462
+ minConfidence?: number;
463
+ /** Only proposals created at or after this ISO timestamp. */
464
+ createdSince?: string;
449
465
  limit?: number;
450
466
  offset?: number;
451
467
  }
@@ -492,6 +508,8 @@ interface DreamPort {
492
508
  getRunActions(runId: string): Promise<DreamRunAction[]>;
493
509
  getRunProposals(runId: string): Promise<DreamRunProposal[]>;
494
510
  getProposal(proposalId: string): Promise<DreamRunProposal | null>;
511
+ /** Loads audit details from the flag_review action that staged one proposal. */
512
+ getProposalStagingActionDetails(proposalId: string): Promise<Record<string, unknown> | null>;
495
513
  reviewProposal(input: {
496
514
  proposalId: string;
497
515
  status: Exclude<DreamProposalReviewStatus, "open">;
@@ -502,7 +520,10 @@ interface DreamPort {
502
520
  listProposalBacklog(query?: DreamProposalBacklogQuery): Promise<DreamProposalBacklogItem[]>;
503
521
  getHealthStats(now?: Date): Promise<DreamHealthStats>;
504
522
  getDurable(durableId: string): Promise<Durable | null>;
505
- getDurables(durableIds: string[]): Promise<Durable[]>;
523
+ getDurables(durableIds: string[], options?: {
524
+ /** Include rows that have been superseded or closed by later stages. */
525
+ includeInactive?: boolean;
526
+ }): Promise<Durable[]>;
506
527
  closeDurableValidity(durableId: string, reason?: string): Promise<boolean>;
507
528
  updateDurable(durableId: string, fields: DurableUpdateInput, options?: {
508
529
  includeInactive?: boolean;
@@ -523,6 +544,12 @@ interface DreamPort {
523
544
  listSessionHostStoreDurables(sessionId: string, startedAt: string, endedAt: string): Promise<Durable[]>;
524
545
  /** Loads active durables that share one canonical claim key (context-lookup). */
525
546
  findActiveDurablesByClaimKey(claimKey: string): Promise<Durable[]>;
547
+ /** Loads bounded active keyed durables relevant to one dreaming extract episode. */
548
+ listActiveClaimKeyContext(query: {
549
+ project?: string;
550
+ entityPrefixes?: string[];
551
+ limit?: number;
552
+ }): Promise<DreamClaimKeyContextDurable[]>;
526
553
  /** Returns the subset of normalized content hashes that already exist among active durables. */
527
554
  findExistingNormContentHashes(hashes: string[]): Promise<Set<string>>;
528
555
  /** Inserts one new durable row written by the extract or temporalize stages. */
@@ -52,7 +52,7 @@ import {
52
52
  scheduleGuardedEpisodeWrite,
53
53
  workingMemoryResultToToolOutcome,
54
54
  writeBoundedSingleTranscriptEpisode
55
- } from "../../chunk-EIQAVYID.js";
55
+ } from "../../chunk-ZN2D5IX5.js";
56
56
  import "../../chunk-OJSIZDZD.js";
57
57
  import {
58
58
  readGoalGeneration
@@ -72,25 +72,25 @@ import {
72
72
  formatTargetSelector,
73
73
  sanitizeFetchToolParams,
74
74
  sanitizeUpdateToolParams
75
- } from "../../chunk-T6HSLRNB.js";
75
+ } from "../../chunk-JOL2R47V.js";
76
76
  import {
77
77
  formatAgenrBeforeTurnRecall,
78
78
  runBeforeTurn,
79
79
  runSessionStart
80
- } from "../../chunk-A72EX7SV.js";
80
+ } from "../../chunk-TERUD7SI.js";
81
81
  import {
82
82
  buildRecallToolDetails,
83
83
  createLlmClient,
84
84
  resolveLlmApiKey,
85
85
  resolveModel
86
- } from "../../chunk-T4YDGDOH.js";
86
+ } from "../../chunk-N7FY6CUJ.js";
87
87
  import "../../chunk-WDIVC5AQ.js";
88
- import "../../chunk-GDILLRVB.js";
88
+ import "../../chunk-UAR442BF.js";
89
89
  import {
90
90
  isRecord,
91
91
  readOptionalFiniteNumber,
92
92
  readOptionalTrimmedString
93
- } from "../../chunk-VGLRYLUC.js";
93
+ } from "../../chunk-TA35CTKF.js";
94
94
  import "../../chunk-VBPYU7GO.js";
95
95
 
96
96
  // src/adapters/skeln/config.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildManualClaimKeyLifecycle
3
- } from "./chunk-VGLRYLUC.js";
3
+ } from "./chunk-TA35CTKF.js";
4
4
 
5
5
  // src/core/procedures/hashing.ts
6
6
  import { createHash } from "crypto";