Skip to content

chore: un-nest package to repo root, archive research artifacts, add MIT LICENSE#16

Merged
jack-champagne merged 4 commits into
masterfrom
chore/restructure-and-license
Jul 2, 2026
Merged

chore: un-nest package to repo root, archive research artifacts, add MIT LICENSE#16
jack-champagne merged 4 commits into
masterfrom
chore/restructure-and-license

Conversation

@jack-champagne

Copy link
Copy Markdown
Member

Implements §1–2 of the convergence & bundle-pipeline design spec (PR #15,
docs/specs/2026-07-01-jl2py-convergence-and-bundle-pipeline-design.md) — nothing
more. The Python package is un-nested to the repo root, the phased research corpus
is archived, and an MIT LICENSE is added. All moves use git mv, so history is
preserved (the diff shows renames, not delete+add).

Package un-nest (§1)

From To
out/jl2py/src src
out/jl2py/csrc csrc
out/jl2py/tests tests
out/jl2py/pyproject.toml pyproject.toml
out/jl2py/setup.py setup.py
out/jl2py/ci ci
out/demos demos

out/ is now empty and removed. (out/jl2py/ had no README/MANIFEST.in — only the
files above.)

Docs reorganization (§2)

Promoted to live docs under docs/:

  • part3/jl2py_prd.mddocs/jl2py-prd.md
  • part5/jl2py-toolchain-plan.mddocs/jl2py-toolchain-plan.md
  • reports/implementation_status.mddocs/implementation-status.md
  • (docs/jlpy-data-model.md, docs/jlpy-type-model.md, docs/README.md unchanged/live)

Archived (provenance preserved via part subdirs):

  • part1..part5/* (remaining) → docs/archive/research/partN/
  • reports/* (remaining) → docs/archive/session-notes/

part1..5/ and reports/ are gone. docs/README.md updated to point at the new
layout and list the promoted specs.

LICENSE

Added standard MIT LICENSE at the repo root, Copyright (c) 2026 Harmoniqs, Inc.
Matches the existing pyproject.toml declaration license = {text = "MIT"} (left
as-is — no contradiction).

Path fixes

  • .github/workflows/test.yml: make -C csrc, JL2PY_LIB_PATH under csrc/build,
    pytest tests.
  • .github/workflows/wheels.yml: package-dir: . and comment. CIBW_BEFORE_ALL's
    {project}/ci/install_julia.sh stays valid ({project} is the package-dir, now
    root; ci/ is at root). JULIA_INCLUDE_PATH=/opt/julia/... unaffected.
  • demos/demo_common.py: JL2PY_SRC now ../src (was ../jl2py/src).
  • demos/*.py + tests/*.py docstrings: dropped stale
    scratch/jlpy-interop/out/... run instructions.
  • tests/test_kwargs_slice.py + docs/implementation-status.md: code-location
    citations now point at csrc/ and src/.
  • Verified no edits needed in setup.py, pyproject.toml, csrc/Makefile,
    ci/install_julia.sh, tests/conftest.py — they use relative paths whose sibling
    layout moved together.

Intentionally left: archived docs/archive/session-notes/* retain historical
scratch/jlpy-interop paths (they describe past sessions).

Verification

🤖 Generated with Claude Code

https://claude.ai/code/session_01V9jVcSYDNXtbBGfcAEPwvh

jack-champagne and others added 4 commits July 1, 2026 23:07
Move the Python package, C core, tests, packaging files, CI helper, and
demos out of the nested out/ tree to the repository root:

  out/jl2py/src         -> src
  out/jl2py/csrc        -> csrc
  out/jl2py/tests       -> tests
  out/jl2py/pyproject.toml -> pyproject.toml
  out/jl2py/setup.py    -> setup.py
  out/jl2py/ci          -> ci
  out/demos             -> demos

out/ is now empty and removed. All moves use git mv to preserve history.
Path references are fixed in a later commit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9jVcSYDNXtbBGfcAEPwvh
Promote to live docs under docs/:
  part3/jl2py_prd.md            -> docs/jl2py-prd.md
  part5/jl2py-toolchain-plan.md -> docs/jl2py-toolchain-plan.md
  reports/implementation_status.md -> docs/implementation-status.md

Archive the remaining phased research corpus and session snapshots,
preserving provenance via part subdirs:
  part1..part5/*  -> docs/archive/research/partN/
  reports/*       -> docs/archive/session-notes/

Update docs/README.md to point at the new layout and list the promoted
specs. part1..5/ and reports/ are now empty and removed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9jVcSYDNXtbBGfcAEPwvh
Add a standard MIT LICENSE at the repository root, copyright
Harmoniqs, Inc. Matches the existing pyproject.toml declaration
(license = {text = "MIT"}).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9jVcSYDNXtbBGfcAEPwvh
Update every reference to the old out/jl2py and out/demos layout:

  - .github/workflows/test.yml: make -C csrc, JL2PY_LIB_PATH under
    csrc/build, pytest tests
  - .github/workflows/wheels.yml: package-dir "." and comment
  - demos/demo_common.py: JL2PY_SRC now ../src (was ../jl2py/src)
  - demos/*.py, tests/*.py docstrings: drop stale
    scratch/jlpy-interop/out/... run instructions
  - tests/test_kwargs_slice.py + docs/implementation-status.md:
    code-location citations point at csrc/ and src/

setup.py, pyproject.toml, csrc/Makefile, ci/install_julia.sh, and
tests/conftest.py use relative paths that are unchanged because their
sibling layout moved together; verified no edits needed.

Archived session-notes retain historical scratch/jlpy-interop paths by
design (they describe past sessions).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V9jVcSYDNXtbBGfcAEPwvh
@jack-champagne jack-champagne marked this pull request as ready for review July 2, 2026 03:22
@jack-champagne jack-champagne merged commit 62162d2 into master Jul 2, 2026
1 check 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