WMT-007+008 prep: token-rotator + raw-ingest templates, ToDo-Erweiterung
- WMT-007 (forgejo-token-rotator): SKILL-Anleitung aus krallen-skills inline eingebettet, weil Skill nicht als OpenClaw-Skill registriert ist. Subagent rotiert autonom, Pit-Eskalation nur bei UI-Login-Fail/Sperre/API-Drift. - WMT-008 (AMD Ryzen AI Edge-Inferenz): raw-ingest-runner Template angelegt, wartet auf WMT-007 für Push. - Wiki-AGENTS.md bleibt unverändert (Subagent-Pull über die Task-Beschreibung). - Trigger: K9ert #6789 Korrektur — ich hatte Pit als Token-Eskalation adressiert statt Subagent.
This commit is contained in:
parent
22ae7f1bd0
commit
a2f9e07a6a
3 changed files with 226 additions and 0 deletions
99
scripts/subagents/forgejo-token-rotator.md
Normal file
99
scripts/subagents/forgejo-token-rotator.md
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
# Subagent: forgejo-token-rotator
|
||||||
|
|
||||||
|
**Auftrag:** Forgejo-Token für `hector-bot` auf `vmd185580.tailf38284.ts.net` rotieren und überall eintragen.
|
||||||
|
|
||||||
|
**Quelle:** Anleitung aus `krallen-skills/forgejo-instance-setup/SKILL.md` (Repo: https://vmd185580.tailf38284.ts.net/hector-bot/krallen-skills/src/branch/main/forgejo-instance-setup/SKILL.md).
|
||||||
|
|
||||||
|
**Trigger:** Token `b15b63a75e3164836a8b97dfde1b3b83bdcb873c` gibt seit 2026-06-16 ~20:42 UTC konsequent 401. Lokale Commits liegen bereit (insb. `fe24b99` Aschenbrenner-Ingest), Push blockiert.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
### 1. SKILL-Anleitung lesen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
SKILL_URL="https://vmd185580.tailf38284.ts.net/hector-bot/krallen-skills/raw/branch/main/forgejo-instance-setup/SKILL.md"
|
||||||
|
curl -sSL -H "Authorization: token b15b63a75e3164836a8b97dfde1b3b83bdcb873c" "$SKILL_URL" || echo "FALLBACK: Repo clonen und Datei lesen"
|
||||||
|
```
|
||||||
|
|
||||||
|
Falls `curl` mit altem Token 401 bringt: SKILL-Inhalt manuell aus Repo-UI/Clone holen.
|
||||||
|
|
||||||
|
### 2. Anleitung befolgen
|
||||||
|
|
||||||
|
Die SKILL beschreibt (vermutlich):
|
||||||
|
- Login via `tea login add` oder Browser-Session
|
||||||
|
- Neuen Token generieren (User-Settings → Applications → Generate Token)
|
||||||
|
- Scope: `repository` (read+write), ggf. `user` (für Account-Ops)
|
||||||
|
- Token kopieren (nur einmal sichtbar!)
|
||||||
|
|
||||||
|
### 3. Token eintragen
|
||||||
|
|
||||||
|
In **allen** dieser Stellen:
|
||||||
|
|
||||||
|
| Datei | Pfad | Format |
|
||||||
|
|---|---|---|
|
||||||
|
| `~/workspace/TOOLS.md` | Zeile `Token (tea):` ersetzen | `b15b63a7…` → `<neuer>` |
|
||||||
|
| `~/.config/tea/config.yml` | `token:`-Feld unter `hector-bot@botreasury` | gleich |
|
||||||
|
| OpenClaw-Env-Vars (falls gesetzt) | `FORGEJO_TOKEN` o.ä. in `/etc/openclaw/` oder `.env` | gleich |
|
||||||
|
|
||||||
|
WICHTIG: Vor dem Editieren **Backup** der Original-Dateien machen (in `/home/node/workspace/.backup/<timestamp>/`).
|
||||||
|
|
||||||
|
### 4. Verifizieren
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Token-Test
|
||||||
|
curl -sS -H "Authorization: token <NEUER_TOKEN>" \
|
||||||
|
https://vmd185580.tailf38284.ts.net/api/v1/user | jq -r '.login'
|
||||||
|
|
||||||
|
# Erwartet: "hector-bot"
|
||||||
|
|
||||||
|
# Push-Test (lokal bereits vorhandener Aschenbrenner-Commit)
|
||||||
|
cd /home/node/workspace/knowledge-base
|
||||||
|
git log --oneline -5 # fe24b99 sollte oben sein
|
||||||
|
git push origin main
|
||||||
|
|
||||||
|
# Erwartet: success, kein 401
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Commit + ToDo-Update
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /home/node/workspace/knowledge-base
|
||||||
|
git add wiki/tasks/maintenance-todo.md
|
||||||
|
git commit -m "WMT-007: forgejo token rotated (<KURZ-HASH alt> → <KURZ-HASH neu>)"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
ToDo-Eintrag in `wiki/tasks/maintenance-todo.md`:
|
||||||
|
- Status `planning` → `done`
|
||||||
|
- Datum + Commit-Hash eintragen
|
||||||
|
- `Subagent: forgejo-token-rotator.md (Run YYYY-MM-DD)`
|
||||||
|
|
||||||
|
### 6. Topic-Report
|
||||||
|
|
||||||
|
Im RamaDama-Topic posten (kurz, Telegram-klickbar):
|
||||||
|
- ✅ Forgejo-Token rotiert
|
||||||
|
- Neuer Token-Hash (erste 4 + letzte 4 Zeichen)
|
||||||
|
- Commit-SHA der ToDo-Aktualisierung
|
||||||
|
- Push-Test bestätigt
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Eskalation an Pit
|
||||||
|
|
||||||
|
NUR wenn:
|
||||||
|
- (a) Forgejo-UI-Login scheitert (Credentials unbekannt, MFA-Token fehlt)
|
||||||
|
- (b) Account gesperrt
|
||||||
|
- (c) SKILL beschreibt andere API-Endpunkte als die aktuelle Forgejo-Version
|
||||||
|
- (d) Token-Test 401 trotz erfolgreicher Rotation (möglich: Token-Scope falsch)
|
||||||
|
|
||||||
|
In diesen Fällen: Topic-Post mit Block + benötigter Pit-Action. KEIN 30-Minuten-Retry-Loop.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sicherheit
|
||||||
|
|
||||||
|
- Token **nie** in Logs oder Commit-Messages im Klartext
|
||||||
|
- Auch nicht im Topic-Post — nur Kurz-Hash (`ab12…xy9`)
|
||||||
|
- `TOOLS.md` und `tea/config.yml` sind Workspace-Dateien, **nicht** im Git-Repo des Wikis — kein Commit auf den Token-Inhalt
|
||||||
109
scripts/subagents/raw-ingest-runner.md
Normal file
109
scripts/subagents/raw-ingest-runner.md
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
# Subagent: raw-ingest-runner (Template)
|
||||||
|
|
||||||
|
**Auftrag:** Roh-Post in Wiki-Pipeline ziehen — Raw-Datei anlegen, Wiki-Seite erstellen/erweitern, Cross-Refs setzen, index.md + log.md updaten.
|
||||||
|
|
||||||
|
**Schema-Referenz:** `AGENTS.md` im Repo (Raw immutable, Wiki kuratiert, Frontmatter-Pflicht).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Input-Parameter (vom Hauptagent mitgegeben)
|
||||||
|
|
||||||
|
- `raw_path`: z.B. `raw/xpost/2026-06-16_amd-ryzen-ai-edge-inferenz.md`
|
||||||
|
- `source_url`: Original-Post-URL
|
||||||
|
- `source_type`: `xpost | blog | youtube | other`
|
||||||
|
- `wiki_target`: z.B. `wiki/concepts/hardware/edge-inference-als-cloud-alternative.md` (neu oder erweitern)
|
||||||
|
- `cross_refs`: Liste existierender Wiki-Seiten für Backlinks
|
||||||
|
- `distributions_kontext`: Falls Distributions-Format als Faktum benannt werden muss (z.B. "Tech-Influencer-Channel", "Werbe-finanziert")
|
||||||
|
- `tok_status`: aktueller Token-Status (`ok | waiting-on-rotation`)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
### 1. Raw-Datei anlegen
|
||||||
|
|
||||||
|
`raw/<source_type>/<datum>_<slug>.md` mit Frontmatter:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
id: <auto-generated or as-given>
|
||||||
|
type: xpost | blog | youtube | other
|
||||||
|
source_url: <url>
|
||||||
|
captured_at: YYYY-MM-DD
|
||||||
|
captured_by: hector-subagent-raw-ingest-runner
|
||||||
|
ingest_run: WMT-XXX
|
||||||
|
distributions_kontext: <string oder leer>
|
||||||
|
---
|
||||||
|
|
||||||
|
# <Titel>
|
||||||
|
|
||||||
|
<Post-Inhalt oder ausführliche Zusammenfassung>
|
||||||
|
```
|
||||||
|
|
||||||
|
IMMER immutable — kein nachträgliches Editieren (außer bei Fehlern mit `--amend` direkt nach Capture).
|
||||||
|
|
||||||
|
### 2. Wiki-Seite erstellen oder erweitern
|
||||||
|
|
||||||
|
Bei **neuer** Seite: Wiki-Page mit Frontmatter, ≥ 200 Wörter Substanz, Cross-Refs im Text.
|
||||||
|
|
||||||
|
Bei **Erweiterung**: Bestehende Seite lesen, neuen Abschnitt ergänzen mit klarer Überschrift + Datums-Tag.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
id: <slug>
|
||||||
|
type: wiki-page
|
||||||
|
created: YYYY-MM-DD
|
||||||
|
last_updated: YYYY-MM-DD
|
||||||
|
cross_refs: [<liste>]
|
||||||
|
sources: [<raw_ids>]
|
||||||
|
stubs: 0
|
||||||
|
---
|
||||||
|
|
||||||
|
# <Titel>
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Cross-Refs setzen
|
||||||
|
|
||||||
|
- In **neuer** Wiki-Seite: alle `cross_refs` im Text verlinken (`[Titel](<slug>.md)`)
|
||||||
|
- In **bestehenden** Cross-Ref-Seiten: 1 Satz + Link auf neue Wiki-Seite ergänzen
|
||||||
|
|
||||||
|
### 4. index.md + log.md updaten
|
||||||
|
|
||||||
|
**index.md**: Neue Wiki-Seite in passender Kategorie eintragen.
|
||||||
|
|
||||||
|
**log.md**: Eintrag mit Datum, Ingest-Run-ID, neuen/geänderten Pages, Commit-Hashes.
|
||||||
|
|
||||||
|
### 5. Commit + ToDo-Update
|
||||||
|
|
||||||
|
Falls `tok_status == ok`:
|
||||||
|
```bash
|
||||||
|
git add raw/ wiki/
|
||||||
|
git commit -m "WMT-XXX: <kurzbeschreibung>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
Falls `tok_status == waiting-on-rotation`:
|
||||||
|
- Commits lokal anlegen, pushen sobald Token rotiert ist (WMT-007 abhängig)
|
||||||
|
- ToDo-Eintrag mit Note: `pending WMT-007`
|
||||||
|
|
||||||
|
ToDo-Eintrag updaten: `planning` → `done` (oder `pending` bei Warte-Status).
|
||||||
|
|
||||||
|
### 6. Topic-Report
|
||||||
|
|
||||||
|
Standard-URL-Übersicht (siehe Wiki-AGENTS.md § "Reply-Sichtbarkeit"):
|
||||||
|
- 🆕 Neue Wiki-Seiten mit Repo-Browse-Link + Commit-SHA
|
||||||
|
- 🔧 Maßgeblich veränderte Seiten mit gleichem Schema
|
||||||
|
- Distributions-Kontext als Fakt benannt (falls zutreffend)
|
||||||
|
- ⚠️ Token-Status (falls relevant)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Pit-Eskalation
|
||||||
|
|
||||||
|
NUR bei:
|
||||||
|
- Wiki-Konzept existiert schon unter anderem Namen (mögliche Duplikation → Hub-Page-Strategie)
|
||||||
|
- Distributions-Kontext ist heikel (z.B. politisch umstrittener Kanal) → Pit-Check vor Veröffentlichung
|
||||||
|
- Cross-Validation-Quellen widersprechen sich fundamental → Vor-Pit-Post nicht ins Wiki
|
||||||
|
|
||||||
|
Sonst: autonom durchziehen.
|
||||||
|
|
@ -41,6 +41,24 @@
|
||||||
- Category: structure | Effort: M | Status: parked
|
- Category: structure | Effort: M | Status: parked
|
||||||
- Notes: 9 Files, unter Refactor-Trigger (12). Aktuell nicht zwingend. WMT-003 + WMT-002 haben Vorrang.
|
- Notes: 9 Files, unter Refactor-Trigger (12). Aktuell nicht zwingend. WMT-003 + WMT-002 haben Vorrang.
|
||||||
|
|
||||||
|
- [ ] **WMT-007** — Forgejo-Token-Rotation (hector-bot)
|
||||||
|
- Category: infra | Effort: S | Status: planning
|
||||||
|
- Subagent: `scripts/subagents/forgejo-token-rotator.md` (neu anzulegen, Inline-Anleitung von krallen-skills/forgejo-instance-setup/SKILL.md)
|
||||||
|
- Trigger: Token `b15b63a7…` gibt seit 2026-06-16 ~20:42 UTC konsequent 401. Pit muss nicht manuell rotieren — Subagent folgt SKILL-Anleitung, generiert neuen Token, schreibt in TOOLS.md + ~/.config/tea/config.yml, verifiziert mit `tea push`/`curl`.
|
||||||
|
- Quelle für Anleitung: https://vmd185580.tailf38284.ts.net/hector-bot/krallen-skills/src/branch/main/forgejo-instance-setup/SKILL.md
|
||||||
|
- Pit-Eskalation NUR wenn: (a) Forgejo-UI-Login nicht klappt, (b) Account-Lock, (c) Token-API anders als in SKILL beschrieben. Sonst autonom.
|
||||||
|
- Blockiert: alle Pushes (Aschenbrenner-Commit fe24b99 wartet lokal, plus alle weiteren Wikify-Commits bis Token-Fix).
|
||||||
|
|
||||||
|
- [ ] **WMT-008** — AMD Ryzen AI Edge-Inferenz Ingest
|
||||||
|
- Category: content | Effort: S | Status: planning
|
||||||
|
- Subagent: `scripts/subagents/raw-ingest-runner.md` (analog zu bestehenden Ingest-Workflows)
|
||||||
|
- Trigger: X-Post @0xJokker #6785 — AMD-CEO Lisa Su, PC im Lunchbox-Format, 235B-Parameter lokal, 128 GB unified memory, 3× schneller als RTX 5080.
|
||||||
|
- Output:
|
||||||
|
- `raw/xpost/2026-06-16_amd-ryzen-ai-edge-inferenz.md` (mit Frontmatter, Distributions-Kontext benannt)
|
||||||
|
- `wiki/concepts/hardware/edge-inference-als-cloud-alternative.md` (neu)
|
||||||
|
- Cross-Refs: Mainzer (Gehirn 20W), Aschenbrenner (KI-Infrastruktur-Anlageklasse), Aravind (Token/Watt-Bottleneck)
|
||||||
|
- Wartet auf WMT-007 (Token) für Push — Commits lokal vorbereiten ist OK.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## In Progress
|
## In Progress
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue