Skip to content

fix(compiler): infer shared app ownership and refresh stale client placement - #9047

Merged
marsninja merged 1 commit into
jaseci-labs:mainfrom
marsninja:fix/inferred-placement-cache-and-ownership
Sep 7, 2026
Merged

fix(compiler): infer shared app ownership and refresh stale client placement#9047
marsninja merged 1 commit into
jaseci-labs:mainfrom
marsninja:fix/inferred-placement-cache-and-ownership

Conversation

@marsninja

Copy link
Copy Markdown
Collaborator

Description

Removing the Jac site’s placement pins exposed stale client artifacts and incorrect ownership of shared graph modules. This fixes those compiler paths so the site runs with all eleven placement pins removed.

  • Infer a shared module’s owner from its sole consuming serving app, following imports and annexes while respecting app boundaries and explicit ownership pins. Include the inferred ownership graph in the compiler cache fingerprint.
  • Finish analysis of live dependency trees before reusing client artifacts, so newly inferred client exports are emitted instead of returning a source-fresh but placement-stale artifact.
  • Audit imported values against emitted JavaScript bindings, catching dropped imports such as mermaid with E5101.
  • Document ownership inference and add regressions for cache refresh, missing JavaScript imports, service boundaries, and ownership invalidation when consumers are added or removed.

Validation:

  • Reproduced failures before fixing client artifact reuse, unique service ownership, and the dropped-import audit.
  • Client placement cache and workspace facts: 17 passed.
  • Placement work, client value references, and codespace inference: 70 passed.
  • ES emitted-code/audit checks: 2 passed.
  • jac run started the site and its services with no placement pins. jac browse verified home, JacYac, scores, and documentation with a rendered Mermaid diagram; no JavaScript errors were reported. Confirmed name_of returns strings synchronously in the browser. Authenticated GitHub flows were not exercised.
  • git diff --check passed.

Local hook limitation: formatting verification passes after applying the repository’s lint cleanup, but jac check reports five errors in unchanged ES backend code (E1099 for optional client_manifest access and E1053 for union aliases passed to isinstance). The local commit hook was bypassed after inspecting these diagnostics; this PR does not claim a clean full type check.

@marsninja
marsninja merged commit a2dbd46 into jaseci-labs:main Sep 7, 2026
8 of 9 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