Files
Hop/.hop/records/prompts/P_06FN5HF796A99F3E5DR9PWR.json
Hop 74ba06de91 Publish only user prompts with their own proposal outcomes
Hop-State: A_06FN72NMB1DRV5SV2T6YWPR
Hop-Proposal: R_06FN72K60164AV77NA2QP5G
Hop-Task: T_06FN6ZVNS25H7V4BRG743PG
Hop-Attempt: AT_06FN6ZVNS0W32KK9YQCRG88
2026-07-11 16:37:06 -07:00

17 lines
7.9 KiB
JSON

{
"id": "P_06FN5HF796A99F3E5DR9PWR",
"task_id": "T_06FN3MBF98GWD4NA5PA1RWG",
"attempt_id": "AT_06FN3MBF98FBDSE1BZDP5DG",
"state_id": "P_06FN5HF796A99F3E5DR9PWR",
"prompt": "I dont think we need this in the read me, its too much. \"**Go install — developer path**\nIf Go 1.26 or newer is already installed:\n\ngo install githop.xyz/GnosysLabs/Hop/cmd/hop@latest\nhop skill install --force\nEnsure $(go env GOPATH)/bin is on PATH. Tagged module builds report the tag through hop version.\n\n**Build from source**\nCloning is supported, but it is the contributor/fallback path rather than the normal product installation:\n\ngit clone https://githop.xyz/GnosysLabs/Hop.git\ncd hop\ngo test ./...\ngo build -trimpath -o hop ./cmd/hop\nmkdir -p \"$HOME/.local/bin\"\ninstall -m 755 hop \"$HOME/.local/bin/hop\"\n\"$HOME/.local/bin/hop\" skill install --force\n**Verify the installation**\nhop version\nhop help\nThe packaged installers install two things:\n\nthe hop CLI; and\nthe embedded Hop agent skill at ${CODEX_HOME:-~/.codex}/skills/hop.\nNo project is modified during installation. A project receives its local .hop/ state only when Hop first runs inside that project.\n\nRelease installer URLs become available after the corresponding Gitea Release is published. Until the first public release exists, use the source build.\"\n\n\"To inspect the installer before running it:\n\ncurl -fsSLO https://githop.xyz/GnosysLabs/Hop/raw/branch/main/scripts/install.sh\nless install.sh\nsh install.sh\nPin a version or choose another destination with environment variables:\n\nHOP_VERSION=v0.1.0 HOP_INSTALL_DIR=\"$HOME/bin\" sh install.sh\"\n\n\"**Current status**\nThis repository contains the first local alpha kernel. It supports:\n\nExisting and unborn Git repositories\nCodex Desktop first-action prompt capture and session-aware follow-ups\nController-grade pre-delivery prompt capture\nIsolated detached worktrees per attempt\nImmutable checkpoints and proposals\nChecks bound to exact source trees\nReal three-way content merging, including compatible same-file edits\nAgent-ready reconciliation workspaces for genuine merge conflicts\nOptional validation on the final integrated tree\nCompare-and-swap acceptance\nSafe visible-root materialization on Desktop landing\nController-only internal acceptance plus explicit root synchronization\nForward-only undo of the latest accepted transition\nGit-compatible accepted commits under refs/hop/accepted\nSQLite WAL state graph and machine-readable JSON output\nPre-persistence credential redaction across prompts, summaries, and check evidence\nEmbedded, installable vendor-neutral agent skill with implicit invocation enabled\nIt does not yet include a trusted raw-prompt hook, project knowledge, claims, remote synchronization, a GUI, or semantic merging.\n\nStart with [Installation](https://githop.xyz/GnosysLabs/Hop#installation) and [Getting started](https://githop.xyz/GnosysLabs/Hop#getting-started), or browse the [documentation wiki](https://githop.xyz/GnosysLabs/Hop/src/branch/main/wiki/Home.md). See [the product blueprint](https://githop.xyz/GnosysLabs/Hop/src/branch/main/docs/product-blueprint.md) for the complete model, design principles, and phased roadmap.\"\n\n\"The agent's first project action is equivalent to:\n\nhop begin --agent codex --heredoc \u003c\u003c'HOP_PROMPT_EOF'\n\u003cthe current user message\u003e\nHOP_PROMPT_EOF\nThe agent—not the user—runs this command. It initializes Hop without changing the current Git branch, working tree, or index, stores the prompt, and returns the state IDs and isolated workspace. Follow-up messages in the same Codex task automatically continue the same Hop attempt.\n\nFor another agent runtime, export the embedded skill to that runtime's skills directory:\n\nhop skill install --path /path/to/agent/skills --force\nAfter editing the printed workspace, the agent runs this lifecycle automatically:\n\nhop check P_... -- go test ./...\nhop propose --summary \"Added password reset emails\" P_...\nhop land R_... -- go test ./...\nThe command supplied to land runs in a temporary worktree containing the exact final tree that would become accepted. If it fails, refs/hop/accepted and the SQLite accepted head do not move. After acceptance, Hop updates only the visible working files through a disposable Git index; HEAD, the active branch, and the real index do not move. Compatible edits to the same file are merged automatically. A genuine merge conflict becomes a fresh agent reconciliation workspace, which the skill resolves, checks, and lands without asking the user to manage source-control mechanics. The agent pauses only for an explicit review-first request, failed validation, visible-root divergence, unresolved product intent, or newly required destructive/external scope.\n\nland and accept are intentionally different:\n\nhop land R_... -- go test ./... # Desktop: accept and synchronize the selected folder\nhop accept R_... -- go test ./... # Controller: accept internally, leave the folder untouched\nhop sync # Catch a stale visible folder up to accepted state\nhop sync is also the upgrade path for projects accepted by an older Hop build. It synchronizes only when the folder still matches an accepted ancestor.\n\nInspect the project:\n\nhop status\nhop graph\nhop state P_...\nhop diff R_...\nhop history\nhop sync\nhop doctor\nInspect or hand the skill to a harness without installing it:\n\nhop skill print\nFor a harness or controller that can capture prompts before delivery, initialize and start explicitly:\n\nhop init\nhop start --agent codex --heredoc \u003c\u003c'HOP_PROMPT_EOF'\nAdd password reset emails\nHOP_PROMPT_EOF\neval \"$(hop env P_...)\"\nIn this mode, deliver the same message only after hop start succeeds. Use hop prompt --from P_... --heredoc for controller-managed follow-ups.\n\nUndo the latest accepted transition without rewriting history:\n\nhop undo\" \n\n**Safety boundary**\nHop uses Git's three-way content merge rather than treating shared paths as conflicts. Textual cleanliness still cannot prove behavioral compatibility, so automatic acceptance reruns the strongest relevant validation on the exact final tree. Manual acceptance remains available as an explicit review-first mode.\n\nDesktop landing fails closed when nonignored visible source does not exactly match an accepted Hop state or when an ignored/untracked path would be overwritten. It never uses reset --hard, moves HEAD, or rewrites the user's real index. The lower-level hop accept command deliberately retains controller-only behavior and does not update the visible root.\n\nAgent-reported scope and test claims are never used as the source of truth. Hop computes source trees and changed paths itself.\n\nNon-secret prompt text and check output are stored locally in SQLite without encryption. Before persistence, Hop redacts high-confidence provider tokens and contextual credentials, private keys, authorization headers, and credential-bearing URLs. The same boundary sanitizes proposal summaries plus recorded validation commands and output.\n\nDetection cannot recognize every private or future token format. Prefer environment variables or a secret manager, and rotate any real credential pasted into any agent prompt even when Hop reports that it redacted the value.\n\nSkill-driven Desktop capture stores the agent's verbatim transcription of the visible message and attachment references. It cannot prove byte-for-byte fidelity with Codex's raw submission. A trusted UserPromptSubmit hook is the future deterministic capture boundary; the skill remains the no-UI-change alpha workflow.\n\nthis is stuff that belongs in the wiki not in the readme",
"agent_name": "codex",
"status": "completed",
"created_at": "2026-07-11T20:02:09.353469Z",
"metadata": {
"source_tree": "4113b695efa32e7b1b81dd1f8e4c0ad1a7013fae",
"git_commit": "4a39b2438d956cc4e9f0d6544750772e016f0a8f",
"attempt_head": "R_06FN5TJRZC3APECRM9VM2A8",
"attempt_head_kind": "proposal"
}
}