docs: record owner-wide queue cleanup

This commit is contained in:
Affaan Mustafa
2026-05-18 06:16:45 -04:00
parent feeaa97511
commit 08807e7fd6
6 changed files with 125 additions and 16 deletions

View File

@@ -24,6 +24,12 @@ As of 2026-05-18:
local `docs/drafts/` directory. The May 18 sync also refreshed local `docs/drafts/` directory. The May 18 sync also refreshed
`scripts/work-items.js sync-github` across all five tracked repos, leaving `scripts/work-items.js sync-github` across all five tracked repos, leaving
no open or blocked local work items. no open or blocked local work items.
- Owner-wide queue cleanup is also inside the requested budget:
`docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md` records the
live `gh search` sweep that closed 24 stale dependency-bot PRs and 72 stale
legacy payments/0EM roadmap issues, leaving 9 open PRs and 5 open issues
across the `affaan-m` owner namespace. Archived repos touched during stale
PR closure were restored to archived state.
- GitHub discussions are current across those tracked repos: - GitHub discussions are current across those tracked repos:
`affaan-m/everything-claude-code` has 58 total discussions and 0 without `affaan-m/everything-claude-code` has 58 total discussions and 0 without
maintainer touch after May 15 maintainer updates on #73 and #1239; AgentShield, maintainer touch after May 15 maintainer updates on #73 and #1239; AgentShield,

View File

@@ -2,8 +2,8 @@
This dashboard is generated by `npm run operator:dashboard`. It is an operator snapshot, not release approval. This dashboard is generated by `npm run operator:dashboard`. It is an operator snapshot, not release approval.
Generated: 2026-05-18T09:38:23.764Z Generated: 2026-05-18T10:14:46.229Z
Commit: 5e8f412cb53f7a979d60aefc39978bbf79ac0bf3 Commit: feeaa97511afc274675374fba2f40631a4a099a7
Status: work remaining Status: work remaining
## Current Status ## Current Status
@@ -13,16 +13,16 @@ Status: work remaining
| PR queue | Current | 0 open PRs across tracked repos | | PR queue | Current | 0 open PRs across tracked repos |
| Issue queue | Current | 0 open issues across tracked repos | | Issue queue | Current | 0 open issues across tracked repos |
| Discussions | Current | 0 need maintainer touch; 0 missing accepted answer | | Discussions | Current | 0 need maintainer touch; 0 missing accepted answer |
| Local worktree | Current | 0 blocking dirty files; 1 ignored dirty entries | | Local worktree | Needs work | 5 blocking dirty files; 1 ignored dirty entries |
| Dashboard generation | Current | platform audit ready: true; GitHub skipped: false | | Dashboard generation | Needs work | platform audit ready: false; GitHub skipped: false |
| Publication | Not complete | release, npm, plugin, billing, and announcement gates are tracked below | | Publication | Not complete | release, npm, plugin, billing, and announcement gates are tracked below |
## Prompt-To-Artifact Checklist ## Prompt-To-Artifact Checklist
| Objective requirement | Artifact or gate | Status | Evidence | Gap | | Objective requirement | Artifact or gate | Status | Evidence | Gap |
| --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- |
| Keep public PRs below 20 | scripts/platform-audit.js live GitHub sweep | current | 0 open PRs across 5 tracked repos | repeat before release | | Keep public PRs below 20 | scripts/platform-audit.js live GitHub sweep plus owner-wide queue cleanup ledger | current | 0 open PRs across 5 tracked repos; 9 owner-wide open PRs after cleanup | repeat platform:audit and owner-wide gh search before release |
| Keep public issues below 20 | scripts/platform-audit.js live GitHub sweep | current | 0 open issues across 5 tracked repos | repeat before release | | Keep public issues below 20 | scripts/platform-audit.js live GitHub sweep plus owner-wide queue cleanup ledger | current | 0 open issues across 5 tracked repos; 5 owner-wide open issues after cleanup | repeat platform:audit and owner-wide gh search before release |
| Respond and manage repository discussions | scripts/platform-audit.js discussion summary | current | 0 need maintainer touch; 0 answerable discussions missing accepted answer | repeat before release | | Respond and manage repository discussions | scripts/platform-audit.js discussion summary | current | 0 need maintainer touch; 0 answerable discussions missing accepted answer | repeat before release |
| Build ITO-44 completion dashboard into a repeatable command | npm run operator:dashboard | complete | operator:dashboard package script exists | keep generated dashboard attached to publication evidence | | Build ITO-44 completion dashboard into a repeatable command | npm run operator:dashboard | complete | operator:dashboard package script exists | keep generated dashboard attached to publication evidence |
| ECC 2.0 preview pack ready | docs/releases/2.0.0-rc.1/preview-pack-manifest.md | current | preview pack manifest and deterministic smoke gate are in-tree | repeat clean-checkout preview-pack smoke before publication | | ECC 2.0 preview pack ready | docs/releases/2.0.0-rc.1/preview-pack-manifest.md | current | preview pack manifest and deterministic smoke gate are in-tree | repeat clean-checkout preview-pack smoke before publication |

