Skip to content

refactor: unify source layout and simplify notes updates - #12

Merged
Acture merged 3 commits into
masterfrom
feature/oss-291-src-layout
Oct 4, 2026
Merged

Acture merged 3 commits into
masterfrom
feature/oss-291-src-layout

Conversation

@Acture

@Acture Acture commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Rust and Python sources now live under src/crates/ and src/python/, with Cargo and Maturin still run from the repository root. Workspace members, package paths, fixture ignore rules and example-test paths follow the new layout.

Remove the project-local notes updater and document native Git initialization and guarded updates instead. Retain master's public docs/ / private notes/ boundary and the central vault's checked submission workflow.

Validation:

  • Cargo format, Clippy and workspace tests; Maturin wheel/sdist and isolated package import checks.
  • Fresh clone initialization against the notes remote; updates preserve dirty files, unpublished commits and divergent history.
  • Existing native-extension typing gaps remain tracked in OSS-292.

Closes OSS-291 and OSS-299.

Summary by CodeRabbit

  • Documentation
    • Clarified repository layout and build locations, and updated links to match the current structure.
    • Replaced the notes-update script workflow with documented Git commands, including checks for local changes and branch divergence.
    • Explained that building and using ScriptMark does not require access to private notes, and updated notes publishing instructions.
  • Chores
    • Removed the notes-update script.

Copilot AI balanced review requested due to automatic review settings October 4, 2026 08:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Oct 4, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5db6c7b9-31e4-49d8-8ef0-ca6a8016605e
📥 Commits

Reviewing files that changed from the base of the PR and between 804bacd and cb25572.

⛔ Files ignored due to path filters (2)
  • src/crates/scriptmark/tests/fixtures/archives/m3_default.rar is excluded by !**/*.rar
  • src/crates/scriptmark/tests/fixtures/hw1/local/roster.csv is excluded by !**/*.csv
📒 Files selected for processing (86)
  • .gitignore
  • CLAUDE.md
  • Cargo.toml
  • README.md
  • pyproject.toml
  • scripts/update-notes.fish
  • src/crates/scriptmark-py/Cargo.toml
  • src/crates/scriptmark-py/src/lib.rs
  • src/crates/scriptmark/Cargo.toml
  • src/crates/scriptmark/src/archive.rs
  • src/crates/scriptmark/src/assignment.rs
  • src/crates/scriptmark/src/canvas/bundle.rs
  • src/crates/scriptmark/src/canvas/client.rs
  • src/crates/scriptmark/src/canvas/mod.rs
  • src/crates/scriptmark/src/checker/builtin.rs
  • src/crates/scriptmark/src/checker/mod.rs
  • src/crates/scriptmark/src/checker/python_checker.rs
  • src/crates/scriptmark/src/checker/rhai_checker.rs
  • src/crates/scriptmark/src/db/mod.rs
  • src/crates/scriptmark/src/db/queries.rs
  • src/crates/scriptmark/src/db/results.rs
  • src/crates/scriptmark/src/db/roster.rs
  • src/crates/scriptmark/src/db/schema.rs
  • src/crates/scriptmark/src/discovery.rs
  • src/crates/scriptmark/src/display.rs
  • src/crates/scriptmark/src/export.rs
  • src/crates/scriptmark/src/grading.rs
  • src/crates/scriptmark/src/input/canvas.rs
  • src/crates/scriptmark/src/input/mod.rs
  • src/crates/scriptmark/src/lib.rs
  • src/crates/scriptmark/src/main.rs
  • src/crates/scriptmark/src/matching.py
  • src/crates/scriptmark/src/matching.rs
  • src/crates/scriptmark/src/models/config.rs
  • src/crates/scriptmark/src/models/mod.rs
  • src/crates/scriptmark/src/models/result.rs
  • src/crates/scriptmark/src/models/spec.rs
  • src/crates/scriptmark/src/models/submission.rs
  • src/crates/scriptmark/src/record.rs
  • src/crates/scriptmark/src/report.rs
  • src/crates/scriptmark/src/report_template.html
  • src/crates/scriptmark/src/roster.rs
  • src/crates/scriptmark/src/runner/answers.rs
  • src/crates/scriptmark/src/runner/executor.rs
  • src/crates/scriptmark/src/runner/frozen.rs
  • src/crates/scriptmark/src/runner/generation.rs
  • src/crates/scriptmark/src/runner/generator.rs
  • src/crates/scriptmark/src/runner/harness.py
  • src/crates/scriptmark/src/runner/judge.rs
  • src/crates/scriptmark/src/runner/linter.rs
  • src/crates/scriptmark/src/runner/mod.rs
  • src/crates/scriptmark/src/runner/oracle.rs
  • src/crates/scriptmark/src/runner/orchestrator.rs
  • src/crates/scriptmark/src/runner/prepare.rs
  • src/crates/scriptmark/src/runner/python.rs
  • src/crates/scriptmark/src/runner/records.rs
  • src/crates/scriptmark/src/runner/sandbox.rs
  • src/crates/scriptmark/src/similarity.rs
  • src/crates/scriptmark/src/spec_loader.rs
  • src/crates/scriptmark/src/tui/app.rs
  • src/crates/scriptmark/src/tui/mod.rs
  • src/crates/scriptmark/src/tui/ui.rs
  • src/crates/scriptmark/tests/canvas_fetch.rs
  • src/crates/scriptmark/tests/cli.rs
  • src/crates/scriptmark/tests/examples.rs
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/assignment.json
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/files/1001/lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/files/1002/draft.py
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/files/1003/lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/files/1004/lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/canvas/files/1005/lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/legacy_results.json
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/0024010003_lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/2024010001_lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/2024010002_lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/2024010005_notes.txt
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/24010003_lab1.py
  • src/crates/scriptmark/tests/fixtures/hw1/local/submissions/_scratch_v2.py
  • src/crates/scriptmark/tests/generated.rs
  • src/crates/scriptmark/tests/harness.rs
  • src/crates/scriptmark/tests/input_equivalence.rs
  • src/crates/scriptmark/tests/integration.rs
  • src/crates/scriptmark/tests/matching.rs
  • src/crates/scriptmark/tests/oracle.rs
  • src/crates/scriptmark/tests/record.rs
  • src/python/scriptmark/__init__.py
 ____________________________________________
< Double tap everything. Kill the bugs dead. >
 --------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ghfind-review ghfind-review Bot added the review: high ghfind author score; see https://ghfind.com label Oct 4, 2026
@Acture
Acture merged commit c44040c into master Oct 4, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: high ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants