Skip to content

Advance Objective-C 3.0 roadmap closure - #8239

Open
doublemover wants to merge 83 commits into
mainfrom
objc3-roadmap-integrated-closure
Open

Advance Objective-C 3.0 roadmap closure#8239
doublemover wants to merge 83 commits into
mainfrom
objc3-roadmap-integrated-closure

Conversation

@doublemover

Copy link
Copy Markdown
Owner

Summary

This branch advances Objective-C 3.0 from a Windows-focused implementation into a much more rigorously governed compiler, runtime, package, and platform-support system. It hardens the native toolchain path, adds source-owned platform evidence and promotion controls, strengthens package/install execution proof, completes sanitizer runtime-package governance, and tightens advanced runtime execution so public claims are backed by durable source, schemas, fixtures, commands, and runtime behavior.

Compiler, Runtime, And Native Execution

  • Hardened native object-emission routing around coherent LLVM discovery, llc --filetype=obj capability, target object production, and no-clang-substitute fail-closed behavior.
  • Updated compiler block lowering so local non-promoted block invocation uses the generated local block invoke thunk directly instead of reloading an indirect descriptor invoke pointer.
  • Strengthened advanced runtime closure coverage so the combined runtime fixture now exercises ownership/block/error/macro/package behavior, async task-group cancellation, scheduler executor hops, and actor mailbox enqueue/drain through the executable entrypoint.
  • Extended the advanced runtime validator and fixtures to require a durable runtime execution entrypoint plus explicit runtime observation records.
  • Refreshed source/debug/native line-table mapping for the advanced runtime closure fixture after executable-path changes.

LLVM And Toolchain Control Plane

  • Added deterministic CI LLVM setup for Windows, Linux, and Darwin host evidence paths, including explicit llvm-config, llc, clang++, llvm-readobj, archive-tool, CMake, and rooted LLVM path exports.
  • Made LLVM capability probing root-aware so mixed ambient tools cannot accidentally satisfy native object-emission requirements.
  • Hardened hosted LLVM capability summaries around coherent roots, matched tool versions, supported LLVM families, unresolved versions, missing llc, and native object-emission availability.
  • Connected hosted LLVM capability checks through the public npm run objc3c -- ... command surface.
  • Kept current-probed LLVM support source-owned and evidence-bound rather than converting tool presence into a broad version-range claim.

Platform Evidence And Promotion Architecture

  • Added a full hosted platform evidence model for Linux x64 and macOS arm64 covering host identity, toolchain probes, native build summaries, object identity, debug identity, package roots, install receipts, installed-root execution, native execution, runtime load/link proof, and generated review candidates.
  • Wired conformance-minima.yml and platform-host-evidence.yml as platform evidence gateways with per-platform evidence roots, explicit artifact uploads, and final fail-closed gates over every producer/review/upload step.
  • Added non-promoting ingestion for generated host evidence through ingest-platform-host-evidence.
  • Added reviewed-source proposal staging through review-platform-host-evidence.
  • Added checked-source support promotion through review-platform-support-promotion, with support rows promoted only from already-reviewed source inputs.
  • Made platform support boundaries source-driven instead of hardcoded Windows-only validator constants.
  • Added support for non-default supported tiers so future Linux/macOS rows can be promoted as Tier 2 without changing Windows x64 Tier 1 semantics.
  • Hardened reviewed evidence identities so positive reviewed-source record IDs replace stale .missing / .fail-closed IDs only after review.

Package, Install, And Artifact Identity

  • Centralized native artifact identity by platform so executable names, object suffixes, runtime library names, package layouts, and runtime-state publication paths use the platform model instead of Windows defaults.
  • Updated runnable package and package-channel flows to preserve POSIX executable permissions for packaged native tools.
  • Hardened package-channel validation so installed package execution launches the installed native executable from the installed root, records mode bits and loader environment, and proves the usage path without relying on repo temp artifacts.
  • Added installed-root and offline-installed-root execution records to package/install evidence and host-promotion review requirements.
  • Made package manifest executable binding payload-owned and digest-bound instead of relying on executable-name allowlists.
  • Added clean-room package provenance coverage for native frontend/build/evidence modules required by packaged execution.
  • Added fail-closed generated summaries for package/evidence failures so downstream review sees explicit failed artifacts instead of missing-path ambiguity.

Linux And macOS Host Evidence Readiness

  • Added Linux CI LLVM installation through install_objc3c_ci_llvm_linux.sh, including coherent LLVM 22 tool discovery, headers/libs, CMake config, and bin path export.
  • Added Darwin CI LLVM installation through install_objc3c_ci_llvm_darwin.sh, including Homebrew LLVM major-version enforcement and required tool verification.
  • Fixed Linux hosted evidence producer/reviewer mismatches around native build summaries, runtime library manifests, package install identity, digest forms, and runtime load evidence.
  • Fixed Darwin hosted evidence assumptions around extensionless native executable names, Mach-O runtime-load paths, LLVM setup, and platform-native package identity.
  • Added Mach-O, dSYM, install_name, @rpath, codesign, architecture, and runtime-reference proof requirements for Darwin review.
  • Added ELF/DWARF, runtime library, loader path, package-root, and native execution proof requirements for Linux review.

Sanitizer Runtime Package Governance

  • Added source-owned ASan and UBSan package/runtime/install/execution evidence contracts.
  • Added package selectors and package-channel actions for ASan and UBSan runnable toolchain variants.
  • Added sanitizer execution evidence and sanitizer runtime promotion gates that require package summaries, runtime manifests, install receipts, packaged smoke, expected detection, digest agreement, release-runtime isolation, and negative cases.
  • Kept generated sanitizer reports non-promoting and guarded unsupported hosts, stale manifests, mixed runtimes, and variant/channel mismatches.

Public Workflow And Documentation Surfaces

  • Expanded the public Objective-C 3 workflow command catalog around hosted LLVM checks, platform evidence ingestion/review/promotion, package-channel validation, and sanitizer runtime evidence.
  • Updated capability matrix, evidence map, umbrella readiness, platform toolchain runbook, packaging runbook, and README surfaces so they project from checked source truth and public commands.
  • Clarified the Objective-C 3.0 platform and package story around supported Windows x64 behavior, evidence-bound package variants, hosted evidence review, native object emission, and platform-specific artifact identities.
  • Removed direct/manual platform support claims in favor of source-owned records, schemas, fixtures, and replayable public command evidence.

Representative Validation

  • Native build and package-channel checkpoints were validated with the local coherent LLVM 22.1.6 toolchain under 2-core build caps.
  • Platform/toolchain source-truth and support-matrix checks passed across focused checkpoint batches.
  • Package manager, package operation, package registry, package-channel, release-governance, platform-host-promotion, artifact-identity, workflow command-surface, sanitizer runtime, and advanced-runtime closure tests were run in targeted batches.
  • validate-advanced-runtime-closure passed with native compile/link/run readiness and explicit runtime observation records.
  • tests/tooling/test_advanced_runtime_closure.py passed after the advanced runtime executable entrypoint hardening.
  • git diff --check was kept clean across committed checkpoints.

Expand durable compiler/runtime/package/platform capability contracts, schemas, fixtures, and public workflow evidence for the integrated roadmap branch.

Validated with npm run objc3c -- lint, targeted package/runtime/optimization/platform/docs checks, and git diff --check before committing.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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