Skip to content

Harden automation, release provenance, and project evidence - #4

Merged
Icarus603 merged 1 commit into
mainfrom
agent/harden-automation-and-releases
Aug 11, 2026
Merged

Harden automation, release provenance, and project evidence#4
Icarus603 merged 1 commit into
mainfrom
agent/harden-automation-and-releases

Conversation

@Icarus603

Copy link
Copy Markdown
Owner

What changed

  • repaired the bun-demincer authentication preflight and exit-code accounting so pair failures remain isolated but the aggregate run fails truthfully
  • repaired nightly drift reporting so failed checks make the workflow red, reuse one issue, and close it after recovery
  • removed the daemon rendezvous test race and added analyzer authentication process tests
  • added release capability and full-SHA workflow-action architecture gates, then tightened TODO, as any, and silent-failure budgets
  • added native macOS/Linux/Windows standalone boot checks, dependency review, Dependabot, CycloneDX SBOM generation, and GitHub/Sigstore provenance plus SBOM attestations
  • documented capability maturity, project history, compatibility evidence states, release security, rights boundaries, and a Chinese fintech internship case study

Why

The repository had several places where observable green status overstated reality: a Bash ! branch recorded a failed ccb invocation as exit code 0, nightly checks opened an issue while the workflow stayed green, and compatibility language collapsed decoding, semantic analysis, porting, and verification into one claim. Release checksums also lacked independent provenance and an SBOM.

This change makes failure and evidence states explicit, keeps incomplete reconstructed surfaces out of stable release flags, and strengthens the release supply chain without claiming unavailable Apple or Windows publisher credentials.

Validation

  • bun run lint — exit 0
  • bun test — 10,615 passed, 0 failed
  • bun run doctor:arch — 84 passed, 0 failed, 0 missing
  • bun run smoke — 25 passed, 0 failed
  • bun run build — passed
  • bun run build:standalone and native binary --version — passed
  • CycloneDX SBOM generation — 748 components
  • daemon rendezvous test rerun 50 times — 550 passed, 0 failed

@Icarus603
Icarus603 marked this pull request as ready for review August 11, 2026 15:10
@Icarus603
Icarus603 merged commit e596e84 into main Aug 11, 2026
5 of 6 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8976d4f43

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/generate-sbom.ts
}

function splitLocator(locator: string): { name: string; version: string } {
const separator = locator.lastIndexOf('@')

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exclude workspace locators before splitting versions

For this repository's workspace:* entries, scoped locators such as @ant/computer-use-input@workspace:packages/@ant/computer-use-input contain another @ in the path, so lastIndexOf emits the corrupted name @ant/computer-use-input@workspace:packages/ and version ant/computer-use-input; the other local workspaces are emitted with workspace:packages/... versions and empty hashes. Every release will therefore publish and attest an SBOM containing 36 bogus npm components, so detect workspace locators or model them separately before splitting registry package coordinates.

AGENTS.md reference: AGENTS.md:L68-L68

Useful? React with 👍 / 👎.

Comment thread scripts/generate-sbom.ts
}

function npmPurl(name: string, version: string): string {
return `pkg:npm/${encodeURIComponent(name)}@${encodeURIComponent(version)}`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the namespace separator in scoped npm purls

For every scoped registry package, encodeURIComponent(name) encodes the namespace separator /, producing values such as pkg:npm/%40anthropic-ai%2Fsdk@0.110.0. An npm purl represents the scope as a separate namespace segment, for example pkg:npm/%40anthropic-ai/sdk@0.110.0; the emitted form is noncanonical and prevents SBOM consumers from reliably matching these dependencies to registry or vulnerability records. Encode the scope and package name separately.

AGENTS.md reference: AGENTS.md:L68-L68

Useful? React with 👍 / 👎.

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