Skip to content

chore: sync workflow templates - #33

Merged
stranske merged 1 commit into
mainfrom
sync/workflows-delivery
Sep 20, 2026
Merged

stranske merged 1 commit into
mainfrom
sync/workflows-delivery

Conversation

@stranske

@stranske stranske commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Sync Summary

Files Updated

  • agents-81-gate-followups.yml: Gate followups hub - keepalive and autofix; budgets count Gate failures with failed jobs
  • registry.yml: Agent registry - source of truth for agent keys and runner workflow mapping
  • agent_registry.js: Agent registry helper - loads registry and resolves agent key from labels
  • llm_registry.py: LLM model registry helper - shared slot/model selection and blocked-model enforcement
  • MODEL_SELECTION_POLICY.md: Auditable auxiliary-model evaluation, selection, and refresh policy
  • model_registry.json: Model registry - available LLM models and their capabilities

Review Checklist

  • CI passes with updated workflows
  • No repo-specific customizations were overwritten

Source: stranske/Workflows
Source SHA: 11300195bb4e7cf3135d1211a11a850efac10dba
Template hash: 06a120993a95
Consumer-sync plan ID: sha256:06a120993a957a893fe17371c60d54d88847c55ae27664e8bfd99515e0855596
Plan scope: source-delta
Scope base SHA: 3ed8bc0a6dbe41d961ba28cf15bf94a54f4679d1
Sync phase: promote
Sync branch: sync/workflows-delivery
Consumer repo: stranske/Doc-Lineage
Manifest: .github/sync-manifest.yml

autofix: false

Copilot AI lite review requested due to automatic review settings September 17, 2026 05:55
@stranske stranske added automated Automated sync from Workflows sync Automated sync from Workflows workflow:source-sync PR source is a sync or maintenance campaign sync:delivery-staging Generated delivery is mutable and must not merge labels Sep 17, 2026
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🚫 Review skipped — only excluded labels are configured. (7)
  • sync
  • workflow:source-sync
  • workflow:source-maintenance
  • consumer-sync
  • integration-sync
  • workflows-sync
  • template-sync

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: stranske/Doc-Lineage/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Essentials

Run ID: 761be5a2-1536-4374-a027-f385dad6ff13

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@stranske
stranske deployed to agent-standard September 17, 2026 05:55 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 17, 2026 05:55 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 17, 2026 05:55 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 17, 2026 05:55 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown
Contributor

Workflow state fingerprint for Keepalive Loop Reporter. Do not edit.

@stranske-keepalive

stranske-keepalive Bot commented Sep 17, 2026

Copy link
Copy Markdown

Automated Status Summary

Head SHA: 4086442
Latest Runs: ⏳ pending — Gate
Required: core tests (3.12): ⏳ pending, core tests (3.13): ⏳ pending, docker smoke: ⏳ pending, gate: ⏳ pending

Workflow / Job Result Logs
(no jobs reported) ⏳ pending

Coverage Overview

  • Coverage history entries: 1

Coverage Trend

Metric Value
Current 90.45%
Baseline ⚠️ not configured (absent)
Delta n/a — nothing to compare against
Minimum 70.00%
Status ✅ Pass

No baseline was read (absent), so the delta above is not a measurement. Status reflects only the --minimum floor. Write config/coverage-baseline.json with a line or coverage percentage to enable the comparison; that file is deliberately not synced from Workflows, so each repo owns its own.

Top Coverage Hotspots (lowest coverage)

File Coverage Missing
src/doc_lineage/extract/ocr.py 57.4% 16
src/doc_lineage/extract/__init__.py 73.1% 9
src/doc_lineage/extract/cache.py 74.2% 16
src/doc_lineage/harvest/edgar_ex10.py 74.5% 37
src/doc_lineage/schema/_finite.py 77.8% 4
src/doc_lineage/emit/evidence.py 86.7% 3
src/doc_lineage/extract/pdf.py 86.7% 9
src/doc_lineage/extract/office.py 87.3% 3
src/doc_lineage/schema/change_ledger.py 89.1% 16
src/doc_lineage/mutations/detect.py 90.9% 1
src/doc_lineage/adapters/docling_segmenter.py 91.2% 16
src/doc_lineage/schema/validation.py 93.3% 4
src/doc_lineage/compare/classify.py 95.5% 3
src/doc_lineage/render/links.py 96.0% 2
src/doc_lineage/manifest.py 97.1% 3

