Skip to content

jpdev v0.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Oct 13:43
· 4 commits to main since this release
Immutable release. Only release title and notes can be modified.

jpdev v0.7.0

This release adds explicit session cleanup and keeps builder temporary files beneath scratch
(issue #30,
pull request #31).

Session cleanup

jpdev clean defaults to a dry run with no implicit roots. Initialize an empty session-created
root with clean init, then explicitly seal completed disposable paths with clean seal.
Cleanup reports root-relative candidates, logical sizes, reasons, totals and per-path outcomes.
Deletion requires --yes and all ownership and safety checks to pass.

The default age threshold is seven days. Transcript candidates also have an inclusive 10 MiB
logical regular-file size floor, adjustable with --min-transcript-bytes N; zero disables that
floor. Exact paths in .jpdev-clean-keep protect reserves. Supported candidate kinds are
worktrees, reviewer directories/clones, transcripts, scratch associated with a removed worktree,
and shared caches whose base has no linked worktree users.

Cleanup requires explicit disposal evidence for every included file, including ignored,
untracked and review evidence. It refuses changed content, unpublished commits, tracked/index
changes, live process use, protected paths, symlinks, nested repositories, mount crossings and
unavailable verification evidence. Bare or saved Git metadata, inherited Git evidence
redirection, and assume-unchanged/skip-worktree index flags are refused. Git publication and,
where applicable, closed/merged pull-request evidence remain mandatory.

The tool checks evidence again after quarantine and during descriptor-relative removal.
Cache users and associated-worktree absence are checked throughout removal, including before
the final directory is removed. Git administrative entries and branch refs are retained.

Builder temporary files

jpdev codex run creates TMPDIR beneath the builder's effective scratch, replacing an inherited
temporary directory. The brief template and cleanup policy document session-prefixed scratch and
disposal ownership. Mutation copies exclude nested scratch, temporary storage and the copy
destination while retaining ordinary source siblings. Repository fixtures handle clone-local
temporary storage, and check summaries retain the names of failing test cases.

Operating limits

Existing unmarked roots cannot be adopted for cleanup. Complete initial Linux host process,
mount and root visibility is required; containers, sandboxes and inaccessible process evidence
cause refusal. System/global Git configuration is disabled during verification, so authentication
that depends on it may be unavailable and cause refusal.

A refusal during removal can leave a partially removed candidate. Remaining content is restored
when its original name is vacant, or retained in quarantine for assessment. The operation does
not provide transactional rollback or isolation from a malicious process with the same user
identity. See Scratch and cleanup
for formats and procedures.

This release is limited to the Devkit change. Adoption or re-vendoring in other repositories is
separate work.