Canonical screenshot evidence records and replay-safe visual metadata persistence #30
Labels
No labels
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
invalid
question
refactor
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/hackmode#30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Add the database-owned persistence boundary for #140/#141 so visual-recon results become typed, replay-safe operation evidence instead of ad-hoc screenshot files or a second GoWitness-style database.
Owning RAGE lane
Hackmode Auto-RAGE database / execution-graph / KB worker.
Fence
Do not spawn browsers, schedule screenshot jobs, implement Hackpert reasoning, or write StarIntel directly. Prefer
source/hackmode-database/**and minimal package/ASDF wiring only.Dependencies
Typed record
Persist stable operation/run/job identity plus URL asset identity, requested/final URL, screenshot evidence reference + digest, capture timestamp, title, HTTP/result status where available, viewport/profile/browser provenance, timing, body/DOM digest when retained, technology hints as bounded metadata/evidence, capture-session/exchange references where available, and failure classification for inspectable failed captures.
The binary screenshot should use the repository's canonical evidence/reference lifecycle; do not stuff image bytes into normal KB graph fields.
Replay/idempotency
RED-first tests
Round-trip typed record, missing evidence ref, cross-operation mismatch, deterministic replay, divergent replay conflict, stable ordering, correlation to canonical HTTP exchange/capture evidence, and no duplicate logical visual observation on replay.
Acceptance proof
Persist deterministic visual fixture results twice and prove one logical record; attempt a conflicting same-ID screenshot digest and prove fail-closed behavior; read the evidence back only through typed Hackmode interfaces.
Database-owned acceptance is now complete on
mastervia #145 and #156.Final proof added by #156:
Merged commit:
e9eb6286413d0875c49dcb5616d9e6277c797ade.Provider/browser consumption remains tracked by #140/#141; no browser execution authority was added to the database layer.