[BUG] Native terminal migration leaves bootstrap audit contracts stale #4

Closed
opened 2026-09-17 22:40:23 +02:00 by erikinkinen · 0 comments
Owner

Summary

The native terminal-generation migration updates Rootd's release source but leaves
the semantic bootstrap baseline and operation-ownership contract naming the
retired native wait selector. Both original push and PR CI runs fail their audit
gate after the Rust checks and production boundary have passed.

Reproduction

Check out 08e636e8bb1f182b8e4a21e39174651dcf508f6e, prepare its declared
immutable dependency graph using the checked-in CI workflow, and run:

python3 scripts/bootstrap_baseline.py --target-dir target/production-boundary

Both original CI runs reproduce the failure. The later operation-ownership
validator has not run in those workflows because the baseline step stops the job.

Expected and actual behavior

Expected: the reviewed baseline describes compiler-qualified release sources,
and the ownership matrix binds the currently used native operation exactly once.
Actual: the baseline command exits 1 with bootstrap semantic baseline changed.
Release source uses IPC_KERNEL_CONTROL_OP_WAIT_PROCESS_TERMINAL_EVENT, while
both audit documents retain IPC_KERNEL_CONTROL_OP_WAIT_PROCESS_EVENT.
Measured release-active lines change from 15,248 to 15,239. Other semantic
inventory fields are unchanged. Compiler and binary-size fields are reported
separately and are not comparable across compiler revisions.

Environment and identity

  • Component: Rootd 08e636e8bb1f182b8e4a21e39174651dcf508f6e.
  • Integration dependency: 0db8a679f5d1acb50d9ff92e003cec91f145dfc8.
  • Configuration: rootd-runtime-release-image, x86_64-unknown-none.
  • Original CI compiler: Rust 1.93.1, LLVM 21.1.8, Linux x86_64 runner.
  • This is a host audit/build gate; no guest execution or added authority is needed.
  • The preceding audit record describes the earlier native wait operation; its
    exact last passing workflow is not asserted here.

Evidence and prior checks

CI 1025 and
CI 1026 both fail at
the same gate. Four complete terminal job logs total 256,068 bytes and contain
no warning candidates. Rust checks, Python checker tests and production artifact
boundary checks pass before this failure; Markdown passes. The local generic
Rust matrix omitted the repository-specific bootstrap validators. Review and
update the measured contract, then run every omitted validator and observe the
corrected revision's original CI. Do not retry unchanged workflows or weaken the
baseline comparison.

Bootstrap audit reconciliation — 17 September 2026: Signed correction 4265aab899d08782e97aaca6b28632b574b6f948 updates the baseline, ownership
matrix and the validator's independent native-operation list. The release-active
line count is 15,239; other semantic inventory fields match the original records.
The 4,352-byte audit artifact uses Rust 1.97.1 and is not compared with sizes
from different compilers. All 62 Python tests, development-console checks,
production boundary and baseline/threat/phase/operation validators pass. Rust
and Cargo sources exactly retain the full strict 425/424-unit matrix. The
original failed workflows remain failed; both corrected original runs are
under observation. Ordinary service-image adoption remains open.

The first local audit correction exposed the independent validator's
stale selector: 61 of 62 Python tests passed, and the exact matrix check failed.
That failure is retained; correcting the selector makes all 62 pass without
relaxing any group, source, owner or capability comparison. The technical
manual's baseline figures are updated and its complete rebuild is under review.

Corrected original audit CI — 17 September 2026: Original CI 1027
and CI 1028 pass at
4265aab899d08782e97aaca6b28632b574b6f948. All four terminal logs are complete,
218,052 bytes, with no warning candidates. The exact local semantic audit,
62 Python controls, production boundary and console checks pass as well. The
updated testing manual is signed at Docs 10ea454ebab2cb0ca465cedf52ff619c1fc7efd4;
45 tests, its complete PDF, final warnings, all word bounds and the changed page
review pass. This closes only the stale audit-contract regression #4. Original
1025/1026 stays failed; ordinary image and realm execution remain open.

Tracking

Related work: #1 and #2. Close after the reviewed audit documents, complete local
repository checks and both original corrected CI workflows pass. Ordinary
service-image adoption and complete guest builds remain separate acceptance gates.

