This adds the full Atlas (总助 Claw / 老板视角项目执行雷达) scaffolding as a sibling profile to the existing Vega general-purpose assistant. All Atlas content lives under atlas/ to keep the existing top-level skeleton intact. What's included: - atlas/IDENTITY.md, SOUL.md, USER.md, AGENTS.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md, TOOLS.md (+ zh-CN mirrors) — full OpenClaw 8-piece set matching the zero-cca convention - atlas/skills/ — 6 sub-skills with frontmatter: claw-email-parser / claw-project-tracker / claw-people-observer / claw-customer-radar / claw-boss-distiller / claw-report-writer - atlas/skills/claw-boss-distiller/ — adapter notes for nuwa-skill, 5-layer boss_skill seed template (23 rules across Expression DNA / Mental Models / Decision Heuristics / Anti-Patterns / Honest Boundaries), and a complete synthetic distillation demo (10 input emails -> validated 5-layer output) - atlas/mcp-tools/email-extractor/ — Python implementation of stages 1-3 (fetch + decode + dequote), 7 pytest tests passing, CLI: atlas-extract - atlas/state-schemas/ — formal JSON schemas for project / person / customer cards with the no-employee-rating hard constraint baked in - atlas/client-deck/ — 2-page client-facing pitch document - autopilots/atlas-*.yaml — 5 autopilot configs (daily / weekly / monthly / quarterly + andon event-triggered) for a future Multica-side scheduler Notes: - nuwa-skill (MIT, https://github.com/alchaincyf/nuwa-skill) NOT vendored; fetch at deploy time via instructions in atlas/skills/claw-boss-distiller/upstream/README.md - Vega-side prompts/skills/tools/autopilots/docs scaffold left untouched - Top-level README.md updated with a brief Atlas pointer; rest preserved
54 lines
2.6 KiB
Markdown
54 lines
2.6 KiB
Markdown
# State Schemas
|
|
|
|
Atlas's state lives as JSON files under `state/`. Three primary entities + auxiliary collections.
|
|
|
|
## Primary entity schemas
|
|
|
|
| File | Spec | Owner |
|
|
|------|------|-------|
|
|
| `state/projects/PRJ-*.json` | [project.md](./project.md) | `claw-project-tracker` |
|
|
| `state/people/<name>.json` | [person.md](./person.md) | `claw-people-observer` |
|
|
| `state/customers/CUST-*.json` | [customer.md](./customer.md) | `claw-customer-radar` |
|
|
|
|
## Auxiliary collections
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `state/index.json` | Top-level rollup: counts, tier distribution, last update |
|
|
| `state/people/aliases.json` | Alias map for identity resolution |
|
|
| `state/customers/domain_map.json` | Email-domain → customer ID map |
|
|
| `state/extracted/YYYY-MM/<thread_id>/<msg_id>.json` | Canonical Email JSON output of email-extractor |
|
|
| `state/runs/YYYY-MM-DD.json` | Daily run snapshot |
|
|
| `state/runs/alerts.json` | Andon alert queue (append-only) |
|
|
| `state/audit/project_transitions.csv` | Every state transition |
|
|
| `state/audit/people_signals.csv` | Every BARS / CCAR signal asserted |
|
|
| `state/audit/boss_overrides.csv` | Every boss override applied |
|
|
| `state/audit/rule_fires.csv` | Per-rule fire counter |
|
|
| `state/unclustered/<thread_id>.json` | Threads claw-project-tracker couldn't cluster |
|
|
| `boss_skill.md` | The L1+L2+...+L5 mental model file (see `claw-boss-distiller/`) |
|
|
| `boss_skill.history/YYYY-Q*.md` | Quarterly archive of confirmed boss_skill versions |
|
|
|
|
## Universal conventions
|
|
|
|
- All timestamps: ISO 8601 UTC with `Z` suffix
|
|
- All amounts: number + ISO 4217 currency code
|
|
- All `source_email_ids`: arrays, never single string
|
|
- All `rule_refs`: machine-readable rule IDs (R-NN, GTD-WF, BARS-proactivity-3, etc.)
|
|
- `_meta` block on every entity: `created_at`, `updated_at`, `atlas_version`, plus entity-specific fields
|
|
|
|
## Privacy & retention
|
|
|
|
- All state files live INSIDE the client's network. Never copied out.
|
|
- Per-customer / per-person right-to-delete commands purge JSON + emit tombstones to `audit/`
|
|
- Daily snapshot under `state/runs/` enables point-in-time rollback (last 90 days kept; older compressed to monthly)
|
|
|
|
## Schema versioning
|
|
|
|
- Atlas writes its own version into `_meta.atlas_version`
|
|
- Schema changes require a migration script under `scripts/migrations/v0.X-to-v0.Y.py`
|
|
- Atlas refuses to read state written by a newer schema version (forward-incompatible by design)
|
|
|
|
## Validation
|
|
|
|
Each schema doc above will be paired with a JSON Schema (`.schema.json`) when claw skills are implemented in code. Atlas validates every write; invalid writes go to `state/.invalid/` for debugging.
|