Skip to content

feat(learning): browse learned workloads by project and operation - #80

Merged
Dunky13 merged 2 commits into
mainfrom
dunky13/learning-browse-hierarchy
Nov 5, 2026
Merged

Dunky13 merged 2 commits into
mainfrom
dunky13/learning-browse-hierarchy

Conversation

@Dunky13

@Dunky13 Dunky13 commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

Summary

Learned workloads opens on projects, then operations, then the existing group list, instead of one flat list of 1,800 groups. This is stacked on #79, which adds the catalog API it reads.

Projects (busiest first; ≤2 workloads fold into "Other projects")
  └─ Operations in <project>: All operations, Tests, Build, Lint, …
       └─ Groups (existing paged list, selection, details, merge)
Search: always across every project, flat list
 remote/static/profiles.js     levels, breadcrumb, focus/announce, failed-load cleanup
 native/AgentLearning.swift    same levels, Back + breadcrumb buttons, submitted query kept apart
 internal/backend
+  profileProject → NFC          one key for rows, folded set and filter
+  CLI string flags → NFC        Foundation Process passes them decomposed
+  search matches member projects, ranked after label/id matches
 internal/preview               fixture projects + --hierarchy/--project/--operation/--other-projects

Edge cases handled:

  • A project folded away by a merge lists its groups directly; Back returns to Projects.
  • A page past the end after a merge re-reads the last page once.

Evidence

  • Before: one flat list (before-desktop-catalog.png, before-phone-catalog.png, before-native-catalog.png).
    After: projects, operations and groups at desktop 1280×900 and phone 390×844, plus native projects and groups (after-*-catalog, after-*-operations, after-*-groups, after-*-search, after-*-detail, after-native-projects, after-native-groups). Screenshots are kept out of Git and still need to be attached here.
  • Checks on this content, all exit 0:
    • go test -p 2 -parallel 2 ./internal/backend ./internal/preview
    • npm run test:web and lint
    • Playwright: 35 passed (--workers=1, rebuilt preview)
    • scripts/test-native.sh
  • Mutation checks:
    • Removing the search ranking fails TestProfileSearchRanksOwnLabelBeforeMemberProject.
    • Reverting the native refresh after a merge fails "A merge that folds the project at the operations level lists its groups instead of a false empty state".
    • Removing the first-open guard fails the job-link test.
  • Reviews: two independent rounds (Opus 5.5). All confirmed findings are fixed except the limits listed in docs/handoffs/learning-browse.md.
  • Hosted CI runs after fix(learning): stop discarding runs and undercounting CPU #78 and feat(learning): group workloads by repository, operation and tool #79 merge and this PR is retargeted to main.

Merge Danger

Door: two-way

UI and read-path only. No schema or stored data changes. Project names stored in NFD are now returned in NFC, which looks identical.

Blast Radius: learning-browse

Learned workloads on the phone dashboard and the native app. The web merge-target pickers still show the first 100 results; label matches now come first.

🤖 Generated with Claude Code

@Dunky13
Dunky13 force-pushed the dunky13/learning-groups-by-project-tool branch from c9f099e to 05171b9 Compare November 5, 2026 21:23
@Dunky13
Dunky13 force-pushed the dunky13/learning-browse-hierarchy branch from 7105ab3 to 21be954 Compare November 5, 2026 21:23
Base automatically changed from dunky13/learning-groups-by-project-tool to main November 5, 2026 22:35
Dunky13 and others added 2 commits November 5, 2026 23:35
The learned workloads list showed about 1,400 groups in one flat page.
The dashboard and the app now open on projects, drill into the operations
each project ran, then show the existing paged group list. Search stays
global, and clearing it returns to the level the operator was on.

The preview fixtures gain public sample projects and honor the hierarchy
and filter arguments, so screenshots and browser tests exercise the real
flow. Native snapshots can show the project level.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Marc Went <marc@went.io>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Marc Went <marc@went.io>
@Dunky13
Dunky13 force-pushed the dunky13/learning-browse-hierarchy branch from 21be954 to 407b7a4 Compare November 5, 2026 22:35
@Dunky13
Dunky13 merged commit 7e748be into main Nov 5, 2026
20 checks passed
@Dunky13
Dunky13 deleted the dunky13/learning-browse-hierarchy branch November 5, 2026 23:26
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