Skip to content

E2E: Chat–Codex–Work-Handoff ohne Copy/Paste (echte Laufprüfung als Abnahme) #77

Open

Description

@DeepWolf42

Ziel / Definition of Done

Der Operator soll einen Entwicklungsauftrag einmal geben können; danach sollen zulässige Schritte über die vorhandenen Loop42-Verträge und tatsächlich verfügbare Schnittstellen ausgeführt, geprüft und als revisionsgebundener Abschlussbericht zurückgeführt werden — ohne fortlaufendes manuelles Chat↔Codex↔Work-Copy-and-Paste.

Nicht als fertig markieren, solange nur Konzepte, Prompts, Verträge, Mocks oder interne Tests vorliegen. Erforderlich ist ein belegter End-to-End-Lauf durch die tatsächlich unterstützte Ausführungsumgebung. Unerreichbare Produkt-/Sitzungsgrenzen offen als BLOCKED_CAPABILITY dokumentieren, nicht simulieren.

Vor dem Implementieren – vorhandene Arbeit wiederverwenden

  • Live-main, Branches, offene PRs, CI und Rechte abgleichen; AGENTS.md und dokumentierte Sicherheitsgrenzen lesen.
  • Bestehende Reconcile/Truth/Dispatch/Action Policy/ChangeSet/VerificationReceipt/Recovery/Completion Gate nutzen; keine zweite State-Machine, keine zweite Wahrheit, keine versteckte Datenbank.
  • Draft #31: Gap/Reuse/Open-Work-GitHub-Adapter; kein automatischer Chat/Host-Trigger.
  • Research #67: Cross-Assistant-Kontext/Memory, Research, kein autorisierter Produktstand. Der erste MVP braucht kein semantisches Gedächtnis.
  • #76: Codex-Einstieg AGENTS.md wurde integriert; nicht neu erfinden.
  • Vorhandene Worker-/Completion-Gate-Funktionalität in main, andere aktive PRs und lokale Tests frisch prüfen.

Implementierungsauftrag – kein reiner Forschungsbericht

  1. Verfügbare Transportwege real prüfen: offizielle, unterstützte ChatGPT-/Work-/Codex-/GitHub-/CLI-/MCP-/Plugin-Schnittstellen und ihre Berechtigungen. Keine internen oder undokumentierten UI-/Session-APIs behaupten oder verwenden. Nicht suggerieren, ein beliebiger Chat könne lokale Codex-Sitzungen fernsteuern.
  2. Kleinstmöglichen nutzbaren Pfad implementieren, mit echten ausführbaren Komponenten: eingehender gebundener Auftrag → Quelle/Revision/Scope prüfen → vorhandene Ausführung zulässig starten → Test/CI/Receipt erfassen → Fortschritt/Fehler/Abschluss wieder abrufbar machen. Möglichst bereits vorhandene GitHub- und Loop42-Mechanik verwenden; keine zusätzlichen kostenpflichtigen Dienste, Daemons, Secrets oder öffentlichen Endpunkte.
  3. Resume und Fail-Closed: stabiler Task-Identifier; Idempotenz gegen Doppelstarts; veralteter HEAD, unclean/untracked checkout, fehlende Rechte, gestörter Provider, unterbrochener Auftrag, fehlerhafte CI, fehlende Receipt-/Statusdaten explizit behandeln. Niemals aus fehlendem Nachweis SUCCESS machen.
  4. Abnahme real ausführen: einen ungefährlichen synthetischen Testauftrag in isoliertem Testrepo/-Branch von Anfang bis Ende durchführen (nicht nur Mocks): Input, Ausführung, begrenzte Codeänderung, Regression, Commit/PR sofern bewilligt, CI/Verification Receipt, von einer zweiten Sitzung abrufbarer Status. Zusätzlich mindestens einen bewusst fehlschlagenden Fall mit korrektem STOP/UNKNOWN/Recovery nachweisen. Timestamps, SHAs, Lauf-IDs, Testzahlen, genutzte Schnittstellen und echte verbleibende manuelle Eingriffe berichten.
  5. Nutzererlebnis messen: Anzahl der Copy/Paste-Schritte und Eingriffe für echten Test, vorher/nachher, Zeit/Kosten soweit messbar. Ziel: keine Zwischen-Übergaben. Falls 'direkt aus normalem Chat' durch offizielle APIs nicht möglich ist, den belegbar funktionierenden nächstbesten Startpunkt liefern und die konkrete Produktgrenze benennen. Kein "vollautomatisch"-Label bei weiterhin erforderlicher manueller Übertragung.
  6. Dokumentation nur soweit für sichere Bedienung und Wiederaufnahme notwendig; deutsche und englische Referenzen synchron halten, sofern durch bestehende Projektkonvention gefordert.

Autorisierter Arbeitsrahmen

Der Owner hat die technische Umsetzung/Prüfung im Rahmen dieses Ziels vorab gestattet: reversible lokale Änderungen, Tests, passende Commits, Feature-Branch/PR und zugehörige CI sind zulässig. Kein Merge, Release, Deployment, Consumer-Pin-Update, geschützter Branch-Write, kostenpflichtiger Provideraufruf, neue Secrets/Rechte, Upload privater Chats oder Patientendaten ohne gesonderte Freigabe. Fremde lokale untracked-Dateien niemals anfassen; keine git clean/reset --hard/Force-Push-Aktionen. Auf Konflikt/unerwartete Änderungen stoppen, aber unabhängige Arbeit fortführen.

Fertig-Kriterien / Rückgabe

  • Minimaler produktiver Pfad ist dokumentiert und live erfolgreich ausgeführt; keine imaginierte Chat/Work/Codex-Fernsteuerung.
  • Reproduzierbare positive und negative Tests; CI/Status auf exakte Revision zurückgeführt.
  • Bereits vorhandene Verträge wiederverwendet, keine unbegründete Parallelarchitektur.
  • Git-Status/Diff/PR/CI sowie Grenzen und eventuelle Restarbeiten präzise benannt.
  • Wenn eine essentielle, nicht verfügbare Schnittstelle die eigentliche Zielerfüllung verhindert: den bestmöglichen funktionierenden Teil liefern, BLOCKED_CAPABILITY und genaue minimale Anschlussbedingung berichten; nicht als erledigt ausweisen.

CORA-Kontext

Das lokale, bereits getestete CORA-Änderungspaket ist ein separater privater Arbeitsstand, nicht Material für das öffentliche Loop42-Repo. Seine Freigabe ist auf zwei Dateien, Commit/Push in den bestehenden Draft-PR-Branch und CI-Prüfung begrenzt; kein CORA-Merge. Die CORA-Fertigstellung ist ein separater Workstream und darf keine Patientendaten oder private Source-Texte in Loop42-Issues übertragen.

