Skip to content

Workspace Restructure (Math Foundations) - Phases 1 & 2#25

Merged
AronT-TLV merged 9 commits into
mainfrom
refactor/contextual-copilot-instructions
May 31, 2026
Merged

Workspace Restructure (Math Foundations) - Phases 1 & 2#25
AronT-TLV merged 9 commits into
mainfrom
refactor/contextual-copilot-instructions

Conversation

@AronT-TLV

@AronT-TLV AronT-TLV commented May 31, 2026

Copy link
Copy Markdown
Member

Summary

Restructures Math_Foundations to use Julia 1.10+ workspace layout with separate test, docs, and notebook environments. Also upgrades CI actions and opts into Node.js 24.

Phase 1 — Dependency cleanup and workspace setup

  • Add [workspace] and [compat] sections to root Project.toml
  • Move test-only deps to test/Project.toml
  • Move docs-only deps to docs/Project.toml
  • Move notebook/visualization deps to notebooks/Project.toml
  • Remove DrWatson from test/runtests.jl and docs/make.jl
  • Update docs/make.jl to self-activate the docs environment
  • Ignore all Manifest.toml files via .gitignore

Phase 2 — CI workflow updates

  • Test job uses Pkg.instantiate() + Pkg.test() (workspace-aware)
  • Docs build and deploy jobs use --project=docs command path
  • Cache key tightened to workspace Project.toml files only

CI actions upgrade

  • Upgrade actions/checkout@v4@v5 in all three CI jobs (natively targets Node.js 24)
  • Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var (no longer needed)

Closes

Closes FOU-13, FOU-14, FOU-15, FOU-16, FOU-17, FOU-18, FOU-19, FOU-20, FOU-21, FOU-22, FOU-24, FOU-25, FOU-27, FOU-23, FOU-26, FOU-28, FOU-30, FOU-42

Move domain-specific instructions into .github/instructions/ with applyTo
front matter so they load only when editing relevant files:

- docs.instructions.md (docs/**): LaTeX conventions, MathWorld links, doc structure
- testing.instructions.md (test/**): CI strategy, plotting patterns, test organization
- source.instructions.md (src/**): module structure, coding standards, function signatures, dependencies
- notebooks.instructions.md (notebooks/**): notebook setup and guidelines

Main copilot-instructions.md trimmed from 394 to 126 lines, keeping only
universal content: project overview, workflows, git/PR conventions,
communication patterns, Azure integration.
Add missing shared content to instruction files for cross-project consistency:

docs.instructions.md:
- Add extra bullet point examples for bullet point style (item 1)
- Add MathJax3 Configuration section (item 2)
- Add 'follow existing pattern' line (item 3)
- Add Cross-Document Section Links section (item 4)
- Add project-specific grouping example (item 7)

testing.instructions.md:
- Add CI-Compatible Plotting with ENV detection pattern (item 8)
- Add smarter catch block with rethrow for non-plotting errors (item 9)
- Add atol=1e-10 numerical precision guidance (item 10)

source.instructions.md:
- Add Documentation & Comments subsection (item 15)
- Add Code Organization subsection (item 16)
Add three Julia kernel gotchas learned while working on Linear_Algebra:
- Stale variable slot after failed assignment (restart kernel to fix)
- Building matrix from row vectors (use v' not v for stacking)
- Stale cell state from mutated variables across cells (re-run from top)
…e.js 24 for Actions

- Revert .github/instructions/notebooks.instructions.md to main's version
  (draft content saved locally at _research/notebooks-instructions-draft.md
   for a dedicated instructions pass after merge)
- Add FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true workflow-level env var to address
  actions/checkout@v4 Node.js 20 deprecation before the June 16 2026 deadline
- Replace actions/checkout@v4 with @v5 in all three CI jobs (test,
  docs-build, deploy-docs)
- Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 workflow-level env var
  (no longer needed since @v5 natively targets Node.js 24)

Closes FOU-42
- julia-actions/setup-julia@v1 → @V3 (v3 natively requires Node.js 24)
- julia-actions/cache@v1 → @V3 (pure JS rewrite; drops pyTooling composite
  dependency that was also flagged as Node.js 20)
- actions/cache@v4 → @v5 in deploy-docs explicit cache step

Closes FOU-42
@AronT-TLV AronT-TLV marked this pull request as ready for review May 31, 2026 12:22
@AronT-TLV AronT-TLV merged commit 4917850 into main May 31, 2026
5 checks passed
@AronT-TLV AronT-TLV deleted the refactor/contextual-copilot-instructions branch May 31, 2026 13:13
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