May 17, 2026, 11:40 PM
This commit is contained in:
@@ -0,0 +1,274 @@
|
||||
## 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)
|
||||
Reference in New Issue
Block a user