docs: tighten wording, soften node capability claims, link architecture to code
- Remove the node capability paragraph from README; soften "pure collector" and "no self-update" statements in docs, AGENTS.md and READMEs - architecture.md: drop scalability goals, design decisions and open items; add a component-to-code table and code links - Replace rhetorical contrasts in security docs with direct statements - AGENTS.md: add project mental model, change map and writing style rules
This commit is contained in:
1 parent
a9bf849697
commit
d5ebf29e57
11 files changed
+89
-100
No files matched your search
@@ -17,7 +17,7 @@ MoShiro is a self-hosted network path quality monitor. Probes (home broadband) a
|
||||
|
||||
## Invariants (violations fail the build or review)
|
||||
|
||||
- Nodes are pure collectors: no process start, dynamic loading, `HttpClient`, or file writes outside `Fleet.Hosting.ConfigStore` (`backend/BannedSymbols.Node.txt`). Do not add RPC methods that trigger non-measurement actions.
|
||||
- Node processes are kept to measurement and reporting by build-time restrictions: process start, dynamic loading, `HttpClient`, and file writes outside `Fleet.Hosting.ConfigStore` are banned (`backend/BannedSymbols.Node.txt`). Capabilities such as updates or command execution are not part of the core; adding or changing one needs a design review against `docs/security/security.md`.
|
||||
- `backend/fleet/**` must not reference `MoShiro.*` (`ArchitectureTests`). `MoShiro.Measurement` contains no service concepts such as REALITY or Hysteria2.
|
||||
- Every RPC method is declared in a method table (`FleetMethodTable`, `MoShiroMethodTable`) with direction, type and roles. Add the declaration before the handler.
|
||||
- `Backend.Api` must not reference `Storage`. Error-code to HTTP mapping happens once, in the Api layer.
|
||||
@@ -43,6 +43,14 @@ MoShiro is a self-hosted network path quality monitor. Probes (home broadband) a
|
||||
|
||||
Index: [`README.md`](README.md#文档). Prefer the code and `backend/openapi/v1.json` when they disagree with a document, and fix the document. Update docs in the same change as behaviour: `docs/design` (architecture, protocol, measurement, analysis, storage, query), `docs/security`, `docs/api`, `docs/ops`, `docs/dev`, and `docs/roadmap.md` for unimplemented work. Do not record dates or change history in docs.
|
||||
|
||||
Writing style for docs, READMEs, comments and commit messages (the `stop-slop` skill lists the patterns in detail; it is written for English, the same rules apply to Chinese):
|
||||
|
||||
- State the fact directly. Drop "not X but Y" contrasts, negation lists, rhetorical setups, and aphorisms that read like pull-quotes.
|
||||
- Name the actor. Prefer "the Agent rejects the task" over "the task is rejected".
|
||||
- No filler openers ("it is worth noting"), no closing summaries, no adverbs doing emphasis. Avoid bold for emphasis.
|
||||
- Do not claim absolutes ("never", "always", "cannot") unless the code or a build-time check enforces it. Describe current behaviour and mark planned work as planned.
|
||||
- Give concrete names, paths, values and commands instead of general statements.
|
||||
|
||||
## Workspace safety
|
||||
|
||||
- Inspect `git status` before editing. Preserve existing uncommitted changes; do not reset, clean, stash, or commit unrelated files.
|
||||
|
||||
Reference in new issue
Block a user