View File

@@ -0,0 +1,49 @@
# Owner-Wide Queue Cleanup - 2026-05-18
This note records the live GitHub queue cleanup outside the five ECC release
repos tracked by `scripts/platform-audit.js`.
## Commands
```bash
gh search prs --owner affaan-m --state open --json repository,number,title,url,author,updatedAt --limit 100
gh search issues --owner affaan-m --state open --json repository,number,title,url,updatedAt --limit 100
```
## Result
- Owner-wide open PRs after cleanup: 9.
- Owner-wide open issues after cleanup: 5.
- Stale dependency-bot PRs closed: 24.
- Stale legacy payments/0EM roadmap issues closed: 72.
- Archived repos temporarily unarchived for stale dependency PR closure and
restored to archived state:
`affaan-m/stoictradingAI`, `affaan-m/dprc-autotrader-v2`,
`affaan-m/polycule-secure`, and `affaan-m/pragmAItism_defAInce`.
## Remaining Open PRs
- `affaan-m/dprc-autotrader-v2#5`: feat: add dprc-autotrader-v2 ECC bundle
- `affaan-m/x-algorithm-score#2`: Add onboarding flow, history tracking, and dashboard analytics
- `affaan-m/dexploy#28`: feat: add dexploy skill
- `affaan-m/zenith#5`: feat: add zenith skill
- `affaan-m/zenith#4`: fix: unchecked race condition in websocket to webhook stream
- `affaan-m/affaan-m#1`: Update README.md
- `affaan-m/affaanmustafa.com#1`: Update name in Wrangler configuration file to match deployed Worker
- `affaan-m/0em-payments-dashboard#11`: Update name in Wrangler configuration file to match deployed Worker
- `affaan-m/0em-payments-dashboard#3`: Update name in Wrangler configuration file to match deployed Worker
## Remaining Open Issues
- `affaan-m/dprc-autotrader-v2#3`: MEEET STATE - On-Chain Economy for AI Agents
- `affaan-m/stoictradingAI#20`: Quick Q: your #1 friction in Solana bot execution?
- `affaan-m/dexploy#27`: Generate Skill from Repo Analysis
- `affaan-m/dexploy#25`: Progress on the deployments problem so far
- `affaan-m/telegram-mcp-ts#1`: review the updates and the workflow before connection with the frontend
## Disposition
The closed dependency PRs were stale generated version bumps and should be
regenerated from current bases if still needed. The closed legacy payments/0EM
issues were old planning items superseded by the ECC Tools native-payments,
hosted analysis, billing-readback, and Linear/project roadmap lanes.

View File

@@ -108,6 +108,21 @@ porting.
| #1682/#1701 | Strategic compact hook-path fixes were merged directly or superseded by current docs fixes. | | #1682/#1701 | Strategic compact hook-path fixes were merged directly or superseded by current docs fixes. |
| JARVIS #4/#5/#6 | Stale failing dependency-only PRs; future dependency state should be regenerated by Dependabot. | | JARVIS #4/#5/#6 | Stale failing dependency-only PRs; future dependency state should be regenerated by Dependabot. |
## 2026-05-18 Owner-Wide Queue Cleanup
The ECC release repos were already clean, but an owner-wide `gh search` sweep
found stale queues in older public/private projects. The cleanup closed 24
stale dependency-bot PRs and 72 stale legacy payments/0EM roadmap issues,
leaving 9 open PRs and 5 open issues across the `affaan-m` owner namespace.
The detailed before/after evidence and remaining queue are recorded in
`docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md`.
| Scope | Disposition |
| --- | --- |
| Dependabot PRs in `stoictradingAI`, `Behavioral_RL`, `dprc-autotrader-v2`, `x-algorithm-score`, `polycule-secure`, and `pragmAItism_defAInce` | Skipped as stale generated dependency bumps; regenerate from current base if still needed. |
| Legacy issues in `payments0-api`, `payments0-sdk`, `agent-payments-gateway`, `0EM_Frontend`, `0em-payments-dashboard`, and `yield-optimizer` | Superseded by ECC Tools native-payments, hosted analysis, billing-readback, and Linear/project roadmap lanes. |
| Archived repos touched for PR closure | `stoictradingAI`, `dprc-autotrader-v2`, `polycule-secure`, and `pragmAItism_defAInce` were restored to archived state after stale PR closure. |
## Skipped ## Skipped
| Source PR | Reason | | Source PR | Reason |

