Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Characterize preservation of completed signer records

Open
#9,086 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
php
Domain
backend, testing

Research direction

Start with tests/integration/features/sign/cancel.feature, signed.feature, and sequential_signing.feature; reuse the existing clickToSign fixtures and API assertions. Run the relevant Behat scenarios and inspect how they reload signer records and verify signing evidence. Done means focused regression coverage confirms completed records and evidence remain intact while legitimate unsigned-signer removal still works.

Written by the indexing model from the issue text.

Description

backend php

Goal

Add focused regression coverage confirming that completed signing records and their evidence are preserved throughout signer-management operations.

This is an investigation of an integrity invariant, not a claim that a defect has been confirmed. The backend remains responsible for enforcing valid state transitions regardless of frontend controls.

Starting points

  • tests/integration/features/sign/cancel.feature
  • tests/integration/features/sign/signed.feature
  • tests/integration/features/sign/sequential_signing.feature

Reuse existing clickToSign test fixtures and API assertions instead of introducing a new test framework.

Test approach

  1. Prepare a small document with real signers and complete at least one signature using the existing signing flow.
  2. Exercise the relevant signer-management behavior within the current lifecycle and permission rules, including a completed signing record and a partially signed document where applicable.
  3. Reload the document and signer records using the existing API or validation test facilities.
  4. Verify that completed signers, signing status, timestamps, and available signature evidence are preserved; remaining participants must not be unexpectedly changed.
  5. Use the existing successful removal of an unsigned signer as a control. Do not duplicate established happy-path scenarios without a demonstrated need.

Test observable business rules rather than mocking internal implementation details. Prefer Behat; use narrowly scoped PHPUnit integration only if a required persistence invariant cannot be checked through the API. Do not assume that editing a partially signed document is an allowed operation or introduce new permissions.

Expected outcome

  • A signer who has already signed retains their completed signing record and evidence.
  • Unsupported signer-management operations do not alter signed records or the document state.
  • Existing legitimate management of unsigned requests continues to work.

Result and maintainer handoff

  • Tests pass: submit focused regression coverage for normal review and merge.
  • Test setup fails: correct the fixture or environment before classifying a product defect.
  • A test confirms a product defect: preserve the failing test in a referenceable commit/branch, record the tested base revision and sanitized evidence, and request maintainer triage. Do not merge a failing test, disable it, or weaken assertions to make CI pass.
  • Follow-up: the maintainer decides whether a small fix can accompany the preserved test or whether a separate correction issue is needed. The original regression test must be incorporated into the eventual correction.

If a finding may expose a security weakness, do not publish the sensitive reproduction, failing test branch, logs, or exploit details in a public issue or PR. Follow SECURITY.md for private triage before disclosure. This investigation does not automatically require a security advisory.

Scope and completion

No broad refactoring, new testing infrastructure, benchmarks, or mandatory product fix.

The investigation can conclude when the regression coverage passes and is merged or a reproducible defect is preserved for maintainer review with an agreed, traceable correction follow-up.

Dominant language
PHP
Stars
828
Forks
159
Avg merge
7h 53m
Merged PRs (30d)
523

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from LibreSign/libresign

All issues in LibreSign/libresign

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.