Skip to content

Conversation

@russell-rozenbaum
Copy link
Contributor

@russell-rozenbaum russell-rozenbaum commented Nov 29, 2025

A mode that maintains project file systems.

Idea is that we can add import syntax with this. (I'm worried of circular dependencies, but we'll see). Without imports, this still serves as a more structured, tree-like scratch mode.
Eg.

import src.utils.time in 
import src.utils.string_utils in 
expr

We should be able to map the string in the import expression to a file path. We can find the code from the respective editor given this file path, and simply import it as code preceding the body of the import expression.
eg. example from above might become:

# src.utils.time # 
let clock = ? in 
# src.utils.string_util # 
let string_to_list = ? in
expr

Also, I would like to localize agent models to their own projects, akin to many modern coding agents that work in IDEs. It currently makes little sense and leads to messy logic with having a global assistant architecture that operates on whatever editor is active. Rather, we should localize the agent to a single mode's model. Initially, I thought of adding this to scratchmode. Instead, I figured I would begin an architecture to include this agent model in and that can, in the future, have file systems, allowing for the simulation of more real-world applications.

Notes

  • Assistant temproarily disabled. Likely won't be back until full migration to project model is complete.

Todos

  • Implement basic file system update actions: Add, Update, Delete, Navigate
  • Add (permissably) pleasant frontend, preferrably a left-handed sidebar
  • Some things I did not understand how to implement or still need to: share function, undo actions, etc.

@codecov
Copy link

codecov bot commented Dec 3, 2025

Codecov Report

❌ Patch coverage is 1.51869% with 843 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.84%. Comparing base (d601b04) to head (e668519).
⚠️ Report is 359 commits behind head on dev.

Files with missing lines Patch % Lines
src/haz3lcore/CompositionCore/HighLevelNodeMap.re 0.00% 292 Missing ⚠️
src/util/OpenRouter.re 0.00% 182 Missing ⚠️
src/haz3lcore/CompositionCore/CompositionGo.re 0.00% 155 Missing ⚠️
src/haz3lcore/CompositionCore/GeneralTreeUtils.re 0.00% 74 Missing ⚠️
src/util/StringUtil.re 0.00% 30 Missing ⚠️
...web/view/ProjectModeCore/AgentCore/AgentGlobals.re 3.57% 27 Missing ⚠️
src/haz3lcore/zipper/action/Action.re 0.00% 25 Missing ⚠️
src/util/API.re 0.00% 20 Missing ⚠️
...haz3lcore/CompositionCore/HighLevelNodeMapModel.re 0.00% 9 Missing ⚠️
src/util/ListUtil.re 0.00% 8 Missing ⚠️
... and 6 more
Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #2048      +/-   ##
==========================================
- Coverage   51.43%   48.84%   -2.60%     
==========================================
  Files         205      212       +7     
  Lines       21754    22776    +1022     
==========================================
- Hits        11189    11124      -65     
- Misses      10565    11652    +1087     
Files with missing lines Coverage Δ
src/haz3lcore/zipper/Printer.re 95.34% <100.00%> (+0.11%) ⬆️
src/language/proof/ProofCtx.re 11.11% <ø> (ø)
src/language/statics/StaticsBase.re 85.71% <ø> (ø)
src/language/term/Exp.re 100.00% <ø> (ø)
src/web/app/common/Icons.re 100.00% <100.00%> (ø)
src/web/debug/DebugConsole.re 0.00% <ø> (ø)
src/web/init/Init.re 57.14% <ø> (ø)
src/web/Store.re 9.37% <0.00%> (-0.31%) ⬇️
src/web/app/editors/code/CodeEditable.re 0.00% <0.00%> (ø)
src/web/app/editors/code/CodeSelectable.re 0.00% <0.00%> (ø)
... and 13 more

... and 17 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

2 participants