agentgui 1.0.1066 → 1.0.1068
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/.gm/memories/mem-1a148cf9c3126df5-3963.md +8 -0
- package/.gm/memories/mem-8af7980a92e09959-891.md +8 -0
- package/.gm/prd.yml +42 -0
- package/AGENTS.md +1 -1
- package/package.json +1 -1
- package/site/app/vendor/anentrypoint-design/247420.css +42 -0
- package/site/app/vendor/anentrypoint-design/247420.js +22 -22
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
key: mem-1a148cf9c3126df5-3963
|
|
3
|
+
ns: default
|
|
4
|
+
created: 1784278257475
|
|
5
|
+
updated: 1784278257475
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
{"key":"agentgui-42nd-run-gui-practicality-sweep","value":"agentgui 42nd run (2026-07-17): user-driven cwd-practicality complaint plus a mid-run docstudio design-cue directive. cwd practicality: added an inline browse popover (reuses existing confined /api/list into an independent state.cwdBrowse), always-visible allowed-roots chips (prefetched on editor open), a small localStorage recent-cwd MRU (capped 6), relative-subpath resolution against the current cwd, and fixed a real bug where Escape did nothing to close the cwd editor (global keydown typing-guard blurred+returned before the Escape ladder - added a targeted exception + nested browse-then-editor ladder). History's directory fact gained a one-click 'use as chat cwd' action (kit SessionMeta gained generic onAction/actionLabel). REAL INFRASTRUCTURE BUG found+fixed: the cwd browse popover inherited a previously-undiscovered production bug where this env's nginx proxy_pass URI normalization silently collapses an encoded %2F path-segment slash back to a literal / before forwarding, 403ing any /api/list/<abs-path>-shaped request - this ALSO meant the pre-existing Files tab drill-down navigation had been broken in production the whole time. Fixed by switching /api/list,/api/stat,/api/file,/api/download,/api/image to ?dir=/?path= query params (immune to that normalization) via a new resolveConfinedPath() helper; validate-mutations.mjs confirmed byte-identical confinement semantics. gui-completion workflow (wf_bcf46a89-739, 29 agents, 17 confirmed): rename/mkdir 409 suggested-alternate-name prefill; bulk-move roots picker (kit PromptDialog gained roots/onPickRoot); DELETE IS NOW SOFT - moves into a confined per-root .agentgui-trash/ (10min retention, purge-on-delete + 200-entry eviction cap) with a real undo toast via new POST /api/restore, not just confirm-before; search-hit event anchors now carried in the URL hash (ets=); Settings gained a scroll-position scrollspy; truncation banners state actual turn count+cost; cross-tab reload banner warns about+confirms discarding an unsent draft; History gained persistent next/prev error nav; session header shows agent/model (sess.model, not the nonexistent sess.agent - caught a wrong-field bug mid-implementation); backend.js's onSessionExpired() was exported but NEVER subscribed - a mid-session 401 failed every fetch completely silently, now shows a persistent reload banner; offline banner gained a manual retry-now button; search-term highlighting now extends into expanded event bodies; History search results gained a JSON export button; Settings gained navigator.storage.estimate(). REAL KIT CRASH found+fixed mid-implementation: passing a VElement/extra prop through ConversationList's caption prop (which is separately used as aria-label:caption||'Conversations', requiring a plain string) caused an intermittent webjsx 'reading key' crash - confirmed via 3 before/after browser runs, re-implemented as a fully separate sibling element outside ConversationList entirely, re-verified crash-free across 3 more runs. Standing lesson: when extending what a caller passes through an existing kit prop, grep every OTHER use site of that prop inside the component first - a prop's contract can be narrower than it looks from the one call site you're touching. docstudio design-cue pass: a subagent found docstudio (vanilla-ESM Material/Gemini-styled) architecturally LESS mature than the kit in every systemic dimension; only 1 of 6 candidate cues was a real gap (session-group eyebrow labels used the generic --tr-caps token instead of the canonical --tr-label token .t-label/.t-micro already establish) - fixed. Two upstream-diverged kit rebases handled cleanly (one single-conflict, one 35-commits-diverged) by rebuilding dist/ fresh from merged sources, never hand-merging generated code. Kit pushed 7c27e9c->fb11176->acd5fd2, agentgui pushed 71d7352->56b865f->2fecd75->a1a394a->5496ec8, all CI green throughout both repos."}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
key: mem-8af7980a92e09959-891
|
|
3
|
+
ns: default
|
|
4
|
+
created: 1784278284245
|
|
5
|
+
updated: 1784278284245
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
{"key":"agentgui-37th-run-punchlist-cleanup-detail","value":"agentgui 37th-run confirming pass (2026-07-12): removed the 10 standing PUNCHLIST-*.md files (COHESION/COMPLETION/DENSITY/DESIGN/DESIGN-14/DESIGN-15/LOGIC/PARITY/POLISH/UX, ~440KB) plus AUDIT-PUNCHLIST.md (found in a follow-up confirming pass) - all their findings had already landed and merged in earlier commits, and their content duplicated what AGENTS.md already recorded in denser, current form, violating the project's own Documentation Policy (history belongs in git log/CHANGELOG, never a standing doc). Four .claude/workflows/*.js scripts (gui-logic-predictability.js, gui-completion.js, gui-claude-code-parity.js, gui-screen-realestate.js) referenced the punch-list filenames by name in agent prompts as the 'don't re-report already-fixed findings' grounding source - all four were updated to point at AGENTS.md alone."}
|
package/.gm/prd.yml
CHANGED
|
@@ -3076,3 +3076,45 @@
|
|
|
3076
3076
|
- gm-plugkit/playwriter browser verb dom=/capture eval context defect - requires an upstream tool fix outside agentgui/design
|
|
3077
3077
|
status: completed
|
|
3078
3078
|
witness: 'External tool defect, not resolvable from this repo/session: the gm-plugkit/playwriter browser verb''s dom= and capture prefixes evaluate in a Node vm context with no page/document binding (ReferenceError on every attempt this session), unlike the screenshot= and url=<target> paths which do reach the real page. This is a defect in the upstream gm-plugkit/playwriter tool package itself, outside agentgui and design repo scope. Recorded per the false-completion rule as blockedBy:external rather than marked done - screenshots remain the working witness fallback and were used for all browser verification in this sweep.'
|
|
3079
|
+
- id: docstudio-cue-typography-depth-review
|
|
3080
|
+
subject: 'Re-examine typography maturity: font pairing sophistication, weight/size hierarchy richness, line-height rhythm across real rendered content (not just token existence)'
|
|
3081
|
+
status: pending
|
|
3082
|
+
- id: docstudio-cue-color-depth-review
|
|
3083
|
+
subject: 'Re-examine color maturity: does the kit''s palette read as considered/branded or generic-neutral; check docstudio''s actual color usage patterns for anything genuinely more sophisticated'
|
|
3084
|
+
status: pending
|
|
3085
|
+
- id: docstudio-cue-motion-depth-review
|
|
3086
|
+
subject: Re-examine motion/microinteraction maturity beyond the single streaming-caret check - hover states, transition timing, loading choreography, page-transition polish
|
|
3087
|
+
status: pending
|
|
3088
|
+
- id: docstudio-cue-empty-loading-error-states
|
|
3089
|
+
subject: Deep-dive every empty/loading/error state across chat/history/files/settings/live - compare polish level against docstudio's equivalents concretely
|
|
3090
|
+
status: pending
|
|
3091
|
+
- id: docstudio-cue-information-density-review
|
|
3092
|
+
subject: Compare real information density and layout sophistication - does content breathe correctly, is whitespace purposeful vs accidental
|
|
3093
|
+
status: pending
|
|
3094
|
+
- id: docstudio-cue-visual-identity-review
|
|
3095
|
+
subject: Does the kit read as a cohesive, intentional brand/product, or a generic component-library default look - honest assessment
|
|
3096
|
+
status: pending
|
|
3097
|
+
- id: docstudio-cue-forms-dialogs-review
|
|
3098
|
+
subject: 'Compare form/dialog polish: validation feedback, multi-step flows, modal treatment, input affordances'
|
|
3099
|
+
status: pending
|
|
3100
|
+
- id: docstudio-cue-navigation-review
|
|
3101
|
+
subject: 'Compare navigation/wayfinding sophistication: sidebar treatment, breadcrumbs, tab/section transitions'
|
|
3102
|
+
status: pending
|
|
3103
|
+
- id: docstudio-cue-data-display-review
|
|
3104
|
+
subject: Compare data-table/list/card display patterns for real polish differences
|
|
3105
|
+
status: pending
|
|
3106
|
+
- id: docstudio-implement-confirmed-gaps
|
|
3107
|
+
subject: Implement every genuinely confirmed maturity gap found this pass into the design kit (../design), never as an agentgui override
|
|
3108
|
+
status: pending
|
|
3109
|
+
- id: docstudio-verify-buildesk-live-2
|
|
3110
|
+
subject: Live-verify every implemented change on https://buildesk.acc.l-inc.co.za/gm via browser witness
|
|
3111
|
+
status: pending
|
|
3112
|
+
- id: docstudio-kit-build-vendor-2
|
|
3113
|
+
subject: Build+test the kit, re-vendor into agentgui
|
|
3114
|
+
status: pending
|
|
3115
|
+
- id: docstudio-push-ci-green-2
|
|
3116
|
+
subject: Push kit and agentgui changes, verify CI green
|
|
3117
|
+
status: pending
|
|
3118
|
+
- id: docstudio-agents-md-record-2
|
|
3119
|
+
subject: Record this run's findings in AGENTS.md
|
|
3120
|
+
status: pending
|
package/AGENTS.md
CHANGED
|
@@ -22,7 +22,7 @@ User-driven ask ("setting the cwd is not nearly practical enough... go over ever
|
|
|
22
22
|
|
|
23
23
|
## Punch-list document cleanup (2026-07-12) — 37th-run confirming pass
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Removed 11 standing `PUNCHLIST-*.md`/`AUDIT-PUNCHLIST.md` files (all findings already merged, content duplicated AGENTS.md). Full detail in rs-learn (recall "agentgui 37th run punchlist cleanup detail"). **Standing rule for future sweeps: no new `PUNCHLIST-*.md`/`AUDIT-PUNCHLIST.md` (or similarly-named) file should be checked into the repo as a durable artifact — a workflow's punch-list is a transient working document for that run's synthesis step; the run's outcome belongs in AGENTS.md (or drains to rs-learn), never a standing file.**
|
|
26
26
|
|
|
27
27
|
## GUI logic+predictability sweep (2026-07-12) — thirty-seventh run
|
|
28
28
|
|
package/package.json
CHANGED
|
@@ -5278,6 +5278,19 @@
|
|
|
5278
5278
|
max-width: 100%;
|
|
5279
5279
|
}
|
|
5280
5280
|
.ds-247420 .ds-table-wrap > table { min-width: 100%; }
|
|
5281
|
+
/* Sortable column headers (Table's opt-in sortable prop) — a docstudio-cue
|
|
5282
|
+
addition: color stays neutral at rest (this is a structural control, not a
|
|
5283
|
+
brand moment) and only the active sort direction gets the accent tint,
|
|
5284
|
+
matching the "color reserved for meaning, not decoration" pattern seen in
|
|
5285
|
+
docstudio's admin table. */
|
|
5286
|
+
.ds-247420 .ds-table-sort-btn {
|
|
5287
|
+
display: inline-flex; align-items: center; gap: 4px;
|
|
5288
|
+
background: none; border: none; padding: 0; margin: 0;
|
|
5289
|
+
font: inherit; font-weight: inherit; color: inherit; cursor: pointer;
|
|
5290
|
+
}
|
|
5291
|
+
.ds-247420 .ds-table-sort-btn:hover { color: var(--fg); }
|
|
5292
|
+
.ds-247420 .ds-table-sort-btn:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: 2px; }
|
|
5293
|
+
.ds-247420 .ds-table-sort-btn.is-active { color: var(--accent-ink, var(--accent)); }
|
|
5281
5294
|
|
|
5282
5295
|
|
|
5283
5296
|
/* == appended: settings kit cleanup == */
|
|
@@ -7208,6 +7221,35 @@
|
|
|
7208
7221
|
}
|
|
7209
7222
|
.ds-247420 .agentchat-title { font-size: 1em; margin: 0; }
|
|
7210
7223
|
.ds-247420 .agentchat-sub { font-size: var(--fs-tiny); color: var(--fg-3); }
|
|
7224
|
+
/* Optional inline content viewer beside the thread (sidePanel prop) - a
|
|
7225
|
+
docstudio-cue addition (its chat view keeps a document/PDF preview open
|
|
7226
|
+
next to the conversation rather than in a separate tab). SplitPanel (an
|
|
7227
|
+
existing kit primitive) owns the resizable layout; these rules only shape
|
|
7228
|
+
the two panes' internal structure. */
|
|
7229
|
+
.ds-247420 .agentchat.has-side-panel { gap: 0; }
|
|
7230
|
+
.ds-247420 .agentchat.has-side-panel > .ds-ep-split { flex: 1; min-height: 0; }
|
|
7231
|
+
.ds-247420 .agentchat-main-col { display: flex; flex-direction: column; min-height: 0; height: 100%; gap: var(--space-2, 8px); }
|
|
7232
|
+
.ds-247420 .agentchat-side-panel { display: flex; flex-direction: column; height: 100%; min-height: 0; border-left: var(--bw-hair) solid var(--bg-3); }
|
|
7233
|
+
.ds-247420 .agentchat-side-panel-head {
|
|
7234
|
+
display: flex; align-items: center; justify-content: space-between;
|
|
7235
|
+
padding: var(--space-2, 8px) var(--space-3, 12px); border-bottom: var(--bw-hair) solid var(--bg-3);
|
|
7236
|
+
flex: 0 0 auto;
|
|
7237
|
+
}
|
|
7238
|
+
.ds-247420 .agentchat-side-panel-title { font-size: var(--fs-tiny); font-weight: 600; color: var(--fg-2); text-transform: uppercase; letter-spacing: var(--tr-label); }
|
|
7239
|
+
.ds-247420 .agentchat-side-panel-close {
|
|
7240
|
+
display: inline-flex; align-items: center; justify-content: center;
|
|
7241
|
+
background: none; border: none; color: var(--fg-3); cursor: pointer;
|
|
7242
|
+
padding: 4px; border-radius: var(--r-1);
|
|
7243
|
+
}
|
|
7244
|
+
.ds-247420 .agentchat-side-panel-close:hover { background: var(--bg-2); color: var(--fg); }
|
|
7245
|
+
.ds-247420 .agentchat-side-panel-close:focus-visible { outline: var(--focus-w) solid var(--focus-color); outline-offset: var(--focus-offset); }
|
|
7246
|
+
.ds-247420 .agentchat-side-panel-body { flex: 1; min-height: 0; overflow: auto; }
|
|
7247
|
+
@media (max-width: 900px) {
|
|
7248
|
+
/* A resizable side-by-side split is impractical below tablet width - stack
|
|
7249
|
+
the preview under the thread instead of horizontally squeezing both. */
|
|
7250
|
+
.ds-247420 .agentchat.has-side-panel > .ds-ep-split.horiz { flex-direction: column; }
|
|
7251
|
+
.ds-247420 .agentchat-side-panel { border-left: none; border-top: var(--bw-hair) solid var(--bg-3); max-height: 45vh; }
|
|
7252
|
+
}
|
|
7211
7253
|
/* Thread wrapper hosts the absolutely-positioned jump-to-latest button. */
|
|
7212
7254
|
.ds-247420 .agentchat-thread-wrap { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; }
|
|
7213
7255
|
.ds-247420 .agentchat-thread {
|