Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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" + '
ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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('^' + ".*" + ' ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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('^' + ".*" + ' ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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" + ' ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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('^' + ".*" + ' ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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('^' + ".*" + ' ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han
, '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); } })(); })(); ci: enforce Astryx inventory for code changes by liuxiaocs7 · Pull Request #3647 · apache/maka · GitHub
Skip to content

ci: enforce Astryx inventory for code changes - #3647

Merged
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage
Aug 23, 2026
Merged

ci: enforce Astryx inventory for code changes#3647
Astro-Han merged 1 commit into
apache:mainfrom
liuxiaocs7:fix/astryx-inventory-ci-coverage

Conversation

@liuxiaocs7

@liuxiaocs7liuxiaocs7 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

While validating the Desktop build fix in #3643, we found that the generated Astryx surface inventory still reported 204 files even though the current path list and table contain 206. Because the gate was selected only for direct Astryx-surface changes, repository-wide drift could escape ordinary code validation.

  • Refresh the generated total to 206 files.
  • Run the Astryx inventory for every code validation while preserving the inventory-only path.
  • Place the inexpensive gate before Build so drift is reported directly.
  • Add workflow contract regression coverage.

Fixes#3646

Verification

Passed locally:

  • node --test scripts/ci-test-plan.test.mjs (30/30)
  • npm run astryx:surface-inventory (206 files)
  • npm run lint
  • npm run format:check
  • npm run build
  • npm run typecheck
  • git diff --check

Also attempted NODE_NO_WARNINGS=1 npm test. The suites covering this change passed, while the repository-wide run remained non-green on three unrelated checks: an existing UI deferred-activation assertion, a Runtime Host real-model terminal timeout, and a Python test that uses Python 3.10 union syntax on the local Python 3.9.6 runtime.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: OpenAI Codex helped diagnose the CI coverage gap, implement the workflow and regression-test changes, and draft the issue and PR text.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
@liuxiaocs7

Copy link
Copy Markdown
MemberAuthor

Hi, @Astro-Han, could you help take a look when free, thanks!

@Astro-HanAstro-Han 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.

Reviewed at exact head f046172ab9661d648116394c6887ae4368eb0bd9. No P0–P3 findings. The gate remains scoped by the existing planner: ordinary documentation-only changes keep code=false and do not run it, inventory artifacts run through astryx_surface, and code changes run the repository-wide regenerate-and-diff check before Build. The committed 206-file inventory regenerates byte-for-byte; planner tests pass 30/30, and the exact-head test check is terminal green.

@Astro-Han
Astro-Han merged commit 33e6b7d into apache:mainAug 23, 2026
1 check passed
mikemikimike pushed a commit to mikemikimike/maka that referenced this pull request Aug 23, 2026
Refresh the stale surface count and run the repository-wide inventory gate before Build whenever code validation is selected.
Fixesapache#3646
Generated-by: OpenAI Codex
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.

ci: keep the Astryx surface inventory gate globally enforced

2 participants

@liuxiaocs7@Astro-Han