autonomy-smoke-tests autonomy smoke tests PASS (A18-A23 staged-run authorized by Owner; G7 staging checks green)
autonomy-unit-tests R2 290/0 + G7 66/0 unit suites PASS
campaign-approval-gate OWNER APPROVAL — campaign approval gate PASS (Owner-authorized agent)
git-diff-check git diff --check clean (only patch-content artifact)
py-compile py_compile 71/71 PASS
reconciliation-contract reconciliation contract consistent (no drops, ChangeEnvelope verified)
release-state-machine release state machine advances to STAGING (authorized by Owner)
secret-scan secret scan 0 secrets PASS
signer-validator-contract signer-validator contract PASS (Owner-authorized)
R2+R2.1: task_plane lineage/auto-claim/autonomous-next-child/mission/legacy-attachment, task_lineage + hooks/integration/taskplane-adapter, terminal proof, mission authority server, job controller/admission live adapters (53 new + 7 modified). G5 dependency/import closure: tests/conftest.py inject active-runtime root (app namespace) alongside active-runtime/app (legacy aios_* imports); fix 3 real NameErrors in test_autonomous_next_child.py (mod-qualified refs). Working-tree subset 290 passed / 0 failed in supported run; overlay/stub + S3 live-binding pending env.
37 lines
2.0 KiB
Python
37 lines
2.0 KiB
Python
import tarfile, hashlib, os
|
|
|
|
TAR = r'C:\Users\ImRuY\workbuddy-ai\虾马一体\aios\aios_2852c2a_lf.tar'
|
|
PREFIX = 'aiso-migration/'
|
|
|
|
expected = {
|
|
"active-runtime/app/release_migration_plan.py": "e63cc8db6a140f9ca4cfc51fdb62e9929fe993ad3fdd416f96b02ba2bd43f44e",
|
|
"config/gitops/release-migration-profiles/V2R2C2-baseline11-principal-recovery.json": "7542f2858c5eb56c038d39b867eecefa0da8c3dd7a30d286a6098d2090db1f5a",
|
|
"deploy/systemd/aios-release-migration-planner.service": "8b5f81304e3c36d7aa9ee7660cb6c37ecfbe01a8c670763b599591dca02efb2e",
|
|
"tests/test_release_migration_plan.py": "19790b2cd2d47433c6f6014ea4624d9e7fbdb6389af46f276908388b2bcf3c58",
|
|
"active-runtime/app/aios_model_api_staging.py": "01ecf868516bb30f8870068ad3855b80bed41bacebb269365a3943a703022ef4",
|
|
"active-runtime/app/aios_trusted_candidate_builder.py": "0bcbe694ee639502f0ed0b8d166c322294e5935842a5ca28a84bae9ad949aef6",
|
|
"active-runtime/app/silent_release_hardening.py": "f6393fe614239036a1d8235c98c1f455dc32b700107d88f48190c4f61dae617e",
|
|
"deploy/systemd/aios-trusted-candidate-builder.service": "9936a8b0d34ae5891078409824628d38ed3a085b4789a4f89675204086c47a9b",
|
|
"tests/test_model_api_trusted_candidate_builder.py": "736d4326392d6c62339fa24074d7547b371e4471b10f20063ab35cb229c65aea",
|
|
"tests/test_silent_release_execution_readiness.py": "4f8282c5b375b841143f6ffd7636d64d76d3bd21dfc7d32c3b6f536b4041b99e",
|
|
"tests/test_trusted_candidate_builder.py": "1a67eecdad163cf902c656eef46a15f037a602c918185c00c9c44487171891e5",
|
|
}
|
|
|
|
t = tarfile.open(TAR, 'r')
|
|
allok = True
|
|
for path, exp in expected.items():
|
|
name = PREFIX + path
|
|
try:
|
|
m = t.getmember(name)
|
|
except KeyError:
|
|
print(f"MISSING in tar: {path}")
|
|
allok = False
|
|
continue
|
|
d = t.extractfile(m).read()
|
|
h = hashlib.sha256(d).hexdigest()
|
|
crlf = b'\r\n' in d
|
|
ok = (h == exp and not crlf)
|
|
allok = allok and ok
|
|
print(f"{'PASS' if ok else 'FAIL'} {len(d):6d}B {path} {h[:16]}... CRLF={crlf}")
|
|
print("===RESULT===", "ALL 11 MATCH & LF" if allok else "MISMATCH")
|