Skip to content

Remove obsolete CAO materializer and retired CLI references - #20738

Merged
pelikhan merged 7 commits into
mainfrom
pelikhan/cao-mjs-command-audit
Nov 13, 2026
Merged

pelikhan merged 7 commits into
mainfrom
pelikhan/cao-mjs-command-audit

Conversation

@pelikhan

Copy link
Copy Markdown
Collaborator

The retired activity/cao.mjs CLI left stale callers and documentation, while the JavaScript runtime materializer duplicated installation responsibilities now owned by native gh cao commands.

Approach

  • Delete materialize-cao.mjs and the setup-cao-runtime action; move artifact packaging, sealing, and validation into the runtime build script.
  • Leave runtime acquisition to native gh cao setup and gh cao update. Bare installer runs install the control plane only; local source materialization is no longer supported.
  • Port remaining callers and tests, remove obsolete manifest entries and CI filters, regenerate the affected workflow lock, and update installation and acquisition documentation.

Historical audit text and the intentional retired-launcher test fixture retain legacy CLI references.

Validation

Passed CAO typecheck and lint, installer tests (108), workflow contract tests (315), runtime artifact and installation tests, Go CLI tests, simulator vet, ShellCheck at warning severity, workflow compilation (79 workflows), and documentation build.

Full unit validation is not green: environmental failures include missing disposable PostgreSQL configuration, macOS Bash lacking mapfile, and temporary-directory cleanup errors. Representative failures also reproduce without these changes. Credential-dependent campaign lifecycle and opt-in simulator integration journeys were not run.

pelikhan and others added 2 commits November 12, 2026 15:53
Runtime packaging moves into scripts/build-cao-runtime.mjs. The installer no
longer materializes the runtime; native gh cao setup/update stage the attested
artifact. Drop the setup-cao-runtime action and local source materialization.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document native acquisition as the compaction replacement and remove the
obsolete local-source installation path from the architecture.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan marked this pull request as ready for review November 13, 2026 00:05
@pelikhan
pelikhan requested a review from mnkiefer as a code owner November 13, 2026 00:05

@github-actions github-actions Bot 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.

Workflow validator results

  • npm run test:unit: fail
  • npm run test:integration: fail
  • npm run test:load: pass
  • agentic-workflows compile: pass (all workflows valid, no errors or warnings)
  • npm run docs:build: pass

Unit test failures

Many canvas/dashboard tests (for example tests/unit/dashboard-bundled-resources.test.mjs:83, dashboard-canvas-go-host.test.mjs:27) fail with: Canvas tests require an explicitly configured disposable POSTGRES_URL. This looks environmental (no PostgreSQL provisioned in the validator run); confirm they pass in CI with POSTGRES_URL set.

Integration test failures

  • tests/integration/control-inventory-credentials.test.mjs:572 (credential verification is opt-in and cannot reach the validation issue reporter): TypeError: Cannot read properties of undefined (reading 'if') at line 577.
  • tests/integration/dashboard-inventory-ingestion.test.mjs:1: SyntaxError: The requested module '../../dashboard/report/inventory-sources.mjs' does not provide an export named 'discoverRepositories'. This is a code-level failure; restore the export or update the test/importers.

Generated by Workflow PR Validator for #20738 · copilot · auto (Claude Sonnet 5.5) · ~14 AIC · ⌖ ~1 AIC · ⊞ 9.3K

pelikhan and others added 5 commits November 12, 2026 16:30
Use a relative archive filename from its staging directory so GNU tar does not interpret Windows drive letters as remote hosts. Extend producer regression coverage to enforce the portable invocation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Keep native runtime acquisition query arguments out of cmd.exe by restoring executable-first PATHEXT ordering. The existing gh.exe fixture forwards arguments directly to bash without shell query-string splitting.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Normalize filesystem paths before resolving esbuild output dependencies and emitting web asset paths. Cover Windows separators, lazy/external imports, cyclic dependencies, and fail-closed missing chunks.

Keep the recovery test lease valid through live-container assertions, then shorten it explicitly for the restart phase. Allow database and container setup before exercising the command timeout so all recovery scenarios reach their intended boundary.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor
Dashboard dead views

Dead element views (0):
Dead dashboard pages (0):
Analyzed 8 element renderers and 74 dashboard pages across 1 dashboard.json file(s) from dashboard/site/src/components/ui-elements.js.

⚠️ This reachability report is informational and does not block the pull request.
🔎 View the workflow run and report artifact.

@pelikhan
pelikhan merged commit 6b37c52 into main Nov 13, 2026
74 checks passed
@pelikhan
pelikhan deleted the pelikhan/cao-mjs-command-audit branch November 13, 2026 01:29
Sign up for free to 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.

1 participant