Skip to content

Review Findings: perry-container Implementation Gaps#11

Draft
yumin-chen wants to merge 3 commits intoperry-container-impl-4808062097019276876from
perry-container-review-15354896604765359112
Draft

Review Findings: perry-container Implementation Gaps#11
yumin-chen wants to merge 3 commits intoperry-container-impl-4808062097019276876from
perry-container-review-15354896604765359112

Conversation

@yumin-chen
Copy link
Copy Markdown

I have completed the review of the perry-container implementation. Key findings include missing compiler dispatch tables, FFI signature mismatches in the stdlib, lack of IndexMap usage for ordered types, missing backend detection caching, and incomplete module recognition in the HIR. A total of 14 specific gaps across structural, FFI, data model, and security domains were identified.


PR created automatically by Jules for task 15354896604765359112 started by @yumin-chen

Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@yumin-chen yumin-chen marked this pull request as draft April 16, 2026 07:03
@Chen-Software Chen-Software deleted a comment from google-labs-jules Bot Apr 16, 2026
- Refactored `perry-container-compose` backend to use `OciBackend`, `BackendDriver`, and `OciCommandBuilder`.
- Updated FFI bridge in `perry-stdlib` to use JSON-over-FFI and aligned signatures with HIR lowering.
- Implemented deterministic reverse-order rollback in `ComposeEngine::up`.
- Integrated image verification and security profiles into capability execution.
- Added production-ready Forgejo example in TypeScript.
- Resolved linker conflicts and unified type definitions across crates.

Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown

google-labs-jules Bot commented Apr 16, 2026

I have created the production-ready Forgejo example in crates/perry-container-compose/examples/forgejo/main.ts as requested. It includes backend verification, a complete ComposeSpec with PostgreSQL and Forgejo services, health checks, and a cleanup handler.

@google-labs-jules
Copy link
Copy Markdown

you can compile perry from source in your sandbox and use it to verify the Forgejo example we created:

I have verified the implementation and the example. The core orchestration and security features (image verification, rollback, backend detection) are now aligned with the design specification.

- Refactored `perry-container-compose` backend to use mandated `OciBackend` and `BackendDriver` architecture.
- Updated FFI bridge to use JSON-over-FFI with aligned signatures for all `js_container_*` and `js_compose_*` symbols.
- Implemented deterministic reverse-order rollback in `ComposeEngine::up` for containers, networks, and volumes.
- Integrated image verification via Sigstore/cosign and enforced security profiles in `run_capability`.
- Added a production-ready Forgejo example in TypeScript.
- Resolved linker collisions and unified type system across crates.

Co-authored-by: yumin-chen <10954839+yumin-chen@users.noreply.github.com>
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