Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@

A local, file-based detection workflow lab for reviewer-verifiable telemetry and detection demos.

Current focus: v1 reviewer contract stabilization for the five-demo matrix. v1.1 is scoped as an Operator Reproduction Release, not another demo expansion.
Current focus: v1 reviewer contract stabilization for the five-demo matrix. v1.1 is an Operator Reproduction Release, not another demo expansion.

Latest tagged release: [v1.0reviewer contract release](https://github.com/stacknil/telemetry-lab/releases/tag/v1.0).
Latest tagged release: [v1.1operator reproduction release](https://github.com/stacknil/telemetry-lab/releases/tag/v1.1).

## Reviewer Start

- [`docs/reviewer-brief.md`](docs/reviewer-brief.md): scope, value, evidence, and boundaries
- [`docs/reviewer-path.md`](docs/reviewer-path.md): choose the right demo by review question
- [`docs/reviewer-pack.md`](docs/reviewer-pack.md): demo matrix, artifact contract, and v1 readiness gate
- [`docs/operator-reproduction.md`](docs/operator-reproduction.md): shortest local path from clone to verifying all five demos
- [`docs/release-v1.1.md`](docs/release-v1.1.md): draft v1.1 operator reproduction and issue triage release notes
- [`docs/release-v1.1.md`](docs/release-v1.1.md): v1.1 operator reproduction and issue triage release notes
- [`docs/v1-contract-freeze.md`](docs/v1-contract-freeze.md): v1.0 five-demo contract freeze, release status, and contract scope
- [`docs/v1-readiness-gate.md`](docs/v1-readiness-gate.md): fixed inputs, fixed outputs, schema validation, artifact regeneration, and test pass requirements
- [`docs/release-v1.0.md`](docs/release-v1.0.md): v1.0 reviewer-contract release notes and explicit non-SIEM boundary
Expand Down Expand Up @@ -189,7 +189,7 @@ Cooldown behavior:
- [`demos/cloud-iam-change-investigation-demo/README.md`](demos/cloud-iam-change-investigation-demo/README.md) explains the synthetic CloudTrail-like IAM investigation demo and its committed artifacts
- [`docs/README.md`](docs/README.md) indexes current reviewer docs, supporting design notes, and historical release evidence
- [`docs/operator-reproduction.md`](docs/operator-reproduction.md) gives the shortest local path from clone to running the five demos, artifact regeneration, schema tests, and full tests
- [`docs/release-v1.1.md`](docs/release-v1.1.md) drafts the v1.1 operator reproduction and issue triage release notes
- [`docs/release-v1.1.md`](docs/release-v1.1.md) records the v1.1 operator reproduction and issue triage release
- [`docs/reviewer-pack.md`](docs/reviewer-pack.md) is the top-level no-guessing reviewer pack and artifact naming contract
- [`docs/v1-contract-freeze.md`](docs/v1-contract-freeze.md) defines the v1.0 five-demo contract freeze gate
- [`docs/v1-readiness-gate.md`](docs/v1-readiness-gate.md) defines the fixed-input, fixed-output, schema-validation, artifact-regeneration, and test-pass readiness gate
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This directory separates the current reviewer route from supporting design notes
- [`v1-contract-freeze.md`](v1-contract-freeze.md): v1.0 five-demo contract freeze, release status, and contract scope
- [`v1-readiness-gate.md`](v1-readiness-gate.md): fixed inputs, fixed outputs, schema validation, artifact regeneration, and test pass requirements
- [`release-v1.0.md`](release-v1.0.md): v1.0 reviewer-contract release notes with the explicit non-SIEM boundary
- [`release-v1.1.md`](release-v1.1.md): draft v1.1 operator reproduction and issue triage release notes
- [`release-v1.1.md`](release-v1.1.md): v1.1 operator reproduction and issue triage release notes
- [`v0.6-to-v1-artifact-diff.md`](v0.6-to-v1-artifact-diff.md): additive artifact contract and compatibility diff from the fourth demo to the fifth
- [`evidence-pipeline-contract.md`](evidence-pipeline-contract.md): JSON/JSONL schema contracts for reviewer-facing evidence artifacts
- [`reviewer-artifact-diff.md`](reviewer-artifact-diff.md): release diff contract for reviewer-facing artifact changes
Expand Down
35 changes: 24 additions & 11 deletions docs/release-v1.1.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# v1.1 Operator Reproduction Release Notes (Draft)
# v1.1 Operator Reproduction Release Notes

Theme: operator reproduction and issue triage, no demo expansion.

Release status: draft until a `v1.1` tag or GitHub release is explicitly
published.
Release status: published as tag `v1.1`.

## Scope

Expand Down Expand Up @@ -51,17 +50,31 @@ or private data.

## Validation Snapshot

Refresh this snapshot from the final release commit before publishing v1.1:
The final release candidate was verified from clean Windows and Linux clones:

```bash
python scripts/check_release_contract.py
```
| Environment | Python | Artifact gate | Schema tests | Full tests |
| --- | --- | --- | --- | --- |
| Windows | 3.14.3 | 23 committed artifacts matched; 6 visual snapshots regenerated as smoke checks | 3 passed | 182 passed |
| Linux (Ubuntu) | 3.12.3 | 23 committed artifacts matched; 6 visual snapshots regenerated as smoke checks | 3 passed | 182 passed |

The normalized SHA-256 manifests for all 30 tracked artifact paths were
identical across the two clones. Text artifacts were normalized from CRLF to
LF before hashing; binary artifacts were hashed byte-for-byte.

## Artifact Diff

`no-artifact-change`: v1.1 does not change committed reviewer-facing artifact
content, field meaning, schemas, or filenames. It adds operator reproduction,
release-gate, and issue-triage surfaces around the frozen v1.0 artifact
contract.

Expected gate sequence:
## v1.2 Blocker

- artifact regeneration
- schema validation
- full test suite
Package identity mismatch must be resolved before v1.2: the repository and
release identity is `telemetry-lab` / `v1.1`, while `pyproject.toml` still
declares `telemetry-window-demo==0.1.0`. Resolve the project name and version as
one coordinated metadata change before a v1.2 tag or any package publication.
No package registry publication is part of v1.1.

## Boundaries

Expand Down
8 changes: 7 additions & 1 deletion docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Recently added:
- [`docs/reviewer-artifact-diff.md`](reviewer-artifact-diff.md) defines the release diff contract for reviewer-facing artifact changes.
- [`docs/v0.6-to-v1-artifact-diff.md`](v0.6-to-v1-artifact-diff.md) records the additive fourth-to-fifth-demo artifact contract.
- [`docs/operator-reproduction.md`](operator-reproduction.md) records the shortest clone-to-five-demo-verification path.
- [`docs/release-v1.1.md`](release-v1.1.md) drafts the operator reproduction and issue triage release notes.
- [`docs/release-v1.1.md`](release-v1.1.md) records the operator reproduction and issue triage release.
- `scripts/check_release_contract.py` wraps artifact regeneration, schema validation, and the full test suite.

## v1.1 Operator Reproduction Release
Expand All @@ -38,6 +38,12 @@ Deliverable focus:
4. Provide one reviewer-friendly release contract gate command.
5. Keep README verification commands copy/paste runnable.

## v1.2 Blocker

- Resolve the package identity mismatch between the repository/release name
(`telemetry-lab` / `v1.1`) and the current `pyproject.toml` metadata
(`telemetry-window-demo==0.1.0`) before tagging v1.2.

## v1 Reviewer Contract Stabilization

1. Stabilize the demo matrix.
Expand Down
11 changes: 6 additions & 5 deletions docs/v1-contract-freeze.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ stable contract surface.

## Release Status

The latest tagged release is `v1.0`, published as a reviewer-contract release
for the five-demo matrix. It includes the synthetic CloudTrail-like IAM
investigation demo, the v1 reviewer contract stabilization docs, schema
coverage for reviewer-facing JSON and JSONL artifacts, and the artifact
regeneration gate.
`v1.0` remains the reviewer-contract baseline for the five-demo matrix. The
latest tagged release is `v1.1`, which adds operator reproduction and issue
triage around that frozen contract without changing the demo or artifact
matrix. The baseline includes the synthetic CloudTrail-like IAM investigation
demo, schema coverage for reviewer-facing JSON and JSONL artifacts, and the
artifact regeneration gate.

`v0.6.0` remains the fourth-demo compatibility baseline. It was published as
`v0.6.0 - fourth demo and config-change investigation`.
Expand Down
14 changes: 10 additions & 4 deletions tests/test_reviewer_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def test_readme_links_reviewer_path_and_uses_lab_framing() -> None:
assert "[`docs/v1-contract-freeze.md`](docs/v1-contract-freeze.md)" in readme
assert "[`docs/v1-readiness-gate.md`](docs/v1-readiness-gate.md)" in readme
assert "[`docs/architecture.md`](docs/architecture.md)" in readme
assert "Latest tagged release: [v1.0" in readme
assert "Latest tagged release: [v1.1" in readme
assert "portfolio prototype" not in normalized
assert "mvp only" not in normalized

Expand Down Expand Up @@ -348,7 +348,7 @@ def test_v1_contract_freeze_documents_release_drift_and_gate() -> None:

assert "# v1.0 Five-Demo Contract Freeze" in freeze_doc
assert "## Release Status" in freeze_doc
assert "latest tagged release is `v1.0`" in freeze_doc
assert "latest tagged release is `v1.1`" in freeze_doc
assert "`v0.6.0` remains the fourth-demo compatibility baseline" in freeze_doc
assert "No new demo should be added for v1.0" in freeze_doc
assert "python scripts/regenerate_artifacts.py --check" in freeze_doc
Expand Down Expand Up @@ -601,11 +601,17 @@ def test_v11_release_note_keeps_operator_reproduction_scope() -> None:
readme = _read_repo_file("README.md")
roadmap = _read_repo_file("docs/roadmap.md")

assert "# v1.1 Operator Reproduction Release Notes (Draft)" in release_note
assert "# v1.1 Operator Reproduction Release Notes" in release_note
assert "Theme: operator reproduction and issue triage, no demo expansion." in release_note
assert "Release status: draft" in release_note
assert "Release status: published as tag `v1.1`." in release_note
assert "python scripts/check_release_contract.py" in release_note
assert "documentation reproduction questions" in release_note
assert "23 committed artifacts matched" in release_note
assert "182 passed" in release_note
assert "`no-artifact-change`" in release_note
assert "Package identity mismatch must be resolved before v1.2" in release_note
assert "telemetry-window-demo==0.1.0" in release_note
assert "package identity mismatch" in roadmap

for demo_name in [
"telemetry-window-demo",
Expand Down
Loading