Skip to content

jpdev v0.8.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 05:31
· 8 commits to main since this release
Immutable release. Only release title and notes can be modified.
250b07a

jpdev v0.8.0

This release makes a check run proportional to a change, adds an opt-in duplication check, and
turns the kit's own policy vendor-neutral
(issue #33,
pull request #40;
issue #35,
pull request #41;
issue #42,
pull request #44;
issue #43,
pull request #45;
pull request #39).

Checks proportional to a change

jpdev check --changed [BASE] runs only the check-list steps that jpdev.json maps the changed
paths to, taking the paths changed since the merge base of BASE (the default branch when
omitted) and HEAD, in the working tree, the index and HEAD together. The whole list runs when a
changed path is unmapped, when jpdev.json, the manifest or the runner itself changed, when
nothing changed, or when the repository has no mapping. A missing merge base (a shallow clone,
an unknown base) is a refusal, never "nothing changed". The vendored runner
(scripts/dev/check.sh --changed) does the same through a vendored copy of the selection code
that the kit's tests and the release workflow hold to the library.

On pull requests the CI template now runs --changed against the base branch; a push to the
default branch and a manual dispatch run the whole list, and only those record release evidence.
jpdev version prints the kit checkout's description; an unknown option names it, so a kit
without a feature says so.

Duplication check

An opt-in duplication step reports copied blocks across a repository's declared languages, with
per-repository thresholds (min_tokens, min_lines, max_file_bytes), an explicit ignore block
for copies that are meant to stay, and a size bound with a named refusal when memory runs out.
Each token run keeps its most recent places and one place that spans min_lines lines on its
own, so a real pair is reported whatever sits between its two copies. Binary files and files
over the size bound are named and skipped. The kit runs the check on itself.

Policy

The model that builds or reviews is chosen by use case; a particular vendor's runner is one way
to run a build, not the default. The policy's "who builds and who reviews" section says what a
builder, a reviewer and a coordinator each own, independent of the tool that runs them.

Operating limits

The duplication check covers a copy only where at least one min_tokens run spans min_lines
lines on its own; a copy denser than that is covered by the recent-places window alone. Memory
across many files under max_file_bytes is bounded only by the refusal. jpdev clean keeps the
limits of v0.7.0.