Activity

  1. DeepWolf42 commented on Oct 29, 2026

    @DeepWolf42
    OwnerAuthor

    Implementation candidate: #78 at b435ab3. LIVE task issue77-final-addition traversed actual signed-in Codex CLI -> bounded ChangeSet -> isolated Git candidate -> RED/GREEN -> commit fc5ca6a8368af645ab3fd7417d3b80ee42c2d267 -> receipt253d194907d0df817824ad1eca70fe1fabd7672fc47af64d4a9d8d1d966ea779. An independent second agent/CLI process re-read and validated receipt, inspected the one-line change, reran the candidate test (1PASS), and confirmed the original repository unchanged. Real duplicate invocation reused the same record without a provider rerun; stale source was rejected before claim/provider. Full local suite268tests OK/5Windows capability skips; both exact-revision completion gates PASS. Fresh hosted CI pending.

    PARTIAL_VERIFIED: a real usable local handoff now exists; arbitrary direct Chat/Work/Codex UI/session dispatch and unattended triggering are not installed or claimed. A supported host with GitHub plus local execution can start the CLI once and publish this reviewed nonprivate result; another authorized session can retrieve it here/#78 without user copy/paste. A host lacking execution remains BLOCKED_CAPABILITY for execution. No merge/release/consumer adoption implied. Exact usage, timing, boundaries and reusable EN/DE instructions are in #78 and docs/HANDOFF.md. This issue remains open for the unsupported cross-surface/trigger acceptance boundary.

  2. DeepWolf42 commented on Oct 29, 2026

    @DeepWolf42
    OwnerAuthor

    Final candidate evidence update for #78 / b435ab3: CI40835421856 SUCCESS (Ubuntu268tests/1skip, Windows268tests/2skips, both completion gates and repository-policy PASS), secret scan40835421849 SUCCESS. Actual tested merge checkout d6d8dbc against main673c558; no product merge. Independent second-entry GitHub retrieval matched the live task issue77-final-addition, candidatefc5ca6a8368af645ab3fd7417d3b80ee42c2d267 and receipt253d194907d0df817824ad1eca70fe1fabd7672fc47af64d4a9d8d1d966ea779. Local handoff is verified; direct cross-UI dispatch/unattended triggering remains explicitly unimplemented, so overall PARTIAL_VERIFIED and issue remains open.

  3. DeepWolf42 commented on Oct 29, 2026

    @DeepWolf42
    OwnerAuthor

    2026-10-29 – Chat → GitHub → @codex: echter Read-only-Smoketest

    Der freigegebene Startversuch wurde direkt aus einem ChatGPT-Chat über den vorhandenen GitHub-Connector als PR-Kommentar veröffentlicht; der Operator musste keinen Auftrag in Codex kopieren.

    Die technische Loop42-CLI aus Draft #78 bleibt lokal DONE_VERIFIED. Dieses neue Ergebnis belegt einen echten Chat-basierten, manuellen Copy/Paste-freien Transportversuch, aber kein erfolgreiches Chat→Codex-Cloud-E2E. Issue #77 weiter OPEN / PARTIAL_VERIFIED. Nächste konkrete Voraussetzung: eine unterstützte Codex-Cloud-Umgebung für DeepWolf42/Loop42 durch den Kontoinhaber einrichten, dann denselben sicheren @codex-Smoke-Test erneut ausführen. Keine Rechteausweitung, kein Merge, kein Deployment.

  4. chatgpt-codex-connector commented on Oct 29, 2026

    @chatgpt-codex-connector
  5. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor

    Approved synthetic GitHub → local → GitHub acceptance task for the owner-authorized continuation. Only the isolated test branch codex/issue77-github-e2e-20261101 and its synthetic JSON fixture are in scope. No product merge, release, permissions change or private consumer data. The trusted local profile separately authorizes one execution-claim ref and one sanitized result comment.

    {
      "schema": "loop42.handoff.v1",
      "task_id": "approved-synthetic-github-20261101",
      "repository": "DeepWolf42/Loop42",
      "source_revision": "ccfc83fe9f4091ad2d844f72127a0564737cc31c",
      "task": "This is a synthetic acceptance task. In fixtures/github-handoff-demo.json change only the operation value from subtract to add. Preserve both numeric cases and all other data. Request verification test:github-addition. No other file changes.",
      "paths": [
        "fixtures/github-handoff-demo.json"
      ],
      "verification_ids": [
        "test:github-addition"
      ],
      "require_red": true
    }
    
  6. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor
    {"commit":"b27071c35c4e1f96ebbd05cb76cfe8a9edbd6639","input_comment_id":6557433634,"input_fingerprint":"28d9e37c7ced1b1f90aa2285db05ba3742c925519da532eabe94ed40b17d95bf","receipt_fingerprint":"a4b8f7f4c1bda22ca8e30de3a6255005013baea0ee8b1729ffe29b109d66a128","repository":"DeepWolf42/Loop42","schema":"loop42.github-handoff-result.v1","source_revision":"ccfc83fe9f4091ad2d844f72127a0564737cc31c","status":"DONE_VERIFIED","task_id":"gh-1390342805-6557433634","verification":[{"exit_code":0,"identifier":"test:github-addition","output_truncated":false,"timed_out":false}]}
  7. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor

    Deliberately stale synthetic negative control for the GitHub intake adapter. Expected: reject before local claim, execution ref or worker call. Not a product task.

    {
      "schema": "loop42.handoff.v1",
      "task_id": "synthetic-stale-negative-20261101",
      "repository": "DeepWolf42/Loop42",
      "source_revision": "0000000000000000000000000000000000000000",
      "task": "This is a synthetic acceptance task. In fixtures/github-handoff-demo.json change only the operation value from subtract to add. Preserve both numeric cases and all other data. Request verification test:github-addition. No other file changes.",
      "paths": [
        "fixtures/github-handoff-demo.json"
      ],
      "verification_ids": [
        "test:github-addition"
      ],
      "require_red": true
    }
    
  8. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor

    Verified continuation at #78 / a57a750: direct GitHub-comment intake and automatic sanitized return channel now work. LIVE input6557433634 -> real Codex CLI -> RED/GREEN on2synthetic arithmetic cases -> candidate b27071c -> automatically POSTed/GET-confirmed result6557437144, receipt a4b8f7f4c1bda22ca8e30de3a6255005013baea0ee8b1729ffe29b109d66a128. Independent second entry retrieved remote report, validated local receipt and reran the verifier. Source remained unchanged. Duplicate run did not rerun/repost; different recovery location stopped before execution; stale input6557448548 was rejected before any claim/worker.

    Fresh CI41302888466 and secret scan41302888506 SUCCESS on exact PR head (tested merge7f78ca3). Ubuntu291tests/1skip, Windows291tests/2skips; local291tests/5capabilityskips; both gates PASS.23new transport cases include actual concurrent Git push CAS. One real provider call in this continuation; execution+claim9.164750s, reported10944input/120outputtokens; costs/model identity UNKNOWN.

    The bounded GitHub->local->GitHub path is DONE_VERIFIED. Overall direct automatic Chat/Work/Codex triggering remains PARTIAL_VERIFIED: no background trigger or cloud environment was configured. Existing Oct29 cloud-smoke setup blocker is not represented as resolved. No merge, new credentials/permissions, consumer adoption or hardware action. Full evidence and EN/DE reuse instructions are in #78; issue remains open for the broader trigger requirement.

  9. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor
    {"paths":["fixtures/github-handoff-demo.json"],"repository":"DeepWolf42/Loop42","require_red":true,"schema":"loop42.handoff.v1","source_revision":"ccfc83fe9f4091ad2d844f72127a0564737cc31c","task":"Correct the synthetic addition fixture: change only operation from subtract to add in fixtures/github-handoff-demo.json. Keep both numeric cases and every other field unchanged. Request the registered test:github-addition verification.","task_id":"submit-19c7870235331a324394814eb2eb4a9c7e946e8a2721c593","verification_ids":["test:github-addition"]}
    
  10. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor
    {"paths":["fixtures/github-handoff-demo.json"],"repository":"DeepWolf42/Loop42","require_red":true,"schema":"loop42.handoff.v1","source_revision":"ccfc83fe9f4091ad2d844f72127a0564737cc31c","task":"Correct the synthetic addition fixture: change only operation from subtract to add in fixtures/github-handoff-demo.json. Keep both numeric cases and every other field unchanged. Request the registered test:github-addition verification.","task_id":"submit-8b5e878993746b64b5c36b32187662e51327fef3ebb3feb5","verification_ids":["test:github-addition"]}
    
  11. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor
    {"paths":["fixtures/github-handoff-demo.json"],"repository":"DeepWolf42/Loop42","require_red":true,"schema":"loop42.handoff.v1","source_revision":"ccfc83fe9f4091ad2d844f72127a0564737cc31c","task":"Correct the synthetic addition fixture: change only operation from subtract to add in fixtures/github-handoff-demo.json. Keep both numeric cases and every other field unchanged. Request the registered test:github-addition verification.","task_id":"submit-5b6ff27073e015d8027d35b617a6b4fd17dfa20e36e3857d","verification_ids":["test:github-addition"]}
    
  12. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor
    {"commit":"4e313965c25ec10d712879149cfb5104adc67912","input_comment_id":6561200119,"input_fingerprint":"c373c77b5f4191c90b9124b07dfc86e936b6f8ceb46e4657d881c321d5827fd1","receipt_fingerprint":"31479c74a1ac6521124b1166bb28134788ffdd6c309cdfcbc12de54fe2a0e63f","repository":"DeepWolf42/Loop42","schema":"loop42.github-handoff-result.v1","source_revision":"ccfc83fe9f4091ad2d844f72127a0564737cc31c","status":"DONE_VERIFIED","task_id":"gh-1390342805-6561200119","verification":[{"exit_code":0,"identifier":"test:github-addition","output_truncated":false,"timed_out":false}]}
  13. DeepWolf42 commented on Nov 1, 2026

    @DeepWolf42
    OwnerAuthor

    Verified continuation: one approved public-text CLI start now submits the GitHub input, runs the existing real Codex handoff and automatically returns the receipt. Current draft PR78 head a0b1352; implementation685c361408879d3e548a1f8ba5fcee831945e676.

    LIVE task gh-1390342805-6561200119: auto input -> sourceccfc83fe9f4091ad2d844f72127a0564737cc31c -> actual Codex CLI / RED1-GREEN0, two addition cases -> candidate4e313965c25ec10d712879149cfb5104adc67912 -> auto receipt, fingerprint31479c74a1ac6521124b1166bb28134788ffdd6c309cdfcbc12de54fe2a0e63f. Full CLI22.8496244s;10939input/120outputtokens; money/model identity UNKNOWN. Independent CLI/connector acceptance revalidated receipt/diff and reran verifier.

    Duplicate real start reused exact receipt/comment and unchanged record; stale-source control created no state/ref/worker. Two prior failed attempts remain preserved:6561169087 UNKNOWN before execution (original readback cause UNKNOWN);6561186926 Windows path-length failure before worker. New ID and short consumer recovery path succeeded after reconciliation; no replay or system/config changes.

    Local307tests:302pass/5skip, gates PASS. Final CI41330505450 and scan41330505442 SUCCESS; Ubuntu306pass/1skip, Windows305pass/2skip, merge49213c21a1ceede3426941ed631fe49404f469bd. Instructions: docs/HANDOFF.md and .de.md in PR78. One host start, no manual JSON/comment-ID or intermediate user copy/paste; two setup-failure interventions were host actions. Bounded path DONE_VERIFIED; overall PARTIAL_VERIFIED because unattended/arbitrary Chat–Work–Codex kickoff remains unconfigured. No merge, product or consumer-pin change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions