Skip to content

Reject impossible witness creation and report timelines - #402

Merged
aruintelligence merged 1 commit into
mainfrom
feat/witness-chronology
Oct 17, 2026
Merged

aruintelligence merged 1 commit into
mainfrom
feat/witness-chronology

Conversation

@aruintelligence

Copy link
Copy Markdown
Owner

Summary

  • Reject resealed witness bundles with malformed UTC millisecond creation times, attestation before challenge issue, bundle creation before attestation or after expiry, or creation later than the verifier's replay clock. The producer also refuses to emit a bundle with an impossible timeline.
  • Treat an authenticated positive report's checked_at later than the single recorded replay instant as a conflict.
  • Preserve separate quorum validity, saved threshold, held policy, witness replay, report consistency, and held input results. These timestamp fields are supplied assertions checked for consistency, not trusted timestamps.

Local verification

  • 896 tests passed.
  • 68 JavaScript/Python signed-quorum comparison cases passed, including a resealed future bundle with valid, threshold_met, and policy_met true while witness_met is false, plus a future signed check time conflict.
  • Five deterministic timeline mutations of the published synthetic witness vector produced the expected rejections in both runtimes.
  • Installed-package consumer compatibility, proof, API stability, upgrade contract, CLI contract, package artifact, links, proof surfaces, verifier surfaces, and git diff --check passed.

These are project-controlled local checks. GitHub CI is pending; they do not establish independent certification or a trusted clock.

@aruintelligence
aruintelligence merged commit 6711b52 into main Oct 17, 2026
59 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant