fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end) - #58

Open
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification
Open

fix(intake): fire welcome + case brief on the label race (closes the #44 dead-end)#58
michaeloboyle wants to merge 1 commit into
agenticsorg:mainfrom
michaeloboyle:fix/label-race-intake-notification

Conversation

@michaeloboyle

Copy link
Copy Markdown
Collaborator

Problem

Real submissions dead-end at status:pending-review. #44 (Brad Ross / bar181, "AI Symbolic Protocol", opened 2026-08-10) is the live proof: 11 days, no committee case brief, no notification, no score. Zero real upstream submissions have ever moved past pending-review.

Root cause (verified from the Actions history): on 2026-08-10T16:26 when #44 opened, both On Submission and Governance Agent ran and → skipped. Both are gated on issues: types: [opened] + contains(labels, 'status:pending-review'). The project-submission template applies that label at creation, but it is not reliably present in the opened event payload (a well-known GitHub race), so the guard is false and the workflow skips, then never re-fires. pages.yml survived only because it also listens to the labeled event.

Fix

Add labeled to the issues trigger on both workflows and guard on:

(action == 'labeled' && label.name == 'status:pending-review')
|| (action == 'opened' && contains(labels, 'status:pending-review'))

Plus an idempotency check in each script (skip if the welcome / case brief is already posted) so opened and labeled cannot double-post.

Verification done

  • YAML parses (both files).
  • Trigger logic fires exactly once in both the race path (opened skips, labeled runs) and the non-race path (opened runs, labeled short-circuits on the idempotency guard).

Not covered here (follow-ups filed)

🤖 Generated with Claude Code

CopilotAI lite review requested due to automatic review settings August 21, 2026 22:57
…ticsorg#44 dead-end)
on-submission and governance-agent gated only on issues:[opened] with a
label check for status:pending-review. The project-submission template
applies that label at creation, but it is not reliably present in the
opened event payload (GitHub race), so both workflows SKIPPED on real
submissions (verified on agenticsorg#44, 2026-08-10: both runs skipped, no welcome,
no case brief, no committee notification). pages.yml survived only because
it also listens to the labeled event.
Fix: add labeled to the issues trigger and guard on
(action==labeled && label.name==pending-review) || (action==opened && has-label),
plus an idempotency check (skip if welcome / case brief already posted) so
the two events cannot double-post.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@michaeloboyle
michaeloboyleforce-pushed the fix/label-race-intake-notification branch from c2c5331 to 7c8c18bCompareAugust 21, 2026 23:00

CopilotAI left a comment

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.

Pull request overview

This PR fixes a GitHub Issues label race that caused real project submissions to stall at status:pending-review by ensuring the intake workflows run when the status:pending-review label is applied (via labeled), while adding script-level idempotency guards to avoid double-posting.

Changes:

  • Update On Submission workflow to trigger on issues.labeled as well as issues.opened, with an action-aware guard for status:pending-review.
  • Update Governance Agent workflow similarly, adding an idempotency check before generating/posting the case brief.
  • Append a new RVF attestation transition entry and normalize the existing JSONL line formatting.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

FileDescription
data/rvf/attestation.jsonlAdds/normalizes case-brief-generated transition entries for the RVF audit trail.
.github/workflows/on-submission.ymlAdds labeled trigger + guarded condition and a welcome-post idempotency check for intake.
.github/workflows/governance-agent.ymlAdds labeled trigger + guarded condition and a case-brief idempotency check to prevent duplicates.

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

Comment on lines 44 to 46
concurrency:
group: case-brief-${{ github.event.issue.number }}
cancel-in-progress: true
Comment on lines 16 to +20
triage:
runs-on: ubuntu-latest
if: contains(github.event.issue.labels.*.name, 'status:pending-review')
if: >-
(github.event.action == 'labeled' && github.event.label.name == 'status:pending-review') ||
(github.event.action == 'opened' && contains(github.event.issue.labels.*.name, 'status:pending-review'))
Sign up for freeto 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.

2 participants

@michaeloboyle