Clear unfilled stubs from the generated indexes and ignore coverage output - #150
Closed
Jason-Vaughan wants to merge 2 commits into
Closed
Clear unfilled stubs from the generated indexes and ignore coverage output#150Jason-Vaughan wants to merge 2 commits into
Jason-Vaughan wants to merge 2 commits into
Conversation
Janitor sweep. These two files are TangleClaw-maintained scaffolds whose auto-population is not currently working; a fix is expected upstream, so the files and their structure stay. What goes is the content that was never captured in the first place. `FEATURES.md` carried ten `**TBD** — touched in this session: <path>` entries under two dated auto-stub headings. Each recorded that a file had been touched, which git already records, and not one named a feature — the file's entire subject. Eight named a design document; the other two named `PROJECT-MAP.md` and `CONTRIBUTING.md`. The two real entries stay, as do the empty section headings the wrap-step appends into. `PROJECT-MAP.md` had a `tanglebrain/` entry that stopped mid-sentence and a `docs/` entry that was still the literal `<!-- describe -->` placeholder. Both now describe the tree as it actually is, naming `cli.py` first because `project-state.yaml` calls it the primary surface — the file exists to answer "where does this live" before anyone greps. `.coverage` is a build artifact and was not ignored. It and its siblings are ignored now. No source files touched; suite green.
Review notes, all free to fold in (`cost-of-commit`: no path moves coverage). `PROJECT-MAP.md` said "one subpackage per remaining surface" — a universal over a tree that changes with nothing recomputing it, which is the same rule that fired on the CHANGELOG's "every one" claim earlier in this branch. The sentence now just names them. `settings.py` joins it, since it holds the paid-backend gate and is plausibly the module a stranger most needs to find, as does `atomic.py`. `CHANGELOG.md` loses a stray second blank line before the `[0.21.0]` heading, and its coverage-pattern list now matches what `.gitignore` actually gained (`.coverage.*` was missing). The entry is rewrapped only where this branch already touched it; the file has ~90 pre-existing lines over the soft wrap and reflowing those would be the reformatting the no-formatter ruling exists to prevent.
Owner
Author
|
Closing in favour of #214, which rebuilds the surviving half of this sweep on current main. This branch is based on
The wrap-step bug itself is TangleClaw's and is filed separately. |
Jason-Vaughan
added a commit
that referenced
this pull request
Sep 8, 2026
The `docs/` and `tanglebrain/` bullets both ended mid-list with an unclosed parenthesis. They were not written that way. #155 wrote a correct three-line `docs/` description; #159's project-map wrap-step, logging only "descriptions refreshed", deleted its two continuation lines. The step reads the list line-by-line, so a bullet wrapped across lines loses everything after the first — which is the whole sentence, in a file whose entire job is to point. Both entries are now single physical lines. That is over the ~100-col soft wrap on purpose: a long line survives the next wrap-step and a wrapped one does not, and correctness of the map beats the wrap convention. Nothing in this repo can enforce it, so the file's header comment now says it and names the two commits that demonstrate it — the next editor's instinct will be to rewrap, and the damage is silent. `tanglebrain/` also gains `cli.py` as the primary surface and `integrity.py`, neither of which the severed text reached. Also: gitignore coverage output (`.coverage`, `.coverage.*`, `htmlcov/`), a build artifact that had reached a branch once already. This is the surviving half of #150, rebuilt on current main. That branch's FEATURES.md change is not carried: it deleted ten TBD stubs, and main has since replaced them with real descriptions, so merging it would delete content rather than restore it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Janitor sweep — repository hygiene only. No source files, no tests, no behaviour change.
FEATURES.md— removed ten auto-stubbed**TBD** — touched in this session: <path>entries under two dated headings. Each recorded only that a file had been touched, which git already records, and not one named a feature — the file's entire subject. Eight named a design document; the other two namedPROJECT-MAP.mdandCONTRIBUTING.md.PROJECT-MAP.md— thetanglebrain/entry stopped mid-sentence and thedocs/entry was still the literal<!-- describe -->placeholder. Both now describe the tree as it is, leading withcli.pybecauseproject-state.yamlnames it the primary surface..gitignore— coverage output (.coverage,.coverage.*,htmlcov/) was not ignored.Both index files are TangleClaw-maintained scaffolds whose auto-population is currently broken, with a fix expected upstream. The files and their structure stay deliberately — including the empty
Server / APIandGovernance / Enginesheadings the wrap-step appends into. Only content that was never captured in the first place was removed; nothing was filled in by hand that a generator is meant to own.Why
These are two of the first files a stranger opens, and this repo now has outside contributors. A map whose entry stops mid-sentence and an index whose visible content is ten
TBDplaceholders are worse than either file being absent — they read as abandoned rather than pending.Separately:
.coverageis a build artifact, and it had already reached a branch once.Also in this sweep, not in this diff
git branch --mergedreported none of them —mainsquash-merges, so branch commits never appear inmainand the built-in check is blind here. Mapping against the merged-PR list found 17 leftovers pluspr112. The four apparent orphans were checked for unique content before deletion:chore/oss-r0-gitignore's six gitignore patterns are all already inmain, and the threewrap/*branches only re-added the same scaffold header. SHAs recorded locally in.prawduct/deleted-branches-2026-09-06.txt.project-state.yamlso the next sweep reads a trend rather than re-deriving a point. The broad-catch norm holds at 11 sites — 10 explicitly waived, the 11th re-raising and so exempt fromBLE001by construction, with no per-file ignore hiding anything.Test plan
make test— 664 passed, 17 skipped, ruff and mypy clean. (664 rather than 673 because this branch is offmainand does not carry Note a lost measurement write, once per process #148's tests.)CHANGELOG.mdcarries ~90 pre-existing lines over the ~100-col soft wrap (one at 185); reflowing those would be the reformatting the no-formatter ruling exists to prevent.git check-ignoreconfirms the new patterns resolve, with no duplicate coverage entry.FEATURES.mdsection, and that everydocs/design/*file named in the newdocs/description exists.Review
rev-20260906T192656Z-2515796f— 0 blocking, 2 warnings, 3 notes. Both warnings were errors in my own prose: an unchecked "every one named a design document" that was false in 2 of 10 cases, and a map that omittedcli.py, the primary surface it exists to point at. The first landed in the same commit whose message cites the sibling rule about copying counts.rev-20260906T193251Z-8582657f— 0 blocking, 0 warnings, 6 notes. Three folded into the second commit (an unchecked universal inPROJECT-MAP.md— the same rule again, in the sibling file), three accepted..coveragereally had reached a branch (it had:75d2dc9, on a branch this sweep deleted).A cost I paid and would not repeat: round 1's fixes went in as an
--amend, which rewrote the tree and destroyed the review fact, soverify-resolutionswas refused and a fullcumulativehad to run. Round 2's fixes went in as a second commit andcost-of-commitpriced themfree— same fixes, no round. On a branch carrying a review fact, amend is the expensive option.Note for the reviewer
prawduct-hook check-change-log-entryreportsno-entrystructurally on this repo:.prawduct/is gitignored by owner ruling (.gitignore:41), so git cannot see.prawduct/change-log.md. Both entries were verified by hand — the private one atchange-log.md:262, and the tracked publicCHANGELOG.mdentry under[Unreleased]/### Internal.### Internalis the correct tier: dev tooling and docs with no user-visible change.