assistant-claw/docs/decisions/0001-mirror-nuwa-skill.md
Atlas refactor bd0be97630 Refactor: drop Vega framing, promote Atlas to repo root
This repo IS Atlas (总助 Claw / 老板视角项目执行雷达). The earlier
two-profile framing (Atlas + Vega placeholder) was a misread — Vega is
the agent persona answering Multica issues, not the product. Vega has
no relationship to assistant-claw the product.

Changes:
- Move atlas/* to top-level (git mv preserves history)
- Remove empty Vega placeholders prompts/.gitkeep, tools/.gitkeep
- Delete atlas/ wrapper directory (now empty)
- Update path references in INTEGRATION-hermes.md, scripts/mirror-...sh,
  docs/decisions/0001-mirror-nuwa-skill.md
- Rewrite README.md as Atlas-only, remove dual-profile language

After this commit:
- Top-level OpenClaw 8 files (IDENTITY/SOUL/USER/AGENTS/TOOLS/MEMORY/
  BOOTSTRAP/HEARTBEAT + CLAUDE symlink + zh-CN mirrors)
- skills/{6 sub-skills + DESCRIPTION + README}
- mcp-tools/{spec + Python implementation}
- state-schemas/{project, person, customer + README}
- autopilots/{5 atlas-*.yaml}
- client-deck/, docs/decisions/, scripts/

The ~/.hermes/skills/atlas/ destination convention preserved (atlas as
a skill namespace on the operator's machine, distinct from source path).
2026-05-09 17:54:18 +08:00

64 lines
2.2 KiB
Markdown

# ADR-0001: Mirror nuwa-skill into Moments private Gitea
**Date:** 2026-05-09
**Status:** Accepted
**Authors:** Atlas team
## Context
Atlas's `claw-boss-distiller` skill (under `skills/claw-boss-distiller/`) is
adapted from the open-source [`alchaincyf/nuwa-skill`](https://github.com/alchaincyf/nuwa-skill)
(MIT). It uses upstream's triple-verification methodology and skill template
(see `skills/claw-boss-distiller/ADAPTER.md`).
For deployment, each Atlas instance needs the upstream code:
```bash
git clone --depth 1 https://github.com/alchaincyf/nuwa-skill.git \
skills/claw-boss-distiller/upstream
```
This works for environments with public internet. **It does not work for many
enterprise client deployments** which Atlas explicitly targets — most of our
customer base operates inside corporate networks that block direct GitHub access.
## Decision
Mirror `alchaincyf/nuwa-skill` to `git.moments.top/Moments.top/nuwa-skill` and
treat the Moments mirror as the canonical fetch source for client deployments.
The bot account (`multica-bot`) cannot create org repos via API (lacks
`write:organization` scope). Repo creation is a one-time human step:
> https://git.moments.top/repo/create → owner: `Moments.top` → name: `nuwa-skill`
> → empty (no auto-init)
After repo exists, run `./scripts/mirror-nuwa-to-moments.sh` to populate it.
## Consequences
### Positive
- Air-gapped client deployments work (no GitHub access required)
- Stable fetch URL even if upstream is unavailable
- Allows pinning to a specific commit per-deployment if needed
- We retain MIT license attribution (no IP impact)
### Negative
- Adds a sync responsibility — when upstream evolves, we need to re-mirror
- Slight risk of staleness if mirror cron fails silently
## Mitigation
- Run `./scripts/mirror-nuwa-to-moments.sh` on a weekly cron (TBD: add to
`autopilots/` once decided)
- Each Atlas deployment records the upstream commit SHA at install time so
drift is auditable
- README in `skills/claw-boss-distiller/upstream/` clearly notes the
mirror is a downstream copy, with last-mirrored timestamp
## References
- Upstream: https://github.com/alchaincyf/nuwa-skill (MIT)
- Mirror script: `scripts/mirror-nuwa-to-moments.sh`
- Adapter notes: `skills/claw-boss-distiller/ADAPTER.md`