Skip to content

Track owner approval packet in release dashboard#2002

Merged
affaan-m merged 1 commit into
mainfrom
chore/refresh-owner-approval-dashboard
May 19, 2026
Merged

Track owner approval packet in release dashboard#2002
affaan-m merged 1 commit into
mainfrom
chore/refresh-owner-approval-dashboard

Conversation

@affaan-m
Copy link
Copy Markdown
Owner

@affaan-m affaan-m commented May 19, 2026

Summary

  • add an owner approval packet gate to the operator readiness dashboard
  • refresh May 19 release roadmap/evidence to PR Add rc.1 owner approval packet #2001, 2550/2550 local tests, and run 26102500291
  • add regression coverage for missing owner packet and stale roadmap evidence

Verification

  • node tests/scripts/operator-readiness-dashboard.test.js
  • node tests/scripts/platform-audit.test.js
  • node tests/docs/ecc2-release-surface.test.js
  • npx markdownlint-cli docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-19.md docs/ECC-2.0-GA-ROADMAP.md docs/releases/2.0.0-rc.1/preview-pack-manifest.md docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md docs/releases/2.0.0-rc.1/publication-readiness.md docs/releases/2.0.0-rc.1/publication-evidence-2026-05-19.md
  • npm run preview-pack:smoke -- --format json
  • env -u GITHUB_TOKEN node scripts/platform-audit.js --json
  • node tests/run-all.js (2550/2550)

Summary by cubic

Adds an owner approval packet gate to the operator readiness dashboard to block any publish or outbound steps until explicit owner decisions are recorded. Refreshes May 19 evidence/roadmap to PR #2001 and 2550/2550 local suite, and updates checks/tests accordingly.

  • New Features
    • Dashboard now tracks the owner approval packet as a requirement and shows it as a top action when missing; status is derived from owner-approval-packet-2026-05-19.md and its presence in the preview manifest.
    • Next Work Order includes reviewing the owner approval packet from the final release commit before any publication or outbound action.
    • Publication evidence and GA roadmap mirror the current snapshot: preview-pack digest 790430aef4a8, PR Add rc.1 owner approval packet #2001, CI run 26102500291, and 2550-test local suite.
    • Platform audit check expects "2550 passed" in the May 19 evidence; tests updated to cover the new gate, roadmap mirroring, and the raised suite count.

Written for commit 0590ed1. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • Documentation

    • Updated release readiness documentation for version 2.0.0-rc.1 with current evidence and test results.
    • Added owner approval packet tracking to the release verification process.
    • Refreshed test pass counts and CI evidence references.
  • Tests

    • Updated test cases to verify release readiness documentation accuracy.
    • Added validation for owner approval packet inclusion in release verification.

Review Change Stack

@ecc-tools
Copy link
Copy Markdown
Contributor

ecc-tools Bot commented May 19, 2026

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

📝 Walkthrough

Walkthrough

This PR refreshes release evidence and automation tooling for the May 19, 2026 rc.1 snapshot. It introduces owner-approval-packet as a new readiness requirement in the operator-readiness dashboard, updates test-count evidence matchers across scripts and tests from 2548 to 2550, refreshes release documentation with new owner-approval-packet artifact references and updated commit hashes, and adds comprehensive tests to verify the new gating behavior.

Changes

Release Evidence & Owner-Approval-Packet Gate

