Fix Codex minimum admission and verified installed package (#45) #48

Merged
mathieu merged 3 commits from work/issue-45-echec-de-compilation-alors-que-la-vesrion-de-par into main 2026-09-06 17:26:20 +00:00
Owner

Closes #45 on human merge. The tested package candidate fixes the Codex 0.153.4 version-only rejection; no workstation upgrade, automatic merge or AUR publication is claimed. The original Paru preparation hurdle was reported passed by Mathieu in comment 1818; no new Paru policy change is included.

Changes

  • Apply accepted #46 / ADR-0046 in execution issue #45: strict stable codex-cli MAJOR.MINOR.PATCH, inclusive minimum 0.150.1, numeric comparison without overflow or upper ceiling. Reject old, prerelease, suffixed and malformed banners; LF/CRLF accepted, bare CR rejected.
  • Preserve sandbox, empty stdin, private working directory, bounded diagnostics/report validation, timeout/signals, retry/skip/cancel and human decision. No audit bypass or new backend.
  • Publish package candidate 0.1.0.r5.gd42be9f-1, pinned to signed source d42be9f2e3, archive SHA-256 c363282770c188c24da75f4a8c4ba06dd2d55f5dacf42478b1250371ba64d6b7. Generated .SRCINFO matches byte-for-byte.
  • Extend the existing package gate to exercise fake Codex 0.153.4 through installed /usr/bin/auroscope, not just the workspace binary. Align README, package README, specification, status and dependency evidence.

TDD and actual verification

  • Source RED logs from the implementation lane reread: old allowlist rejects 0.153.4/future versions; bare-CR normalization regression subsequently reproduced and fixed. Existing admission/rejection matrix GREEN.
  • Installed package RED: modified package test built/installed old 0.1.0.r4.gd0ad113-3, then failed with unsupported Codex CLI version "codex-cli 0.153.4"; supported versions are 0.150.1 and 0.151.0; container exit 1.
  • Installed package GREEN: same test after pin/version/checksum update builds, runs Go check(), installs 0.1.0.r5.gd42be9f-1 and reaches validated review with fake 0.153.4; exit 0 / AURoscope package build/install smoke passed. Stable-Paru fail-fast, compatible provider, external/non-Pacman Codex, metadata, installed ownership/modes, passthrough and guard failure also pass.
  • CGO_ENABLED=1 go test ./... -count=1 — PASS; go vet ./... — PASS. Default Go suite explicitly skips the opt-in live test rather than reporting it as run.
  • Authenticated official real Codex 0.153.4 TestCodexReal01534AuditContract independently rerun with the actual production client — PASS 26.81s, locally validated report. Upstream verification lane also passed 20.79s. Official complete package SHA-256 a822187e1a2420c61c5926721bfbd878701ed95547c9bb0d4de4498a16ba1821 rechecked.
  • Direct sandbox probe: same inert Python command reads input and writes a marker outside sandbox (positive control); under codex sandbox -c 'sandbox_mode="read-only"', reading succeeds but write fails with OS error 30 Read-only file system, exit 1, no marker. This is real direct filesystem enforcement, not a model claim.
  • AUROSCOPE_E2E_DISPOSABLE_ARCH=1 scripts/e2e-disposable-arch.sh — PASS.
  • AUROSCOPE_E2E_SUPPORTED_PARU=1 scripts/e2e-supported-paru.sh — PASS, container exit 0, pinned real Paru 9ac3578807a87858651e81a02586ceb947686e7c. Real hello build/install, edit/re-audit, drift refusal, skip without build and official tree installation without a new Codex audit. This gate uses fake Codex and source-built AURoscope, distinct from the installed-package gate.
  • Documentation regressions RED then GREEN; shell syntax, git diff --check, .SRCINFO regeneration parity and namcap PKGBUILD in disposable Arch — PASS, no namcap diagnostics.
  • Independent read-only delivery review reported no blocking correctness/security finding; pin ancestry/archive content, package parity and installed 0.153.4 exercise checked. Parent independently verified the results.

Resolved interventions

The old HTTP401 came from an unauthenticated profile-isolated environment. Mathieu 2164 designated the authenticated host; HOME=/home/mathieu CODEX_HOME=/home/mathieu/.codex works. No token contents read/copied/published; Forgejo and signed commits remain Hephaistos.

Mathieu explicitly authorized the disposable PKGBUILD gates in #45 (comment) . The former blanket prohibition came from the generated Kanban task, not the repository's narrower audit-time rule. Gates were run only after that authorization. No recipe execution during audit and no host Pacman transaction.

Review guidance and residual risks

  • Preserve pinned source d42be9f in merge history: use a normal merge (or another history-preserving method), not squash/rebase-and-delete that may orphan the archive source. No tag created.
  • Future stable versions are admitted, not automatically qualified. Successful schema output alone is not a security guarantee. Real 0.153.4 qualification is bounded to the observed audit/host and direct sandbox behavior, not every tool, network/configuration combination or future version.
  • A separate model-driven write probe was inconclusive: only agent_message self-report, no command_execution event. Its claimed denial is excluded from passed evidence; the direct OS probe above is independently observed.
  • Selection-colour PR #49 is unmerged and NOT included. Both lanes flagged packaging/aur/PKGBUILD; no concurrent colour pin was overwritten. When #49 advances its package, base its snapshot on the merged Codex fix so neither change is lost.
  • The packaged README is from the immutable d42be9f source and describes its then-candidate state; current recipe metadata and this evidence describe the new package revision.
  • Upstream license remains undeclared (LicenseRef-Unspecified), unchanged from the existing self-hosted package.

Signed Hephaistos commits: implementation 235916f34a; authenticated evidence d42be9f2e3; packaging and final docs ebe01d6964. Only work/issue-45-echec-de-compilation-alors-que-la-vesrion-de-par pushed; branch includes current main. No merge/tag/main push.

Closes #45 on human merge. The tested package candidate fixes the Codex 0.153.4 version-only rejection; no workstation upgrade, automatic merge or AUR publication is claimed. The original Paru preparation hurdle was reported passed by Mathieu in comment 1818; no new Paru policy change is included. ## Changes - Apply accepted #46 / ADR-0046 in execution issue #45: strict stable `codex-cli MAJOR.MINOR.PATCH`, inclusive minimum 0.150.1, numeric comparison without overflow or upper ceiling. Reject old, prerelease, suffixed and malformed banners; LF/CRLF accepted, bare CR rejected. - Preserve sandbox, empty stdin, private working directory, bounded diagnostics/report validation, timeout/signals, retry/skip/cancel and human decision. No audit bypass or new backend. - Publish package candidate **0.1.0.r5.gd42be9f-1**, pinned to signed source **d42be9f2e3b06579e08c37631a8ff17ebc8db2e3**, archive SHA-256 **c363282770c188c24da75f4a8c4ba06dd2d55f5dacf42478b1250371ba64d6b7**. Generated .SRCINFO matches byte-for-byte. - Extend the existing package gate to exercise fake Codex 0.153.4 through installed `/usr/bin/auroscope`, not just the workspace binary. Align README, package README, specification, status and dependency evidence. ## TDD and actual verification - Source RED logs from the implementation lane reread: old allowlist rejects 0.153.4/future versions; bare-CR normalization regression subsequently reproduced and fixed. Existing admission/rejection matrix GREEN. - **Installed package RED:** modified package test built/installed old 0.1.0.r4.gd0ad113-3, then failed with `unsupported Codex CLI version "codex-cli 0.153.4"; supported versions are 0.150.1 and 0.151.0`; container exit 1. - **Installed package GREEN:** same test after pin/version/checksum update builds, runs Go check(), installs 0.1.0.r5.gd42be9f-1 and reaches validated review with fake 0.153.4; exit 0 / `AURoscope package build/install smoke passed`. Stable-Paru fail-fast, compatible provider, external/non-Pacman Codex, metadata, installed ownership/modes, passthrough and guard failure also pass. - `CGO_ENABLED=1 go test ./... -count=1` — PASS; `go vet ./...` — PASS. Default Go suite explicitly skips the opt-in live test rather than reporting it as run. - Authenticated official **real Codex 0.153.4** `TestCodexReal01534AuditContract` independently rerun with the actual production client — **PASS 26.81s**, locally validated report. Upstream verification lane also passed 20.79s. Official complete package SHA-256 a822187e1a2420c61c5926721bfbd878701ed95547c9bb0d4de4498a16ba1821 rechecked. - Direct sandbox probe: same inert Python command reads input and writes a marker outside sandbox (positive control); under `codex sandbox -c 'sandbox_mode="read-only"'`, reading succeeds but write fails with OS error 30 Read-only file system, exit 1, no marker. This is real direct filesystem enforcement, not a model claim. - `AUROSCOPE_E2E_DISPOSABLE_ARCH=1 scripts/e2e-disposable-arch.sh` — PASS. - `AUROSCOPE_E2E_SUPPORTED_PARU=1 scripts/e2e-supported-paru.sh` — PASS, container exit 0, pinned real Paru 9ac3578807a87858651e81a02586ceb947686e7c. Real hello build/install, edit/re-audit, drift refusal, skip without build and official tree installation without a new Codex audit. This gate uses fake Codex and source-built AURoscope, distinct from the installed-package gate. - Documentation regressions RED then GREEN; shell syntax, `git diff --check`, .SRCINFO regeneration parity and `namcap PKGBUILD` in disposable Arch — PASS, no namcap diagnostics. - Independent read-only delivery review reported no blocking correctness/security finding; pin ancestry/archive content, package parity and installed 0.153.4 exercise checked. Parent independently verified the results. ## Resolved interventions The old HTTP401 came from an unauthenticated profile-isolated environment. Mathieu 2164 designated the authenticated host; HOME=/home/mathieu CODEX_HOME=/home/mathieu/.codex works. No token contents read/copied/published; Forgejo and signed commits remain Hephaistos. Mathieu explicitly authorized the disposable PKGBUILD gates in https://git.2027a.net/2027a/auroscope/issues/45#issuecomment-2187 . The former blanket prohibition came from the generated Kanban task, not the repository's narrower audit-time rule. Gates were run only after that authorization. No recipe execution during audit and no host Pacman transaction. ## Review guidance and residual risks - Preserve pinned source d42be9f in merge history: use a normal merge (or another history-preserving method), not squash/rebase-and-delete that may orphan the archive source. No tag created. - Future stable versions are admitted, not automatically qualified. Successful schema output alone is not a security guarantee. Real 0.153.4 qualification is bounded to the observed audit/host and direct sandbox behavior, not every tool, network/configuration combination or future version. - A separate model-driven write probe was **inconclusive**: only agent_message self-report, no command_execution event. Its claimed denial is excluded from passed evidence; the direct OS probe above is independently observed. - Selection-colour PR #49 is unmerged and NOT included. Both lanes flagged packaging/aur/PKGBUILD; no concurrent colour pin was overwritten. When #49 advances its package, base its snapshot on the merged Codex fix so neither change is lost. - The packaged README is from the immutable d42be9f source and describes its then-candidate state; current recipe metadata and this evidence describe the new package revision. - Upstream license remains undeclared (`LicenseRef-Unspecified`), unchanged from the existing self-hosted package. Signed Hephaistos commits: implementation 235916f34adfac0d12fcf7efd7c84ab477a77dd9; authenticated evidence d42be9f2e3b06579e08c37631a8ff17ebc8db2e3; packaging and final docs ebe01d6964bf535e2c64f50f411b65563932b360. Only work/issue-45-echec-de-compilation-alors-que-la-vesrion-de-par pushed; branch includes current main. No merge/tag/main push.
Owner
Required intervention: authenticate Codex for the Hephaistos environment, or designate an authorized authenticated environment for this exact opt-in test; do not paste credentials in the issue. This enables real qualification, not automatic package approval.

done, keep working on it !

``` Required intervention: authenticate Codex for the Hephaistos environment, or designate an authorized authenticated environment for this exact opt-in test; do not paste credentials in the issue. This enables real qualification, not automatic package approval. ``` done, keep working on it !
hephaistos changed title from WIP: fix Codex minimum admission (#45); qualification blocked to Fix Codex minimum admission and verified installed package (#45) 2026-09-06 15:58:07 +00:00
Author
Owner

Revue finale Hephaistos t_49f961e7 sur la tête exacte ebe01d6964 : aucun défaut bloquant trouvé. Contrat ADR-0046, diff d’admission/rejet, absence de bypass, source immuable et métadonnées relus. Tests Codex ciblés, suite Go complète non cachée, vet, syntaxe des scripts et diff-check rejoués PASS. Audit réel officiel 0.153.4 rejoué via le client de production : PASS 16,15 s avec rapport validé. Checksums Codex/source et trois signatures Hephaistos vérifiés; source d42be9f ancêtre, code cmd/internal identique à la tête, .SRCINFO identique à la génération conservée.

Les journaux amont package RED (ancien pin refuse 0.153.4), GREEN (r5.gd42be9f-1 installé/revue réussie), vrai Paru et sandbox OS ont été inspectés; ces gates Arch/sandbox n’ont pas été rejoués dans cette passe de revue. La sonde model-driven inconclusive reste exclue. PR prête pour revue/fusion humaine, sans fusion ni mise à jour du poste par l’agent. Préserver d42be9f dans l’historique et conserver ce correctif lors du futur pin couleurs PR49.

Revue finale Hephaistos t_49f961e7 sur la tête exacte ebe01d6964bf535e2c64f50f411b65563932b360 : aucun défaut bloquant trouvé. Contrat ADR-0046, diff d’admission/rejet, absence de bypass, source immuable et métadonnées relus. Tests Codex ciblés, suite Go complète non cachée, vet, syntaxe des scripts et diff-check rejoués PASS. Audit réel officiel 0.153.4 rejoué via le client de production : PASS 16,15 s avec rapport validé. Checksums Codex/source et trois signatures Hephaistos vérifiés; source d42be9f ancêtre, code cmd/internal identique à la tête, .SRCINFO identique à la génération conservée. Les journaux amont package RED (ancien pin refuse 0.153.4), GREEN (r5.gd42be9f-1 installé/revue réussie), vrai Paru et sandbox OS ont été inspectés; ces gates Arch/sandbox n’ont pas été rejoués dans cette passe de revue. La sonde model-driven inconclusive reste exclue. PR prête pour revue/fusion humaine, sans fusion ni mise à jour du poste par l’agent. Préserver d42be9f dans l’historique et conserver ce correctif lors du futur pin couleurs PR49.
mathieu deleted branch work/issue-45-echec-de-compilation-alors-que-la-vesrion-de-par 2026-09-06 17:26:20 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/auroscope!48
No description provided.