Updated automatically; will refresh on subsequent CI/Docker completions.


Keepalive checklist

Scope

No scope information available

Tasks

  • No tasks defined

Acceptance criteria

  • No acceptance criteria defined

@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Workflow state fingerprint for Agents Gate Followups. Do not edit.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Review found a critical fallback-reservation loop and moderate persistence and rate-limit handling issues.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Synchronizes shared workflow templates and runner utilities from Workflows into Doc-Lineage.

Changes:

  • Extends run-contract and capability-bundle validation.
  • Updates runner dispatch, attempt tracking, and completion persistence.
  • Refines deliberate-break parsing.
  • Updates cross-repository wakeup handling.
File summaries
File Summary
scripts/validate_run_contract.py Validates run-contract envelopes and capability-bundle schemas.
scripts/runner_lib/core.py Updates dispatch and completion persistence; contains critical fallback-reservation and moderate completion-reporting issues.
scripts/check_deliberate_break.py Refines deliberate-break marker parsing.
.github/workflows/agents-81-gate-followups.yml Updates wakeup handling; 403 responses may incorrectly bypass retries.
Review details

Suppressed comments (4)

.github/workflows/agents-81-gate-followups.yml:2248

  • GitHub also uses HTTP 403 for secondary/rate-limit responses, not only missing authorization. Treating every 403 as skipped-unauthorized bypasses the retry path and silently drops the generated-delivery wakeup during throttling. Distinguish permission/not-found failures from rate-limited 403s (for example by honoring rate-limit headers) before returning this sentinel.
                  if ([403, 404].includes(status)) {
                    core.warning(
                      `Generated-delivery wakeup skipped: repository_dispatch to stranske/Workflows ` +
                        `returned ${status} (token: WRITE_TOKEN fallback chain). ` +
                        `Error: ${error?.message || error}`,
                    );
                    return SKIPPED_UNAUTHORIZED;

scripts/runner_lib/core.py:1300

  • The ownership check above is not atomic with this write. If a newer workflow attempt reserves the same PR after the read at line 1245 but before this write, this unconditional update can overwrite its workflow_attempt_id and pending reservation with the stale completion, defeating the new stale-attempt fence. Use a compare-and-set/conditional update (or re-read and abort under a storage-level lock/ETag) before committing the completion.
    try:
        completion_storage.write_record(pr_number, provider, record)
    except Exception as exc:

scripts/runner_lib/core.py:1444

  • This new output reports recorded=true for every normal return, but RepoVariableRunnerStorage.write_record treats 401/403 as a skipped write and returns normally (lines 943-948). Thus record-completion --storage repo-variable can claim the completion was persisted when it was not; propagate the backend's write outcome or raise on the skipped write before setting this flag.
        "recorded": "false" if record.get("completion_recorded") is False else "true",

scripts/runner_lib/core.py:1252

  • The verified due-authority-challenge path in agents-81-gate-followups.yml bypasses should-dispatch and launches the runner without creating a reservation. With this guard, the subsequent completion sees no primary record and returns completion_recorded=false, so every authority-challenge run is silently dropped and cannot update the debounce/productivity state. Reserve that forced run before launching it, or carry an explicit challenge/force mode through completion so it can be recorded safely.
    if uses_fallback and prior_record is None:
        return _unrecorded_completion({}, key, "authoritative-reservation-missing")
  • Files reviewed: 4/4 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/runner_lib/core.py Outdated
@stranske
stranske force-pushed the sync/workflows-delivery branch from 0af115b to ee6f8a1 Compare September 18, 2026 05:55
@stranske
stranske deployed to agent-standard September 18, 2026 05:55 — with GitHub Actions Active
@stranske
stranske force-pushed the sync/workflows-delivery branch from ee6f8a1 to fdcb4b6 Compare September 19, 2026 05:56
@stranske
stranske deployed to agent-standard September 19, 2026 05:56 — with GitHub Actions Active
@stranske
stranske force-pushed the sync/workflows-delivery branch from fdcb4b6 to b2ccabe Compare September 19, 2026 17:10
@stranske
stranske deployed to agent-standard September 19, 2026 17:11 — with GitHub Actions Active
@stranske stranske added the sync:delivery-ready Generated delivery is sealed to its exact reviewed head label Sep 19, 2026
@stranske
stranske deployed to agent-standard September 19, 2026 18:54 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 19, 2026 18:54 — with GitHub Actions Active
@stranske
stranske deployed to agent-high-privilege September 19, 2026 18:54 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 19, 2026 18:55 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 19, 2026 18:55 — with GitHub Actions Active
@stranske stranske removed the sync:delivery-ready Generated delivery is sealed to its exact reviewed head label Sep 20, 2026
@stranske
stranske force-pushed the sync/workflows-delivery branch from b2ccabe to 931076d Compare September 20, 2026 02:43
@stranske
stranske deployed to agent-standard September 20, 2026 02:43 — with GitHub Actions Active
@stranske stranske added the sync:delivery-ready Generated delivery is sealed to its exact reviewed head label Sep 20, 2026
@stranske
stranske deployed to agent-standard September 20, 2026 03:10 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:10 — with GitHub Actions Active
@stranske
stranske deployed to agent-high-privilege September 20, 2026 03:10 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:10 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:10 — with GitHub Actions Active
@stranske stranske removed the sync:delivery-ready Generated delivery is sealed to its exact reviewed head label Sep 20, 2026
Automated sync from stranske/Workflows
Template hash: 06a120993a95

Changes synced from sync-manifest.yml
Consumer-sync plan ID: sha256:06a120993a957a893fe17371c60d54d88847c55ae27664e8bfd99515e0855596
Plan scope: source-delta
Scope base SHA: 3ed8bc0a6dbe41d961ba28cf15bf94a54f4679d1
Source commit: 11300195bb4e7cf3135d1211a11a850efac10dba
Canary evidence JSON (base64): eyJzY2hlbWEiOiJ3b3JrZmxvd3MuY29uc3VtZXItc3luYy1jYW5hcnktZXZpZGVuY2UvdjEiLCJ2ZXJzaW9uIjoxLCJyZXN1bHRzIjpbeyJyZXBvIjoic3RyYW5za2UvVHJhdmVsLVBsYW4tUGVybWlzc2lvbiIsInBsYW5faWQiOiJzaGEyNTY6MDZhMTIwOTkzYTk1N2E4OTNmZTE3MzcxYzYwZDU0ZDg4ODQ3YzU1YWUyNzY2NGU4YmZkOTk1MTVlMDg1NTU5NiIsInBsYW5fc2NvcGUiOiJzb3VyY2UtZGVsdGEiLCJzY29wZV9iYXNlX3NoYSI6IjNlZDhiYzBhNmRiZTQxZDk2MWJhMjhjZjE1YmY5NGE1NGY0Njc5ZDEiLCJzb3VyY2VfY29tbWl0IjoiMTEzMDAxOTViYjRlN2NmMzEzNWQxMjExYTExYTg1MGVmYWMxMGRiYSIsInByIjoxNTgyLCJoZWFkX3NoYSI6ImMzNzA3NWRlZWUzNGUwNzMyMDU2OGIyODNhOTdjYjViZDk3NGRlYzMiLCJldmlkZW5jZV9zb3VyY2UiOiJvcGVuLWNhbmRpZGF0ZSIsInJlcXVpcmVkX2NoZWNrX3N0YXRlIjoic3VjY2VzcyIsImFjdGl2ZV9yZXZpZXdfdGhyZWFkX2NvdW50IjowfSx7InJlcG8iOiJzdHJhbnNrZS90cmlwLXBsYW5uZXIiLCJwbGFuX2lkIjoic2hhMjU2OjA2YTEyMDk5M2E5NTdhODkzZmUxNzM3MWM2MGQ1NGQ4ODg0N2M1NWFlMjc2NjRlOGJmZDk5NTE1ZTA4NTU1OTYiLCJwbGFuX3Njb3BlIjoic291cmNlLWRlbHRhIiwic2NvcGVfYmFzZV9zaGEiOiIzZWQ4YmMwYTZkYmU0MWQ5NjFiYTI4Y2YxNWJmOTRhNTRmNDY3OWQxIiwic291cmNlX2NvbW1pdCI6IjExMzAwMTk1YmI0ZTdjZjMxMzVkMTIxMWExMWE4NTBlZmFjMTBkYmEiLCJwciI6MTgyMSwiaGVhZF9zaGEiOiJkYjM2NjY1ZjQ5YmRiYTdhODM3ODViMDYxZmViMmNlMzVhMzg0NTc4IiwiZXZpZGVuY2Vfc291cmNlIjoib3Blbi1jYW5kaWRhdGUiLCJyZXF1aXJlZF9jaGVja19zdGF0ZSI6InN1Y2Nlc3MiLCJhY3RpdmVfcmV2aWV3X3RocmVhZF9jb3VudCI6MH0seyJyZXBvIjoic3RyYW5za2UvUG9ydGFibGUtQWxwaGEtRXh0ZW5zaW9uLU1vZGVsIiwicGxhbl9pZCI6InNoYTI1NjowNmExMjA5OTNhOTU3YTg5M2ZlMTczNzFjNjBkNTRkODg4NDdjNTVhZTI3NjY0ZThiZmQ5OTUxNWUwODU1NTk2IiwicGxhbl9zY29wZSI6InNvdXJjZS1kZWx0YSIsInNjb3BlX2Jhc2Vfc2hhIjoiM2VkOGJjMGE2ZGJlNDFkOTYxYmEyOGNmMTViZjk0YTU0ZjQ2NzlkMSIsInNvdXJjZV9jb21taXQiOiIxMTMwMDE5NWJiNGU3Y2YzMTM1ZDEyMTFhMTFhODUwZWZhYzEwZGJhIiwicHIiOjIyOTksImhlYWRfc2hhIjoiMjQ3YjYzYWI2MDNjYTMyNmI4ODgxNTM0ZWZlNGVhMGFlYjYyYTU3ZiIsImV2aWRlbmNlX3NvdXJjZSI6Im9wZW4tY2FuZGlkYXRlIiwicmVxdWlyZWRfY2hlY2tfc3RhdGUiOiJzdWNjZXNzIiwiYWN0aXZlX3Jldmlld190aHJlYWRfY291bnQiOjB9XX0=
@stranske
stranske force-pushed the sync/workflows-delivery branch from 931076d to 96c3055 Compare September 20, 2026 03:20
@stranske
stranske deployed to agent-standard September 20, 2026 03:20 — with GitHub Actions Active
@stranske stranske added the sync:delivery-ready Generated delivery is sealed to its exact reviewed head label Sep 20, 2026
@stranske
stranske deployed to agent-standard September 20, 2026 03:46 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:46 — with GitHub Actions Active
@stranske
stranske deployed to agent-high-privilege September 20, 2026 03:46 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:47 — with GitHub Actions Active
@stranske
stranske deployed to agent-standard September 20, 2026 03:47 — with GitHub Actions Active
@stranske
stranske merged commit 35a3571 into main Sep 20, 2026
126 of 129 checks passed
@stranske stranske removed the sync:delivery-staging Generated delivery is mutable and must not merge label Sep 20, 2026
@stranske
stranske deleted the sync/workflows-delivery branch September 20, 2026 03:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated sync from Workflows sync:delivery-ready Generated delivery is sealed to its exact reviewed head sync Automated sync from Workflows workflow:source-sync PR source is a sync or maintenance campaign

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants