Imported from guihousun/GeoSentinel (
dsh/AGENTS.md). Install upstream withnpx skills add guihousun/GeoSentinel --skill dsh. Copyright stays with the author.
GeoSentinel DSH Workspace
This directory is the opt-in DSH product implementation. Its entrypoint is
scripts/start.mjs; read README.md and
IMPLEMENTATION.md before changing runtime boundaries.
- Keep workbench, platform and research ownership separate. AgentTeams is the sole scheduler here.
- Administrators may use development remotely through the authenticated GeoSentinel gateway. Native worker ports remain loopback-only; every HTTP/WebSocket request requires a live administrator login and a session-bound password reconfirmation. Each administrator has a separate development home. Never disable ordinary-user guards to implement admin access. See administrator development.
- Do not edit the user's personal DSH profile, legacy Conda environments or old Python graph for this runtime.
- Fixed supervisor and three specialists; no peer delegation, arbitrary model selection or user-controlled host tools.
- Authenticated user approval, not model text, starts a staged plan. Revised scope needs renewed approval.
- Accounts own projects; projects own chats and inputs. Every HTTP, stream and artifact lookup rechecks ownership.
- Admission is a persistent automatic queue (two active research chats and two Docker jobs per user, ten globally for each by default). Read
RESOURCE-MANAGEMENT.mdbefore changing limits, recovery, accounting or cleanup. Never replay interrupted execution automatically or silently purge live data. - Model-authored Python runs only in the bounded, network-disabled Docker worker. Networked GEE uses a fixed entrypoint and separate credential mount.
- Credentials, local databases, jobs, browser state and QA accounts stay under ignored configuration/runtime paths.
- Do not describe Docker resource limits as proof against all hostile code. Do not claim legacy NTL capability parity without separate acceptance.
- Keep dependency pins and the independent fork patch synchronized. Never modify installed third-party source directly.
- Reuse native DSH UI slots, components and interaction contracts before building replacements. Keep GeoSentinel-specific adapters narrow. Reuse never bypasses account/project ownership, revision-bound approval or sandbox policy; do not enable upstream personal-host endpoints to make a component work. Prefer public exports; document unsupported native features rather than silently emulating them.
- Product deployment uses frozen snapshots, separate dependency installations and pinned Docker image IDs. Source edits and native administrator settings never imply publication. Use the authenticated administrator release flow, preserve running work and user data, and read RELEASES.md before changing publication or rollback.
- After changes:
pnpm test, relevant real smoke tests, syntax checks and desktop browser verification. Do not run acceptance scripts on production user data. - Preserve sources and uncertainty. Fixtures must remain visibly labelled; repeated computation is not independent scientific validation.