View File

@@ -512,6 +512,17 @@ function buildRequirement(id, requirement, artifact, status, evidence, gap) {
return { id, requirement, artifact, status, evidence, gap }; return { id, requirement, artifact, status, evidence, gap };
} }
function extractLabeledCount(text, label) {
const pattern = new RegExp(`${label.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}:\\s*(\\d+)`, 'i');
const match = text.match(pattern);
if (!match) {
return null;
}
const parsed = Number.parseInt(match[1], 10);
return Number.isFinite(parsed) ? parsed : null;
}
function isCurrentOrComplete(status) { function isCurrentOrComplete(status) {
return status === 'current' || status === 'complete'; return status === 'current' || status === 'complete';
} }
@@ -521,6 +532,7 @@ function buildRequirements(rootDir, platformReport) {
const publicationReadiness = readText(rootDir, 'docs/releases/2.0.0-rc.1/publication-readiness.md'); const publicationReadiness = readText(rootDir, 'docs/releases/2.0.0-rc.1/publication-readiness.md');
const namingMatrix = readText(rootDir, 'docs/releases/2.0.0-rc.1/naming-and-publication-matrix.md'); const namingMatrix = readText(rootDir, 'docs/releases/2.0.0-rc.1/naming-and-publication-matrix.md');
const releaseUrlLedger = readText(rootDir, 'docs/releases/2.0.0-rc.1/release-url-ledger-2026-05-18.md'); const releaseUrlLedger = readText(rootDir, 'docs/releases/2.0.0-rc.1/release-url-ledger-2026-05-18.md');
const ownerQueueCleanup = readText(rootDir, 'docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md');
const previewManifest = readText(rootDir, 'docs/releases/2.0.0-rc.1/preview-pack-manifest.md'); const previewManifest = readText(rootDir, 'docs/releases/2.0.0-rc.1/preview-pack-manifest.md');
const previewPackSmoke = readText(rootDir, 'scripts/preview-pack-smoke.js'); const previewPackSmoke = readText(rootDir, 'scripts/preview-pack-smoke.js');
const progressSync = readText(rootDir, 'docs/architecture/progress-sync-contract.md'); const progressSync = readText(rootDir, 'docs/architecture/progress-sync-contract.md');
@@ -550,9 +562,22 @@ function buildRequirements(rootDir, platformReport) {
&& fileExists(rootDir, 'skills/hermes-imports/SKILL.md'); && fileExists(rootDir, 'skills/hermes-imports/SKILL.md');
const githubLive = !platformReport.github.skipped && platformReport.github.totals.errors === 0; const githubLive = !platformReport.github.skipped && platformReport.github.totals.errors === 0;
const queuesCurrent = githubLive const ownerWideOpenPrs = extractLabeledCount(ownerQueueCleanup, 'Owner-wide open PRs after cleanup');
&& platformReport.github.totals.openPrs <= platformReport.thresholds.maxOpenPrs const ownerWideOpenIssues = extractLabeledCount(ownerQueueCleanup, 'Owner-wide open issues after cleanup');
const trackedPrQueueCurrent = githubLive
&& platformReport.github.totals.openPrs <= platformReport.thresholds.maxOpenPrs;
const trackedIssueQueueCurrent = githubLive
&& platformReport.github.totals.openIssues <= platformReport.thresholds.maxOpenIssues; && platformReport.github.totals.openIssues <= platformReport.thresholds.maxOpenIssues;
const ownerPrQueueCurrent = ownerWideOpenPrs === null
|| ownerWideOpenPrs <= platformReport.thresholds.maxOpenPrs;
const ownerIssueQueueCurrent = ownerWideOpenIssues === null
|| ownerWideOpenIssues <= platformReport.thresholds.maxOpenIssues;
const ownerPrEvidence = ownerWideOpenPrs === null
? ''
: `; ${ownerWideOpenPrs} owner-wide open PRs after cleanup`;
const ownerIssueEvidence = ownerWideOpenIssues === null
? ''
: `; ${ownerWideOpenIssues} owner-wide open issues after cleanup`;
const discussionsCurrent = githubLive const discussionsCurrent = githubLive
&& platformReport.github.totals.discussionsNeedingMaintainerTouch === 0 && platformReport.github.totals.discussionsNeedingMaintainerTouch === 0
&& platformReport.github.totals.discussionsMissingAcceptedAnswer === 0; && platformReport.github.totals.discussionsMissingAcceptedAnswer === 0;
@@ -561,22 +586,30 @@ function buildRequirements(rootDir, platformReport) {
buildRequirement( buildRequirement(
'public-pr-budget', 'public-pr-budget',
'Keep public PRs below 20', 'Keep public PRs below 20',
'scripts/platform-audit.js live GitHub sweep', ownerWideOpenPrs === null
queuesCurrent ? 'current' : 'in_progress', ? 'scripts/platform-audit.js live GitHub sweep'
: 'scripts/platform-audit.js live GitHub sweep plus owner-wide queue cleanup ledger',
trackedPrQueueCurrent && ownerPrQueueCurrent ? 'current' : 'in_progress',
githubLive githubLive
? `${platformReport.github.totals.openPrs} open PRs across ${platformReport.github.repos.length} tracked repos` ? `${platformReport.github.totals.openPrs} open PRs across ${platformReport.github.repos.length} tracked repos${ownerPrEvidence}`
: 'live GitHub queue readback was skipped or failed', : 'live GitHub queue readback was skipped or failed',
queuesCurrent ? 'repeat before release' : 'run live platform:audit and drain PR queue' trackedPrQueueCurrent && ownerPrQueueCurrent
? 'repeat platform:audit and owner-wide gh search before release'
: 'run live platform:audit and owner-wide gh search, then drain PR queue'
), ),
buildRequirement( buildRequirement(
'public-issue-budget', 'public-issue-budget',
'Keep public issues below 20', 'Keep public issues below 20',
'scripts/platform-audit.js live GitHub sweep', ownerWideOpenIssues === null
queuesCurrent ? 'current' : 'in_progress', ? 'scripts/platform-audit.js live GitHub sweep'
: 'scripts/platform-audit.js live GitHub sweep plus owner-wide queue cleanup ledger',
trackedIssueQueueCurrent && ownerIssueQueueCurrent ? 'current' : 'in_progress',
githubLive githubLive
? `${platformReport.github.totals.openIssues} open issues across ${platformReport.github.repos.length} tracked repos` ? `${platformReport.github.totals.openIssues} open issues across ${platformReport.github.repos.length} tracked repos${ownerIssueEvidence}`
: 'live GitHub queue readback was skipped or failed', : 'live GitHub queue readback was skipped or failed',
queuesCurrent ? 'repeat before release' : 'run live platform:audit and drain issue queue' trackedIssueQueueCurrent && ownerIssueQueueCurrent
? 'repeat platform:audit and owner-wide gh search before release'
: 'run live platform:audit and owner-wide gh search, then drain issue queue'
), ),
buildRequirement( buildRequirement(
'repository-discussions', 'repository-discussions',

View File

@@ -95,6 +95,12 @@ function seedRepo(rootDir, overrides = {}) {
'PR queue', 'PR queue',
'Not complete' 'Not complete'
].join('\n'), ].join('\n'),
'docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md': [
'Owner-wide open PRs after cleanup: 9.',
'Owner-wide open issues after cleanup: 5.',
'Stale dependency-bot PRs closed: 24.',
'Stale legacy payments/0EM roadmap issues closed: 72.'
].join('\n'),
'docs/HERMES-SETUP.md': 'Hermes setup Public Release Candidate Scope', 'docs/HERMES-SETUP.md': 'Hermes setup Public Release Candidate Scope',
'skills/hermes-imports/SKILL.md': 'Hermes imports Sanitization Checklist Do not ship raw workspace exports Output Contract', 'skills/hermes-imports/SKILL.md': 'Hermes imports Sanitization Checklist Do not ship raw workspace exports Output Contract',
'docs/stale-pr-salvage-ledger.md': [ 'docs/stale-pr-salvage-ledger.md': [