ollie
60da0bbfde
token efficiency: expose compactionModel in 9p cfg, fix test stubs
...
- Add compactionModel= to cfg read/write
- Add CompactionModel/SetCompactionModel stubs to test stubCore
- Fix NewSessionTree calls with missing invalidateModels arg
2026-05-28 18:44:57 +02:00
Levi Neely
200cb52e29
Add model cache with async prefetch and invalidate command
...
- Add ModelCache that prefetches models from all backends at startup
- Cache models in memory, refresh on demand via Invalidate()
- Add global /ctl file with 'invalidate' command
- Add 'invalidate' ctl command and /invalidate slash command in sessions
- Fix filePerm to query rootStore for root-level file permissions
- Add 'models' to root directory listing
2026-05-22 10:08:11 +02:00
Levi Neely
09e4f0f678
fs: centralized permission registry; FUSE mutating operations
2026-05-21 11:50:34 +02:00
Levi Neely
afb531c936
session: subscribe to event bus for chat log, drop handler from Submit
...
- NewSession subscribes to bus "event" topic for chat log writing
- Remove makePublish/handler threading from all Submit call sites
- Adapt tests to new bus-based event delivery
2026-05-20 16:45:37 +02:00
Levi Neely
ab909b1fec
Revert "sessionfile: prompt 0446 (r--r--rw-)"
...
This reverts commit 6994b9bc3e .
2026-05-20 11:10:26 +02:00
Levi Neely
6994b9bc3e
sessionfile: prompt 0446 (r--r--rw-)
2026-05-20 11:10:12 +02:00
Levi Neely
35e7b98e22
sessionfile: update ctl mode to 0666
2026-05-20 10:43:22 +02:00
Levi Neely
baa7ca66e6
makeStat: delegate file modes to backing tree
...
Remove hardcoded permission switch in makeStat and delegate to
the underlying FileTree.Stat() instead. This makes FileList in
sessionfile.go the single source of truth for session file modes.
2026-05-20 10:42:29 +02:00
Levi Neely
fe6e2c04a8
cfg: add name field, support name= writes as rename
2026-05-20 09:59:30 +02:00
Levi Neely
3df852b6de
cfg: remove state field (use state file instead)
2026-05-20 09:53:39 +02:00
Levi Neely
038dc4b0bf
purge Store/FileStore vocabulary: use Tree everywhere
...
- Manager.Store() → Manager.Tree()
- SessionFileStore → removed (use *fs.Tree)
- NewFileStore → NewSessionTree
- storeRead/storeWrite → readFile/writeFile
- storeRoutes → routes, routeStore → route
- SkillStore → SkillTree, ToolStore → ToolTree
- No more 'store' in public API
2026-05-19 18:39:02 +02:00
Levi Neely
a9e9538015
rename to 9P vocabulary: store/ → fs/, DirStore → Tree, StoreEntry → File
...
- Package: store → fs
- Type: DirStore → Tree, StoreEntry → File, EntryConfig → FileConfig
- Constructor: NewDirStore → NewTree, NewFileStore → NewSynth
- Methods: ListDir → Readdir, WithListDir → WithReaddir
- Interface: Store → FileTree
- Files: dirstore.go → tree.go, filestore.go → synth.go, store.go → fs.go
- Test: store_test.go → fs_test.go
2026-05-19 18:19:37 +02:00
Levi Neely
d0ce8a108e
session/session.go: session logic in its own package
...
- session.Manager (was SessionManager)
- session.ManagerConfig (was SessionManagerConfig)
- session.Session, session.NewSession
- session.FileStore, session.NewFileStore
- session.FileMode, session.FileList
- session.FormatEvent, session.FormatParams, session.ParseParams
- server.go imports olliesrv/session
- Clean package boundary: session/ = lifecycle, store/ = abstraction
2026-05-19 18:10:36 +02:00