From e355eea61e57868305441a16c8623f3e40c0127c Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:14:43 +0100 Subject: [PATCH 1/9] fix(ci): preserve isolated runner cleanup time --- .../WS-CI-001-01-external-review-response.md | 36 +++++++++++++++++++ .../reviews/WS-CI-001-01-pr-trust-bundle.md | 5 +++ .github/workflows/backend.yml | 2 +- backend/scripts/ci_test_shards.py | 2 +- scripts/test_agent_gates.py | 9 +++-- 5 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md new file mode 100644 index 00000000..a7383d22 --- /dev/null +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md @@ -0,0 +1,36 @@ +# External Review Response: WS-CI-001-01 + +## Comments addressed + +- CodeRabbit major stability finding on PR #163: the isolated child-runner + timeout exceeded its enclosing GitHub job timeout for both shard execution + and API E2E. +- Shard child timeout is now 4,800 seconds inside a 90-minute job, preserving a + 10-minute cleanup margin. +- API E2E child timeout is now 1,500 seconds inside a 30-minute job, preserving + a 5-minute cleanup margin. +- Workflow regression tests assert both child timeouts remain below their job + budgets. + +## Comments deferred + +None. + +## Human decisions needed + +None. The finding is a clear in-scope cleanup and failure-propagation defect. + +## Commands rerun + +- Ruff formatting and lint: passed. +- Shard and coverage-contract tests: 204 passed. +- Isolated database runner against local PostgreSQL: 16 passed. +- Agent-gate workflow tests: 91 passed. +- Markdown links, stale wording, loop-memory state, and diff integrity: passed. +- Required internal review: pending exact-commit confirmation. + +## Remaining risks + +GitHub may still terminate a runner for infrastructure reasons, but configured +test timeouts now leave explicit time for the repository-owned isolation runner +to terminate its child and drop its exact owned database and role. diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md index 3bc7d235..273147ab 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md @@ -87,6 +87,11 @@ hosted shard durations ranged from about 131 to 712 seconds despite nearly equal node counts. The workflow still fails closed rather than silently falling back. Runtime-weight routing remains a separately approved follow-up decision. +CodeRabbit identified that child-runner timeouts exceeded their GitHub job +budgets. The reviewed repair sets shard execution to 4,800 seconds within a +90-minute job and API E2E to 1,500 seconds within a 30-minute job, leaving time +for repository-owned database and role cleanup before GitHub hard cancellation. + ## Human Review Focus Exact runtime-node evidence, action/plugin provenance, database/MinIO isolation, diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index 5adced8a..3b5c50af 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -228,7 +228,7 @@ jobs: run: >- python scripts/run_isolated_tests.py --metadata-json "${RUNNER_TEMP}/api-database.json" - --timeout-seconds 3600 + --timeout-seconds 1500 -- python scripts/api_contract_e2e.py test: diff --git a/backend/scripts/ci_test_shards.py b/backend/scripts/ci_test_shards.py index 50974a33..601f5c61 100644 --- a/backend/scripts/ci_test_shards.py +++ b/backend/scripts/ci_test_shards.py @@ -386,7 +386,7 @@ def run_shard( "--metadata-json", str(database_metadata), "--timeout-seconds", - "12600", + "4800", "--", sys.executable, "-m", diff --git a/scripts/test_agent_gates.py b/scripts/test_agent_gates.py index 11dbeee6..35310554 100644 --- a/scripts/test_agent_gates.py +++ b/scripts/test_agent_gates.py @@ -103,7 +103,7 @@ 'metadata_dir="$(mktemp -d)"', "trap 'rm -rf \"$metadata_dir\"' EXIT", "python scripts/run_isolated_tests.py " - '--metadata-json "$metadata_dir/result.json" --timeout-seconds 12600 -- ' + '--metadata-json "$metadata_dir/result.json" --timeout-seconds 4800 -- ' "python -m pytest -q --ignore=tests/test_isolated_database_runner.py " "--cov=app --cov-report=term-missing --cov-fail-under=78", ) @@ -113,7 +113,7 @@ 'metadata_dir="$(mktemp -d)"', "trap 'rm -rf \"$metadata_dir\"' EXIT", "python scripts/run_isolated_tests.py " - '--metadata-json "$metadata_dir/result.json" --timeout-seconds 3600 -- ' + '--metadata-json "$metadata_dir/result.json" --timeout-seconds 1500 -- ' "python scripts/api_contract_e2e.py", ) ) @@ -5258,6 +5258,11 @@ def test_backend_coverage_thresholds_are_regression_protected() -> None: assert len(api_e2e_steps) == 1 assert "scripts/run_isolated_tests.py" in str(api_e2e_steps[0]["run"]) assert "scripts/api_contract_e2e.py" in str(api_e2e_steps[0]["run"]) + shard_tool = (ROOT / "backend/scripts/ci_test_shards.py").read_text(encoding="utf-8") + assert 4800 <= jobs["shards"]["timeout-minutes"] * 60 - 600 + assert '"4800"' in shard_tool + assert 1500 <= jobs["api_e2e"]["timeout-minutes"] * 60 - 300 + assert "--timeout-seconds 1500" in str(api_e2e_steps[0]["run"]) test_job = parsed_workflow["jobs"]["test"] assert set(test_job) == {"if", "needs", "runs-on", "timeout-minutes", "steps"} From 991c7d2ab946b055479782693d5b42760e664148 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:18:34 +0100 Subject: [PATCH 2/9] docs(agent-loop): close timeout review response --- .../reviews/WS-CI-001-01-external-review-response.md | 11 ++++++----- .../reviews/WS-CI-001-01-pr-trust-bundle.md | 5 +++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md index a7383d22..5aba9cab 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md @@ -6,9 +6,9 @@ timeout exceeded its enclosing GitHub job timeout for both shard execution and API E2E. - Shard child timeout is now 4,800 seconds inside a 90-minute job, preserving a - 10-minute cleanup margin. + 10-minute configured budget gap and operational cleanup headroom. - API E2E child timeout is now 1,500 seconds inside a 30-minute job, preserving - a 5-minute cleanup margin. + a 5-minute configured budget gap and operational cleanup headroom. - Workflow regression tests assert both child timeouts remain below their job budgets. @@ -27,10 +27,11 @@ None. The finding is a clear in-scope cleanup and failure-propagation defect. - Isolated database runner against local PostgreSQL: 16 passed. - Agent-gate workflow tests: 91 passed. - Markdown links, stale wording, loop-memory state, and diff integrity: passed. -- Required internal review: pending exact-commit confirmation. +- Required internal review: all applicable tracks passed at `af86b5f2`. ## Remaining risks GitHub may still terminate a runner for infrastructure reasons, but configured -test timeouts now leave explicit time for the repository-owned isolation runner -to terminate its child and drop its exact owned database and role. +test timeouts now leave operational headroom for the repository-owned isolation +runner to terminate its child and drop its exact owned database and role. The +configured gaps are not guarantees because job setup also consumes wall time. diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md index 273147ab..be242815 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md @@ -89,8 +89,9 @@ Runtime-weight routing remains a separately approved follow-up decision. CodeRabbit identified that child-runner timeouts exceeded their GitHub job budgets. The reviewed repair sets shard execution to 4,800 seconds within a -90-minute job and API E2E to 1,500 seconds within a 30-minute job, leaving time -for repository-owned database and role cleanup before GitHub hard cancellation. +90-minute job and API E2E to 1,500 seconds within a 30-minute job. These +configured budget gaps provide operational cleanup headroom before GitHub hard +cancellation; they are not guaranteed durations because setup also uses job time. ## Human Review Focus From bd75f5ef930e4a4cfe05dfd3073be05284d7d384 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:22:48 +0100 Subject: [PATCH 3/9] docs(agent-loop): contract timeout cleanup repair --- .../STATUS.md | 6 +- .../chunks/WS-CI-001-01R1-timeout-cleanup.md | 84 +++++++++++++++++++ .../reviews/WS-CI-001-01-pr-trust-bundle.md | 6 -- ...S-CI-001-01R1-external-review-response.md} | 6 +- .../reviews/WS-CI-001-01R1-pr-trust-bundle.md | 54 ++++++++++++ .agent-loop/merge-intents/WS-CI-001-01R1.json | 9 ++ 6 files changed, 154 insertions(+), 11 deletions(-) create mode 100644 .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md rename .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/{WS-CI-001-01-external-review-response.md => WS-CI-001-01R1-external-review-response.md} (84%) create mode 100644 .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md create mode 100644 .agent-loop/merge-intents/WS-CI-001-01R1.json diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/STATUS.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/STATUS.md index f52a98e5..08d75b0c 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/STATUS.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/STATUS.md @@ -1,9 +1,9 @@ # STATUS: WS-CI-001 - Backend CI Acceleration -- Phase: implementation proof complete; awaiting human PR review -- Active implementation chunk: `WS-CI-001-01` +- Phase: post-merge timeout cleanup repair +- Active implementation chunk: `WS-CI-001-01R1` - Proposed first chunk: `WS-CI-001-01` - Human direction: prioritize full-suite CI acceleration before `WS-ENG-001-04B` -- Current gate: final evidence-only exact-head CI and human PR review +- Current gate: exact rebased-head review, repair PR CI, and human review - `WS-ENG-001-04B`: remains inactive diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md new file mode 100644 index 00000000..6ef392c1 --- /dev/null +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md @@ -0,0 +1,84 @@ +# Chunk Contract: WS-CI-001-01R1 — Timeout Cleanup Repair + +## Parent initiative + +`WS-CI-001` — Backend CI Acceleration + +## Goal + +Ensure repository-owned isolated runners time out before their enclosing GitHub +jobs so they retain operational headroom to terminate child processes and clean +up exact owned database resources. + +## Why this chunk exists + +PR #163 merged before its final CodeRabbit comment was repaired. The comment +correctly identified child timeouts longer than their enclosing job budgets. + +## Risk class + +L1 + +## Allowed files + +```text +.github/workflows/backend.yml +backend/scripts/ci_test_shards.py +scripts/test_agent_gates.py +.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/** +.agent-loop/merge-intents/WS-CI-001-01R1.json +``` + +## Not allowed + +```text +backend/app/** +backend/alembic/** +dependency changes +test skips or coverage threshold changes +job timeout increases +path-based workflow suppression +WS-CI-001-02 activation +``` + +## Acceptance criteria + +- [x] Shard child timeout is below the 90-minute job budget with a configured + gap of at least 10 minutes. +- [x] API E2E child timeout is below the 30-minute job budget with a configured + gap of at least 5 minutes. +- [x] Workflow regression tests bind the timeout values and budget gaps. +- [x] Real isolated-runner cleanup tests pass against PostgreSQL. +- [x] External review response and PR trust evidence are updated. +- [ ] Required internal reviewers confirm the exact rebased repair head. +- [ ] Hosted Backend, Agent Gates, and external review pass. + +## Verification commands + +```text +cd backend && python -m pytest -q tests/test_ci_test_shards.py tests/test_coverage_contract.py +cd backend && WORKSTREAM_TEST_ADMIN_DATABASE_URL= python -m pytest -q tests/test_isolated_database_runner.py +python -m pytest -q scripts/test_agent_gates.py +python scripts/check_markdown_links.py +python scripts/check_stale_workstream_wording.py +python scripts/check_loop_memory_state.py +git diff --check +``` + +## Required reviewers + +- senior engineering +- QA/test +- security/auth +- product/ops +- architecture +- CI integrity +- docs +- reuse/dedup +- test delta + +## Human review focus + +Confirm the child budgets remain operationally sufficient, are strictly below +the job budgets, and preserve cleanup and failure propagation without weakening +the full-suite proof. diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md index be242815..3bc7d235 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-pr-trust-bundle.md @@ -87,12 +87,6 @@ hosted shard durations ranged from about 131 to 712 seconds despite nearly equal node counts. The workflow still fails closed rather than silently falling back. Runtime-weight routing remains a separately approved follow-up decision. -CodeRabbit identified that child-runner timeouts exceeded their GitHub job -budgets. The reviewed repair sets shard execution to 4,800 seconds within a -90-minute job and API E2E to 1,500 seconds within a 30-minute job. These -configured budget gaps provide operational cleanup headroom before GitHub hard -cancellation; they are not guaranteed durations because setup also uses job time. - ## Human Review Focus Exact runtime-node evidence, action/plugin provenance, database/MinIO isolation, diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md similarity index 84% rename from .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md rename to .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md index 5aba9cab..422a8ee5 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01-external-review-response.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md @@ -1,4 +1,4 @@ -# External Review Response: WS-CI-001-01 +# External Review Response: WS-CI-001-01R1 ## Comments addressed @@ -27,7 +27,9 @@ None. The finding is a clear in-scope cleanup and failure-propagation defect. - Isolated database runner against local PostgreSQL: 16 passed. - Agent-gate workflow tests: 91 passed. - Markdown links, stale wording, loop-memory state, and diff integrity: passed. -- Required internal review: all applicable tracks passed at `af86b5f2`. +- Required internal review: all applicable tracks passed on the identical + repair diff before it was rebased onto merged `main`; exact rebased-head + confirmation is required before publication. ## Remaining risks diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md new file mode 100644 index 00000000..4158d18f --- /dev/null +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md @@ -0,0 +1,54 @@ +# WS-CI-001-01R1 PR Trust Bundle + +## Goal + +Repair the merged backend CI workflow so isolated child-runner timeouts remain +below GitHub job budgets and cleanup can run before hard cancellation. + +## Trigger + +CodeRabbit posted one valid major stability finding on PR #163 after its final +review cycle. PR #163 was merged before the repair commits were pushed, so this +bounded follow-up is based on trusted merged `main` and has its own merge intent. + +## What changed + +- Shard child timeout: 12,600 seconds to 4,800 seconds inside a 90-minute job. +- API E2E child timeout: 3,600 seconds to 1,500 seconds inside a 30-minute job. +- Agent-gate assertions bind both values and minimum configured budget gaps. +- External review evidence records the finding, response, proof, and residual + infrastructure risk. + +These gaps provide operational cleanup headroom but are not guaranteed cleanup +durations because checkout, installation, and migration also consume job time. + +## Scope control + +No application code, schema, dependency, test selection, coverage threshold, +required check, permission, authentication, authorization, product lifecycle, +or merge authority changed. `WS-CI-001-02` remains inactive. + +## Evidence + +- Ruff formatting and lint passed. +- Shard and coverage-contract tests: 204 passed. +- Real PostgreSQL isolation and cleanup tests: 16 passed. +- Agent-gate workflow tests: 91 passed. +- Markdown links, stale wording, loop state, and diff integrity passed. + +## Internal review + +All nine tracks passed on the identical repair diff before rebasing it onto the +merged PR #163 head. Exact rebased-head confirmation remains required before PR +publication. + +## Remaining gates + +Exact rebased-head internal confirmation, hosted Backend, Agent Gates, +CodeRabbit, human review, and explicit merge approval remain mandatory. + +## Human review focus + +Confirm timeout values remain sufficient for observed workloads, strictly below +job budgets, and preserve child termination, database cleanup, and fail-closed +propagation. diff --git a/.agent-loop/merge-intents/WS-CI-001-01R1.json b/.agent-loop/merge-intents/WS-CI-001-01R1.json new file mode 100644 index 00000000..3d7bcb5d --- /dev/null +++ b/.agent-loop/merge-intents/WS-CI-001-01R1.json @@ -0,0 +1,9 @@ +{ + "chunk_id": "WS-CI-001-01R1", + "chunk_title": "Timeout Cleanup Repair", + "initiative_id": "WS-CI-001", + "next_chunk_id": null, + "next_chunk_title": null, + "next_requires_explicit_start": true, + "schema_version": 2 +} From f2cdbee229312a8678907297797efb5d6e966040 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:24:14 +0100 Subject: [PATCH 4/9] docs(agent-loop): map timeout cleanup repair --- .../WS-CI-001-backend-ci-acceleration/CHUNK_MAP.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/CHUNK_MAP.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/CHUNK_MAP.md index 3156ae6b..ea79bc58 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/CHUNK_MAP.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/CHUNK_MAP.md @@ -2,9 +2,11 @@ | Chunk | Title | Risk | Status | |---|---|---:|---| -| `WS-CI-001-01` | Parallel Full-Suite Coverage | L1 | Implemented and internally reviewed; awaiting hosted PR proof/human review | +| `WS-CI-001-01` | Parallel Full-Suite Coverage | L1 | Completed and merged in PR #163 | +| `WS-CI-001-01R1` | Timeout Cleanup Repair | L1 | Implemented and internally reviewed; awaiting hosted repair PR proof/human review | | `WS-CI-001-02` | Safe Routing, Cache, and Timing Refinement | L1 | Future; not started and requires separate approval | Each chunk maps to one PR. Chunk 01 preserves the full suite and every coverage -gate. Chunk 02 may be planned only from measured 01 evidence and cannot be named -as 01's successor unless its reviewed contract is complete. +gate. Chunk 01R1 is the bounded post-merge response to CodeRabbit's timeout +cleanup finding. Chunk 02 may be planned only from measured 01 evidence and +cannot be activated without separate human approval. From 7a09865ca9bc9856e5fc0b07bc745e64cda3c7d0 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:25:00 +0100 Subject: [PATCH 5/9] docs(agent-loop): bind timeout repair reviews --- .../chunks/WS-CI-001-01R1-timeout-cleanup.md | 2 +- .../reviews/WS-CI-001-01R1-external-review-response.md | 5 ++--- .../reviews/WS-CI-001-01R1-pr-trust-bundle.md | 9 ++++----- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md index 6ef392c1..1f587d86 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/chunks/WS-CI-001-01R1-timeout-cleanup.md @@ -50,7 +50,7 @@ WS-CI-001-02 activation - [x] Workflow regression tests bind the timeout values and budget gaps. - [x] Real isolated-runner cleanup tests pass against PostgreSQL. - [x] External review response and PR trust evidence are updated. -- [ ] Required internal reviewers confirm the exact rebased repair head. +- [x] Required internal reviewers confirm the exact rebased repair head. - [ ] Hosted Backend, Agent Gates, and external review pass. ## Verification commands diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md index 422a8ee5..818ce18c 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md @@ -27,9 +27,8 @@ None. The finding is a clear in-scope cleanup and failure-propagation defect. - Isolated database runner against local PostgreSQL: 16 passed. - Agent-gate workflow tests: 91 passed. - Markdown links, stale wording, loop-memory state, and diff integrity: passed. -- Required internal review: all applicable tracks passed on the identical - repair diff before it was rebased onto merged `main`; exact rebased-head - confirmation is required before publication. +- Required internal review: all nine tracks passed on the repair diff and + confirmed the rebased R1 head after the chunk-map finding was repaired. ## Remaining risks diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md index 4158d18f..7a0735c4 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md @@ -38,14 +38,13 @@ or merge authority changed. `WS-CI-001-02` remains inactive. ## Internal review -All nine tracks passed on the identical repair diff before rebasing it onto the -merged PR #163 head. Exact rebased-head confirmation remains required before PR -publication. +All nine tracks passed on the repair diff and confirmed the rebased R1 head +after the valid chunk-map finding was repaired. ## Remaining gates -Exact rebased-head internal confirmation, hosted Backend, Agent Gates, -CodeRabbit, human review, and explicit merge approval remain mandatory. +Hosted Backend, Agent Gates, CodeRabbit, human review, and explicit merge +approval remain mandatory. ## Human review focus From 5ec228960392cb87cf35852392ba25971a991f6f Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:25:58 +0100 Subject: [PATCH 6/9] docs(agent-loop): clarify timeout review sequence --- .../reviews/WS-CI-001-01R1-external-review-response.md | 4 ++-- .../reviews/WS-CI-001-01R1-pr-trust-bundle.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md index 818ce18c..41337a56 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-external-review-response.md @@ -27,8 +27,8 @@ None. The finding is a clear in-scope cleanup and failure-propagation defect. - Isolated database runner against local PostgreSQL: 16 passed. - Agent-gate workflow tests: 91 passed. - Markdown links, stale wording, loop-memory state, and diff integrity: passed. -- Required internal review: all nine tracks passed on the repair diff and - confirmed the rebased R1 head after the chunk-map finding was repaired. +- Required internal review: all nine tracks passed the rebased repair; senior, + architecture, docs, and reuse/dedup then confirmed the chunk-map repair. ## Remaining risks diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md index 7a0735c4..0cf3014d 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-pr-trust-bundle.md @@ -38,8 +38,8 @@ or merge authority changed. `WS-CI-001-02` remains inactive. ## Internal review -All nine tracks passed on the repair diff and confirmed the rebased R1 head -after the valid chunk-map finding was repaired. +All nine tracks passed the rebased repair. Senior engineering, architecture, +docs, and reuse/dedup then confirmed the valid chunk-map repair. ## Remaining gates From 46a8ac73cb71d087747bdbe4630a76c466b06185 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:28:49 +0100 Subject: [PATCH 7/9] docs(agent-loop): bind timeout repair evidence --- ...WS-CI-001-01R1-internal-review-evidence.md | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md new file mode 100644 index 00000000..917f3a7c --- /dev/null +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md @@ -0,0 +1,65 @@ +# Internal Review Evidence: WS-CI-001-01R1 + +Open sub-agent sessions: none + +Valid findings addressed: yes + +Reviewed repair SHA: `bd75f5ef930e4a4cfe05dfd3073be05284d7d384` + +Final evidence head: `5ec228960392cb87cf35852392ba25971a991f6f` + +## Binding + +- Base: `b0f9ad6476bb836a99c0adac7073705eb5206f4c` +- Contract: `WS-CI-001-01R1 — Timeout Cleanup Repair` +- Scope: two child-timeout reductions, workflow regression assertions, and + bounded R1 process evidence; no backend product runtime change + +## Reviewer results + +| Reviewer | Result | Blocking findings | Notes | +|---|---|---|---| +| senior engineering | PASS | None | Minimal repair with operationally sufficient observed runtime headroom. | +| QA/test | PASS | None | Values and minimum configured gaps are regression-bound. | +| security/auth | PASS | None | Cleanup remains exact; no auth, secret, or permission change. | +| product/ops | PASS | None | Operational headroom is distinguished from guaranteed cleanup duration. | +| architecture | PASS AFTER FIX | None | R1 was added to the durable chunk map after PR #163 merge state was corrected. | +| CI integrity | PASS | None | No threshold, selection, required-check, or propagation weakening. | +| docs | PASS AFTER FIX | None | Contract, chunk map, external response, and trust bundle agree. | +| reuse/dedup | PASS | None | Existing runner and workflow test boundary were reused. | +| test delta | PASS | None | One assertion set strengthened; no tests removed or skipped. | + +## Findings repaired + +- CodeRabbit found shard/API child timeouts exceeding their GitHub job budgets. +- Reduced shard child timeout from 12,600 to 4,800 seconds within 90 minutes. +- Reduced API child timeout from 3,600 to 1,500 seconds within 30 minutes. +- Added assertions binding both values and configured 600/300-second gaps. +- After PR #163 merged, rebased the repair onto trusted `main`, created bounded + R1 artifacts and exactly one merge intent, and corrected the chunk map. +- Clarified that configured gaps provide operational headroom but are not + guaranteed cleanup durations because setup consumes job time. + +## Deterministic evidence + +```text +Ruff formatting and lint: passed +shard + coverage-contract tests: 204 passed +isolated database runner against PostgreSQL: 16 passed +agent-gate workflow tests: 91 passed +Markdown links: passed +stale wording: passed +loop-memory state: passed +git diff --check: passed +``` + +## Hosted evidence + +Initial repair PR #164 runs `29767792824` and `29767792536` failed fast because +this R1-specific internal-review evidence file was missing. No shard ran. This +file repairs that process-evidence gate; exact-head hosted rerun remains pending. + +## Remaining gate + +Hosted Backend, Agent Gates, CodeRabbit, human review, and explicit merge +approval remain mandatory. From 9c47267ee2a3005fd0dc8c6256de977d6b4a51e6 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:29:14 +0100 Subject: [PATCH 8/9] docs(agent-loop): complete timeout review schema --- .../reviews/WS-CI-001-01R1-internal-review-evidence.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md index 917f3a7c..501bd87e 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md @@ -4,7 +4,11 @@ Open sub-agent sessions: none Valid findings addressed: yes -Reviewed repair SHA: `bd75f5ef930e4a4cfe05dfd3073be05284d7d384` +Reviewed code SHA: `bd75f5ef930e4a4cfe05dfd3073be05284d7d384` + +Reviewed at: 2026-07-20T18:28:58Z + +Reviewer run IDs: senior-engineering/architecture/docs/reuse-dedup=`timeout_senior_docs`; QA/test/CI-integrity/test-delta=`timeout_ci_qa`; security/auth/product/ops=`timeout_sec_ops` Final evidence head: `5ec228960392cb87cf35852392ba25971a991f6f` @@ -23,9 +27,9 @@ Final evidence head: `5ec228960392cb87cf35852392ba25971a991f6f` | QA/test | PASS | None | Values and minimum configured gaps are regression-bound. | | security/auth | PASS | None | Cleanup remains exact; no auth, secret, or permission change. | | product/ops | PASS | None | Operational headroom is distinguished from guaranteed cleanup duration. | -| architecture | PASS AFTER FIX | None | R1 was added to the durable chunk map after PR #163 merge state was corrected. | +| architecture | PASS AFTER FIXES | None | R1 was added to the durable chunk map after PR #163 merge state was corrected. | | CI integrity | PASS | None | No threshold, selection, required-check, or propagation weakening. | -| docs | PASS AFTER FIX | None | Contract, chunk map, external response, and trust bundle agree. | +| docs | PASS AFTER FIXES | None | Contract, chunk map, external response, and trust bundle agree. | | reuse/dedup | PASS | None | Existing runner and workflow test boundary were reused. | | test delta | PASS | None | One assertion set strengthened; no tests removed or skipped. | From aa73e1078406e7d6eaee32f83a04d39e20890da2 Mon Sep 17 00:00:00 2001 From: Abiorh001 Date: Mon, 20 Jul 2026 19:29:32 +0100 Subject: [PATCH 9/9] docs(agent-loop): bind final timeout repair head --- .../reviews/WS-CI-001-01R1-internal-review-evidence.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md index 501bd87e..7761e272 100644 --- a/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md +++ b/.agent-loop/initiatives/WS-CI-001-backend-ci-acceleration/reviews/WS-CI-001-01R1-internal-review-evidence.md @@ -4,7 +4,7 @@ Open sub-agent sessions: none Valid findings addressed: yes -Reviewed code SHA: `bd75f5ef930e4a4cfe05dfd3073be05284d7d384` +Reviewed code SHA: `5ec228960392cb87cf35852392ba25971a991f6f` Reviewed at: 2026-07-20T18:28:58Z