Files
2026-05-21 17:03:51 +09:00

2.6 KiB

Work Notes

2026-05-21

  • Initial repository documents were generic templates for a web project. They were replaced with FEM surrogate tutorial-specific instructions before implementation work.
  • The previous design-guide document was removed from the active scope because the project is notebook based.
  • BeamExamples fixture files use a simple comma/space text format rather than JSON/CSV. Future parser work should handle comments, trailing commas, and labels such as Poisson'sRatio.
  • For the v1 in-plane Euler-Bernoulli frame solver, use Area, ElasticModulus, and Izz from BeamExamples/CantileverBeam.txt; preserve J, Iyy, and Poisson'sRatio as metadata but do not use them in the in-plane solve.
  • Avoid writing removed/stale file names into handoff notes when the project uses simple rg checks for stale terms; describe the lesson without preserving obsolete filenames unless the exact name matters.
  • scripts/execute.py expects git rev-parse --abbrev-ref HEAD to succeed. On an unborn repository with no initial commit, it returns HEAD plus a fatal stderr and nonzero exit code, so create an initial commit before running Harness execution.
  • ruff check . should exclude existing local agent/harness infrastructure (.agents, .codex, scripts/execute.py) so linting focuses on tutorial package code and future project scripts.
  • Use Izz as the code parameter name for the in-plane bending inertia instead of bare I; ruff flags I as an ambiguous variable name and the fixture also uses Izz.
  • The BeamExamples displacement fixture reports downward cantilever rotations as positive Rz, so this project treats Rz as clockwise-positive. A textbook counterclockwise-positive Euler-Bernoulli matrix reproduces Uy but flips every Rz; keep the element stiffness convention aligned instead of flipping only solver output.
  • jupyter nbconvert --execute notebooks/*.ipynb can run cells with Path.cwd() equal to notebooks/ on Windows. Notebook code should discover the repository root by walking/checking for pyproject.toml, not by assuming the shell working directory.
  • ruff check . lints notebook code cells too. Generated notebooks must keep imports sorted and line lengths under the configured limit.
  • nbconvert writes *.nbconvert.ipynb output files by default; keep them ignored because they are verification artifacts, not source notebooks.
  • On Windows, nbconvert may emit a zmq Proactor event loop warning, and comparison execution once printed a libzmq connection-reset assertion after finishing with exit code 0. Treat this as an environment warning only when the command exit code is 0 and expected output files exist.