coding: validate branch inventory object IDs #379

Open
nsaspy wants to merge 0 commits from rage/199-branch-object-id into main
Owner

Closes #199. Advances #1.

RAGE transaction:

  • RED 111b27b5: malformed %(objectname) branch inventory was accepted as structured evidence; exact-head CI failed only at the new deterministic contract.
  • implementation 55240010: _parse_branch_inventory now reuses the canonical full-object-ID validator and fails with bounded CodingError before projecting malformed evidence.
  • coverage 2373d8b0: exercises blank, wrong-length, non-hex and malformed IDs, accepts both SHA-1/SHA-256 IDs, and proves the failure through the public branches() surface.

The stale predecessor branch rage/199-branch-object-ids was inspected first; it contained only an older RED/public-surface test and no implementation, so its useful coverage was recovered here rather than duplicating runtime code.

Final gate: whitespace, compatibility contracts, source/installed registry compatibility, full generated registry/plugin nix flake check, generated package builds, zero unresolved review threads, exact-head protected merge.

Closes #199. Advances #1. RAGE transaction: - RED `111b27b5`: malformed `%(objectname)` branch inventory was accepted as structured evidence; exact-head CI failed only at the new deterministic contract. - implementation `55240010`: `_parse_branch_inventory` now reuses the canonical full-object-ID validator and fails with bounded `CodingError` before projecting malformed evidence. - coverage `2373d8b0`: exercises blank, wrong-length, non-hex and malformed IDs, accepts both SHA-1/SHA-256 IDs, and proves the failure through the public `branches()` surface. The stale predecessor branch `rage/199-branch-object-ids` was inspected first; it contained only an older RED/public-surface test and no implementation, so its useful coverage was recovered here rather than duplicating runtime code. Final gate: whitespace, compatibility contracts, source/installed registry compatibility, full generated registry/plugin `nix flake check`, generated package builds, zero unresolved review threads, exact-head protected merge.
Some checks failed
CI / test (pull_request) Failing after 17s
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin rage/199-branch-object-id:rage/199-branch-object-id
git switch rage/199-branch-object-id

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff rage/199-branch-object-id
git switch rage/199-branch-object-id
git rebase main
git switch main
git merge --ff-only rage/199-branch-object-id
git switch rage/199-branch-object-id
git rebase main
git switch main
git merge --no-ff rage/199-branch-object-id
git switch main
git merge --squash rage/199-branch-object-id
git switch main
git merge --ff-only rage/199-branch-object-id
git switch main
git merge rage/199-branch-object-id
git push origin main
Sign in to join this conversation.
No description provided.