Skip to content

feat: add dependency-aware bundle ordering - #48

Open
vycdev2 wants to merge 2 commits into
vycdev:mainfrom
vycdev2:feat/dependency-aware-bundle-ordering
Open

feat: add dependency-aware bundle ordering#48
vycdev2 wants to merge 2 commits into
vycdev:mainfrom
vycdev2:feat/dependency-aware-bundle-ordering

Conversation

@vycdev2

@vycdev2 vycdev2 commented Aug 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • derive cross-file bundle dependencies from resolver-owned definition/reference data, including E0205 forward-reference labels
  • topologically order whole files with deterministic lexical tie-breaking while preserving declarations inside each file
  • return structured ordering diagnostics for cycles and namespace-boundary leaks, preserve existing outputs on failure, and keep source-to-output manifests aligned with the selected order
  • archive the implemented bundle-ordering contract under docs/completed/, add it to the completed-record inventory, and update all backlinks
  • preserve the FFI, math-helper, random, encoding, and UUID documentation/code changes added to main since this branch was opened

Verification

  • cargo test -q -p jett_driver bundle_project_ — passed: 11 bundle tests
  • cargo fmt --check — passed
  • cargo build — passed
  • cargo test -q — passed: full Rust workspace suite
  • git diff --check — passed

Risk

  • Medium: this changes bundle file ordering and failure classification, but retains validation-before-write, limits reordering to whole files, and adds focused dependency-order, cycle, namespace-boundary, parse-priority, manifest, output-preservation, and agent-output coverage.

Closes #13

This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying.

@vycdev vycdev left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The implementation and test coverage look coherent, but the documentation status conflicts with this repository's taxonomy. This PR changes docs/open_design/bundle_ordering_contract.md to Status: implemented and calls it a completed contract, while AGENTS.md reserves docs/open_design/ for unresolved design and docs/completed/ for historical handoff material. Please move this record to docs/completed/, add it to the Completed Records inventory in docs/README.md, and update the references in docs/design.md (and any other backlinks) before merging.

vycdev commented Aug 3, 2026

Copy link
Copy Markdown
Owner

In addition to the requested documentation-taxonomy change in my review, this branch now conflicts with the updated main after the approved PR batch was merged. Please rebase when moving the bundle-ordering record to docs/completed/ and preserve the intervening documentation/code changes.

@vycdev2
vycdev2 force-pushed the feat/dependency-aware-bundle-ordering branch from 1fac60f to 89444a6 Compare August 4, 2026 06:18
@vycdev2

vycdev2 commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator Author

Rebased this branch onto current main and addressed the requested documentation taxonomy updates:

  • moved the implemented contract to docs/completed/bundle_ordering_contract.md;
  • added it to the Completed Records inventory;
  • updated the design and architecture backlinks while preserving intervening main changes.

During re-verification I also found and fixed a file-boundary case where concatenation could leak a preceding namespace into later root declarations. The bundler now rejects that unrepresentable order with a structured diagnostic and preserves existing output; two regression tests cover rejected and safe boundary orders.

cargo fmt --check, cargo build, cargo test -q, and git diff --check all pass.

This was generated by an AI agent (vycdev2). Please verify any changes before merging or applying.

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.

enhancement: add dependency-aware whole-file bundle ordering

2 participants