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
9 changes: 9 additions & 0 deletions .github/workflows/reusable-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@ jobs:
- name: Verify version policy
working-directory: loop
run: python3 scripts/ci/check_version_policy.py
- name: Verify resource-envelope contracts
working-directory: loop
run: |
python3 -m unittest scripts.resource_envelope.test_validate_envelope scripts.resource_envelope.test_pathological_workload scripts.resource_envelope.test_run_matrix scripts.resource_envelope.test_budget_exhaustion_corpus scripts.qualification.test_validate_resource_envelope_evidence -v
python3 scripts/resource_envelope/validate_envelope.py docs/generated/huge-document-envelope.json
python3 scripts/qualification/validate_resource_envelope_evidence.py
python3 scripts/resource_envelope/pathological_workload.py \
--output "${RUNNER_TEMP}/loop-pathological-vector.pdf" \
--page-count 256 --operations 256 --family pathological-vector
- name: Verify processing-budget exhaustion corpus
working-directory: loop
run: python3 scripts/budget_exhaustion/generate_corpus.py --check
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/reusable-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,9 @@ jobs:
working-directory: loop
shell: pwsh
run: |
python -m unittest scripts.resource_envelope.test_validate_envelope scripts.resource_envelope.test_pathological_workload -v
python -m unittest scripts.resource_envelope.test_validate_envelope scripts.resource_envelope.test_pathological_workload scripts.resource_envelope.test_run_matrix scripts.resource_envelope.test_budget_exhaustion_corpus scripts.qualification.test_validate_resource_envelope_evidence -v
python scripts/resource_envelope/validate_envelope.py docs/generated/huge-document-envelope.json
python scripts/qualification/validate_resource_envelope_evidence.py
python scripts/resource_envelope/pathological_workload.py `
--output "$env:RUNNER_TEMP\loop-pathological-vector.pdf" `
--page-count 256 --operations 256 --family pathological-vector
Expand Down
4 changes: 4 additions & 0 deletions changes/cursor-session-11-resource-envelope.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Category: internal
Audience: developers
Breaking-Change: no
Summary: Freeze Session 11 resource-envelope fixture manifest, fail-closed matrix evidence, budget-exhaustion corpus verification, and R-01 closeout updates; hosted Linux and full external fixtures remain incomplete.
30 changes: 30 additions & 0 deletions docs/SESSION_11_HANDOFF.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Session 11 — Prove production resource envelope

## Scope

Session 11 closes issue #242 measurement gaps for gate **R-01** on the merged
`dev` candidate SHA recorded at PR merge time, anchored to `origin/dev` @
`6a55130c…`.

Fixtures remain outside the repository per #242.

## Issue 34 — Fixture manifest

