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
5.4 KiB
State Schema: state/people/<name>.json
Owned by: claw-people-observer (write); read by claw-report-writer.
Hard rule
This schema NEVER contains a verdict. Atlas writes only data; the boss writes any verdict (e.g., 9-Box potential dimension, A/B/C label).
Fields that would imply a verdict (潜力, Topgrading_等级) exist with null defaults and are written by the boss via override only — never by Atlas.
Identifier convention
<canonical_name>.json where canonical_name is the merged identity (after alias resolution). Aliases are stored in state/people/aliases.json.
Examples: 张三.json, lisi.json, Wang_Wu.json
Top-level shape
{
"name": "张三", // string, canonical identity
"aliases": ["zhang san", "Z.San"], // array<string>
"internal": true, // bool — true if email domain ∈ company_domains
"primary_email": "zhangsan@us.com", // string
"产出指标": { // object — pure metrics, no verdicts
"active_projects": 8, // int, projects where person is Responsible AND status=Active
"completed_30d": 2, // int, completed in last 30 days
"stalled_ratio": 0.375, // float, stalled / (active + stalled)
"avg_response_hours": 27, // float, median, only when person is Responsible
"客户主动催办次数_30d": 4, // int
"computed_at": "2026-05-09T07:30:00Z"
},
"行为标签_BARS": [ // array<object>, behavior-anchored ratings
{
"维度": "主动性", // string, BARS dimension
"锚点": "客户首次催才回应", // string, the matched anchor phrase
"评分": 2, // int 1..5
"依据邮件": ["msg-abc@..."], // array<string>, source email IDs
"rule_ref": "BARS-proactivity-3", // string, which rule produced this tag
"asserted_at": "2026-05-09T07:30:00Z"
}
],
"关键事件_CCAR_30d": [ // array<object>, critical incidents
{
"date": "2026-04-22",
"事件": "PRJ-001 客户投诉,未升级",
"性质": "负向", // enum: 正向 | 负向
"source_email_ids": ["msg-xyz@..."],
"rule_ref": "R-CCAR-escalation-missed"
}
],
"网络中心度_ONA": { // object, refreshed weekly
"信息中介度": 0.42, // float [0,1], betweenness centrality
"孤立指数": 0.18, // float [0,1], 1 / unique_correspondents (normalized)
"解读": "中等枢纽,未被孤立", // string, machine-generated brief
"computed_at": "2026-05-06T08:00:00Z"
},
"9_box_自动估": { // object
"performance": "中下", // enum: 高 | 中 | 中下 | 低 — auto-estimated
"潜力": null, // enum or null — NEVER auto-set; boss-only
"建议象限": "Solid Performer 或 Underperformer,看潜力定", // string, prose suggestion
"boss_to_confirm": true // bool, true until boss writes 潜力
},
"Topgrading_等级": null, // enum: A | B+ | B | B- | C | null — boss-only
"data_sparse": false, // bool, true when person has < 3 active projects
"_meta": {
"created_at": "2025-08-12T10:00:00Z",
"updated_at": "2026-05-09T07:30:12Z",
"atlas_version": "v0.4",
"merge_history": [] // append when aliases get merged in
}
}
What Atlas IS allowed to write
- Activity metrics (项目数 / 卡点率 / 响应时长 etc.)
- Behavior tags from boss-confirmed BARS anchors
- Critical incidents matched by rules
- ONA centrality
- 9-Box performance dimension (auto-estimate, with
boss_to_confirm: true)
What Atlas is NEVER allowed to write
9_box_自动估.潜力— boss-onlyTopgrading_等级— boss-only- Any field that says "应该" / "建议解雇" / "不胜任" — language guard
- BARS tags using anchors not in
boss_skill.md > Decision Heuristics
Boss override format
Boss replies to Brief or weekly rollup:
OVERRIDE PEOPLE 张三 9_box_自动估.潜力="高"
OVERRIDE PEOPLE 张三 Topgrading_等级="B+"
OVERRIDE PEOPLE 张三 行为标签 retire BARS-proactivity-3 reason="不公平"
Logged to state/audit/boss_overrides.csv. Retired BARS tags increment a counter in the rule's audit; if any rule is retired ≥ 2 times, it surfaces in next quarterly distillation review.
Display rule for claw-report-writer
When rendering people sections in Brief / Rollup:
- Always lead with metric ("张三 项目密度 8, 卡点率 37.5%")
- Never lead with a verdict ("张三表现下滑")
- BARS tags shown only with their anchor + email ID hint
- Topgrading_等级 shown only if boss has filled it
- ONA centrality used as supplementary context, not headline
Privacy
- This file lives inside the client's network. Never leaves.
- Right-to-delete: a single CLI command (
atlas-people-purge --name "张三") wipes all related state and writes a tombstone toaudit/.