diff --git a/scripts/subagents/forgejo-token-rotator.md b/scripts/subagents/forgejo-token-rotator.md new file mode 100644 index 0000000..bb6169d --- /dev/null +++ b/scripts/subagents/forgejo-token-rotator.md @@ -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…` → `` | +| `~/.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//`). + +### 4. Verifizieren + +```bash +# Token-Test +curl -sS -H "Authorization: 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 ()" +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 \ No newline at end of file diff --git a/scripts/subagents/raw-ingest-runner.md b/scripts/subagents/raw-ingest-runner.md new file mode 100644 index 0000000..b5b0a9d --- /dev/null +++ b/scripts/subagents/raw-ingest-runner.md @@ -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//_.md` mit Frontmatter: + +```yaml +--- +id: +type: xpost | blog | youtube | other +source_url: +captured_at: YYYY-MM-DD +captured_by: hector-subagent-raw-ingest-runner +ingest_run: WMT-XXX +distributions_kontext: +--- + +# + + +``` + +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: +type: wiki-page +created: YYYY-MM-DD +last_updated: YYYY-MM-DD +cross_refs: [] +sources: [] +stubs: 0 +--- + +# +... +``` + +### 3. Cross-Refs setzen + +- In **neuer** Wiki-Seite: alle `cross_refs` im Text verlinken (`[Titel](.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: " +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. \ No newline at end of file diff --git a/wiki/tasks/maintenance-todo.md b/wiki/tasks/maintenance-todo.md index 8fbaabd..a894ab3 100644 --- a/wiki/tasks/maintenance-todo.md +++ b/wiki/tasks/maintenance-todo.md @@ -41,6 +41,24 @@ - Category: structure | Effort: M | Status: parked - 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