2.6 KiB
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, andIzzfromBeamExamples/CantileverBeam.txt; preserveJ,Iyy, andPoisson'sRatioas 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
rgchecks for stale terms; describe the lesson without preserving obsolete filenames unless the exact name matters. scripts/execute.pyexpectsgit rev-parse --abbrev-ref HEADto succeed. On an unborn repository with no initial commit, it returnsHEADplus 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
Izzas the code parameter name for the in-plane bending inertia instead of bareI; ruff flagsIas an ambiguous variable name and the fixture also usesIzz. - The BeamExamples displacement fixture reports downward cantilever rotations as positive
Rz, so this project treatsRzas clockwise-positive. A textbook counterclockwise-positive Euler-Bernoulli matrix reproducesUybut flips everyRz; keep the element stiffness convention aligned instead of flipping only solver output. jupyter nbconvert --execute notebooks/*.ipynbcan run cells withPath.cwd()equal tonotebooks/on Windows. Notebook code should discover the repository root by walking/checking forpyproject.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.ipynboutput 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.