housebroken-cli 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/PKG-INFO +1 -1
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/pyproject.toml +1 -1
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/skills/housebroken/SKILL.md +35 -6
- housebroken_cli-0.2.2/src/housebroken/__init__.py +1 -0
- housebroken_cli-0.2.0/src/housebroken/__init__.py +0 -1
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/.gitignore +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/LICENSE +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/README.md +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/bin/housebroken +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/hatch_build.py +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/check-ai-policy.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/comment-census.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/diff-defaults.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/distinct-outside.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/file-pr.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/fork-hygiene.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/notes.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/pr-sweep.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/prior-art.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/scripts/verify-filed-pr.sh +0 -0
- {housebroken_cli-0.2.0 → housebroken_cli-0.2.2}/src/housebroken/cli.py +0 -0
|
@@ -59,13 +59,20 @@ report it in one line and do not proceed to the next step.
|
|
|
59
59
|
default, is a breaking change on a stable major, however wrong the old
|
|
60
60
|
behavior looks. It becomes an issue that describes the behavior and offers
|
|
61
61
|
the patch, never a pull request. Classify every patch before writing a
|
|
62
|
-
test for it.
|
|
62
|
+
test for it. A finding whose only red evidence is a measurement, such
|
|
63
|
+
as peak memory or elapsed time, is a hold: a pull request needs a test
|
|
64
|
+
that fails on the default branch for a wrong value, a crash or an
|
|
65
|
+
out-of-bounds access, and "less memory" is not that test.
|
|
63
66
|
|
|
64
67
|
4. **Prove it red first.**
|
|
65
68
|
On a fresh clone of the upstream default branch, not the tree you found
|
|
66
69
|
the bug in, write the test that fails. Run it and keep the failing output.
|
|
67
70
|
Apply the patch. Run it again. Both results go into the pull request as
|
|
68
|
-
the test itself; the body states the fact in one sentence.
|
|
71
|
+
the test itself; the body states the fact in one sentence. When the
|
|
72
|
+
patched function serves several public entry points or has several
|
|
73
|
+
branches, the test is a grid: every entry point through every branch,
|
|
74
|
+
plus the zero, identity and signed-boundary rows. A reviewer lists the
|
|
75
|
+
empty cells otherwise.
|
|
69
76
|
|
|
70
77
|
5. **Run their CI, not yours.**
|
|
71
78
|
Run the project's own test target on the fresh clone, and every gate its
|
|
@@ -82,7 +89,9 @@ report it in one line and do not proceed to the next step.
|
|
|
82
89
|
comment in code that has none: run `housebroken census <clone root>` and
|
|
83
90
|
compare the added-comment ratio with the file. The body is under 120 words,
|
|
84
91
|
in the project's template if it has one, and says what was wrong, what the
|
|
85
|
-
change does, and how it was verified
|
|
92
|
+
change does, and how it was verified; every sentence in it is something
|
|
93
|
+
you reproduced on the fresh clone in this session, never a line carried
|
|
94
|
+
from a journal. No tool footer, no session link, no
|
|
86
95
|
co-author trailer, no typographic dashes. When a template asks whether AI
|
|
87
96
|
was used, answer in one truthful sentence.
|
|
88
97
|
|
|
@@ -111,13 +120,31 @@ report it in one line and do not proceed to the next step.
|
|
|
111
120
|
`housebroken verify owner/repo PR` re-derives from GitHub that the head is
|
|
112
121
|
the intended commit, the diff is exactly the intended files, and CI
|
|
113
122
|
settled. `housebroken sweep` lists every open pull request where the ball
|
|
114
|
-
is in your court.
|
|
115
|
-
|
|
116
|
-
a
|
|
123
|
+
is in your court. Before saying anything about a thread, read every
|
|
124
|
+
comment body, review and timeline event newer than your last own action;
|
|
125
|
+
a list of who commented is not a read, and a conversion to draft is a
|
|
126
|
+
review. Answer every maintainer comment the same day, in the user's
|
|
127
|
+
voice. Rework what is asked for as a second commit so the reviewer sees
|
|
128
|
+
the change. When the maintainer is
|
|
117
129
|
right, concede in one sentence and let them close it. Never nudge a
|
|
118
130
|
silent maintainer without the user's explicit word. After answering a
|
|
119
131
|
review, record what the maintainer asked for with
|
|
120
132
|
`housebroken notes owner/repo add "..."`.
|
|
133
|
+
Write the reply the way one maintainer writes to another. Lead with the
|
|
134
|
+
fact or the action, never with a verdict on the reviewer: no "you are
|
|
135
|
+
right", "good catch", "great point", "thanks for the feedback", no
|
|
136
|
+
apology, no restating their question, no closing summary or offer of
|
|
137
|
+
further help. A concession is the corrected fact followed by what
|
|
138
|
+
changed: "Every loader checks its read, so a truncated file fails on
|
|
139
|
+
main; the description is corrected." A disagreement is the command and
|
|
140
|
+
its result, without adjectives. An answer to a question is the answer
|
|
141
|
+
first and the evidence second. One to three sentences, no bullet list
|
|
142
|
+
under a paragraph's worth of content, no bold, no exclamation mark, no
|
|
143
|
+
handle unless the thread has several people. Offer closure as a plain
|
|
144
|
+
statement ("Fine to close."), and stop when the content stops.
|
|
145
|
+
Never post two replies to one repository in the same minute: space them
|
|
146
|
+
at least ten minutes apart, the one that matters most first, so a
|
|
147
|
+
maintainer's inbox does not show three answers stamped the same second.
|
|
121
148
|
|
|
122
149
|
11. **Clean up.**
|
|
123
150
|
`housebroken hygiene` deletes the fork branch of every merged or closed
|
|
@@ -130,6 +157,8 @@ report it in one line and do not proceed to the next step.
|
|
|
130
157
|
finding, each passing every step above on its own. GitHub lets
|
|
131
158
|
maintainers cap open pull requests from non-collaborators and counts
|
|
132
159
|
agent-opened ones against that cap.
|
|
160
|
+
The same spacing applies to filing: pull requests and issues on one
|
|
161
|
+
repository go out at least ten minutes apart, the strongest first.
|
|
133
162
|
|
|
134
163
|
13. **Write it down before you leave.**
|
|
135
164
|
A run through the door ends with its ledger, not with the pull
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.0"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|