Partial manifest with digests for office-2mb, pathological-vector, transparency-spots.
Requirement catalog documents all issue #242 IDs. External bytes under
`C:\.dev\qualification\session-11\fixtures\`.

## Issue 35 — Measure envelopes

Local Windows `run_matrix.py --strict`: exit 1, `measured: 0`, fail-closed on stale
PdfTool commit and missing fixtures. `-1` fields never promoted to pass.

## Issue 36 — Archive

Frozen `docs/evidence/session-11-resource-envelope/evidence.json` with
`disposition: incomplete`. CI validates via
`scripts/qualification/validate_resource_envelope_evidence.py`.

## Exit gate

R-01 remains **Partial** until hosted Linux + full fixture bundle on candidate-SHA PdfTool.
40 changes: 40 additions & 0 deletions docs/evidence/session-11-resource-envelope/evidence.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"schema_kind": "loop-resource-envelope-qualification-evidence",
"schema_version": 1,
"session": 11,
"branch": "cursor/session-11-resource-envelope",
"candidate_sha": "6e65be48e261d14c64653694320c0185b84fc560",
"session_09_baseline_sha": "1c3f9d6d2312045264134f07b4d00e26de2058bf",
"disposition": "incomplete",
"disposition_reason": "Strict matrix fail-closed: stale PdfTool commit, missing image-heavy-500mb and ten-thousand-page fixtures, -1 preflight/cancel/recovery. Linux hosted matrix not run.",
"fixture_status": {
"office-2mb": {"status": "failed", "preflight_high_water_bytes": -1, "cancellation_latency_ms": -1, "recovery_ms": -1},
"image-heavy-500mb": {"status": "unavailable", "reason": "fixture-not-supplied"},
"ten-thousand-page": {"status": "unavailable", "reason": "DIV2K corpus absent locally"},
"pathological-vector": {"status": "failed", "preflight_high_water_bytes": -1, "cancellation_latency_ms": -1, "recovery_ms": -1},
"transparency-spots": {"status": "failed", "preflight_high_water_bytes": -1, "cancellation_latency_ms": -1, "recovery_ms": -1},
"multi-gb": {"status": "unavailable", "reason": "optional"}
},
"matrix_runs": [
{
"platform": "windows-local",
"path": "docs/evidence/session-11-resource-envelope/matrix-windows-local.json",
"candidate_sha": "6e65be48e261d14c64653694320c0185b84fc560",
"pdf_tool_commit": "2d95b4a6019504d4e1ffbf658a0e078ab38e34df",
"strict_exit_code": 1,
"summary": {"total": 6, "measured": 0, "flagged": 2, "failed": 3, "candidate_sha_verified": true}
}
],
"hosted_gaps": [
"Rebuild PdfTool from candidate_sha on Windows and Linux",
"Supply image-heavy-500mb external fixture",
"Build ten-thousand-page PDF from DIV2K with --hash-all manifest",
"Run Linux hosted run_matrix.py --strict --repetitions 3",
"Cancellation probe on pathological-vector"
],
"verifiers": [
{"command": "resource_envelope unit tests", "result": "pass"},
{"command": "validate_resource_envelope_evidence.py", "result": "pass"},
{"command": "run_matrix.py --strict windows-local", "result": "fail-closed"}
]
}
29 changes: 29 additions & 0 deletions docs/evidence/session-11-resource-envelope/fixture-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"schema_kind": "loop-resource-envelope-fixtures",
"schema_version": 1,
"fixtures": [
{
"fixture_id": "office-2mb",
"path": "C:\\.dev\\qualification\\session-11\\fixtures\\office-2mb.pdf",
"sha256": "0f0a45ba88d63f6218f81467ea5a8713ca457c8cb7bcd8f619742d266bbe67c9",
"size_bytes": 2169858,
"provenance": "Session 11 synthetic office workload PDF"
},
{
"fixture_id": "pathological-vector",
"path": "C:\\.dev\\qualification\\session-11\\fixtures\\pathological-vector.pdf",
"sha256": "5517185518d353635366270ff41e3e2a56cf1d6d21187e84aba8fc6a44aa6c0f",
"size_bytes": 6369566,
"provenance": "pathological_workload.py --family pathological-vector",
"page_count": 256
},
{
"fixture_id": "transparency-spots",
"path": "C:\\.dev\\qualification\\session-11\\fixtures\\transparency-spots.pdf",
"sha256": "d4316776aaacb9f056da41925cea51fd68bf1b00ae7b53e1326306e1d85810b3",
"size_bytes": 3266105,
"provenance": "pathological_workload.py --family transparency-spots",
"page_count": 256
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"schema_kind": "loop-resource-envelope-fixture-requirements",
"schema_version": 1,
"external_root": "C:\\.dev\\qualification\\session-11\\fixtures",
"required_fixtures": [
{
"fixture_id": "office-2mb",
"availability": "local",
"sha256": "0f0a45ba88d63f6218f81467ea5a8713ca457c8cb7bcd8f619742d266bbe67c9"
},
{
"fixture_id": "image-heavy-500mb",
"availability": "hosted-required"
},
{
"fixture_id": "ten-thousand-page",
"availability": "hosted-required",
"provenance": "div2k_workload.py from external DIV2K corpus"
},
{
"fixture_id": "pathological-vector",
"availability": "local",
"sha256": "5517185518d353635366270ff41e3e2a56cf1d6d21187e84aba8fc6a44aa6c0f"
},
{
"fixture_id": "transparency-spots",
"availability": "local",
"sha256": "d4316776aaacb9f056da41925cea51fd68bf1b00ae7b53e1326306e1d85810b3"
}
]
}
Loading
Loading