## Summary The native terminal-generation migration updates Rootd's release source but leaves the semantic bootstrap baseline and operation-ownership contract naming the retired native wait selector. Both original push and PR CI runs fail their audit gate after the Rust checks and production boundary have passed. ## Reproduction Check out `08e636e8bb1f182b8e4a21e39174651dcf508f6e`, prepare its declared immutable dependency graph using the checked-in CI workflow, and run: ```sh python3 scripts/bootstrap_baseline.py --target-dir target/production-boundary ``` Both original CI runs reproduce the failure. The later operation-ownership validator has not run in those workflows because the baseline step stops the job. ## Expected and actual behavior Expected: the reviewed baseline describes compiler-qualified release sources, and the ownership matrix binds the currently used native operation exactly once. Actual: the baseline command exits 1 with `bootstrap semantic baseline changed`. Release source uses `IPC_KERNEL_CONTROL_OP_WAIT_PROCESS_TERMINAL_EVENT`, while both audit documents retain `IPC_KERNEL_CONTROL_OP_WAIT_PROCESS_EVENT`. Measured release-active lines change from 15,248 to 15,239. Other semantic inventory fields are unchanged. Compiler and binary-size fields are reported separately and are not comparable across compiler revisions. ## Environment and identity - Component: Rootd `08e636e8bb1f182b8e4a21e39174651dcf508f6e`. - Integration dependency: `0db8a679f5d1acb50d9ff92e003cec91f145dfc8`. - Configuration: `rootd-runtime-release-image`, `x86_64-unknown-none`. - Original CI compiler: Rust 1.93.1, LLVM 21.1.8, Linux x86_64 runner. - This is a host audit/build gate; no guest execution or added authority is needed. - The preceding audit record describes the earlier native wait operation; its exact last passing workflow is not asserted here. ## Evidence and prior checks [CI 1025](https://git.erikinkinen.fi/erix/rootd/actions/runs/1025) and [CI 1026](https://git.erikinkinen.fi/erix/rootd/actions/runs/1026) both fail at the same gate. Four complete terminal job logs total 256,068 bytes and contain no warning candidates. Rust checks, Python checker tests and production artifact boundary checks pass before this failure; Markdown passes. The local generic Rust matrix omitted the repository-specific bootstrap validators. Review and update the measured contract, then run every omitted validator and observe the corrected revision's original CI. Do not retry unchanged workflows or weaken the baseline comparison. Bootstrap audit reconciliation — 17 September 2026: Signed correction `4265aab899d08782e97aaca6b28632b574b6f948` updates the baseline, ownership matrix and the validator's independent native-operation list. The release-active line count is 15,239; other semantic inventory fields match the original records. The 4,352-byte audit artifact uses Rust 1.97.1 and is not compared with sizes from different compilers. All 62 Python tests, development-console checks, production boundary and baseline/threat/phase/operation validators pass. Rust and Cargo sources exactly retain the full strict 425/424-unit matrix. The original failed workflows remain failed; both corrected original runs are under observation. Ordinary service-image adoption remains open. The first local audit correction exposed the independent validator's stale selector: 61 of 62 Python tests passed, and the exact matrix check failed. That failure is retained; correcting the selector makes all 62 pass without relaxing any group, source, owner or capability comparison. The technical manual's baseline figures are updated and its complete rebuild is under review. Corrected original audit CI — 17 September 2026: Original [CI 1027](https://git.erikinkinen.fi/erix/rootd/actions/runs/1027) and [CI 1028](https://git.erikinkinen.fi/erix/rootd/actions/runs/1028) pass at `4265aab899d08782e97aaca6b28632b574b6f948`. All four terminal logs are complete, 218,052 bytes, with no warning candidates. The exact local semantic audit, 62 Python controls, production boundary and console checks pass as well. The updated testing manual is signed at Docs `10ea454ebab2cb0ca465cedf52ff619c1fc7efd4`; 45 tests, its complete PDF, final warnings, all word bounds and the changed page review pass. This closes only the stale audit-contract regression #4. Original 1025/1026 stays failed; ordinary image and realm execution remain open. ## Tracking Related work: #1 and #2. Close after the reviewed audit documents, complete local repository checks and both original corrected CI workflows pass. Ordinary service-image adoption and complete guest builds remain separate acceptance gates.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
erix/rootd#4
No description provided.