Skip to content

feat(narrative-ci): add fixtures, OPA gates, deterministic pipeline scaffolding, and evidence bundles#19505

Closed
BrianCLong wants to merge 1 commit intomainfrom
codex/implement-summit/intelgraph-integration-patch-nzf4g7
Closed

feat(narrative-ci): add fixtures, OPA gates, deterministic pipeline scaffolding, and evidence bundles#19505
BrianCLong wants to merge 1 commit intomainfrom
codex/implement-summit/intelgraph-integration-patch-nzf4g7

Conversation

@BrianCLong
Copy link
Copy Markdown
Owner

Motivation

  • Establish a fixtures-first Narrative CI lane to lock down output contracts (delta, handoff, state, early warning) for the Feb 7, 2026 SIT update and ensure governed outputs before adapter wiring.
  • Enforce governance gates (determinism, traceability, tier taxonomy) as policy-as-code to prevent non-deterministic payloads and provenance gaps.
  • Provide deterministic utilities, pipeline step scaffolds, evidence bundles, and roadmap metadata so downstream consumers and CI can validate behavior reproducibly.

Description

  • Add OPA policy rules and fixtures under .github/policies/narrative_ci/ for determinism.rego, traceability.rego, and tier_taxonomy.rego plus corresponding pass/fail fixture JSONs.
  • Add a GitHub Actions workflow narrative-ci-verify.yml that runs OPA evaluations against fixtures and a determinism linter (checks out/**), and uploads the fixtures as artifacts.
  • Add a fixtures bundle (fixtures/feb07_2026/*), deterministic pipeline scaffolding under intelgraph/pipelines/narrative_ci/ (libs: hash.ts, io.ts, json_stable.ts, schema_validate.stub.ts; steps: 31_score_handoff.ts, 40_state_machine.ts, 50_bundle_evidence.ts, 60_extract_delta.ts, 70_early_warning.ts), and a README describing inputs/outputs.
  • Add narrative schemas and graph descriptor (intelgraph/schema/narrative.graph.yml and schemas/narrative/*.json), evidence bundles under evidence/EVD-SITUPDATE-2026-02-07-*/, and update evidence/index.json and docs/roadmap/STATUS.json to register the initiative.

Testing

  • Ran node scripts/check-boundaries.cjs locally to validate parallelization/boundary constraints; it completed with no violations.
  • The PR includes an automated CI job narrative-ci-verify that will run opa eval against the added fixtures and perform the determinism linter in CI (the workflow is added but its run is executed by GitHub Actions).
  • No other unit/integration tests were changed or executed in this run; the pipeline code includes a schema_validate.stub.ts placeholder for later schema validation and is intentionally scaffolded for further automated tests.

Codex Task

@BrianCLong BrianCLong added the codex Codex-owned implementation work label Mar 7, 2026 — with ChatGPT Codex Connector
@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request lays the foundational framework for a new 'Narrative CI' system, designed to ensure the integrity and reproducibility of narrative-related data. It achieves this by introducing a fixtures-first development approach, implementing robust policy enforcement through OPA gates, and providing a structured pipeline for processing and bundling evidence. The primary goal is to establish clear output contracts and prevent data inconsistencies, thereby enhancing the reliability of information for critical updates.

Highlights

  • OPA Governance Gates: Introduced Open Policy Agent (OPA) policies for determinism, traceability, and tier taxonomy to enforce governance as policy-as-code, preventing non-deterministic payloads and provenance gaps.
  • Fixtures-First Narrative CI Lane: Established a new Narrative CI lane with a fixtures-first approach, including sample data for artifacts, snapshots, and provenance receipts, to lock down output contracts for a future SIT update.
  • Deterministic Pipeline Scaffolding: Added scaffolding for deterministic pipeline steps in TypeScript, including utilities for hashing, I/O operations, stable JSON stringification, and placeholder schema validation.
  • Evidence Bundles and Metadata: Implemented evidence bundles for delta, handoff, state, and gates, along with updates to the roadmap status and evidence index to register the new initiative and ensure governed outputs.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .github/policies/narrative_ci/determinism.rego
    • Added a Rego policy to prevent timestamp-like keys in payloads, ensuring determinism.
  • .github/policies/narrative_ci/fixtures/determinism_fail.json
    • Added a fixture demonstrating a payload that fails the determinism policy.
  • .github/policies/narrative_ci/fixtures/determinism_pass.json
    • Added a fixture demonstrating a payload that passes the determinism policy.
  • .github/policies/narrative_ci/fixtures/tier_taxonomy_fail.json
    • Added a fixture demonstrating a payload that fails the tier taxonomy policy.
  • .github/policies/narrative_ci/fixtures/tier_taxonomy_pass.json
    • Added a fixture demonstrating a payload that passes the tier taxonomy policy.
  • .github/policies/narrative_ci/fixtures/traceability_fail.json
    • Added a fixture demonstrating a payload that fails the traceability policy.
  • .github/policies/narrative_ci/fixtures/traceability_pass.json
    • Added a fixture demonstrating a payload that passes the traceability policy.
  • .github/policies/narrative_ci/tier_taxonomy.rego
    • Added a Rego policy to ensure all candidate tiers are within the allowed taxonomy.
  • .github/policies/narrative_ci/traceability.rego
    • Added a Rego policy to verify that inferred nodes have corresponding receipts and artifacts.
  • docs/roadmap/STATUS.json
    • Updated the last updated timestamp and revision note.
    • Added a new initiative entry for 'narrative-ci-lane1-fixtures'.
    • Incremented the total count of initiatives.
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/metrics.json
    • Added metrics for the delta evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/report.json
    • Added a report for the delta evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/stamp.json
    • Added a timestamp for the delta evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/metrics.json
    • Added metrics for the gates evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/report.json
    • Added a report for the gates evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/stamp.json
    • Added a timestamp for the gates evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/metrics.json
    • Added metrics for the handoff evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/report.json
    • Added a report for the handoff evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/stamp.json
    • Added a timestamp for the handoff evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/metrics.json
    • Added metrics for the state evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/report.json
    • Added a report for the state evidence bundle.
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/stamp.json
    • Added a timestamp for the state evidence bundle.
  • evidence/index.json
    • Added new evidence bundle entries for DELTA, HANDOFF, STATE, and GATES.
  • fixtures/feb07_2026/artifact_index.json
    • Added an artifact index JSON file for the Feb 7, 2026 update.
  • fixtures/feb07_2026/current_snapshot.json
    • Added a current snapshot JSON file for narratives and claims.
  • fixtures/feb07_2026/previous_snapshot.json
    • Added a previous snapshot JSON file for narratives and claims.
  • fixtures/feb07_2026/provenance_receipts.json
    • Added provenance receipts JSON file for claims.
  • intelgraph/pipelines/narrative_ci/README.md
    • Added a README file detailing the Narrative CI pipeline, inputs, outputs, and OPA gates.
  • intelgraph/pipelines/narrative_ci/config/lexicons.yml
    • Added a YAML configuration file for lexical markers.
  • intelgraph/pipelines/narrative_ci/config/thresholds.yml
    • Added a YAML configuration file for pipeline thresholds.
  • intelgraph/pipelines/narrative_ci/config/tiers.yml
    • Added a YAML configuration file defining narrative tiers and allowed labels.
  • intelgraph/pipelines/narrative_ci/lib/hash.ts
    • Added a TypeScript utility for SHA256 hashing.
  • intelgraph/pipelines/narrative_ci/lib/io.ts
    • Added TypeScript utility functions for reading/writing JSON and YAML, and deterministic JSON writing.
  • intelgraph/pipelines/narrative_ci/lib/json_stable.ts
    • Added a TypeScript utility for deterministic JSON stringification by sorting keys.
  • intelgraph/pipelines/narrative_ci/lib/schema_validate.stub.ts
    • Added a TypeScript stub for schema validation.
  • intelgraph/pipelines/narrative_ci/steps/31_score_handoff.ts
    • Added a TypeScript pipeline step to score handoff candidates.
  • intelgraph/pipelines/narrative_ci/steps/40_state_machine.ts
    • Added a TypeScript pipeline step for narrative state transitions.
  • intelgraph/pipelines/narrative_ci/steps/50_bundle_evidence.ts
    • Added a TypeScript pipeline step to bundle evidence.
  • intelgraph/pipelines/narrative_ci/steps/60_extract_delta.ts
    • Added a TypeScript pipeline step to extract delta changes between snapshots.
  • intelgraph/pipelines/narrative_ci/steps/70_early_warning.ts
    • Added a TypeScript pipeline step for early warning indicators.
  • intelgraph/schema/narrative.graph.yml
    • Added a YAML graph schema defining nodes and edges for narrative data.
  • schemas/narrative/delta.schema.json
    • Added a JSON schema for narrative delta outputs.
  • schemas/narrative/edges.schema.json
    • Added a JSON schema for narrative edges.
  • schemas/narrative/handoff.schema.json
    • Added a JSON schema for narrative handoff outputs.
  • schemas/narrative/metrics.schema.json
    • Added a JSON schema for narrative metrics.
  • schemas/narrative/nodes.schema.json
    • Added a JSON schema for narrative nodes.
  • schemas/narrative/provenance_receipt.schema.json
    • Added a JSON schema for narrative provenance receipts.
  • schemas/narrative/state.schema.json
    • Added a JSON schema for narrative state transitions.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/narrative-ci-verify.yml
Activity
  • No specific activity (comments, reviews, etc.) has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 7, 2026

Warning

Rate limit exceeded

@BrianCLong has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 13 minutes and 11 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ed97c1af-4cd5-4ba4-8e64-4608d351d7d1

📥 Commits

Reviewing files that changed from the base of the PR and between 68c99c3 and dd75ca9.

📒 Files selected for processing (49)
  • .github/policies/narrative_ci/determinism.rego
  • .github/policies/narrative_ci/fixtures/determinism_fail.json
  • .github/policies/narrative_ci/fixtures/determinism_pass.json
  • .github/policies/narrative_ci/fixtures/tier_taxonomy_fail.json
  • .github/policies/narrative_ci/fixtures/tier_taxonomy_pass.json
  • .github/policies/narrative_ci/fixtures/traceability_fail.json
  • .github/policies/narrative_ci/fixtures/traceability_pass.json
  • .github/policies/narrative_ci/tier_taxonomy.rego
  • .github/policies/narrative_ci/traceability.rego
  • .github/workflows/narrative-ci-verify.yml
  • docs/roadmap/STATUS.json
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/metrics.json
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/report.json
  • evidence/EVD-SITUPDATE-2026-02-07-DELTA-001/stamp.json
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/metrics.json
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/report.json
  • evidence/EVD-SITUPDATE-2026-02-07-GATES-001/stamp.json
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/metrics.json
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/report.json
  • evidence/EVD-SITUPDATE-2026-02-07-HANDOFF-001/stamp.json
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/metrics.json
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/report.json
  • evidence/EVD-SITUPDATE-2026-02-07-STATE-001/stamp.json
  • evidence/index.json
  • fixtures/feb07_2026/artifact_index.json
  • fixtures/feb07_2026/current_snapshot.json
  • fixtures/feb07_2026/previous_snapshot.json
  • fixtures/feb07_2026/provenance_receipts.json
  • intelgraph/pipelines/narrative_ci/README.md
  • intelgraph/pipelines/narrative_ci/config/lexicons.yml
  • intelgraph/pipelines/narrative_ci/config/thresholds.yml
  • intelgraph/pipelines/narrative_ci/config/tiers.yml
  • intelgraph/pipelines/narrative_ci/lib/hash.ts
  • intelgraph/pipelines/narrative_ci/lib/io.ts
  • intelgraph/pipelines/narrative_ci/lib/json_stable.ts
  • intelgraph/pipelines/narrative_ci/lib/schema_validate.stub.ts
  • intelgraph/pipelines/narrative_ci/steps/31_score_handoff.ts
  • intelgraph/pipelines/narrative_ci/steps/40_state_machine.ts
  • intelgraph/pipelines/narrative_ci/steps/50_bundle_evidence.ts
  • intelgraph/pipelines/narrative_ci/steps/60_extract_delta.ts
  • intelgraph/pipelines/narrative_ci/steps/70_early_warning.ts
  • intelgraph/schema/narrative.graph.yml
  • schemas/narrative/delta.schema.json
  • schemas/narrative/edges.schema.json
  • schemas/narrative/handoff.schema.json
  • schemas/narrative/metrics.schema.json
  • schemas/narrative/nodes.schema.json
  • schemas/narrative/provenance_receipt.schema.json
  • schemas/narrative/state.schema.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/implement-summit/intelgraph-integration-patch-nzf4g7

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

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces significant scaffolding for a new Narrative CI pipeline, including OPA policies, data fixtures, deterministic pipeline steps, and evidence bundling. A critical logic error was identified in the traceability policy, specifically in the every_receipt_has_artifact rule, which uses an existential ('some') check instead of a universal ('every') check. This could allow provenance gaps to bypass the gate by only verifying that at least one receipt has an artifact, rather than ensuring all are complete. Additionally, the review identified a critical issue in the evidence bundling logic and several instances where hardcoded values should be externalized to configuration files.

Comment on lines +4 to +8
type EvidenceIndex = { version: number; evidence: Record<string, { files: string[] }> };

function addEvidence(index: EvidenceIndex, id: string, files: string[]) {
index.evidence[id] = { files: [...files].sort() };
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

critical

The EvidenceIndex type and the addEvidence function do not match the actual structure of evidence/index.json. The JSON file defines evidence as an array of objects, where each object has an evidence_id and a files object (with keys like report, metrics). The current implementation incorrectly types evidence as a Record<string, { files: string[] }> and addEvidence passes an array of strings for files. This will result in a corrupted evidence/index.json file.

Comment on lines +22 to +28
every_receipt_has_artifact {
some r
r := input.receipts[_]
count(r.sources) > 0
r.sources[0].artifact_id != ""
r.sources[0].content_sha256 != ""
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

security-medium medium

The every_receipt_has_artifact rule in .github/policies/narrative_ci/traceability.rego is implemented using an existential ('some') check instead of a universal ('every') check. This logic error means the policy will pass if at least one receipt has an artifact, even if others have no sources, leading to traceability gaps. This defeats the purpose of the traceability gate, which aims to ensure all governed outputs have complete provenance. Furthermore, the current implementation could fail if no receipts are present, even when none are required. The rule should be rewritten to ensure all receipts are properly validated.

every_receipt_has_artifact {
  not exists_receipt_without_artifact
}

exists_receipt_without_artifact {
  some r
  r := input.receipts[_]
  not receipt_has_artifact(r)
}

receipt_has_artifact(r) {
  count(r.sources) > 0
  r.sources[0].artifact_id != ""
  r.sources[0].content_sha256 != ""
}

Comment on lines +20 to +35
export function writeJsonDeterministic(path: string, obj: unknown) {
const dir = path.split("/").slice(0, -1).join("/");
if (dir && !existsSync(dir)) {
mkdirSync(dir, { recursive: true });
}
writeFileSync(path, `${stableStringify(obj)}\n`, "utf8");
}

export function writeStampJson(path: string) {
const dir = path.split("/").slice(0, -1).join("/");
if (dir && !existsSync(dir)) {
mkdirSync(dir, { recursive: true });
}
// timestamps allowed ONLY here
writeFileSync(path, JSON.stringify({ ts_utc: new Date().toISOString() }) + "\n", "utf8");
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The logic for creating a directory is duplicated in writeJsonDeterministic and writeStampJson. This should be extracted into a shared helper function to avoid code duplication and improve maintainability. Additionally, using path.split('/') to get the directory name is not robust across different operating systems. It's better to use path.dirname() from Node's built-in path module.

Comment on lines +64 to +75
const tierJumpScore = Math.min(1, (rank(maxTier) - rank("fringe")) / 50);

const hedging = countMarkers(clm.text_norm, lex.register_markers?.hedging ?? []);
const legalistic = countMarkers(clm.text_norm, lex.register_markers?.legalistic ?? []);
const registerShiftScore = Math.min(1, (hedging + legalistic) / 6);

const citationCircularityScore = 0;

const score = Math.max(
0,
Math.min(1, 0.45 * tierJumpScore + 0.35 * registerShiftScore + 0.2 * citationCircularityScore),
);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This scoring logic contains several hardcoded 'magic numbers' (e.g., 50 on line 64, 6 on line 68, and the weights 0.45, 0.35, 0.2 on line 74). These should be extracted into a configuration file like intelgraph/pipelines/narrative_ci/config/thresholds.yml. This will make the scoring algorithm more configurable and easier to understand without reading the code.

Comment on lines +30 to +34
if (handoffScore >= 0.8) {
to_state = "Institutionalized";
} else if (handoffScore >= 0.6 && from_state === "Seeded") {
to_state = "Contested";
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The score thresholds for state transitions (0.8 and 0.6) are hardcoded. The thresholds.yml config file already defines institutionalize_handoff_score: 0.80. This script should read the configuration file and use the values from there to avoid inconsistencies and improve configurability. A new threshold for contesting a narrative should also be added to the config.


const new_claims = [...curClaims.keys()].filter((hash) => !prevClaims.has(hash));
const removed_claims = [...prevClaims.keys()].filter((hash) => !curClaims.has(hash));
const updated_claims: string[] = [];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The updated_claims array is initialized as empty and never populated. While this might be intentional for the initial scaffolding, it's worth noting that claim updates are not being tracked. If this is intended to be implemented later, a // TODO comment would be helpful to track this.

Comment on lines +16 to +24
if (candidate.score >= 0.7) {
indicators.push({
indicator_id: `ew_${sha256Hex(`${candidate.narrative_id}:${candidate.to_tier}`).slice(0, 12)}`,
narrative_id: candidate.narrative_id,
kind: "tier_handoff_watch",
severity: candidate.score >= 0.85 ? "high" : "medium",
rationale:
"Handoff score exceeded threshold; monitor for institutional uptake and policy discussion artifacts.",
});
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The thresholds for creating an early warning indicator (0.7) and setting its severity (0.85) are hardcoded. The handoff.alert_score from thresholds.yml could be used for the 0.7 threshold. These values should be read from a configuration file to make them easier to manage and adjust.

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved by Mega Merge Orchestrator

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved by Mega Merge Orchestrator

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🤖 Auto-approved by Mega Merge Orchestrator

@BrianCLong
Copy link
Copy Markdown
Owner Author

Temporarily closing to reduce Actions queue saturation and unblock #22241. Reopen after the golden-main convergence PR merges.

1 similar comment
@BrianCLong
Copy link
Copy Markdown
Owner Author

Temporarily closing to reduce Actions queue saturation and unblock #22241. Reopen after the golden-main convergence PR merges.

@BrianCLong BrianCLong closed this Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

codex Codex-owned implementation work queue:blocked

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant