Stop publishing repository-wide prompt ledgers and enforce per-user prompt isolation through authenticated Gitea IDs.

Hop-State: A_06FN8NFDRFAFN5VCJTHJAAG
Hop-Proposal: R_06FN8NEGJ054CPMJF9ZAN70
Hop-Task: T_06FN8HT6XG332C3XY6PYCCG
Hop-Attempt: AT_06FN8HT6XGRXW0B4WPFFBJG
This commit is contained in:
2026-07-11 20:19:05 -07:00
committed by Hop
parent 56755a77fd
commit 12c806c77f
104 changed files with 255 additions and 1626 deletions
+9 -7
View File
@@ -43,14 +43,16 @@ user-authored prose remain unchanged.
Repository home pages also receive a `Hop workflow` group in the existing
Gitea sidebar. It uses Gitea's own classes, links, icons, and live counts.
## Portable prompt ledger
## Private prompt history
The Prompts tab reads immutable JSON records from `.hop/records/prompts/`
directly from the repository branch being reviewed. Hop writes the relevant
prompt records automatically when it creates a proposal; `make hop-records`
exports the complete local history on demand. The records include prompts and
safe review metadata, but deliberately exclude the local Hop database,
workspaces, check output, and machine paths.
The Prompts tab reads from the Hop control plane. The browser's Gitea session
identifies the viewer, repository authorization is checked, and the database
query is scoped to that viewer's immutable Gitea user ID. Unowned legacy rows
are excluded. The UI never reads `.hop/records/prompts/` from a Git branch:
repository-wide portable records cannot enforce a per-user privacy boundary.
Local Hop exports can contain prompts and machine paths. `.hop/` is ignored and
must not be committed or served by the forge.
## Upgrade check