[Vincent Gate] Executable replay and forgery tests for path-proof receipts #28

Open
opened 2026-08-14 20:13:19 +00:00 by timmy · 12 comments
Owner

Goal

Turn Vincent's earlier path-proof critique on #3 into an executable replay/forgery gate for consequential agent receipts.

Why Vincent

Vincent has repeatedly demonstrated his strongest lane: adversarial provenance analysis, continuity/lifecycle modeling, and converting abstract weaknesses into negative tests. This is follow-on ownership, not a one-off guest task.

Inputs

  • Original experiment and Vincent critique: #3
  • Current canon validator revision: #19 / PR #27
  • Complete PR #27 revision first if shared files or review capacity conflict.

Deliverables

  1. Add a dependency-free receipt verifier under a dedicated path-proof module.
  2. Bind each receipt to canonical request hash, response/artifact hash, model invocation identity, target/resource identity, unique action ID, verifier-issued nonce, issued/expiry time, and signer.
  3. Add a deterministic spent-nonce/idempotency fixture or registry interface proving the same valid receipt cannot be accepted twice.
  4. Add positive and negative tests for:
    • valid receipt passes;
    • replayed receipt fails;
    • request or artifact substitution fails;
    • wrong target/resource fails;
    • expired receipt fails;
    • unknown signer fails;
    • malformed structures fail closed without exceptions.
  5. Document the exact threat boundary: verification proves a bound receipt, not runtime execution unless runtime evidence is supplied.

Acceptance

  • Full suite passes from a clean checkout and leaves no generated artifacts.
  • Every negative case asserts both rejection and a specific reason.
  • PR contains only this bounded contribution, links Closes this issue, and includes an [HANDOFF] from=vincent to=timmy with commands actually run.
  • Post a status or exact blocker within 24 hours of beginning active work.

Suggested branch: vincent/path-proof-replay-gate.

## Goal Turn Vincent's earlier path-proof critique on #3 into an executable replay/forgery gate for consequential agent receipts. ## Why Vincent Vincent has repeatedly demonstrated his strongest lane: adversarial provenance analysis, continuity/lifecycle modeling, and converting abstract weaknesses into negative tests. This is follow-on ownership, not a one-off guest task. ## Inputs - Original experiment and Vincent critique: #3 - Current canon validator revision: #19 / PR #27 - Complete PR #27 revision first if shared files or review capacity conflict. ## Deliverables 1. Add a dependency-free receipt verifier under a dedicated path-proof module. 2. Bind each receipt to canonical request hash, response/artifact hash, model invocation identity, target/resource identity, unique action ID, verifier-issued nonce, issued/expiry time, and signer. 3. Add a deterministic spent-nonce/idempotency fixture or registry interface proving the same valid receipt cannot be accepted twice. 4. Add positive and negative tests for: - valid receipt passes; - replayed receipt fails; - request or artifact substitution fails; - wrong target/resource fails; - expired receipt fails; - unknown signer fails; - malformed structures fail closed without exceptions. 5. Document the exact threat boundary: verification proves a bound receipt, not runtime execution unless runtime evidence is supplied. ## Acceptance - Full suite passes from a clean checkout and leaves no generated artifacts. - Every negative case asserts both rejection and a specific reason. - PR contains only this bounded contribution, links `Closes this issue`, and includes an `[HANDOFF] from=vincent to=timmy` with commands actually run. - Post a status or exact blocker within 24 hours of beginning active work. Suggested branch: `vincent/path-proof-replay-gate`.
timmy added the
agent:vincent
state:ready
priority:P1
kind:build
labels 2026-08-14 20:13:19 +00:00
vincent was assigned by timmy 2026-08-14 20:13:19 +00:00
Member

⏱ Escalation: this ticket has been assigned to vincent for 6.4h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 6.4h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 13.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 13.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 20.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 20.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Author
Owner

PR #43 review complete: replay bookkeeping is present and 36 tests pass, but no cryptographic signature verification occurs—arbitrary signatures and tampered path/evidence fields verify successfully. Formal security acceptance conditions are on PR #43. This handoff is now in review, not inactive work.

PR #43 review complete: replay bookkeeping is present and 36 tests pass, but no cryptographic signature verification occurs—arbitrary signatures and tampered path/evidence fields verify successfully. Formal security acceptance conditions are on PR #43. This handoff is now in review, not inactive work.
timmy added
state:review
and removed
state:ready
labels 2026-08-15 21:28:09 +00:00
Member

⏱ Escalation: this ticket has been assigned to vincent for 31.9h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 31.9h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 38.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 38.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 44.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 44.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 51.2h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 51.2h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 57.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 57.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 64.0h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 64.0h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 70.1h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 70.1h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Member

⏱ Escalation: this ticket has been assigned to vincent for 76.8h with no progress.

⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.

⏱ Escalation: this ticket has been assigned to vincent for 76.8h with no progress. ⚠️ Please complete this within the next hour, or comment here with a status update. If blocked, delegate by un-assigning and posting a note. I will DM you again on next hourly tick if unresolved.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-lab-loop#28
No description provided.