Layer / File(s) Summary
Owner-Approval-Packet Readiness Gate
scripts/operator-readiness-dashboard.js
Reads owner-approval-packet-2026-05-19.md, validates packet sections, checks manifest inclusion, derives ownerApprovalPacketReady condition, adds new owner-approval-packet requirement to checklist with current/not_complete status, and includes a step in next-work-order to review and approve the packet for each publication/outbound lane.
Dashboard Tests & Fixtures
tests/scripts/operator-readiness-dashboard.test.js
Extends seeded release fixture to include owner-approval-packet-2026-05-19.md artifact; adds assertions verifying owner-approval-packet requirement status, evidence, and gap text; confirms packet is not listed in top_actions; and adds new test validating fails-closed behavior when packet is missing from the release pack.
Platform Audit Evidence Matcher
scripts/platform-audit.js, tests/scripts/platform-audit.test.js
Updates release-evidence-current matcher from 2548 passed to 2550 passed to reflect refreshed local test suite results; platform-audit test fixture updated to match.
Release Evidence Documentation
docs/ECC-2.0-GA-ROADMAP.md, docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-19.md, docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md, docs/releases/2.0.0-rc.1/preview-pack-manifest.md, docs/releases/2.0.0-rc.1/publication-evidence-2026-05-19.md, docs/releases/2.0.0-rc.1/publication-readiness.md
May 19 evidence snapshot: PR #2001 replaces PR #2000, test suite count increases from 2548 to 2550, owner-approval-packet-2026-05-19.md is added as required artifact with full checklist inclusion verification, updated commit hashes and GitHub Actions run IDs, and extended next-work-order steps to include packet review and approval checkpoint before outbound publication.
ECC Roadmap Evidence Test
tests/docs/ecc2-release-surface.test.js
New test verifies docs/ECC-2.0-GA-ROADMAP.md includes May 19 evidence markers (owner-approval-packet-2026-05-19.md, PR #2001 references, GitHub Actions identifiers, current test counts) and excludes stale markers.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • affaan-m/ECC#2001: Main PR extends release-gating logic to treat owner-approval-packet-2026-05-19.md (introduced by PR #2001) as a required artifact in operator-readiness-dashboard and tests.
  • affaan-m/ECC#1999: Both PRs modify scripts/operator-readiness-dashboard.js and its tests to update readiness gates and next_work_order steps, with main PR adding owner-approval-packet gating.
  • affaan-m/ECC#2000: Both PRs modify scripts/platform-audit.js release-evidence-current gate and update test fixtures for suite-count refresh.

Poem

🐰 A packet of approvals hops into view,
Two thousand and one brings us May's debut,
From twenty-forty-eight to twenty-fifty, we leap,
Dashboard gates now guard the readiness we keep,
Fresh checksums and smoke tests, the path is clear and true!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the primary change: adding owner approval packet tracking to the operator readiness dashboard, which is a core component of this PR.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/refresh-owner-approval-dashboard

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
scripts/operator-readiness-dashboard.js (1)

591-592: ⚡ Quick win

Extract the owner-approval packet artifact path to a constant.

The same date-stamped path is now duplicated across requirement wiring and artifact metadata. Pull it into a single constant to avoid snapshot drift bugs on the next evidence refresh.

♻️ Proposed refactor
+const OWNER_APPROVAL_PACKET_ARTIFACT = 'docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md';
+const OWNER_APPROVAL_PACKET_BASENAME = 'owner-approval-packet-2026-05-19.md';
...
-  const ownerApprovalPacket = readText(rootDir, 'docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md');
+  const ownerApprovalPacket = readText(rootDir, OWNER_APPROVAL_PACKET_ARTIFACT);
...
-  ]) && includesAll(previewManifest, ['owner-approval-packet-2026-05-19.md']);
+  ]) && includesAll(previewManifest, [OWNER_APPROVAL_PACKET_BASENAME]);
...
-      'docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md',
+      OWNER_APPROVAL_PACKET_ARTIFACT,

As per coding guidelines, "Do not use hardcoded values; use constants or configuration instead".

Also applies to: 810-814

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/operator-readiness-dashboard.js` around lines 591 - 592, Extract the
duplicated date-stamped artifact path into a single constant (e.g.,
OWNER_APPROVAL_PACKET_PATH) and replace the inline literals used to read the
file (currently used when initializing ownerApprovalPacket via readText and any
other occurrences such as where previewManifest/metadata reference the same
path) so both the requirement wiring and artifact metadata use that constant;
update all other duplicate occurrences mentioned (around the ownerApprovalPacket
and the block referenced by the reviewer, including the section around
previewManifest and the region noted as also applying to 810-814) to reference
the new constant instead of hardcoded strings.
tests/docs/ecc2-release-surface.test.js (1)

253-269: 💤 Low value

Consider extracting evidence markers to constants.

The new test correctly validates that the GA roadmap reflects the current May 19 evidence. However, the test contains multiple hardcoded string literals for evidence markers, which violates the coding guideline: "Do not use hardcoded values; use constants or configuration instead."

While these hardcoded values are intentional test data (meant to fail when evidence is refreshed), extracting them to constants at the test scope would improve readability and make the test's intent clearer. As per coding guidelines, avoid hardcoded values in source code.

♻️ Optional refactor to extract markers
 test('GA roadmap mirrors the current May 19 release evidence', () => {
   const roadmap = read('docs/ECC-2.0-GA-ROADMAP.md');
+  
+  // May 19 evidence markers that must be present
+  const requiredMarkers = [
+    'owner-approval-packet-2026-05-19.md',
+    'preview-pack smoke digest `790430aef4a8`',
+    'local 2550-test suite',
+    'PR `#2001`',
+    'GitHub Actions run `26102500291`',
+    'owner approval packet',
+  ];
+  
+  // Stale markers that must not be present
+  const excludedMarkers = [
+    'preview-pack smoke digest `bc2bf157616e`',
+    'local 2544-test suite',
+  ];

