docs: refresh May 19 operator dashboard

This commit is contained in:
Affaan Mustafa
2026-05-19 07:58:20 -04:00
committed by Affaan Mustafa
parent c07276a347
commit d135e03da0
11 changed files with 304 additions and 21 deletions

View File

@@ -33,7 +33,8 @@ function seedRepo(rootDir, overrides = {}) {
'scripts/observability-readiness.js',
'scripts/operator-readiness-dashboard.js',
'scripts/platform-audit.js',
'scripts/preview-pack-smoke.js'
'scripts/preview-pack-smoke.js',
'scripts/release-video-suite.js'
],
scripts: {
'discussion:audit': 'node scripts/discussion-audit.js',
@@ -41,6 +42,7 @@ function seedRepo(rootDir, overrides = {}) {
'operator:dashboard': 'node scripts/operator-readiness-dashboard.js',
'platform:audit': 'node scripts/platform-audit.js',
'preview-pack:smoke': 'node scripts/preview-pack-smoke.js',
'release:video-suite': 'node scripts/release-video-suite.js',
'security:ioc-scan': 'node scripts/ci/scan-supply-chain-iocs.js',
'security:advisory-sources': 'node scripts/ci/supply-chain-advisory-sources.js'
}
@@ -52,6 +54,11 @@ function seedRepo(rootDir, overrides = {}) {
'hermes-boundary-sanitized',
'publication-blockers-preserved'
].join('\n'),
'scripts/release-video-suite.js': [
'ecc.release-video-suite.v1',
'video-source-assets-present',
'video-release-artifacts-present'
].join('\n'),
'docs/ECC-2.0-GA-ROADMAP.md': [
'https://linear.app/itomarkets/project/ecc-platform-roadmap-52b328ee03e1',
'Linear ITO-44 ITO-59',
@@ -109,6 +116,18 @@ function seedRepo(rootDir, overrides = {}) {
'PR queue',
'Not complete'
].join('\n'),
'docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-19.md': [
'This dashboard is generated by `npm run operator:dashboard`',
'operator:dashboard',
'Growth Baseline',
'hypergrowth release command center',
'Prompt-To-Artifact Checklist',
'Next Work Order',
'ITO-44',
'ITO-59',
'PR queue',
'Not complete'
].join('\n'),
'docs/releases/2.0.0-rc.1/owner-queue-cleanup-2026-05-18.md': [
'Owner-wide open PRs after cleanup: 0.',
'Owner-wide open issues after cleanup: 0.',
@@ -156,9 +175,34 @@ function seedRepo(rootDir, overrides = {}) {
'docs/releases/2.0.0-rc.1/publication-evidence-2026-05-19.md': [
'Release video suite',
'growth outreach',
'Operator dashboard',
'GitGuardian',
'macOS/Ubuntu/Windows test matrix',
'2544 passed'
'2544 passed',
'Business baseline',
'$1,728/mo',
'$8,272/mo'
].join('\n'),
'docs/releases/2.0.0/ecc-2-hypergrowth-release-command-center.md': [
'harness-native operator system',
'| MRR | `$1,728/mo` | `$10,000/mo` | `$8,272/mo` |',
'Video Suite',
'Distribution Plan',
'Owner Approvals'
].join('\n'),
'docs/releases/2.0.0-rc.1/video-suite-production.md': [
'ECC 2.0 Video Suite Production Manifest',
'Primary launch video',
'Self-Eval Gate',
'timeline'
].join('\n'),
'docs/releases/2.0.0-rc.1/partner-sponsor-talks-pack.md': [
'Sponsor Outbound',
'Platform Partner DM',
'Consulting Intro',
'Talk And Podcast Pitch',
'GitHub Discussion Announcement',
'Do Not Send Or Publish If'
].join('\n'),
'.github/workflows/supply-chain-watch.yml': 'name: Supply-Chain Watch supply-chain-advisory-sources.js supply-chain-advisory-sources.json'
};
@@ -308,6 +352,35 @@ function runTests() {
&& item.evidence.includes('release publication checklist')
&& item.gap === 'real tag/push, marketplace submission, and final channel choice remain approval-gated'
)));
assert.deepStrictEqual(report.growth, {
currentMrr: '$1,728/mo',
targetMrr: '$10,000/mo',
gapMrr: '$8,272/mo',
lanes: [
'GitHub Sponsors and OSS partner sponsors',
'ECC Tools Pro subscriptions',
'consulting and implementation contracts',
'talks, podcasts, conference demos, and partner webinars',
],
});
assert.ok(report.requirements.some(item => (
item.id === 'hypergrowth-command-center'
&& item.status === 'current'
&& item.evidence.includes('current MRR')
&& item.gap === 'refresh after every MRR, channel, or approval-state change before public launch'
)));
assert.ok(report.requirements.some(item => (
item.id === 'release-video-suite'
&& item.status === 'in_progress'
&& item.evidence.includes('deterministic video-suite gate')
&& item.gap === 'render final owner-approved MP4s, captions, platform reframes, and editable timeline before posting'
)));
assert.ok(report.requirements.some(item => (
item.id === 'partner-sponsor-talks-pack'
&& item.status === 'in_progress'
&& item.evidence.includes('sponsor outbound')
&& item.gap === 'replace final URLs after publication gates, then get explicit approval before outbound or personal-account posts'
)));
assert.ok(report.requirements.some(item => (
item.id === 'supply-chain-local-protection'
&& item.artifact.includes('AgentShield package-manager hardening')
@@ -328,8 +401,11 @@ function runTests() {
&& item.gap === 'repeat Linear/project status update and local work-items sync after each significant merge batch'
)));
assert.ok(report.top_actions.some(item => item.id === 'naming-and-plugin-publication'));
assert.ok(report.top_actions.some(item => item.id === 'release-video-suite'));
assert.ok(report.top_actions.some(item => item.id === 'partner-sponsor-talks-pack'));
assert.ok(!report.top_actions.some(item => item.id === 'ecc-preview-pack'));
assert.ok(!report.top_actions.some(item => item.id === 'hermes-specialized-skills'));
assert.ok(!report.top_actions.some(item => item.id === 'hypergrowth-command-center'));
assert.ok(!report.top_actions.some(item => item.id === 'legacy-salvage'));
assert.ok(!report.top_actions.some(item => item.id === 'linear-roadmap-and-progress'));
} finally {
@@ -526,6 +602,8 @@ function runTests() {
assert.strictEqual(stdout, written);
assert.ok(written.includes('# ECC Operator Readiness Dashboard'));
assert.ok(written.includes('Generated: 2026-05-15T00:00:00.000Z'));
assert.ok(written.includes('## Growth Baseline'));
assert.ok(written.includes('| MRR | $1,728/mo | $10,000/mo | $8,272/mo |'));
assert.ok(written.includes('## Prompt-To-Artifact Checklist'));
assert.ok(written.includes('Build ITO-44 completion dashboard into a repeatable command'));
assert.ok(written.includes('## Next Work Order'));
@@ -550,6 +628,7 @@ function runTests() {
assert.ok(stdout.includes('work remaining'));
assert.ok(stdout.includes('Dashboard ready: true'));
assert.ok(stdout.includes('Publication ready: false'));
assert.ok(stdout.includes('MRR: $1,728/mo -> $10,000/mo (gap $8,272/mo)'));
assert.ok(stdout.includes('Top actions:'));
assert.ok(stdout.includes('naming-and-plugin-publication'));
} finally {

View File

@@ -65,12 +65,15 @@ function seedRepo(rootDir, overrides = {}) {
'docs/releases/2.0.0-rc.1/publication-evidence-2026-05-19.md': [
'Release video suite',
'growth outreach',
'Operator dashboard',
'GitGuardian',
'macOS/Ubuntu/Windows test matrix',
'2544 passed'
].join('\n'),
'docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-18.md': [
'docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-19.md': [
'This dashboard is generated by `npm run operator:dashboard`',
'Growth Baseline',
'hypergrowth release command center',
'Prompt-To-Artifact Checklist',
'ITO-44',
'ITO-59',