name: orderfield description: v0.7.46 — Plattenbasierter Vertrags-Kernel. Verwenden, wenn der Benutzer /orderfield oder /of aufruft, ein bestehendes Feld fortgesetzt werden muss oder eine echte Multi-Slice-/Multi-Writer-Welle einen Plan benötigt, der Komprimierung überlebt. Manuelle Installation/Überprüfung: docs/demo/mortal-install.sh, dann of doctor. Doctor/Status fragen einmal täglich, wenn eine neuere Version existiert (Einverständnis; nicht still). Nicht für einen Harness-Namen allein oder einen normalen Sub-Agenten auslösen. Unbekannte Harnesses verwenden den generischen Modus. Lizenz: MIT Kompatibilität: Erfordert Python 3.11+. Optionale Harness-CLIs sind claude, codex, orca, agent oder cursor-agent, opencode, grok, agy, qwen. Kernel verwendet nur stdlib. Metadaten: version: "0.7.46" author: Soy Pei / orderfield prinzip: haken-slaving
Was macht orderfield?
Sie sind der Leiter. Implementieren Sie den Slice nicht. Die Platte ist die Sitzung.
/of ist dieser Skill. Fortsetzen. Packen. Rest. Kontrastieren. Schließen. Der Ursprung ist ein Zeiger, nicht der Spawn-Pin.
Der Harness (Claude, Codex, Orca, Grok, Cursor, OpenCode, Antigravity/agy) startet und stoppt Prozesse. ORDER, Pakete, Reste und Regime-Entscheidungen leben auf der Platte. Verwenden Sie es, wenn ein Kernel, ein Produkt oder ein Multi-Slice-Build exklusive Eigentümer, einen SPEC, der der Komprimierung standhält, und of contrast vor dem Schließen benötigt. Wenn ein Agent bereits ausreicht, öffnen Sie kein Feld.
Vertragsvokabular: docs/glossary.md. Vergleich mit (Orca, AWS CAO, Agent Teams, CrewAI/LangGraph, Dual-Harness-Skills): README.md. Invarianten: references/principles.md.
Kinder bewegen sich frei innerhalb des Pakets. Ein Schwellenrest blockiert weiteren Spawn in dieser Welle; es mutiert ORDER nicht von sich aus.
Der Kernel erzwingt öffentliche JSON-Schemata, atomare dateiweise Schreibvorgänge plus ein feldweites WAL (Stage + MANIFEST + publish) für Multi-Datei-Mutationen, ein prozessübergreifendes Feld-Lock für MUTATING_COMMANDS (init, new, pack, unpack, collect, integrate, phase, patch, next-wave, migrate, spec, checkpoint, close, gc), Pack-Grenzen, kanonische Paketidentität/Pfad/Revision, Rest-Bindung, Integrations-Wiederholung, bewachte Phasen-/Wellenübergänge, Spawn-Blockierung und das geschlossene Regime-Menü, wenn Arbeit durch of läuft. Rollengehorsam, Produkt-Workspace-Besitz, gleiche Harness-Wahl, wahrheitsgetreue von Kindern erstellte Metriken und direkte Schreibvorgänge außerhalb der CLI bleiben Protokoll. Es sperrt keine Produktdateien, erstellt keine Worktrees automatisch, bezeugt keine Metriken oder überwacht ein ungehorsames Kind. of worktree ist ein optionaler Helfer, kein Prozess-Manager.
Was Sie als nächstes eingeben
| Platte sagt | Sie geben ein |
|---|---|
.orderfield/ORDER.json existiert | of resume — dann das gedruckte next, gleicher Zug |
| kein ORDER, echte Multi-Slice-Arbeit | of init --mission "…" --source "<wörtliche Aufgabenstellung>" |
| Eigentümer bekannt | of pack --slice "…" --owns-requirement ID dann of handoff --packet oder of spawn |
| Slice sieht riesig aus | of pack --explain --slice "…" --role explorer — nennt Gründe; schreibt nicht |
| Mitte eines Epos, nächster Harness oder Mensch | of handoff (Feldpaket) oder of handoff --json — nicht entpacken |
| Reste gelandet | of collect --wave N → of integrate --wave N |
| Öffentliche Oberfläche getestet | of spec --verified-contract ID → of contrast → of close --checklist → of close |
| Multi-Welle bereit zum Schließen | of close --checklist — contrast RESOLVED + Rest leer; dann of close. Fliegend (Rest MISSING) ist nicht geschlossen |
| Was geschlossen bedeutet | docs/close-is-proof.md — RFC: contrast RESOLVED + Rest leer + CLOSE.json. Rest leer ist nicht der Abschluss |
| Kind sagt, das Feld ist falsch | of patch … dann of next-wave |
| Mehrere nicht übereinstimmende offene Felder | --field anhängen (schreibt .orderfield/ACTIVE), oder of new |
| Mehrere Geschwister, benötigen fliegende Pakete | of fields / of fields --json — offene Pakete über Arbeitsbereiche hinweg; of status --json bleibt ein Feld |
| Lange Mission (Epos → Wellen → Änderung → Schließen) | docs/long-mission.md — die Verben durchgehen; keinen Supervisor erfinden |
Sitzung sagt CLOSED, --tokens, oder entpacken eines Reporters | of eval recovery/adversarial-dual-truth — Platte gewinnt; --tokens stirbt; Reporter sammeln/integrieren |
Mensch fragt nach Installation/Überprüfung von of | bash docs/demo/mortal-install.sh --global (oder --root PFAD); of doctor muss ok ausgeben. Pin: README / PUBLISH. Nicht pip. Kein Daemon |
stderr/doctor sagt neuere of | Benutzer fragen; bei Ja: ORDERFIELD_VERSION=… bash install.sh --global --from-release (Release tar.gz + SHA256SUMS). Einmal täglich. Nicht mitten im ORDER ohne Zustimmung aktualisieren |
Multi-Harness-Rest / tiefer Skill dest verloren residual.codex | of eval recovery/multi-harness-residual — Claude/Codex/Cursor teilen einen Rest; Codex argv nennt noch das Schema |
of doctor gibt FAIL aus | Feld/Kernel — ACTIVE/Stub/Packs/Schemata/Lock reparieren; Skill SKEW allein ist WARN / Exit 0 (bash install.sh --global) |
next=HOLD und Kinder fliegen | Die letzte PULSE-Zeile in diesem Zug dem Benutzer zitieren; bei diesen Paketen bleiben |
Ein Zug, der pack, spawn, contrast oder close ohne diese of-Befehle im selben Zug behauptet, ist ein fehlerhafter Durchlauf.
Wann zu verwenden
- Der Benutzer ruft explizit Orderfield,
/orderfield,/of, Haken-Slaving, Schwellendelegation oder ein Order-Field auf. - Komplexe Software (ein Kernel, ein Produkt, ein Multi-Slice-Build), die ohne Qualitätsverlust nicht in einen Kontext passt.
- Mehrere Slices oder Autoren benötigen explizite Eigentumsverhältnisse, oder mehrere Harnesses müssen koordinieren.
.orderfield/ORDER.jsonexistiert bereits im Repository.
Ein Harness-Name allein ist kein Auslöser. Wenn die Aufgabe in einen Agenten, einen normalen Sub-Agenten oder einen Skill passt, öffnen Sie kein Feld. Skill schlägt Kind.
Auto-Report (HITL)
Orderfield meldet eigene Fehler automatisch an pedroknigge/orderfield nach HITL-Bestätigung. Dies ist eine Selbsttelemetrie des Kernels/Skills/CLI/Dokumente/Installation — kein Helpdesk und kein Ticket gegen den Consumer-Arbeitsbaum. Consumer git origin ist für immer außerhalb des Bereichs. Ein Fork der amarilla-Plattform kann diese Issues nicht empfangen. Verwenden Sie of issue. Keine Ein-Wellen-Einschränkung.
Auto-Report NUR, wenn der Fehler bei Orderfield liegt:
- Kernel emittierte ungültiges Schema / WAL inkohärent / Pack erzeugte ein Paket, das collect nicht akzeptieren kann / Spawn-Metadaten inkohärent / contrast widerspricht sich selbst / Dokumente vs. Code / Installations-/Update-Pin-Fehler / Child-Forge oder Lock-Invariante gebrochen.
NICHT automatisch melden:
- Kind wurde nicht fertig, SPEC unvollständig, Produkttests rot, Slice nicht gemocht, Consumer-Build-Fehler, „Benutzer steckt fest". Diese bleiben auf der Platte (Rest → integrieren).
Bei Unsicherheit: Entwurf + HITL, Standard ist nicht zu posten.
Erstellen Sie niemals ein GitHub-Issue ohne explizite menschliche Bestätigung im selben Zug.
- Bestätigen → erstellen (
of issueohne--dry-runnach HITL; das Ausführen ist das Senden). - Ablehnen / später bearbeiten / schweigen → nicht erstellen (oder nur
of issue --dry-run).
Beide Seiten sind der Vertrag. Auto-Post, YOLO-Post und Posten von einem Kind sind verboten.
of issue zielt immer auf --repo pedroknigge/orderfield. Es funktioniert ohne ORDER. Nur Stdlib: Der Kernel startet gh mit dem angemeldeten Konto (gh auth). Nicht impersonieren, keinen Token erfinden, nicht an Consumer-Origin posten. Der Kernel fordert niemals auf stdin auf — HITL bleibt der Leiter/Mensch.
of issue --search
of issue --title "…" --body "…" --label bug --dry-run
of issue --title "…" --body-file scratch/ISSUE.md --label enhancement
Ein Kind (OF_CHILD gesetzt, kopfloser Spawn oder jede Sitzung, die den Menschen nicht fragen kann) postet nie. Es schreibt einen Entwurf unter seinem Scratch (ISSUE.md oder issues/<slug>.md: Titel, Body, Labels bug oder enhancement, Beweispfade) oder führt of issue --dry-run aus und nennt den Entwurf im Rest. Sie fragen HITL, dann of issue.
Zuerst offene Issues durchsuchen (of issue --search); Duplikate überspringen. Keine Geheimnisse, Tokens, privaten Transkripte oder feldinterne Reste ablegen (diese bleiben auf der Platte: Rest → integrieren). Ein Entwurf oder Issue pro eindeutigem Befund; kein Tagebuch. Kind-Verfahren: SLAVE.md.
Verpflichtender Leitungsprozess
Führen Sie of aus, wenn es in Ihrem PATH ist (der Installer verlinkt es zu ~/.local/bin/of). Sonst führen Sie python3 <skill>/scripts/of.py aus. In einem Arbeits-Repository lebt der Zustand im .orderfield/ dieses Repositorys, nicht innerhalb des Skills. Wenn der Mensch nach Installation oder Überprüfung der Installation fragt, führen Sie bash docs/demo/mortal-install.sh --global (ausgecheckter / extrahierter Baum) oder --root PFAD für einen hermetichen Blick aus — dann muss of doctor ok ausgeben. Pin-Rezept: README / PUBLISH. Kein pip, keinen Supervisor oder zweiten Installer erfinden.
Tool-Call-Disziplin. Ein Zug, der pack, spawn, contrast oder close ohne diese of-Befehle im selben Zug behauptet, ist ein fehlerhafter Durchlauf. Nur in der Vergangenheitsform ankündigen, nachdem die CLI zurückgekehrt ist.
Auto-Revival. Ein offenes Feld (spec_closed false) pausiert nicht, wenn Sie Chats wechseln, Kontext durch Komprimierung verlieren oder der Benutzer an anderen Aufgaben arbeitet. Jeder Leitungszug in diesem Workspace: of resume zuerst, auto_continue lesen, dann die gedruckte next-Aktion im selben Zug ausführen — handoff/spawn/collect/integrate/patch/next-wave/contrast/close je nach Bedarf. Nicht nach resume anhalten und auf ein „weiter“ des Benutzers warten. Nicht fragen, ob fortgesetzt werden soll, es sei denn, der Benutzer hat die Mission explizit pausiert oder gestoppt (pause / stop / wait on the field / cancel the mission / of init --force). Wenn resume eine Roster (PICK --field, Exit 2) oder fremdes Feld (mehrere offene Felder; diese Sitzungs-ID stimmt nicht mit dem gebundenen Ursprung überein) ausgibt, ist dies nicht das next dieser Sitzung — fragen, welches Feld oder of new. Ein eindeutiges offenes Feld setzt sich automatisch fort, selbst wenn OF_SESSION_ID von ORDER.origin.session_id abweicht — der Ursprung ist die Herkunft, nicht die Wiederaufnahme-Berechtigung. Ein Zug, der of resume auf einem eigenen offenen Feld ausführt, aber keine next-Arbeit durchführt, ist ein fehlerhafter Durchlauf.
Steuer-Richtlinie (Eve-Analogon). Während ein Zug läuft, wird eine neue Benutzernachricht auf einem offenen Feld gesteuert, nicht als separate Mission in die Warteschlange gestellt: den Vertrag ändern oder patchen (of spec --amend, of patch), geparkte Kinder fortsetzen (HOLD) oder integrieren — nicht of init --force ausführen, es sei denn, der Benutzer bricht die Mission explizit ab. Eine deiktische Aufforderung (dale, do it, as discussed) auf einem offenen Feld bedeutet next ausführen, nicht of spec --amend dieser Wörter. Zwischengeschaltete Chats und Komprimierung sind keine Pause; sie lenken den Kontext zurück auf die Platte.
Kontext-Layout (Anweisungen vs. Skills vs. Pakete vs. Sub-Agenten): docs/context-control.md.
Nach Komprimierung oder Rückkehr von einem zwischengeschalteten Chat ist die erste Aktion immer noch of resume — aus der Platte aufbauen, nicht aus Chat-Speicher.
0. Von der Platte fortsetzen (wenn ORDER existiert)
python3 <skill>/scripts/of.py resume
Wenn ein Feld existiert, hier beginnen. Fliegende Arbeit aus Paketen / Resten / Zustand plus einer optionalen Checkpoint-Zusammenfassung rekonstruieren. Nicht of init ausführen, wenn bereits ein Feld offen ist. Nicht ein Kind neu packen, das bereits ein Paket und keinen Rest hat. Resume ist ein Bildschirm; es erzeugt keinen Auto-Spawn, gibt keine Logs aus oder fügt ein Regime hinzu. Es gibt field (open | closed) und auto_continue (yes → next in diesem Zug ausführen; no → Feld geschlossen, fremder Ursprung unter mehreren offenen Feldern oder eine Roster) aus. Ein eindeutiges offenes Feld gibt yes aus, selbst wenn OF_SESSION_ID von ORDER.origin.session_id abweicht. Wenn ORDER.origin vorhanden ist, gibt es eine Zeile origin <harness> [<session_id>] aus; diese Zeile weglassen, wenn der Schlüssel fehlt. Der Ursprung ist die Herkunft (welche Harness-Sitzung das Feld geöffnet hat), nicht die Wiederaufnahme-Berechtigung und kein Transkript. Die Live-Welle ist state.wave plus Pakete/Reste — eine veraltete session.json gewinnt nicht. Ein toter Spawn-Host ist dieselbe Platte: Gestartete Spawn-Metadaten und ein unvollständiger WAL-Überrest verstecken das gepackte Kind nicht. of init nicht auf einem offenen Feld ausführen (recovery/multi-day-resume, recovery/process-death-resume).
Geschwisterfelder. Ein Arbeitsbaum kann mehrere Felder enthalten (.orderfield/fields/<id>/). of new öffnet ein Geschwister, ohne die anderen zu töten, und schreibt .orderfield/ACTIVE — das ist ein unabhängiges Epos. of new --parent öffnet eine verschachtelte Phase des gebundenen Epos (ORDER.parent); of close gibt ACTIVE an dieses Elternteil zurück (nicht of merge). Gleiche Mission, neue Einschränkungen / Erledigt-wenn / Phase auf diesem ORDER ist of patch auf dem gebundenen Feld. of fields listet sie auf (* = ACTIVE; offen/geschlossen; Phase/Welle/Pack-Alter; choose) und einen packs-Abschnitt mit fliegenden Kindern (Rest MISSING) über offene Arbeitsbereiche hinweg. of fields --json ist das Epos-Dashboard-Objekt (PackRoster; recovery/cross-field-pack-roster). --open / --all / --cursor blättert durch viele Arbeitsbereiche. Übergeben Sie --field <id> oder OF_FIELD (das aktualisiert ACTIVE). Status/Resume folgen ACTIVE nach Ursprungsübereinstimmung; ein übrig gebliebener Top-Level-ORDER-Stub wird ignoriert, wenn verschachtelte Arbeitsbereiche existieren. --field eines Stubs mit anderer ID stirbt; of migrate archiviert es zu ORDER.json.stub (recovery/root-stub-ambiguous). Der Kernel fordert niemals auf stdin auf. Wenn resume PICK --field (Exit 2) ausgibt, den Benutzer fragen, welches Feld angehängt werden soll oder ob of new ausgeführt werden soll. Wenn auto_continue no fremdes Feld sagt, nicht das next dieses Feldes ausführen — mit --field anhängen oder ein Geschwister öffnen. Eine spätere Sitzung des eindeutigen offenen Feldes ist nicht fremd. Gleiche Aufgabenstellung, anderer Agent → anhängen. Nicht verwandte Aufgabenstellung → of new. Mittendrin zusätzliche Frage zum selben Produkt → of spec --amend, nicht of new. Karte: docs/nested-fields.md. Schließen-Vorlagen: docs/close-honesty.md. Lang-Mission-Durchlauf: docs/long-mission.md.
Die Kurzübersicht listet completed-Kinder auf (Rest vorhanden: status, result_ref, owns_requirements, Vorhandensein des owned-Pfades) und in_flight / parked-Kinder (Rest MISSING: parked_reason, scratch, Eigentümer, owned-Pfad present/missing, slice, Pack-Alter, agents_note). Während ein Rest MISSING ist, geben of status / of resume / of pulse running aus — Rest MISSING; Harness-Blende (Churned / done) ist nicht das Feld.