Conversation
… probably move model/update architecture to hazelcore; root of file system path now displays project name
…based architecture for chats
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## dev #2048 +/- ##
==========================================
- Coverage 50.40% 48.80% -1.60%
==========================================
Files 230 241 +11
Lines 25365 26954 +1589
==========================================
+ Hits 12784 13156 +372
- Misses 12581 13798 +1217
🚀 New features to boost your workflow:
|
…errors info messages--they are now buttons
…uite in haz3ltest.
There was a problem hiding this comment.
Here's a basic review of the integration layer. I think we should make some changes but probably nothing too substantial i dont think. Short notice for this afternoon's meeting; if you have a chance to glance over we can discuss, otherwise can discuss later in the week or next if you are available. some comments are just questions i'm not totally sure about it, mostly about functionality that has moved.
A few things to break out:
- I think the internal printer changes you made are probably both unnecessary and may have broken the probe tests; or at least something did. lmk if you don't know what my in-file comments about this mean.
- I didn't look at the agent-specific stuff in depth but Agent.re is 1723 lines, effectively a god module containing Model + Update + Store for the agent, chat system, and messages all in one file. Should be split soon if not now
- OLD_ASSISTANT/ directory — 2048 lines of fully commented-out dead code
- 5 accidentally committed JSON chat logs (NewChat_openrouter_*.json) scattered in source directories — debug artifacts, not test fixtures (maybe add to .gitignore if these are getting generated automatically?)
- HighLevelNodeMap is 786 lines with complex diff logic — could use documentation (not necessary immediately tho)
- CSS files are large (~1272 lines for chat messages) — likely fine for now but suggest component-scoped styles later
- empty files committed (Test_Info.re, Test_MatchExp.re, Test_Stepper.re, DebugConsole.re), just mode changes, no content
Desktop/Programmierung/ResearchProjects/assistant-actions/.gitignore
Outdated
Show resolved
Hide resolved
src/haz3lcore/tiles/Base.re
Outdated
There was a problem hiding this comment.
are these for the code maps? can we see if it's possible to add these by putting folds directly on the segment structure before sending it to the printer to avoid a special case at this level? if it's easier to put them on the term instead this should now be possible, as maketerm and exp_to_segment now retain whitespace/comments with appropriate settings. lmk if there's complexity here.
(also nbd but ideally avoid re-ordering existing params like projector_to_segment to simplify merge conflicts)
There was a problem hiding this comment.
by putting folds directly on the segment structure
I'm not sure what this means. Maybe we can talk about it in person/call.
| ~refractor_seg_to_seg, | ||
| ~projector_to_segment, | ||
| ~special_folds, | ||
| ~refractors: list((Id.t, _))=[], |
There was a problem hiding this comment.
can you say why you added a default here? piece_to_string is an internal function that we should be cautious about calling independently; probably better to be explicit about its arguments. ideally we avoid having to call it at all but sometimes special cases must be made. open to discussion here.
src/haz3lcore/tiles/Base.re
Outdated
There was a problem hiding this comment.
ah okay i get this now... nevermind what i said earlier about putting folds on through seg/term. but instead i think what you're doing here can be done by wrapping projector_to_segment and special-casing what happens with folds. then just call the regular printer with that special projector_to_segment; i don't think any modification to the printer here is necessary. the special projector_to_segment should basically replace projectors which single convex tiles whose label is ["⋱"]; lmk if you don't get what i mean
There was a problem hiding this comment.
sounds good, still might be helpful to talk over a call, this isn't trivial to me. id still be happy to try to understand more about it
|
|
||
| // AddToolLabel_1.0: Make the action types (above) and add their cases to the funs (below) | ||
| [@deriving (show({with_path: false}), sexp, yojson, eq)] | ||
| type agent_editor_action = |
There was a problem hiding this comment.
we can probably call these something like structural_actions instead as in principle they are not agent specific
| @@ -286,7 +286,7 @@ | |||
| justify-content: center; | |||
| } | |||
|
|
|||
| #top-bar #editor-mode .icon:hover { | |||
There was a problem hiding this comment.
why was this removed? not necessarily bad but I wonder if it might have adverse consequences, ie this now adds a hover effect to icons not within the editor-mode element, which is not obviously desirable
| NinjaKeys.initialize(Shortcut.options(schedule_action)); | ||
| JsUtil.focus_clipboard_shim(); | ||
| /* Setup scroll listener for floating elements (backpack) */ | ||
| FloatingElement.setup_scroll_listener(); |
There was a problem hiding this comment.
i don't think this should be removed; this will break the backpack z-index i think
|
I can't seem to switch to project mode (testing this on hazel.org/build/project-mode). Keep getting an unhandled exception with the message "No current file" in console. This persists after clearing local storage. Has anyone else encountered this? |
Remove AgentGlobals from Settings.Update and handle it directly at Page level where async operations can be properly scheduled. This simplifies the Settings API by removing the schedule_action callback parameter.
this comes from Page.Update.get_editor. dev seems to use this function, but our branch never had this. When resolving the merge conflicts, I attempted to remove it, but the Probes tool in the Sidebar seems to deeply depend on it. @disconcision do you know if we need get_editor in Page.Update? I believe Probes is the only thing that depends on it now. |
…ines Factor out the special_folds boolean from the printer by routing fold abbreviation through the existing projector_to_segment mechanism. Also restores the refractor_seg_to_seg call in Base.re and the FloatingElement scroll listener in Main.re, both lost during the dev merge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@russell-rozenbaum: Made the folds change I described, and also re-added a dropped line from dev which was causing some probes tests to fail. see: 386090f |
Project Mode with Coding Agent
Before Merge
After Merge