-  for (const marker of [
-    'owner-approval-packet-2026-05-19.md',
-    'preview-pack smoke digest `790430aef4a8`',
-    'local 2550-test suite',
-    'PR `#2001`',
-    'GitHub Actions run `26102500291`',
-    'owner approval packet',
-  ]) {
+  for (const marker of requiredMarkers) {
     assert.ok(roadmap.includes(marker), `GA roadmap missing current evidence marker ${marker}`);
   }

-  assert.ok(!roadmap.includes('preview-pack smoke digest `bc2bf157616e`'));
-  assert.ok(!roadmap.includes('local 2544-test suite'));
+  for (const marker of excludedMarkers) {
+    assert.ok(!roadmap.includes(marker), `GA roadmap contains stale evidence marker ${marker}`);
+  }
 });
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/docs/ecc2-release-surface.test.js` around lines 253 - 269, Extract the
hardcoded evidence marker strings into named constants at the top of the test
(e.g., const MARKER_OWNER_APPROVAL, MARKER_PREVIEW_SMOKE_DIGEST,
MARKER_LOCAL_TEST_SUITE, MARKER_PR_NUMBER, MARKER_GHA_RUN,
MARKER_OWNER_APPROVAL_ALT and the negative-case constants like
MARKER_OLD_PREVIEW_DIGEST, MARKER_OLD_LOCAL_SUITE), then replace the literals in
the markers array and the negative assertions with those constants inside the
'GA roadmap mirrors the current May 19 release evidence' test so the test uses
descriptive constants (referencing the roadmap variable and the markers array)
instead of hardcoded strings.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@scripts/operator-readiness-dashboard.js`:
- Around line 591-592: Extract the duplicated date-stamped artifact path into a
single constant (e.g., OWNER_APPROVAL_PACKET_PATH) and replace the inline
literals used to read the file (currently used when initializing
ownerApprovalPacket via readText and any other occurrences such as where
previewManifest/metadata reference the same path) so both the requirement wiring
and artifact metadata use that constant; update all other duplicate occurrences
mentioned (around the ownerApprovalPacket and the block referenced by the
reviewer, including the section around previewManifest and the region noted as
also applying to 810-814) to reference the new constant instead of hardcoded
strings.

In `@tests/docs/ecc2-release-surface.test.js`:
- Around line 253-269: Extract the hardcoded evidence marker strings into named
constants at the top of the test (e.g., const MARKER_OWNER_APPROVAL,
MARKER_PREVIEW_SMOKE_DIGEST, MARKER_LOCAL_TEST_SUITE, MARKER_PR_NUMBER,
MARKER_GHA_RUN, MARKER_OWNER_APPROVAL_ALT and the negative-case constants like
MARKER_OLD_PREVIEW_DIGEST, MARKER_OLD_LOCAL_SUITE), then replace the literals in
the markers array and the negative assertions with those constants inside the
'GA roadmap mirrors the current May 19 release evidence' test so the test uses
descriptive constants (referencing the roadmap variable and the markers array)
instead of hardcoded strings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1ed92059-5ba5-4311-829e-6e24252eabbe

📥 Commits

Reviewing files that changed from the base of the PR and between 8148340 and 0590ed1.

📒 Files selected for processing (11)
  • docs/ECC-2.0-GA-ROADMAP.md
  • docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-19.md
  • docs/releases/2.0.0-rc.1/owner-approval-packet-2026-05-19.md
  • docs/releases/2.0.0-rc.1/preview-pack-manifest.md
  • docs/releases/2.0.0-rc.1/publication-evidence-2026-05-19.md
  • docs/releases/2.0.0-rc.1/publication-readiness.md
  • scripts/operator-readiness-dashboard.js
  • scripts/platform-audit.js
  • tests/docs/ecc2-release-surface.test.js
  • tests/scripts/operator-readiness-dashboard.test.js
  • tests/scripts/platform-audit.test.js

@affaan-m affaan-m merged commit c7d662c into main May 19, 2026
40 checks passed
@affaan-m affaan-m deleted the chore/refresh-owner-approval-dashboard branch May 19, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant