AGENTS.md
This file defines the working guidelines for ~/master/neoland.
Mission
neoland is the primary repo.
It currently contains:
- the Rust control plane
- the Python DSPy multi-agent pipeline
- the existing TUI
- a moved-in
matrix/frontend project that now serves as the base for Neoland's web surface
The current frontend goal is not a full rewrite.
The goal is:
- reposition the moved
matrixfrontend as the Neoland operational interface - keep strong parts of the existing frontend infrastructure
- reorient the product around the Neoland control plane, sessions, ADRs, services, and pipeline execution
It is not:
- a generic chatbot project
- a marketing-first dashboard with shallow product depth
- a frontend that invents backend behavior not present in Neoland
Current Direction
Treat matrix/ as the frontend base that was moved into this repo.
Working assumption:
- we redesign and adapt it
- we do a brand repositioning first, not a deep technical rewrite first
- we do not fully refactor it up front
- we preserve useful infra, app structure, and UI components where possible
- we change narrative, navigation, modules, and information architecture to fit Neoland
- we implement against real Neoland backend and filesystem sources whenever possible, not mock data
The center of the product is:
- pipeline execution
- session inspection
- ADR/checkpoint rendering
- ecosystem/service health
The centerpiece is Pipeline Live View, not a chat box.
Source Of Truth
Before implementing frontend behavior, verify backend truth in:
src/server/mod.rssrc/agents/orchestrator.rssrc/agents/client.rssrc/agents/session.rssrc/health.rsagents/neoland_agents/app.pyagents/neoland_agents/schemas/api.pydocs/ADR/ADR-019-multi-agent-dspy-pipeline.mddocs/ADR/ADR-020-mmap-ipc.md
If UI plans and backend contracts disagree:
- prefer the backend contract
- adapt the UI
- document the gap instead of guessing
Repo Map
Core Neoland
Backend/control-plane truth lives at the repo root:
src/for Rust server, agents, config, health, TUIagents/neoland_agents/for the Python DSPy pipelinedocs/ADR/for architecture decisions and future evolution
Frontend Base
Frontend work currently starts from:
matrix/apps/frontend/
Treat it as:
- the active redesign base
- the current source of reusable Next.js/shadcn/ui/frontend infrastructure
Do not treat matrix/apps/backend/ as Neoland backend truth.
Ownership Rules
Use this decision rule:
- if it is about orchestration truth, contracts, persistence, auth, health payloads, ADR generation, or agent behavior, root
neolandowns it - if it is about layout, component composition, navigation, operator flow, visual hierarchy, charts, and rendering,
matrix/apps/frontend/owns it
Frontend Product Positioning
The frontend should become a Neoland control-plane workbench.
Prioritize:
- running a task
- watching agent progression
- reading confidence, risk, escalation, and final decision
- inspecting session state
- rendering ADRs/checkpoints as readable operational artifacts
- seeing control-plane and ecosystem health clearly
Avoid:
- generic AI assistant framing
- vague “toolbox” navigation without operational meaning
- vanity dashboards disconnected from the control plane
Current Frontend Tasks
When working on the frontend, prioritize in this order:
- Reposition the brand and product language of
matrix/apps/frontend/for Neoland - Replace generic or Matrix-specific navigation with Neoland operational navigation
- Build or adapt the first strong vertical slice:
PipelineSessionsADR VaultServices
- Mirror real backend contracts in frontend types and adapters
- Add degraded states and placeholders where the backend is not ready yet
- Prefer empty, unavailable, or stub states over simulated data when the backend does not expose a contract yet
Preferred UX Direction
The UI should feel like a modern operational console:
- technical
- readable under pressure
- fast to scan
- confident, not playful
Visual semantics:
- green for
approveand healthy states - red for
rejectand failure states - amber/orange for
defer, warnings, and degraded states - violet for
escalateand human-required states
Do not copy the TUI literally, but stay aligned with Neoland's technical identity.
Integration Rules
Known verified backend routes:
POST /v1/agents/taskGET /v1/agents/session/:idGET /v1/agents/healthGET /healthGET /readyGET /live
Important rules:
- do not invent extra Neoland endpoints unless they are added in the backend
- mirror backend payloads in frontend types before using them in UI code
- prefer adapter layers over ad hoc reshaping inside React components
ADRs
ADR/checkpoint rendering should prefer structured views over raw JSON dumps.
Prefer showing:
- title
- status
- context
- decision
- action items
- session summary
- meaningful excerpts from
full_pipeline
Redesign Guidance
When adapting the moved frontend base:
- keep useful infrastructure
- keep useful
components/ui - keep useful App Router and shared utility patterns
- remove or rewrite generic mission-control/productivity-tool language
- reposition naming, messaging, page framing, and visual semantics around Neoland
- remove or rewrite modules that do not map to Neoland's real product narrative
Bias toward selective brand repositioning and redesign, not wholesale replacement.
Practical Default
Unless explicitly stated otherwise:
- work from the existing
matrix/apps/frontend/base - redesign instead of rewriting
- treat Neoland as the primary product identity
- validate every backend-facing assumption against the root repo first