Experiment formal owner fixture constructor plan - kmosoti/FabricO11y GitHub Wiki

Same-code native fixture constructor preparation

Prospective only. Fenn ran no tests, imports, constructor, validator or workload. Olo recorded the named missing-feature red at trust head 319df134484b25abf9185302c28552f0da2b090c: exit1/stopped, missing fixture source validator; logSHA256 e4fee4de6f82febf1ef6ea7d3cb39de280766a15a189cd3ad0d7de25aef12c02. This is absence evidence, not transform rejection.

Historical implementation head ab7ecea6c4fdbeee1d49af0633977ff0ced234ed, clean branch milestone/owner-walkthrough-harness; production +223/-22, net +201. Paths/hashes: tools/packaging/build_candidate_rpm.py 06bbcc7d3f2954affbcdb26be79417306b22655d1a359c89575d9b2ed2f961de; tools/packaging/payload.py 7d0c72a801ef8c05647b84c4debbf9a88710a139aa35f30e1fe85a841371dff4; packaging/build-rpm.sh f245284304eac4dcc0d7b585ce5446a7d921eb687602cc62c395e87d0ff4e8c5. Current clean trust head is f98a3bff2e0eea99610c3a0c184c5ec768d2aeb5; merge 851c69614e427d4c2ff4499b6ea69c3c2d07451e has parents ab7ecea6 and main de77de7399710c5afd50ae0de981fda6e0b75f30, preserving published history and including console changes/all33 existing packaging tests. Trust amendment adds literal SF2–4 controls and changes zero production lines. Registered fixture SHA256 8a1c5d8661ae373f800012257e06ee33ed6a2af17b8784ef02f22a3b83bbed09; protocol ef33d9be8b83ea7530c08a87e1d727206cb2f275bfcb9f10bfd0de87ef67a5a7; packaging tests 1396f48f2bbf7292a856bfe09d6dcbcec1a7492abef53dad1fecb5d60991deb4; payload tests 45bd4ab20bd7b2c601b8ae9270e9c5e625bc5111d3bbd0c738046117cd56379f are prospective, not run. Constructor/payload/RPM builder hashes remain unchanged. No full walkthrough/browser orchestrator is implemented.

Actual read-only inputs: frozen 8fb6f413179b094288316e25845c137440ba23fa, epoch1791841113, minimized source 73ff77867d10ef521ca985b094e1d177f7786b77. DEB A receiptSHA256 b10a4e4c2d83d8dbed7c1d6e74673fd377a83123fc1bce31fffc97e034beb9af, packageSHA256 8edfc7709f4b5dc3da01c00a1d8c442470298e96f8c8e502cfb14e8c9e713e92. RPM A receiptSHA256 eadbbd217804efdeae217fe04d4800c9482cc23650942860df4d756e45ac8434, packageSHA256 a54f55e7bf1b2230e026b49d6b86023778a9648ae49b11c6bcb0d558db34a840, embedded canonical provenanceSHA256 97fb6cee881033db7e4bacb15e43358d330126eaa9731ba3e685e8d24778eeb4.

Root executes serially through a clean-head-bound driver, with a fresh census and full1GiB storage reservation per cell. Unique receipt labels/output refuse reuse. These commands are NOT RUN by Fenn:

