Skip to content

PR6: measured repository and UI cleanup - #56

Merged
VolkerChristian merged 2 commits into
masterfrom
polish/pr6-measured-repository-and-ui-cleanup
Aug 27, 2026
Merged

PR6: measured repository and UI cleanup#56
VolkerChristian merged 2 commits into
masterfrom
polish/pr6-measured-repository-and-ui-cleanup

Conversation

@VolkerChristian

Copy link
Copy Markdown
Member

Summary

  • replace repeated filesystem-watch membership scans with set-based reconciliation
  • preserve repository selection, Inspector snapshots, and settings catalog behavior where profiling did not justify change
  • humanize machine-oriented event labels only at UI render boundaries
  • consolidate related component-local styling into the canonical application stylesheet
  • add focused rename and display-boundary regression coverage

Measurements

Release microbenchmarks, median timings:

Area Input Before After / candidate Decision
Watch reconciliation 100 paths 24.9 us 3.0 us Implemented; 8.2x faster
Watch reconciliation 1,000 paths 1.90 ms 0.043 ms Implemented; 44x faster
Repository resolution 8 repos, 8 hints 13.24 ms 12.79 ms Retained heuristic; 3.4% was not worthwhile
Repository resolution 32 repos, 32 hints 175.0 ms 164.1 ms Retained heuristic; diff work dominates
Inspector unchanged refresh 10 / 100 / 1,000 agents 0.004 / 0.040 / 0.423 ms No rebuilding observed No optimization
Catalog insertion 10 models 9.05 us 7.59 us Representative gain was negligible

Simplification and behavior

  • removed quadratic QStringList::contains reconciliation and the separate duplicate-removal pass
  • removed the local settings friendly() formatter in favor of one shared display helper
  • removed three component-local style paths in favor of canonical application styling
  • kept raw protocol values unchanged; for example, contextCompaction renders as Context compaction
  • retained deleted-file, parent-directory, rename, recreation, atomic-write, and untracked-file behavior
  • introduced no controller, repository, cache, event system, or duplicated state

Tests

  • focused conversation cards, application layout, and live Git changes: 3/3 passed
  • focused socket-pair and shell integration: 2/2 passed
  • complete suite: 7/7 passed

The SNode transport tests require execution outside the managed syscall sandbox; inside it, the event loop receives EPERM. No transport code change was necessary.

Reviewer verdicts

  • performance: pass
  • filesystem behavior: pass
  • protocol-value preservation: pass
  • scope and exclusions: pass
  • test completeness: pass

Conversation-card composition/refactoring remains reserved for PR7.

@VolkerChristian
VolkerChristian merged commit 92a7a4f into master Aug 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant