Skip to content

Adapt jvagent to secure jvspatial entity fields - #249

Merged
eldonm merged 7 commits into
devfrom
codex/jvspatial-security-compat
Sep 27, 2026
Merged

eldonm merged 7 commits into
devfrom
codex/jvspatial-security-compat

Conversation

@eldonm

@eldonm eldonm commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Summary

Adapts jvagent to the stricter entity attribute contract in jvspatial PR #49. Runtime-only fields on actions and walkers are declared with Pydantic PrivateAttr. The substrate fix permits instance replacement of private helpers that are already declared on the class, preserving test doubles without allowing arbitrary underscore fields. Stale interview mocks for a removed helper and invalid MagicMock JsonDB IDs are corrected.

The release candidate is 0.1.8rc19 and pins published jvspatial==0.1.0 in pyproject.toml, requirements.txt, and requirements-all.txt. Until that substrate version is published, local tests use an editable build from jvspatial PR #49; the PR remains draft through the fresh-install gate.

Verification

  • Fresh pip install recorded jvspatial commit 948635b8e080e37da45a0c3f6b6a149533b76d3b in direct_url.json.
  • Full pytest tests/ --ignore=tests/wire passed from that fresh install.
  • Affected interview, leadgen, MCP, model, task, and storage slices passed; the interview, Google, artifact, and dependency-sync slices passed again against the final commit.
  • jvagent.cli validate examples/jvagent_app passed.
  • pre-commit run --all-files passed; push hook also completed.

Release gate

The six previously failing wire prompt assertions were caused by direct test bootstrap skipping jvagent's UTF-8 persistence default. The fixture now applies that default; all 18 wire tests and the full non-wire suite pass locally. The push hook's full pytest tests/ gate also passed. Await reviewed jvspatial 0.1.0 publication, then rerun CI from the published dependency before merging into dev and promoting to main.

Agent guide migration

Root and eight scoped AGENTS.md files now contain the former CLAUDE.md guidance; all nine CLAUDE.md files are removed. Contributor docs, package guides, and the planning config path point to AGENTS.md. Historical changelog entries remain intact.

Final dependency check

The full local pytest tests/ suite passes in the Python 3.14 virtual environment after installing jvspatial PR #49's 761b8ce Git candidate. Its later fe54330 commit changes only a SQLite test assertion. No jvagent source changes were needed in this pass. The PR's test, conformance, isolation, load, and pre-commit jobs currently stop at dependency installation because jvspatial==0.1.0 is not yet in the registry. Keep this PR draft until jvspatial is reviewed and published, then rerun those jobs against the released wheel.

@eldonm
eldonm marked this pull request as ready for review September 27, 2026 20:13
@eldonm
eldonm merged commit f65858b into dev Sep 27, 2026
13 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant