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

✨ A short form of the fingerprint for link conditions (a length role; lockstep with ubCode)

Open
#2,212 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
12/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
python
Domain
tooling

Research direction

This is a design decision, not a code change: the issue asks whether a length role on the fingerprint kind or a prefix-aware comparison form should be used, and it sets a lockstep contract amendment with the ubCode twin (useblocks/ubcode#4057). Read the fingerprint work in #2204 and the link-condition filter code it references before proposing anything. Done means a maintainer-agreed contract decision, not a patch.

Written by the indexing model from the issue text.

Description

enhancement pkg: sphinx-needs

What

A fingerprint (#2204) is a full lowercase-hex SHA-256, 64 characters, which is impractical to write into a link condition by hand. Today a prefix works the way a short git commit id does, REQ_1[fp.startswith('3f9a1c2b7d4e')], and the full digest lives in needs.json. A short form was deliberately left out of the first slice so the stored value stays one frozen, full digest in both tools.

To decide (one contract amendment for both tools, then the conformance corpus, then each implementation)

  • The shape: a length role on the fingerprint kind (derive = { kind = "fingerprint", length = 12 }, the stored value truncated to the first N hex characters), or a comparison form that knows it is matching a digest prefix. A role changes the stored value; a comparison form keeps it full and changes the filter evaluation.
  • Collision risk at short lengths and what is reported when two needs share a truncated value.
  • The frozen-set promise is unaffected (what is digested does not change).

Lockstep release with ubCode. Twin: useblocks/ubcode#4057.

Dominant language
Python
Stars
309
Forks
103
Avg merge
10h 41m
Merged PRs (30d)
128

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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 useblocks/sphinx-needs

All issues in useblocks/sphinx-needs

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.