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

Validate release metadata object and field types before reading identity fields

Closed Beginner friendly
#1,000 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@erenbati is already working on this.

Since Oct 25, 2026.

  • #1047 by @erenbati — merged

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
json, python

Research direction

Start at verify_metadata() in tools/ci/release.py:47, where metadata is validated and identity fields are read. Add root and field type checks before calling .get() or performing identity operations, while preserving the existing source, version, digest, target, and revision checks. Run the verify_metadata() fixture with valid metadata and malformed roots and field types; done means invalid inputs produce actionable filename/field errors and cannot advance publication.

Written by the indexing model from the issue text.

Description

bug ci good first issue

Problem

With all expected archive/checksum filenames present, a metadata JSON value of [] raises AttributeError: list object has no attribute get instead of a package validation error. Other malformed field types need equally direct diagnostics.

Starting point: tools/ci/release.py:47.

Validation

Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed verify_metadata() fixture with all nine archive/checksum identities and non-object metadata. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.

Scope

Validate the metadata object and field types before identity operations. Keep exact source/version/digest/target/revision requirements intact.

Related: #828. These links do not claim those broader or completed scopes are unfinished.

Completion criteria

  • Reject array/null/scalar roots and wrongly typed identity fields with an actionable filename/field error.
  • Valid metadata still satisfies every existing publication identity check.
  • No malformed input can advance publication or weaken the gate.

This is a bounded, unassigned task with the starting point and focused checks above. Keep unrelated refactoring out of the change.

Dominant language
Rust
Stars
56
Forks
21
Avg merge
7h 19m
Merged PRs (30d)
61

Getting set up

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 wavefnd/Wave

All issues in wavefnd/Wave

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.