Control UI Guide
## Solid
- Before writing, reviewing, or refactoring any Solid code here, read the [Solid skill](../.agents/skills/solid/SKILL.md) in full, the installed `node_modules/solid-js/CHEATSHEET.md` it points to, and the references
1 project uses a version of this
394k15d agoReviewMountCreate a free account to mount
merge or completion ([gate](.agents/skills/openclaw-pr-maintainer/references/media.md#screenshot-completion-gate)).
- Before committing or landing nontrivial code, get fresh review through the permitted workflow and resolve actionable findings unless the user opts
No other project uses it yet
391k39d agoReviewMountCreate a free account to mount
Actions run URL land in `.local/gates.env` (`REMOTE_GATES_*`) and `.local/prep.md`. Use it for reviewed trusted code when a loaded host makes the local 88-shard run stall-kill; contributor/fork code
3 projects use a version of this
391k39d agoReviewMountCreate a free account to mount
separate `control-ui-boot-*` groups in `ui/config/control-ui-chunking.ts`, reducing requests without pulling chat-only code into New Session. Its `entries` record contains the dynamic entry points actually requested by each route
3 projects use a version of this
391k39d agoReviewMountCreate a free account to mount
theoretical fixes
Every PR must solve a real problem that someone actually experienced. "My review agent flagged this" or "this could theoretically cause issues" is not a problem statement
Steady5 mentions in 2 weeks
No other project uses it yet
314k5mo agoReviewMountCreate a free account to mount
component or state, conversation or Session behavior, or lifecycle, concurrency, subprocess, and teardown code. Its [review principles](docs/defensive-patterns/README.md#why-these-rules) apply per artifact.
## Type safety and documentation
Everything compiles
282k3mo agoReviewMountCreate a free account to mount
timing, ownership, modality, exceptions, consequences, and non-obvious orientation; delete narration, test walkthroughs, review analysis, and code restatement. Keep the local contract and link its rationale. Use [dsh-prose-standard
282k3mo agoReviewMountCreate a free account to mount
packages have one independent version and release workflow.
## Runtime rules
- Landlock's argv, exit codes, diagnostics, and fail-closed confinement are defined in [docs/cli-contract.md](docs/cli-contract.md). Do not change them when
Steady2 mentions in 2 weeks
No other project uses it yet
282k3mo agoReviewMountCreate a free account to mount
current design; these are the rules you must not violate when writing or reviewing client code:
1. **Two declaration forms**: use `ctx.slots.register({ name, children?, store?, inject? }, Component)` for a parent
282k3mo agoReviewMountCreate a free account to mount
name == ...` chain); `tools/todo_tool.py` is the pattern.
## Message-flow invariants (every change is reviewed against these)
- **Prompt caching must not break.** Never alter past context, change toolsets, reload memories,
or rebuild
No other project uses it yet
264k2d agoReviewMountCreate a free account to mount
core.
Two invariants shape almost every design decision and are the lens for reviewing any change:
- **Per-conversation prompt caching is sacred.** Mutating past context, swapping toolsets,
reloading memories
264k2d agoReviewMountCreate a free account to mount
pool is keyed by home
(`cron.max_parallel_jobs` is per profile); and the stale-code yield gate asks
`scheduler_ownership.owns_cron_tick_for(home)` / `live_gateway_ticking(home)` instead
No other project uses it yet
264k2d agoReviewMountCreate a free account to mount
keep it. Reviewers reject new
change-detectors; authors convert them before re-review.
## Never read source code in tests
A test that reads a `.py`/`.ts`/`.tsx` file's text
264k2d agoReviewMountCreate a free account to mount
algorithm file per PR.** Split unrelated changes into separate PRs to
keep review focused.
- **Don't change code and its doctests in the same PR.** If you're only
updating
Steady25 mentions in 2 weeks
No other project uses it yet
226k3y agoReviewMountCreate a free account to mount
comprehensive lint, typechecks, and test suites.
- For documentation-only changes, review the diff and run `git diff --check`.
Skip code tests when no behavior changed.
- Report which checks
211k3d agoReviewMountCreate a free account to mount
exports the public provider types from `agent.ts` for call-site compatibility; new provider code should import directly from `agent.ts`.
### Customization installation (Skills, MCP servers, catalog plugins)
Installation is local-only
195k3d agoReviewMountCreate a free account to mount