Please confirm the following
Feature Description
OpenList exposes file browsing, writes, admin setup, search, previews, archives,
shares, offline tasks and several protocol frontends. These are not all
orthogonal. internal/fs owns virtual-path behavior while internal/op loads
and dispatches Drivers; internal/bootstrap/run.go composes optional services
into one process. In the frontend, src/app/App.tsx initializes the plugin
engine at startup, even though plugin administration is gated to TS-Worker;
src/pages/home/uploads/uploads.ts selects multiple real transport paths.
Please establish a small, testable semantic core—identity/authorization,
virtual namespace, Driver capability admission, file operations and transfer
lifetime—while isolating optional product features from mandatory startup and
dependency paths. “Peripheral” should mean outside this minimum kernel, not
unimportant, deprecated, or automatically removable.
Suggested Solution
- Produce a feature/dependency map that traces one browse/read/write path and
the admin configuration path across API, frontend, storage and persistence.
Classify each feature as kernel authority, control plane, optional consumer,
protocol adapter or implementation variation; record shared policy edges.
- Retain one owner each for authorization, path identity, mutation and cache
invalidation. Optional search, archive, preview, sharing, offline tasks and
protocol listeners may consume core operations/events but should not create
duplicate authority.
- Make only proven optional initialization and dependencies conditional. Audit
Go plugin-engine startup and the apparently unimported frontend
src/pages/home/uploads/chunked.ts before considering removal. Do not
collapse direct/stream/form/multipart uploads simply because they overlap:
they serve different Driver and transport capabilities. Similarly, both
FolderTree variants have live callers.
- Accept changes only with preserved API/UI behavior for enabled features,
a measured dependency/startup or deletion benefit, and tests covering
authorization, paths and upload fallback. Prefer a sequence of small changes
over a core facade that leaves old and new owners both alive.
Additional Information
Relevant source: internal/fs, internal/op, internal/driver/driver.go,
internal/bootstrap/run.go; frontend src/app/App.tsx,
src/pages/home/uploads/uploads.ts, src/utils/plugin_engine.ts, and manage
route/menu gating. hide_files appears to be presentation filtering in the
inspected source, not an authorization boundary. This issue asks for a product
and ownership classification before deleting any feature. Coordinate with
the prior architecture reduction PR queue to avoid duplicate refactors.
PRs #3131–#3136 are still open as of the pre-submission check and address
link ownership, authorization, Driver capabilities/catalog, range scheduling,
and namespace projections. This issue should track only the remaining
cross-feature boundary, not duplicate those diffs.
AI Generated Content
AI model used
OpenAI Codex (exact model identifier not exposed to the agent)
Please confirm the following
OpenListand not by a third party.Feature Description
OpenList exposes file browsing, writes, admin setup, search, previews, archives,
shares, offline tasks and several protocol frontends. These are not all
orthogonal.
internal/fsowns virtual-path behavior whileinternal/oploadsand dispatches Drivers;
internal/bootstrap/run.gocomposes optional servicesinto one process. In the frontend,
src/app/App.tsxinitializes the pluginengine at startup, even though plugin administration is gated to TS-Worker;
src/pages/home/uploads/uploads.tsselects multiple real transport paths.Please establish a small, testable semantic core—identity/authorization,
virtual namespace, Driver capability admission, file operations and transfer
lifetime—while isolating optional product features from mandatory startup and
dependency paths. “Peripheral” should mean outside this minimum kernel, not
unimportant, deprecated, or automatically removable.
Suggested Solution
the admin configuration path across API, frontend, storage and persistence.
Classify each feature as kernel authority, control plane, optional consumer,
protocol adapter or implementation variation; record shared policy edges.
invalidation. Optional search, archive, preview, sharing, offline tasks and
protocol listeners may consume core operations/events but should not create
duplicate authority.
Go plugin-engine startup and the apparently unimported frontend
src/pages/home/uploads/chunked.tsbefore considering removal. Do notcollapse direct/stream/form/multipart uploads simply because they overlap:
they serve different Driver and transport capabilities. Similarly, both
FolderTree variants have live callers.
a measured dependency/startup or deletion benefit, and tests covering
authorization, paths and upload fallback. Prefer a sequence of small changes
over a
corefacade that leaves old and new owners both alive.Additional Information
Relevant source:
internal/fs,internal/op,internal/driver/driver.go,internal/bootstrap/run.go; frontendsrc/app/App.tsx,src/pages/home/uploads/uploads.ts,src/utils/plugin_engine.ts, and manageroute/menu gating.
hide_filesappears to be presentation filtering in theinspected source, not an authorization boundary. This issue asks for a product
and ownership classification before deleting any feature. Coordinate with
the prior architecture reduction PR queue to avoid duplicate refactors.
PRs #3131–#3136 are still open as of the pre-submission check and address
link ownership, authorization, Driver capabilities/catalog, range scheduling,
and namespace projections. This issue should track only the remaining
cross-feature boundary, not duplicate those diffs.
AI Generated Content
AI model used
OpenAI Codex (exact model identifier not exposed to the agent)