mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 20:07:04 +01:00
Apply prettier to the handoff and recipe docs
prettier only runs on pre-push, so the previous commit passed the per-file gate and then failed the push. No line counts changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
This commit is contained in:
parent
b5c357a011
commit
de930f3277
@ -175,25 +175,25 @@ Generalised from `python_pkg`; full detail in `docs/python-split-recipes.md`.
|
||||
**A block may move if every MOD-relative patch that reaches it comes from one
|
||||
test module. If two test modules patch a shared collaborator, keep the
|
||||
collaborator and move its callers instead.** The caller resolves the name
|
||||
through its *own* module's globals, so importing it into the new module makes
|
||||
through its _own_ module's globals, so importing it into the new module makes
|
||||
the patch land there.
|
||||
|
||||
Corollaries that each cost a failed run to learn:
|
||||
|
||||
- **`test_X.py` needing no edit is the signal you cut in the right place.**
|
||||
It held on four of five source splits in `brother_printer`.
|
||||
- **Never blanket-`sed` a MOD.** Decide per test *by which function is under
|
||||
test*. `test_challenge_part3.py` needed 13 of its strings repointed and 4
|
||||
- **Never blanket-`sed` a MOD.** Decide per test _by which function is under
|
||||
test_. `test_challenge_part3.py` needed 13 of its strings repointed and 4
|
||||
left alone.
|
||||
- **A mispointed patch does not always fail — it can HANG or do real work.**
|
||||
`code_tutor` spun for two minutes running a real interactive flow;
|
||||
`cups_queue` would have restarted the live CUPS daemon. Always run under
|
||||
`timeout`, and assert the targets resolve *before* invoking pytest.
|
||||
`timeout`, and assert the targets resolve _before_ invoking pytest.
|
||||
- **When splitting a test file, copy the WHOLE preamble** (docstring, imports,
|
||||
fixture builders) into the new file and let ruff's `F401` pass prune it.
|
||||
Hand-writing the import block failed on every early attempt; the copy-then-
|
||||
prune order removed 82 imports correctly in `wsg_grabber` with none missed.
|
||||
It does **not** cover module-level `def`s and constants sitting *between*
|
||||
It does **not** cover module-level `def`s and constants sitting _between_
|
||||
sections — `_make_verifier`, `_QUESTIONS`, `_logger` and
|
||||
`_SAME_FIELD_X_TOLERANCE_PX` were each left behind that way. Grep for them.
|
||||
- **Budget two cuts.** Nine of the splits landed 1–20 lines over after the
|
||||
|
||||
@ -8,7 +8,7 @@ coverage gate**, so none of the above transfers. Decision 6 governs:
|
||||
`bash -n` + `shellcheck` + `systemctl cat` path checks, and **never execute an
|
||||
enforcement script that mutates the live system or the phone.**
|
||||
|
||||
- After each split, `bash -n` and `shellcheck` the entry script *and* every new
|
||||
- After each split, `bash -n` and `shellcheck` the entry script _and_ every new
|
||||
lib. Neither catches a lib that is never sourced.
|
||||
- So also: for each new `lib/*.sh`, grep the entry script for the `source`/`.`
|
||||
line naming it, and confirm the path resolves from where the script actually
|
||||
@ -21,7 +21,8 @@ enforcement script that mutates the live system or the phone.**
|
||||
`scripts/single_use/utils/organize_downloads.sh`
|
||||
|
||||
Every other in-repo unit references an installed copy under `/usr/local/`,
|
||||
so those are only at risk if the *installer* is what you split.
|
||||
so those are only at risk if the _installer_ is what you split.
|
||||
|
||||
- Prefer files that **nothing** references first — pure lint risk.
|
||||
- Watch **jscpd** on the first multi-lib commit: repeated `set -euo pipefail` +
|
||||
source-guard headers across several new libs is exactly what pushes
|
||||
|
||||
@ -23,15 +23,15 @@ Earlier sessions had already done: the `~/utils` exemptions, the
|
||||
|
||||
## What is left
|
||||
|
||||
| Directory | Count |
|
||||
|---|---|
|
||||
| `linux_configuration` | 84 |
|
||||
| `phone_focus_mode` | 13 (do LAST) |
|
||||
| `kcd2_dice_solver` | 12 |
|
||||
| `focus_owner` | 11 |
|
||||
| `billsplit` | 6 |
|
||||
| `reverse_survivors` / `meta` / `docs` | 4 each |
|
||||
| `.github` / `bucket_catch` | 2 each |
|
||||
| Directory | Count |
|
||||
| ------------------------------------- | ------------ |
|
||||
| `linux_configuration` | 84 |
|
||||
| `phone_focus_mode` | 13 (do LAST) |
|
||||
| `kcd2_dice_solver` | 12 |
|
||||
| `focus_owner` | 11 |
|
||||
| `billsplit` | 6 |
|
||||
| `reverse_survivors` / `meta` / `docs` | 4 each |
|
||||
| `.github` / `bucket_catch` | 2 each |
|
||||
|
||||
Within `linux_configuration` the bulk is `scripts/single_use/` (39 across
|
||||
`features`/`utils`/`fixes`), then `scripts/periodic_background/` (10) and
|
||||
|
||||
Loading…
Reference in New Issue
Block a user