mirror of
https://github.com/morluto/rea.git
synced 2026-11-12 09:52:27 +00:00
* refactor(analysis): centralize resource budgets and recovery facts * feat(analysis): expose ASAR and Ghidra runtime admission controls * feat(artifacts): expose reader admission and preserve limited recognition * feat(javascript): expose recoverable semantic precision budgets * feat(web): add recoverable source-map budgets and compact retained views * feat(web): make historical capture decoding budgets recoverable * fix(desktop): enforce selected view policies across capture and export * feat(runtime): make Frida and LLDB retention budgets selectable * feat(native): expose diagnostic budgets and preserve exhaustion causes * feat(managed): expose recoverable snapshot and representation budgets * feat(metadata): make Go and Rust inspection budgets recoverable * feat(wasm): expose representation and producer admissions * feat(evm): expose per-call worker resource budgets * feat(android): make resource and string-pool omissions recoverable * feat(producers): expose command and recorded-capture budgets * docs(analysis): record recovery contracts and integrated validation * fix(docs): link calibration oracle from published verification pages * fix(docs): restore desktop task anchors and receipt links * test(analysis): align fixtures with selectable budget contracts * fix(analysis): remove source-location projector dependency cycle * test(analysis): refresh budget recovery and verifier regressions * test(analysis): preserve format and publication recovery expectations * test(windows): align conformance with owned runtime admission * fix(desktop): preserve selected alias kinds in exported state * test(analysis): align provider fixtures with recoverable budgets * test(desktop): validate emitted alias metadata structurally * fix(ghidra): classify bounded Windows endpoint refusals * test(cli): assert selectable artifact admission recovery * fix(cli): preserve capture provenance in environment builds
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
"""Generate eight task configs after oracle.py has verified the pinned APKs."""
|
|
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument('inputs', type=Path)
|
|
parser.add_argument('output', type=Path)
|
|
options = parser.parse_args()
|
|
options.output.mkdir(parents=True, exist_ok=True)
|
|
manifest = json.loads((Path(__file__).parent / 'manifest.json').read_text())
|
|
cases = [
|
|
('inventory-default-retry', 'package-inventory', None, True),
|
|
('inventory-2048', 'package-inventory', 2048, False),
|
|
('overview-default', 'overview', None, False),
|
|
('overview-2048', 'overview', 2048, False),
|
|
]
|
|
for item in manifest['artifacts']:
|
|
stem = Path(item['file']).stem
|
|
oracle = (options.output / f'{stem}.oracle.json').resolve()
|
|
if not oracle.exists():
|
|
parser.error(f'Run oracle.py first: {oracle}')
|
|
for case, task, limit, recover in cases:
|
|
config = {
|
|
'artifact': str((options.inputs / item['file']).resolve()),
|
|
'oracle': str(oracle),
|
|
'task': task,
|
|
'recover': recover,
|
|
'recovery_uri_limit': 2048,
|
|
'reply_receipt': str((options.output / f'{stem}.{case}.replies.json').resolve()),
|
|
}
|
|
if limit is not None:
|
|
config['first_uri_limit'] = limit
|
|
(options.output / f'{stem}.{case}.config.json').write_text(
|
|
json.dumps(config, indent=2) + '\n'
|
|
)
|