python3 -B /run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-a.py owner-walkthrough-constructor-green-01 1073741824 env PYTHONPATH=/run/media/kmosoti/data/FabricO11y/scratch/owner-walkthrough-harness/tools/packaging python3 -B -m unittest test_packaging.PackageTests.test_same_code_fixture_source_and_literal_transform_controls
python3 -B /run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-a.py owner-walkthrough-packaging-controls-01 1073741824 env PYTHONPATH=/run/media/kmosoti/data/FabricO11y/scratch/owner-walkthrough-harness/tools/packaging python3 -B -m unittest test_packaging test_payload
python3 -B /run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-a.py owner-walkthrough-fixture-transform-01 1073741824 python3 -B /run/media/kmosoti/data/FabricO11y/scratch/owner-walkthrough-harness/tools/packaging/build_candidate_rpm.py --same-code-fixture --deb-receipt /run/media/kmosoti/data/FabricO11y/results/installation-package-build/fresh-8fb6f413179b-01-deb-a/receipt.json --rpm-receipt /run/media/kmosoti/data/FabricO11y/results/packages/fresh-8fb6f413179b-01-rpm-a/receipt.json --frozen 8fb6f413179b094288316e25845c137440ba23fa --source-date-epoch 1791841113 --harness-commit REPLACE_WITH_ACTUALLY_VERIFIED_IMPLEMENTATION_HEAD --out /run/media/kmosoti/data/FabricO11y/results/owner-fixture-constructor-01

The constructor reuses linked input admission, bounded cpio extraction and the existing native RPM spec. It stages the complete original RPM payload/provenance; Debian changes only its control Version. Native dpkg/RPM older comparisons, complete regular payload identities, all Debian control entries except Version, original RPM script/interpreter/flag records and stable file/dependency metadata are checked. Canonical input hashes and clean full harness are rechecked before a built verdict. Script records use exact raw native XML tag blocks, preserving their bytes rather than XML text normalization; the upstream RPM query fixture documents that output framing. Failed staging is retained; successful owned staging is removed. Ordinary RPM builds share the existing300s logged process-group deadline. The historical predecessor's fixed digest guard is untouched.

Root must inspect actual results/owner-fixture-constructor-01/fixture-receipt.json, both native outputs/commands, package and canonical input hashes, full payload/script identities, unchanged embedded RPM provenance, clean source and stopped outer receipts. A unit-control result does not establish actual artifact transformation. Keep all raw failures. Fixtures show same-implementation native metadata upgrade only; actual candidate fresh enrollment after reset remains required. Final merged guide pin and real trust/browser/guest walkthrough prerequisites remain separate and pending.

C041 SF1 is met by the history-preserving main merge. Before SF2–4 implementation root runs only the literal registered controls below on cleanf98a3bf; predicted red concerns escaped archive errors, missing complete tar headers, invisible provides/weak-dependency drift and lost stderr. These predictions are NOT results. Native constructor remains HOLD until implementation, broad packaging/payload controls, exact source inputs and delta review are complete; its final driver/implementation head must be re-pinned.

python3 -B /run/media/kmosoti/data/FabricO11y/results/candidate-build-fresh-8fb6f413179b-01/run-step-owner-fixture-metadata-red.py owner-walkthrough-fixture-metadata-red-01 1073741824 env PYTHONPATH=/run/media/kmosoti/data/FabricO11y/scratch/owner-walkthrough-harness/tools/packaging python3 -B -m unittest test_packaging.PackageTests.test_same_code_fixture_archive_errors_preserve_failed_receipt test_packaging.PackageTests.test_same_code_fixture_deb_tar_header_controls test_packaging.PackageTests.test_same_code_fixture_rpm_provide_and_weak_dependency_controls test_payload.PayloadTests.test_extraction_failure_retains_stderr_and_command

After the actual named red, archive failures must produce explicit failed receipts and retained staging; interrupted state must survive finally. RPM metadata binds PROVIDENAME/PROVIDEFLAGS/PROVIDEVERSION plus RECOMMEND/SUGGEST/SUPPLEMENT/ENHANCE triplets. Only exact self-provides fabrico11y and fabrico11y(x86-64) with equality flag8 and EVR0.1.0-0.alpha.1 may normalize to alpha.0; all other values remain exact. Every data/control tar header, including directories, binds name/type/mode/uid/gid/uname/gname/mtime/size/linkname; control Version content alone may change. The registered guide parser consumes enclosing same/higher-heading sections, ordered nested fences and explicit If/Otherwise conditions, and requires trusted-positive plus specific revoked refusals. Standalone constructor output is outside candidate-build metadata. Native receipts remain pending.