Skip to content

Commit fc62339

Browse files
committed
docs: correct the stale delivery-model and test-count claims
The evidence pointers fixed in 1aedd52 were not the only records left behind when the release bundle was committed. Two more carried the same drift. README.md described keeping raw run directories with an external evidence package and said a source clone could not carry the evidence. The bundle is committed, so the README now points at the archive and its .sha256.txt pin, while keeping the boundary explicit: verifying the hashes shows the bundle is internally consistent, not that the producer or host is trustworthy. README.md also published its "current verified result" as 95 tests run and 94 passed, directly under the commands a reader is told to run. The tree runs 98 and 97 since the DOCTYPE guard landed, so following the README produced a mismatch. It now reads 98/97 and explains why the release records differ. docs/v1-local-validation.md said the artifacts were not committed to Git, and pinned the pre-consolidation archive digest 5feae77e... while naming the committed archive by path. Both digests are now recorded - the packed-on-host value as history and the committed 7b9a5a56... as the value to verify against. The 95/94 figures inside the validation record and the release manifest are deliberately unchanged. They describe the validated tree, not this one, and the record now says so in its opening paragraph. Documentation only. No source, evidence or manifest values were altered.
1 parent 1aedd52 commit fc62339

2 files changed

Lines changed: 34 additions & 13 deletions

File tree

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,14 @@ telemetry. The detection run produced a 63-file SHA256 evidence manifest; the
6464
benign run produced a 12-file manifest. Timeout calibration passed all 20 of
6565
20 baseline runs, and contract export passed.
6666

67-
The raw run directories are intentionally ignored by Git. Keep them with the
68-
external evidence package when the VM result needs to be independently
69-
reviewed; a source clone alone cannot prove a historical Windows telemetry run.
67+
The release bundle is committed as `artifacts/detfuzz-v1.0.1-release.zip`, with
68+
its digest pinned in `artifacts/detfuzz-v1.0.1-release.sha256.txt`, so a clone
69+
carries the evidence these results rest on. Extracted run directories and
70+
intermediate build output stay ignored by Git.
71+
72+
Verifying those hashes shows the bundle is internally consistent and unmodified
73+
relative to its recorded manifest. It does not authenticate the producer or the
74+
host, and a clone alone cannot prove a historical Windows telemetry run.
7075
See [`docs/v1-local-validation.md`](docs/v1-local-validation.md) and
7176
[`docs/evidence-checklist.md`](docs/evidence-checklist.md).
7277

@@ -251,11 +256,16 @@ python -m unittest discover -s tests
251256
The current verified result is:
252257

253258
```text
254-
95 tests run; 94 passed and 1 expected dependency-path test skipped
259+
98 tests run; 97 passed and 1 expected dependency-path test skipped
255260
Ruff: all checks passed
256-
mypy: no issues found
261+
mypy: no issues found in 31 source files
257262
```
258263

264+
The v1.0.1 release was validated at 95 tests; the three additional tests cover
265+
the DOCTYPE rejection added after that release. `docs/v1-local-validation.md`
266+
and the release manifest retain the 95/94 figures deliberately, as a
267+
point-in-time record of the validated run rather than a claim about this tree.
268+
259269
## V1 boundary
260270

261271
V1 intentionally covers one safe encoded-command PowerShell rule shape and

docs/v1-local-validation.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# DetFuzz V1 Local Validation
22

33
This record captures the latest V1 end-to-end validation completed on
4-
2026-08-13. Raw artifacts are retained under the ignored
5-
`artifacts/detfuzz-v1.0.1-release/` directory and in the external portfolio
6-
archive; they are not committed to Git.
4+
2026-08-13. It is a point-in-time record: the figures below describe the tree
5+
that was validated, and they are deliberately not revised as the repository
6+
moves on.
7+
8+
The release bundle is committed as `artifacts/detfuzz-v1.0.1-release.zip`, with
9+
its digest pinned in `artifacts/detfuzz-v1.0.1-release.sha256.txt`. The
10+
extracted `artifacts/detfuzz-v1.0.1-release/` directory stays ignored by Git.
711

812
## Environment
913

@@ -97,21 +101,28 @@ to the next whole second before adding the full `10s` safety margin. The final
97101
- mypy: no issues found in 31 source files.
98102
- PowerShell demo helper: parser validation passed.
99103

100-
## External evidence package
104+
## Evidence package
101105

102-
- Archive: `artifacts/detfuzz-v1.0.1-release.zip`.
103-
- SHA256:
106+
- Archive: `artifacts/detfuzz-v1.0.1-release.zip`, committed to Git.
107+
- SHA256 as packed on the validation host, 2026-08-13:
104108
`5feae77e09e35323cf4a9384f7efc3353e61416714d5a8a86923b7f5a2e331ab`.
109+
- SHA256 of the committed archive:
110+
`7b9a5a56ce9fc383640b50b75da21278ee7d1340de2a9b390779c9f5527e2e38`.
105111
- Archive entries: 114 files.
106112
- Legacy or temporary entries: 0.
107113

114+
The two digests differ because the bundle was repacked when the artifacts were
115+
consolidated and committed. Verify against
116+
`artifacts/detfuzz-v1.0.1-release.sha256.txt`, which pins the committed archive
117+
and is the authoritative reference; the first digest is retained as history.
118+
108119
The archive stores files only; empty per-case working directories are not
109120
retained because every marker and telemetry artifact is copied into the
110121
`evidence/` tree that the manifest hashes.
111122

112123
The source repository records these identities and results but cannot prove the
113-
historical Windows run without the external archive. Recompute the archive and
114-
evidence-manifest hashes before relying on the result.
124+
historical Windows run on its own. Recompute the archive and evidence-manifest
125+
hashes before relying on the result.
115126

116127
## Reproducibility
117128

0 commit comments

Comments
 (0)