Add versioned metric graph authority, owned browser evidence, paginated and all-tab traversal, deterministic sampling policies, and analyst-facing run inspection. Provision the DEV/PREPROD/PROD Superset, Gitea and million-row ClickHouse lab; retain reproducible lifecycle evidence and explicit incomplete-traversal limits.
38 lines
2.0 KiB
Python
38 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
# #region Tooling.FullFlowV2RecipePrepare [C:2] [TYPE Module] [SEMANTICS test,recipe,driver,provenance,history]
|
|
# @BRIEF Bootstrap a separate recipe evidence ledger from existing publication/capture locators without carrying old runtime handles or writing external state.
|
|
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--base-fixture', type=Path, required=True)
|
|
parser.add_argument('--base-report', type=Path, required=True)
|
|
parser.add_argument('--provider-id', required=True)
|
|
parser.add_argument('--fixture', type=Path, required=True)
|
|
parser.add_argument('--output', type=Path, required=True)
|
|
args = parser.parse_args()
|
|
if args.output.exists() or args.fixture.exists():
|
|
raise SystemExit('Fresh destination required; preserve previous ledgers')
|
|
fixture = json.loads(args.base_fixture.read_text())
|
|
report = json.loads(args.base_report.read_text())
|
|
fixture.update(evidence_recipe='table_text_v1', evaluation_provider_id=args.provider_id,
|
|
recipe_evidence_file=str(args.output / 'recipe-evidence-map.json'))
|
|
copied_ids = ('release_id', 'baseline_id', 'capture_artifact_ids', 'publication_commit_hash')
|
|
ids = {key: report['ids'][key] for key in copied_ids}
|
|
steps = [step for step in report['steps'] if step['step'] in {'fixture-filtered-metric', 'live-authoritative-model'}]
|
|
if not any(step['step'] == 'fixture-filtered-metric' for step in steps):
|
|
raise SystemExit('Missing actual captured coordinate locator')
|
|
args.output.mkdir(parents=True)
|
|
args.fixture.write_text(json.dumps(fixture, indent=2) + '\n')
|
|
(args.output / 'report.json').write_text(json.dumps({'ids':ids, 'steps':steps,
|
|
'overall':'NO-GO', 'claim_scope':'Fresh recipe proof pending; copied provenance locators are historical'}, indent=2) + '\n')
|
|
print('Prepared separate recipe driver; no external writes or old runtime handles copied')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|
|
# #endregion Tooling.FullFlowV2RecipePrepare
|