275 lines
8.4 KiB
Markdown
275 lines
8.4 KiB
Markdown
## 1) Ustal ROOT\_PATH (gdzie ma powstać system)
|
||
|
||
Najbezpieczniej jest trzymać to w **workspace OpenClaw**, bo sandbox i polityki narzędzi (fs) zwykle są tam gotowe. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli/sandbox), [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli)
|
||
|
||
### Opcja rekomendowana (workspace OpenClaw)
|
||
|
||
```bash
|
||
export ROOT_PATH="$HOME/.openclaw/workspace/missions"
|
||
```
|
||
|
||
### Opcja alternatywna (Twoje `.org` / JD)
|
||
|
||
Jeśli chcesz podpiąć pod Johnny Decimal, użyj np.:
|
||
|
||
```bash
|
||
export ROOT_PATH="$HOME/.org/missions"
|
||
```
|
||
|
||
> Tylko pamiętaj: sandbox musi mieć prawo zapisu do tej ścieżki — sprawdzisz to w kroku 3. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli/sandbox)
|
||
|
||
***
|
||
|
||
## 2) Uruchom wszystko w osobnym profilu (polecane)
|
||
|
||
Profil `missionctl` odseparuje konfigurację od reszty. OpenClaw wspiera profile flagą `--profile`. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli)
|
||
|
||
```bash
|
||
openclaw --profile missionctl gateway start
|
||
openclaw --profile missionctl gateway status
|
||
```
|
||
|
||
***
|
||
|
||
## 3) Sprawdź sandbox i dostęp do FS (krytyczne)
|
||
|
||
To pokaże, czy agent może pisać do `ROOT_PATH` i jakie ma ograniczenia. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli/sandbox)
|
||
|
||
```bash
|
||
openclaw --profile missionctl sandbox explain
|
||
```
|
||
|
||
Jeśli wyjdzie, że sandbox nie ma dostępu do Twojej ścieżki poza workspace — najprościej przenieść `ROOT_PATH` do `~/.openclaw/workspace/…`.
|
||
|
||
***
|
||
|
||
## 4) (Opcjonalnie) Ustaw profil narzędzi tak, by mieć operacje plikowe
|
||
|
||
OpenClaw ma polityki narzędzi i profile; `openclaw config set` to standardowy sposób ustawiania configu. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli), [\[deepwiki.com\]](https://deepwiki.com/openclaw/openclaw/6.2-tool-security-and-sandboxing)
|
||
|
||
```bash
|
||
openclaw --profile missionctl config set tools.profile '"coding"'
|
||
```
|
||
|
||
***
|
||
|
||
## 5) BOOTSTRAP: utwórz cały system z diagramu (foldery + pliki + config)
|
||
|
||
Poniższe polecenie uruchamia **jednego “turna” agenta** przez OpenClaw, który:
|
||
|
||
* tworzy strukturę katalogów `_MCC`, `APOLLO`, `HUBBLE`, `ARTEMIS`
|
||
* zakłada sekcje i katalogi `missions/`
|
||
* zapisuje pliki startowe (Operating Manual, Routing Rules, indeksy)
|
||
* zapisuje template’y
|
||
* zapisuje `_MCC/openclaw.missions.json` (mapowanie callsign → folder + agenci)
|
||
|
||
`openclaw agent` jest wprost w CLI. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli)
|
||
|
||
```bash
|
||
openclaw --profile missionctl agent --message "
|
||
BOOTSTRAP Mission Management System.
|
||
|
||
ROOT_PATH=$ROOT_PATH
|
||
|
||
1) Create directories:
|
||
- $ROOT_PATH/_MCC/50_templates
|
||
- $ROOT_PATH/APOLLO/CORE_TECH/missions
|
||
- $ROOT_PATH/APOLLO/FLIGHT_CODE/missions
|
||
- $ROOT_PATH/APOLLO/VERIFICATION/missions
|
||
- $ROOT_PATH/APOLLO/99_archive
|
||
- $ROOT_PATH/HUBBLE/CONTENT/missions
|
||
- $ROOT_PATH/HUBBLE/CREATIVE/missions
|
||
- $ROOT_PATH/HUBBLE/99_archive
|
||
- $ROOT_PATH/ARTEMIS/EXPERIMENTS/missions
|
||
- $ROOT_PATH/ARTEMIS/TELEMETRY/missions
|
||
- $ROOT_PATH/ARTEMIS/GROUND_CREW/missions
|
||
- $ROOT_PATH/ARTEMIS/99_archive
|
||
|
||
2) Write MCC files (overwrite if exist):
|
||
A) $ROOT_PATH/_MCC/00_operating-manual.md
|
||
# Operating Manual — Mission System
|
||
|
||
## Governance
|
||
- PROGRAM LEAD: vision, strategy, final decisions
|
||
- MISSION CONTROL (MCC): triage, routing, execution, WIP, closure
|
||
|
||
## Missions
|
||
- APOLLO: Flight Systems (Core Tech, Flight Code, Verification)
|
||
- HUBBLE: Mission Story (Mission Content, Creative Studio)
|
||
- ARTEMIS: Mission Outcomes (Experiments, Telemetry, Ground Crew)
|
||
|
||
## Packet standard
|
||
Each packet contains:
|
||
00_brief.md, 10_worklog.md, 20_artifacts/, 30_results.md, 40_decision.md, 90_links.md
|
||
|
||
## Modes
|
||
SIM (default) vs FLIGHT (requires SIM→FLIGHT checklist)
|
||
|
||
## Closure
|
||
PROCEED | ITERATE | HOLD | SCRUB
|
||
|
||
B) $ROOT_PATH/_MCC/40_routing-rules.md
|
||
# Routing Rules (MCC)
|
||
|
||
## Call-signs → folders
|
||
APOLLO-CORE → APOLLO/CORE_TECH
|
||
APOLLO-CODE → APOLLO/FLIGHT_CODE
|
||
APOLLO-VERIFY → APOLLO/VERIFICATION
|
||
|
||
HUBBLE-CONTENT → HUBBLE/CONTENT
|
||
HUBBLE-CREATIVE → HUBBLE/CREATIVE
|
||
|
||
ARTEMIS-EXP → ARTEMIS/EXPERIMENTS
|
||
ARTEMIS-TLM → ARTEMIS/TELEMETRY
|
||
ARTEMIS-GROUND → ARTEMIS/GROUND_CREW
|
||
|
||
## Default mode
|
||
SIM is default. FLIGHT requires checklist + approvals.
|
||
|
||
C) Empty indices:
|
||
- $ROOT_PATH/_MCC/10_backlog.md with '# Backlog (MCC)'
|
||
- $ROOT_PATH/_MCC/20_active-missions.md with '# Active Missions (MCC)'
|
||
- $ROOT_PATH/_MCC/30_decisions.md with '# Decisions (MCC)'
|
||
- $ROOT_PATH/_MCC/90_archive-index.md with '# Archive Index (MCC)'
|
||
|
||
3) Write templates:
|
||
- $ROOT_PATH/_MCC/50_templates/task-brief.md
|
||
- $ROOT_PATH/_MCC/50_templates/sim-flight-checklist.md
|
||
- $ROOT_PATH/_MCC/50_templates/post-mission-report.md
|
||
- $ROOT_PATH/_MCC/50_templates/decision-record.md
|
||
|
||
Contents:
|
||
|
||
(task-brief.md)
|
||
# [CALLSIGN] Task Brief — <title>
|
||
Routing: [CALLSIGN]
|
||
Agent: <AgentName>
|
||
Mode: SIM | FLIGHT
|
||
Priority: P0 | P1 | P2
|
||
## Context
|
||
## Goal
|
||
## Deliverables
|
||
## Constraints
|
||
## Acceptance Criteria
|
||
## Risks
|
||
|
||
(sim-flight-checklist.md)
|
||
# SIM → FLIGHT Checklist
|
||
- Acceptance criteria met
|
||
- Artifacts linked in 90_links.md
|
||
- Risks reviewed
|
||
- Verification done (if needed)
|
||
- Telemetry plan ready (if needed)
|
||
- MCC GO
|
||
- PROGRAM LEAD GO (P0/P1)
|
||
|
||
(post-mission-report.md)
|
||
# Post-Mission Report — <title>
|
||
Packet:
|
||
Decision:
|
||
Summary:
|
||
Artifacts:
|
||
Measurements:
|
||
Learnings:
|
||
Next Steps:
|
||
|
||
(decision-record.md)
|
||
# Decision Record — <title>
|
||
Decision: PROCEED | ITERATE | HOLD | SCRUB
|
||
Date:
|
||
Owner:
|
||
Rationale:
|
||
Trade-offs:
|
||
Follow-up:
|
||
|
||
4) Write mapping config:
|
||
$ROOT_PATH/_MCC/openclaw.missions.json
|
||
Use this exact JSON, but with root_path = ROOT_PATH:
|
||
|
||
{
|
||
\"root_path\": \"$ROOT_PATH\",
|
||
\"wip_limit\": 5,
|
||
\"modes\": { \"default\": \"SIM\", \"flight_requires_checklist\": true, \"flight_requires_program_lead_for_priority\": [\"P0\",\"P1\"] },
|
||
\"missions\": {
|
||
\"APOLLO\": {
|
||
\"label\": \"FLIGHT SYSTEMS\",
|
||
\"sections\": {
|
||
\"APOLLO-CORE\": { \"folder\": \"APOLLO/CORE_TECH\", \"agents\": [\"Anvil\",\"Cipher\"] },
|
||
\"APOLLO-CODE\": { \"folder\": \"APOLLO/FLIGHT_CODE\", \"agents\": [\"Pixel\",\"Sentry\"] },
|
||
\"APOLLO-VERIFY\": { \"folder\": \"APOLLO/VERIFICATION\", \"agents\": [\"Inspector\"] }
|
||
}
|
||
},
|
||
\"HUBBLE\": {
|
||
\"label\": \"MISSION STORY\",
|
||
\"sections\": {
|
||
\"HUBBLE-CONTENT\": { \"folder\": \"HUBBLE/CONTENT\", \"agents\": [\"Rex\",\"Sage\",\"Echo\",\"Clip\"] },
|
||
\"HUBBLE-CREATIVE\": { \"folder\": \"HUBBLE/CREATIVE\", \"agents\": [\"Nebula\",\"Nova\"] }
|
||
}
|
||
},
|
||
\"ARTEMIS\": {
|
||
\"label\": \"MISSION OUTCOMES\",
|
||
\"sections\": {
|
||
\"ARTEMIS-EXP\": { \"folder\": \"ARTEMIS/EXPERIMENTS\", \"agents\": [\"Scout\",\"Herald\"] },
|
||
\"ARTEMIS-TLM\": { \"folder\": \"ARTEMIS/TELEMETRY\", \"agents\": [\"Forge\",\"Pulse\"] },
|
||
\"ARTEMIS-GROUND\": { \"folder\": \"ARTEMIS/GROUND_CREW\", \"agents\": [\"Beacon\",\"Link\",\"Vibe\"] }
|
||
}
|
||
}
|
||
},
|
||
\"packet\": {
|
||
\"name_format\": \"YYYY-MM-DD__CALLSIGN__slug\",
|
||
\"required_files\": [\"00_brief.md\",\"10_worklog.md\",\"30_results.md\",\"40_decision.md\",\"90_links.md\"],
|
||
\"artifact_dir\": \"20_artifacts\"
|
||
}
|
||
}
|
||
|
||
5) After completion, print a short summary of what you created and where.
|
||
"
|
||
```
|
||
|
||
***
|
||
|
||
## 6) Diagnostyka, jeśli coś “nie zadziała”
|
||
|
||
### Podgląd logów gateway (na żywo)
|
||
|
||
```bash
|
||
openclaw --profile missionctl logs --follow
|
||
```
|
||
|
||
`openclaw logs --follow` to oficjalny sposób podglądu logów Gateway. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli)
|
||
|
||
### Szybki status całego systemu
|
||
|
||
```bash
|
||
openclaw --profile missionctl status --deep
|
||
```
|
||
|
||
Polecenie `openclaw status` (w tym `--deep`) jest w CLI i służy do diagnostyki. [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli)
|
||
|
||
***
|
||
|
||
## 7) (Bonus) Stwórz pierwszy Mission Packet testowy
|
||
|
||
Po bootstrapie możesz od razu sprawdzić, że wszystko działa — np. utworzyć pakiet w `ARTEMIS-TLM`:
|
||
|
||
```bash
|
||
openclaw --profile missionctl agent --message "
|
||
Utwórz Mission Packet w $ROOT_PATH dla:
|
||
CALLSIGN: ARTEMIS-TLM
|
||
Owner: Pulse
|
||
Mode: SIM
|
||
Slug: system-check
|
||
|
||
Folder: YYYY-MM-DD__ARTEMIS-TLM__system-check w ARTEMIS/TELEMETRY/missions/
|
||
W środku: 00_brief.md, 10_worklog.md, 20_artifacts/, 30_results.md, 40_decision.md, 90_links.md
|
||
Dopisz wpis do $ROOT_PATH/_MCC/20_active-missions.md ze statusem IN_PROGRESS.
|
||
"
|
||
```
|
||
|
||
***
|
||
|
||
# Dwa szybkie pytania (żeby dopasować to perfekcyjnie pod Twój Linux)
|
||
|
||
1. Jaki jest u Ciebie **ROOT\_PATH docelowo**: w `~/.openclaw/workspace/…` czy w Twoim `.org` (Johnny Decimal)?
|
||
2. Czy OpenClaw działa w Docker sandboxie czy “host mode”? (Wynik `openclaw sandbox explain` powie — jeśli wkleisz 2–3 linie, dopasuję zalecenia 1:1.) [\[docs.openclaw.ai\]](https://docs.openclaw.ai/cli/sandbox)
|