release: public alpha 0.6.0 baseline
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# Repository Layout
|
||||
|
||||
JWeBot is a monorepo with explicit boundaries between public contracts,
|
||||
privileged runtime code, reviewed plugins, deployment tooling, and local-only
|
||||
configuration.
|
||||
|
||||
```text
|
||||
JWeBot/
|
||||
config/
|
||||
templates/
|
||||
schemas/
|
||||
deploy/
|
||||
defaults/
|
||||
scripts/
|
||||
systemd/
|
||||
docs/
|
||||
runbooks/
|
||||
examples/
|
||||
extensions/
|
||||
official/
|
||||
jwebot/
|
||||
friends/
|
||||
packages/
|
||||
jwebot-config/
|
||||
jwebot-sdk/
|
||||
jwebot-kernel/
|
||||
jwebot-extension-host/
|
||||
jwebot-official-extensions/
|
||||
tests/
|
||||
tools/
|
||||
jwebot_edge.py
|
||||
jwebot_edge_delivery.py
|
||||
wechat_local_ocr.py
|
||||
wechat_adaptive_recorder.py
|
||||
wechat_adaptive_gui_bridge.py
|
||||
wechat_health_watch.py
|
||||
wechat-gui-bridge
|
||||
```
|
||||
|
||||
## Package Responsibilities
|
||||
|
||||
`jwebot-config`
|
||||
|
||||
- validates profile packages;
|
||||
- compiles generated runtime files atomically;
|
||||
- imports and redacts profile archives;
|
||||
- migrates private context and diagnostic material out of old checkouts.
|
||||
|
||||
`jwebot-sdk`
|
||||
|
||||
- contains stable data contracts exposed to plugins;
|
||||
- has no process, filesystem, raw socket, GUI, or environment capability.
|
||||
|
||||
`jwebot-kernel`
|
||||
|
||||
- owns routing, command ownership, capability enforcement, ledger access,
|
||||
release verification, provider adapters, and delivery policy.
|
||||
|
||||
`jwebot-extension-host`
|
||||
|
||||
- executes one verified extension release per isolated invocation;
|
||||
- runs behind an AF_UNIX socket and systemd sandbox.
|
||||
|
||||
`jwebot-official-extensions`
|
||||
|
||||
- contains the reviewed local command engine;
|
||||
- provides generated adapters that return structured SDK plans;
|
||||
- owns the fixed-host Steam service profile, not raw plugin network access.
|
||||
|
||||
## Root Entrypoints
|
||||
|
||||
Root Python and shell files remain compatibility entrypoints for systemd and
|
||||
existing operators. Business logic belongs in packages. Compatibility modules
|
||||
must stay thin and tested.
|
||||
|
||||
## Extension Collections
|
||||
|
||||
- `extensions/official/`: platform-owned service adapters.
|
||||
- `extensions/jwebot/`: built-in reviewed commands.
|
||||
- `extensions/friends/`: contributor-owned plugins.
|
||||
|
||||
The ownership inventory is authoritative. `tools/sync-local-extensions.py`
|
||||
generates manifests, adapters, package tests, and README files from it.
|
||||
|
||||
## Configuration Boundary
|
||||
|
||||
The repository contains only templates and schemas. Real values live under
|
||||
`~/.config/jwebot/`; runtime/diagnostic data lives under
|
||||
`~/.local/state/jwebot/`. See `config/README.md`.
|
||||
|
||||
## Documentation Boundary
|
||||
|
||||
Committed documentation describes architecture, contracts, generic operations,
|
||||
and sanitized examples. Machine-specific incident reports and debug logs are
|
||||
local profile state, not documentation source.
|
||||
Reference in New Issue
Block a user