emrg: GUI workspace panel P3.2 — artifact tab registers write/edit files only (rant 2026-08-11T12:20:35) - #668
Conversation
…les only (dedupe by path, improved extractFilePath) (rant 2026-08-11T12:20:35)
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
P3.2 re-scope verified: write/edit-only registration with dedupe-by-path + per-session cap 100, improved extractFilePath (first absolute-path segment — no extension dependency, Makefile/.env work), artifact row click → viewer tab. Local: GUI 202/202 ✓ (incl. dedupe/cap-100/no-extension tests), pytest 694 ✓, doc guard 3/3 ✓, import + --help ✓. CI test run green.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle
Reviewed P3.2 (artifact tab re-scope to write/edit file registration) in a local worktree at branch head e993c81:
- addToolResult: now registers only write/edit successes with an extractable path (errors + bash/read tool cards dropped per design decision 3); dedupe by path (existing entry updated + moved to top); per-session cap 100 preserved (R7-⑦); background-session events still bucket-only (renderArtifacts restore on switch — #666 isolation preserved).
- extractFilePath (R4-①): prefers the first
/-prefixed absolute path segment — verified both write forms (Created /proj/Makefile (N characters),Updated /Users/x/foo.txt (N chars)), edit forms (Made 1 replacement in /abs/path,Made 3 replacements in /proj/.env), and extension-less files (Makefile/.env/Dockerfile) all extract correctly; negative cases (bash output, no abs path, empty) return none and are skipped. - renderArtifactRow: filename + full path, click → openFileTab (viewer tab via P2.2 framework); system-open stays in viewer header; MAX_ITEMS (50) DOM cap vs 100 bucket retained.
- Verification: GUI suite 202/202 (incl. 2 new tests: dedupe+cap-100, no-extension extraction + row→viewer-tab click; #666 isolation test updated to write-tool payloads), pytest 694/694, doc guard 3/3, node --check clean. CI test PASS (31462619984). Mergeable CLEAN.
No issues found.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle (3rd)
Re-verified against branch head e993c81: write/edit-only artifact registration with dedupe-by-path + cap-100, improved extractFilePath (first abs-path segment, Makefile/.env work), row click → viewer tab. Local GUI 202/202 ✓ pytest 694 ✓ doc guard 3/3 ✓. CI test run green. Merge conditions met (3 consecutive ✅ from different cycles).
…acts re-scope) (#669) Co-authored-by: EMRG Evolution <emrg@argszero.dev>
P3.2 of the workspace-panel rant: re-scope the 产物 (Artifacts) tab from WorkBuddy-P1 tool-output cards to generated-file registration.
P3.2 Artifact registration
addToolResultnow registers only write/edit successes with an extractable path (bash/read tool cards removed per design decision 3; errors skipped){path, name, tool_name, elapsed}stored in the sid bucket (emrg: result-panel per-session artifact isolation (render gate + switch restore) #666's per-session isolation preserved)extractFilePath(R4-①): prefer the first/-prefixed absolute path segment —Created /abs/path (N characters)(write_tool) andMade 1 replacement in /abs/path(edit_tool) both hit; drops the extension-whitelist dependency soMakefile/.env/Dockerfileextract correctlyTests: WorkBuddy P1 card test replaced with P3.2 semantics (write-only registration + error skip); #666's isolation test updated to write-tool payloads; +2 new (dedupe+cap-100, no-extension extraction + row→viewer-tab click). GUI 200 → 202; pytest 694 ✓; doc guard 3/3 ✓; import + --help ✓.
Next: P3.3 full viewer (highlight/md/images + CSP
img-src file:) or P2.3 WebContentsView HTML preview.