mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-11-10 21:27:08 +01:00
kuhy overruled the "do not fix coursework to be better than it was submitted" rule: git history is the archive, so the working tree can be clean. This lands the config and the mechanical half of the cleanup -- 9,281 ruff findings under the fleet config down to 3,686, with no per-file-ignores anywhere. What is in here: - pyproject.toml, the first one in this repo. select = ["ALL"], mypy strict, and the vendored list mirrored into ruff exclude and coverage omit. Five rules are off and each says why; CPY001 is the only judgement call, because stamping a copyright header onto 137 university assignments would assert a licence that was never claimed. No hook is wired up yet -- a gate lands only once its subject is clean. - ruff format + the safe fixes, then a second pass over the docstring rules ruff marks unsafe (they only edit docstring text). 108 files. - TRAK/sightpy is vendored, not coursework: it is rafael-fuente/Python-Raytracer (BSD 3-Clause). Verified against a fresh upstream clone with line endings normalised -- 30 of 32 files byte-identical, ray.py and scene.py carrying a 12- and 13-line local patch that counts rays for the report. 35 files that should never have been linted, now excluded and restored. - WDWR, SPD, MOM and ECRYPT are fully clean, by hand and verified by running them: WDWR's three plot scripts print the same statistics as before, MOM's PuLP model solves to the same cost. WDWR's graph.py had a 342-character CSV header embedded as a string literal, which cannot be wrapped -- the data moved to data/pareto_front.csv. Two 0-byte .py stubs are deleted; an empty file is not a deliverable and git still has it. Three harness bugs found by actually running things: - `run` now forces MPLBACKEND=Agg. TRAK finished its ray trace in 37 seconds and then sat for 45 minutes: plt.show() had opened an image viewer and was waiting for someone to close the window. - TRAK's main.py only pops that viewer with --show now, and its runner writes to a gitignored build/ via the new --entry-args. The default output path is outputs/output.png, which is TRACKED -- a plain run overwrote a submitted deliverable. - course_lib.sh was 357 lines, over this repo's own cap. Split into course_probe.sh and course_run.sh. Verified: ECOTE 26 tests pass, ECRYPT_PROJECT 99 pass, TRAK renders cornell_box in 37s and exits 0, every module compiles, and every import ruff removed was checked to be genuinely unused. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0172dj34FDpao6wsix8ZuCzE
84 lines
4.5 KiB
Plaintext
84 lines
4.5 KiB
Plaintext
# gates/vendored.txt -- third-party and department-provided content.
|
|
#
|
|
# THE source of truth for "not kuhy's code". Every gate reads this list:
|
|
# - the 250-line cap and the md-naming gate, via the "WUT_Computer_Science"
|
|
# key in VENDORED_SUBPATHS (~/utils/file_length/_tables.py)
|
|
# - ruff, via [tool.ruff] exclude in pyproject.toml
|
|
# - coverage, via [tool.coverage.run] omit
|
|
# - prettier, via .prettierignore
|
|
# Those four are MIRRORS. Edit this file, then re-run ./run.sh sync-vendored.
|
|
#
|
|
# Vendored content is exempt from lint, coverage and the line cap. It is NOT
|
|
# exempt from the no-binaries gate -- a vendored .png is still a binary.
|
|
#
|
|
# One path per line, repo-relative, no trailing slash. Every entry carries the
|
|
# reason AND how it was verified, because an unverified entry is a suppression
|
|
# wearing a costume.
|
|
|
|
# --- Third-party web libraries -------------------------------------------
|
|
# jQuery, Bootstrap, jquery-validation, jquery-validation-unobtrusive as
|
|
# shipped by the ASP.NET MVC scaffolder. 14 JS files (30,875 lines) and 16 CSS
|
|
# files (43,027 lines) -- 98.6% of all JS and 98.9% of all CSS in the repo.
|
|
# Verified: directory is the scaffolder's wwwroot/lib layout; files carry
|
|
# upstream copyright headers and match released dist/ builds.
|
|
Programming/EGUI/lab2/lab2/wwwroot/lib
|
|
|
|
# --- Unity engine and template content ------------------------------------
|
|
# Stock TextMesh Pro package assets shipped by Unity, not authored here.
|
|
# Verified: matches the TMP package's Assets payload; no file under it is
|
|
# referenced from Assets/Scripts.
|
|
Programming/E-PSYOPS/theProject/Assets/TextMesh Pro
|
|
# Unity's "Tutorial Info" new-project template (Readme asset + its editor
|
|
# script). Verified: unmodified from the Unity 2D template.
|
|
Programming/E-PSYOPS/theProject/Assets/TutorialInfo
|
|
#
|
|
# NOTE: Assets/Input System/BetterInput.cs is NOT listed. It is generated by
|
|
# com.unity.inputsystem's InputActionCodeGenerator and already carries an
|
|
# "auto-generated by" banner in its first 5 lines, so the shared gate's
|
|
# GENERATED_MARKERS check exempts it without an entry here. Assets/Scripts/**
|
|
# (12 .cs files) is authored and stays fully gated.
|
|
|
|
# --- Electronic component libraries ---------------------------------------
|
|
# Manufacturer-supplied Altium / EAGLE / PADS / Proteus / SOLIDWORKS symbol
|
|
# and footprint libraries for the OLED display and the HMC5883L magnetometer,
|
|
# downloaded from the vendors. Includes their own license.txt and part_info.txt.
|
|
# Verified: each tree contains the vendor's PADS/ export and license file.
|
|
# Only these two subtrees -- EMISY's README.md, declaration/ and report/ are
|
|
# kuhy's own writing and stay capped.
|
|
NotProgramming/EMISY/componentSchematic
|
|
NotProgramming/EMISY/schematic
|
|
|
|
# --- Department-provided simulator source ---------------------------------
|
|
# The EOPSY course ships its scheduler and memory-management simulators as
|
|
# tarballs; the lab is to run and analyse them, and the report is the
|
|
# deliverable. work/ is not hand-written -- it is the extraction target of
|
|
# `make setup` (see each task's README).
|
|
#
|
|
# Verified 2026-08-28 by extracting the committed tarballs and diffing:
|
|
# ftp/sched.tgz -> lab3 work/: 6/6 java files BYTE-IDENTICAL
|
|
# ftp/memory.tgz -> lab4 work/: 8/8 java files BYTE-IDENTICAL
|
|
# Zero student modification, and fully regenerable from ftp/. That is what
|
|
# makes this vendored rather than a judgement call -- and it is why
|
|
# ControlPanel.java (1852 lines) and Kernel.java (511) are not split.
|
|
Programming/EOPSY/lab3/task3/work
|
|
Programming/EOPSY/lab4/task4/work
|
|
|
|
# --- Third-party ray tracer ------------------------------------------------
|
|
# sightpy, the rendering engine from rafael-fuente/Python-Raytracer (BSD
|
|
# 3-Clause, (c) 2021 Rafael de la Fuente). TRAK's assignment was photon
|
|
# mapping ON TOP of it; the engine itself was not written here.
|
|
#
|
|
# Verified 2026-08-28 against a fresh clone of the upstream repository, after
|
|
# normalising line endings (the copy here is LF, upstream ships CRLF):
|
|
# 30 of 32 .py files BYTE-IDENTICAL
|
|
# sightpy/ray.py +12 lines: RAYS / PRIMARY_RAYS counters and get_rays()
|
|
# sightpy/scene.py +13 lines: prints those counters in the render summary
|
|
# Both patches are kuhy's instrumentation for the report's ray statistics and
|
|
# are the only authored lines inside this tree.
|
|
#
|
|
# NOT covered by this entry, and still fully gated: TRAK's own main.py,
|
|
# photon_mapping.py, rendering.py, lab6.py, utils.py, code/ and scenes/.
|
|
# scenes/ is adapted from the upstream examples rather than copied -- the
|
|
# closest example differs by more lines than the scene file has.
|
|
Programming/TRAK/sightpy
|