feat(scripts): convert release scripts from Python to Jac#5599
Open
SandeepaHWP wants to merge 32 commits intojaseci-labs:mainfrom
Open
feat(scripts): convert release scripts from Python to Jac#5599SandeepaHWP wants to merge 32 commits intojaseci-labs:mainfrom
SandeepaHWP wants to merge 32 commits intojaseci-labs:mainfrom
Conversation
Converted all Python scripts in scripts/ to Jac equivalents using
py2jac, then fixed conversion bugs (escaped ## in f-strings, corrupted
lambda, wrong `delete()` for del, invalid backticks on non-keywords,
NamedTuple class body using `with entry {}` instead of `has` fields,
and `new` as identifier which is unsupported in Jac). Updated all
docstring usage examples from `python scripts/*.py` to `jac run scripts/*.jac`.
for more information, see https://pre-commit.ci
…runtime SQLite lock
…during recreation
…runtime SQLite lock jac run always initializes a SQLite graph database context even for scripts that don't use graph features. Pre-commit.ci runs jobs in parallel on shared filesystem causing concurrent SQLite writes and database lock errors. validate_fragments.py is kept as a lightweight Python-only hook runner.
…oid Jac runtime SQLite lock" This reverts commit 4017e3f.
Script compared Lark vs RD parser ASTs during migration (PR jaseci-labs#4517). The Lark parser was deleted in PR jaseci-labs#4557, making this script permanently broken and unused. No CI or other script references it.
…output dictionaries
…tegories in fragment collection
Adds a --no-persist flag to jac run that calls set_base_path(None) before creating the execution context, preventing TieredMemory from creating the L3 SQLite layer entirely. Useful for non-graph scripts like pre-commit hooks that do not need persistence. Updates the validate-fragments pre-commit hook to use the clean jac run --no-persist entry instead of the JAC_DATA_PATH workaround.
Adds a --no-persist flag to jac run that calls set_base_path(None) before creating the execution context, preventing TieredMemory from creating the L3 SQLite layer entirely. Useful for non-graph scripts like pre-commit hooks that do not need persistence. Updates the validate-fragments pre-commit hook to use the clean jac run --no-persist entry instead of the JAC_DATA_PATH workaround.
kugesan1105
reviewed
Apr 20, 2026
kugesan1105
reviewed
Apr 20, 2026
Member
|
hey all these jac files needs to be changed to jactastic @SupulHeshan can guide. |
…ate-fragments hook
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Converted all Python scripts in
scripts/to Jac (.jac) files and removed the original.pyfiles.Converted files:
scripts/release_utils.py→release_utils.jacscripts/release.py→release.jacscripts/collect_release_notes.py→collect_release_notes.jacscripts/parse_release.py→parse_release.jacscripts/validate_release.py→validate_release.jacscripts/validate_fragments.py→validate_fragments.jacscripts/wait_for_pypi.py→wait_for_pypi.jacRemoved:
scripts/rd_parser_walk_check.py/.jac- dead script from Lark to RD parser migration (PR Replace Lark parser with recursive descent parser #4557 deleted the Lark parser it depended on)Workflow changes (
.github/workflows/):pip install -e ./jacsteps before everyjac runcall inpublish-release.ymlandcreate-release-pr.yml.pyto.jacPre-commit changes (
.pre-commit-config.yaml):validate-fragmentshook now runs viabash -cwith a uniqueJAC_DATA_PATHtemp dir per invocation, preventing SQLite lock errors in parallel CI environments