tools/bugreport: --bundle/--chronology tauscht die Chronologie eines vorhandenen Bündels - Geheimnisse, Titelschutz und Pseudonyme wie beim Sammeln, kein wikitool-Aufruf, kein zweites Bündel; bug-report.md prüft die Chronologie vor dem Sammeln und nennt den Austausch als Entscheidungspunkt (#220); 10.1.0-beta.15
Files changed: - CHANGES.md - VERSION - docs/how-to/troubleshoot.md - instructions/bug-report.md - tools/README.md - tools/bugreport.py - tools/chemenu/tests/test_bugreport.py Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
1 parent
b219adde91
commit
b48a35b224
7 files changed
+371
-27
No files matched your search
@@ -47,6 +47,14 @@ four layers:
|
||||
`MANIFEST.md` lists every file and marks the ones that may contain page content and titles: the trace,
|
||||
the chronology and the transcripts.
|
||||
|
||||
**A bundle is the output of one run.** Its `wikitool` outputs come from one moment. A chronology
|
||||
that is wrong or missing afterwards is swapped into the bundle that exists
|
||||
(`--bundle <dir> --chronology <file>`, see [Decision points](#decision-points)), never collected again: that changes
|
||||
`CHRONOLOGY.md` and the zip and nothing else, runs no `wikitool` command, and leaves no second bundle
|
||||
under `reports/` for the user to choose between. The new text goes through the same processing as at
|
||||
collection - secrets removed, page titles kept out unless the bundle was collected with `--titles`,
|
||||
and in a pseudonymised bundle every identity replaced from its mapping.
|
||||
|
||||
Two rules hold for everything the script generates itself. **Secrets are always removed**: values of
|
||||
keys that look like a token, password, secret, key or auth entry, credentials in URLs, and every value
|
||||
of that kind found while collecting is also replaced wherever else it turns up. **Page titles are kept
|
||||
@@ -96,6 +104,12 @@ session. The bundle does not leave that place because of it.
|
||||
[template](#chronology-template) below. Facts only - no diagnosis. If the session's own history is
|
||||
too long to reconstruct, say what is missing instead of filling the gap.
|
||||
|
||||
**Check the chronology against the template before you collect.** Each step carries its command
|
||||
literally, as it ran - no placeholder and no abbreviation such as `types describe <entity|concept|...>` -
|
||||
with its exit code and the first relevant line of output, verbatim. Fix it now: it is the
|
||||
cheap place to do so. Once the bundle exists, a correction is the swap in
|
||||
[Decision points](#decision-points).
|
||||
|
||||
3. **Run the collector** through its launcher, which finds a Python 3.8 or later itself:
|
||||
|
||||
```bash
|
||||
@@ -131,8 +145,8 @@ session. The bundle does not leave that place because of it.
|
||||
one, in the session. The exception it gets in [gates.md](gates.md) § "Taking a new session id"
|
||||
belongs to the script alone.
|
||||
|
||||
6. **Report the result.** Quote the bundle path, the archive path and the privacy notice the script
|
||||
prints, name the gaps in `MANIFEST.md`, and tell the user to read the bundle before sharing it.
|
||||
6. **Report the result.** Name exactly one bundle: quote its path, the archive path and the privacy
|
||||
notice the script prints (after a swap, the one the swap printed), name the gaps in `MANIFEST.md`, and tell the user to read the bundle before sharing it.
|
||||
After stage 2, name the residual uncertainty in words of your own: stage 2 is a model's judgement
|
||||
and can have missed names, above all in the free text of a trace or transcript over 100 KB.
|
||||
Say that the mapping, the review list and the candidate file hold originals and stay on this
|
||||
@@ -172,6 +186,15 @@ Facts only: no page content, no guessed cause, no advice.
|
||||
- **The mapping is gone before stage 2?** Stage 2 refuses: it needs the salt stage 1 used, or it would
|
||||
replace a word differently from the path it already replaced. Collect the report again with
|
||||
`--pseudonymise`.
|
||||
- **The chronology is wrong, incomplete or missing after collecting?** Write the corrected file and
|
||||
run `tools/bugreport --bundle reports/bugreport-<stamp> --chronology <file>`. **Never collect a
|
||||
second time**: that makes a second bundle with `wikitool` outputs from another moment, and nothing
|
||||
says which one counts. The swap works on a bundle collected without a chronology too (it adds
|
||||
one). Add `--root <dir>` if the checkout is not the one holding `tools/`. If stage 2 had already
|
||||
run, read the new `CHRONOLOGY.md` completely and run stage 2 again with the names you now find
|
||||
there. If the swap exits 1 because the mapping is gone, handle it like "The mapping is gone"
|
||||
above: collect again with `--pseudonymise`, and then say in the report which earlier bundle is
|
||||
superseded. Delete nothing under `reports/` yourself; which bundles to keep is the user's call.
|
||||
- **The user wants a name added after stage 2?** Run stage 2 again with a candidate file holding only
|
||||
that line. The same run also works when the human spots a name while reading the bundle.
|
||||
- **The user declines the trace?** Run with `--no-trace`. The manifest records the exclusion.
|
||||
|
||||
Reference in new issue
Block a user