Skip to content

Commit b6f41f0

Browse files
authored
Merge pull request #7879: Shaw/wip snapshot 2026 05 21
Shaw/wip snapshot 2026 05 21
2 parents 83a5939 + 58631dc commit b6f41f0

228 files changed

Lines changed: 6285 additions & 188 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/agent/vitest.config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,13 @@ export default defineConfig({
102102
find: /^@elizaos\/vault\/(.+)$/,
103103
replacement: path.join(monorepoRoot, "packages/vault/src/$1"),
104104
},
105+
{
106+
find: /^@elizaos\/plugin-worker-runtime$/,
107+
replacement: path.join(
108+
monorepoRoot,
109+
"packages/plugin-worker-runtime/src/index.ts",
110+
),
111+
},
105112
{
106113
find: /^@elizaos\/plugin-cli$/,
107114
replacement: path.join(

packages/app-core/scripts/build-llama-cpp-dflash.mjs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,6 @@ const SUPPORTED_TARGETS = [
243243
// packages/app-core/patches/llama-cpp-capacitor@0.1.5.patch consumes.
244244
"ios-arm64-metal",
245245
"ios-arm64-simulator-metal",
246-
"ios-arm64-metal-fused",
247-
"ios-arm64-simulator-metal-fused",
248246
"windows-x64-cpu",
249247
"windows-x64-cuda",
250248
// windows-x64-vulkan: generic-GPU path on x64 Windows. NVIDIA/AMD/Intel
@@ -281,8 +279,6 @@ const FUSED_TARGETS = new Set([
281279
"linux-x64-vulkan-fused",
282280
"linux-aarch64-cuda-fused",
283281
"darwin-arm64-metal-fused",
284-
"ios-arm64-metal-fused",
285-
"ios-arm64-simulator-metal-fused",
286282
"windows-x64-cuda-fused",
287283
]);
288284

@@ -306,6 +302,14 @@ const UNSUPPORTED_FUSED_TARGET_REASONS = new Map([
306302
"android-x86_64-vulkan-fused",
307303
"Android x86_64 fused FFI is not a dflash target in this script; packages/app-core/scripts/aosp/compile-libllama.mjs owns emulator/system-agent fused artifacts.",
308304
],
305+
[
306+
"ios-arm64-metal-fused",
307+
"iOS fused FFI is not wired or verifier-covered in build-llama-cpp-dflash.mjs; ios-arm64-metal-fused is not a supported dflash target.",
308+
],
309+
[
310+
"ios-arm64-simulator-metal-fused",
311+
"iOS fused FFI is not wired or verifier-covered in build-llama-cpp-dflash.mjs; ios-arm64-simulator-metal-fused is not a supported dflash target.",
312+
],
309313
]);
310314

311315
// Strip the "-fused" suffix when one is present, returning the base

packages/app-core/vitest.config.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ const fileDir = path.dirname(fileURLToPath(import.meta.url));
77
const monorepoRoot = path.resolve(fileDir, "../..");
88
const appCoreSrc = path.join(fileDir, "src");
99
const agentSrc = path.join(monorepoRoot, "packages/agent/src");
10+
const pluginWorkerRuntimeSrc = path.join(
11+
monorepoRoot,
12+
"packages/plugin-worker-runtime/src",
13+
);
1014
const uiDir = path.join(monorepoRoot, "packages/ui");
1115
const sharedSrc = path.join(monorepoRoot, "packages/shared/src");
1216
const coreSrc = path.join(monorepoRoot, "packages/core/src");
@@ -448,6 +452,14 @@ export default defineConfig({
448452
find: /^@elizaos\/plugin-x402$/,
449453
replacement: path.join(pluginX402Src, "index.ts"),
450454
},
455+
{
456+
find: /^@elizaos\/plugin-worker-runtime$/,
457+
replacement: path.join(pluginWorkerRuntimeSrc, "index.ts"),
458+
},
459+
{
460+
find: /^@elizaos\/plugin-worker-runtime\/(.+)$/,
461+
replacement: path.join(pluginWorkerRuntimeSrc, "$1"),
462+
},
451463
{
452464
find: /^@elizaos\/plugin-browser$/,
453465
replacement: path.join(pluginBrowserBridgeSrc, "index.ts"),

packages/chip/Makefile

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,7 +1358,26 @@ software-bsp-test:
13581358
evidence-regression-test: no-hardware-action-check software-bsp-test physical-gates-test product-feature-gates-check product-check-status-test benchmark-sim-metrics-test benchmark-calibration-test benchmark-parser-test benchmark-efficiency-scope-test software-bsp-scope-test cpu-ap-scope-test npu-scope-test renode-status-test cocotb cocotb-npu cocotb-contract cocotb-cpu record-tool-versions strict-release-gate-test
13591359
@echo "evidence regression tests complete"
13601360

1361-
.PHONY: ai-eda-source-inventory-check ai-eda-external-assets-check ai-eda-external-intake-check ai-eda-external-assets-dry-run ai-eda-bootstrap-metadata ai-eda-bootstrap-setup-check ai-eda-bootstrap-local-smoke ai-eda-bootstrap-training-handoff ai-eda-alphachip-checkpoint-blocker-check ai-eda-alphachip-checkpoint-blocker-network-check ai-eda-internal-schemas-check ai-eda-internal-fixtures ai-eda-openroad-eda-corpus-convert ai-eda-tilos-macroplacement-convert ai-eda-circuitnet3-convert ai-eda-chipbench-d-convert ai-eda-circuitnet3-surrogate ai-eda-openabc-d-convert ai-eda-e1-softmacro-cases ai-eda-external-fixture-convert ai-eda-e1-openlane-convert ai-eda-openlane-flow-labels ai-eda-pd-surrogate-smoke ai-eda-fixture-placement-train ai-eda-macro-placement-supervised-dataset ai-eda-macro-placement-supervised-train ai-eda-macro-placement-torch-train ai-eda-macro-placement-torch-infer ai-eda-macro-placement-supervised-replay-plan ai-eda-macro-placement-baseline ai-eda-macro-placement-candidate-eval ai-eda-macro-placement-combined-candidate-eval ai-eda-macro-placement-full-candidate-eval ai-eda-macro-placement-replay-plan ai-eda-macro-placement-combined-replay-plan ai-eda-macro-placement-full-replay-plan ai-eda-candidate-manifests-check ai-eda-tool-actions-check ai-eda-cocotb-stimulus-dry-run ai-eda-logic-synthesis-recipes ai-eda-logic-synthesis-baseline ai-eda-cuda-preflight ai-eda-cuda-payload
1361+
.PHONY: ai-eda-source-inventory-check ai-eda-external-assets-check ai-eda-external-intake-check \
1362+
ai-eda-external-assets-dry-run ai-eda-local-rag-index ai-eda-backend-preflight \
1363+
ai-eda-bootstrap-metadata ai-eda-bootstrap-setup-check ai-eda-bootstrap-local-smoke \
1364+
ai-eda-bootstrap-training-handoff ai-eda-alphachip-checkpoint-blocker-check \
1365+
ai-eda-alphachip-checkpoint-blocker-network-check ai-eda-internal-schemas-check \
1366+
ai-eda-internal-fixtures ai-eda-openroad-eda-corpus-convert ai-eda-tilos-macroplacement-convert \
1367+
ai-eda-circuitnet3-convert ai-eda-chipbench-d-convert ai-eda-aieda-idata-convert \
1368+
ai-eda-edalearn-convert ai-eda-circuitnet3-surrogate ai-eda-openabc-d-convert \
1369+
ai-eda-e1-softmacro-cases ai-eda-external-fixture-convert ai-eda-e1-openlane-convert \
1370+
ai-eda-openlane-flow-labels ai-eda-pd-surrogate-smoke ai-eda-fixture-placement-train \
1371+
ai-eda-macro-placement-supervised-dataset ai-eda-macro-placement-supervised-train \
1372+
ai-eda-macro-placement-torch-train ai-eda-macro-placement-torch-infer \
1373+
ai-eda-macro-placement-supervised-replay-plan ai-eda-macro-placement-baseline \
1374+
ai-eda-macro-placement-candidate-eval ai-eda-macro-placement-combined-candidate-eval \
1375+
ai-eda-macro-placement-full-candidate-eval ai-eda-macro-placement-replay-plan \
1376+
ai-eda-macro-placement-replay-preflight ai-eda-macro-placement-combined-replay-plan \
1377+
ai-eda-macro-placement-full-replay-plan ai-eda-candidate-manifests-check \
1378+
ai-eda-tool-actions-check ai-eda-cocotb-stimulus-dry-run ai-eda-verification-targets \
1379+
ai-eda-physical-design-targets ai-eda-optimization-targets ai-eda-logic-synthesis-recipes \
1380+
ai-eda-logic-synthesis-baseline ai-eda-cuda-preflight ai-eda-cuda-payload ai-eda-cuda-payload-check
13621381
ai-eda-source-inventory-check:
13631382
@$(PYTHON) scripts/check_ai_eda_source_inventory.py
13641383

@@ -1371,11 +1390,19 @@ ai-eda-external-intake-check: ai-eda-external-assets-check
13711390
ai-eda-external-assets-dry-run:
13721391
@$(PYTHON) scripts/ai_eda/fetch_external_asset.py --all --dry-run --run-id $(AI_EDA_RUN_ID)
13731392

1393+
ai-eda-local-rag-index:
1394+
@$(PYTHON) scripts/ai_eda/build_local_eda_rag_index.py --run-id $(AI_EDA_RUN_ID)
1395+
@$(PYTHON) scripts/ai_eda/check_local_eda_rag_index.py
1396+
1397+
ai-eda-backend-preflight:
1398+
@$(PYTHON) scripts/ai_eda/preflight_ai_eda_backends.py --run-id $(AI_EDA_RUN_ID)
1399+
@$(PYTHON) scripts/ai_eda/check_backend_preflight.py --report build/ai_eda/backend_preflight/$(AI_EDA_RUN_ID)/backend_preflight_report.json
1400+
13741401
ai-eda-bootstrap-metadata:
13751402
@$(PYTHON) scripts/ai_eda/bootstrap_ai_eda_stack.py --profile metadata --run-id $(AI_EDA_RUN_ID)
13761403

13771404
ai-eda-bootstrap-setup-check:
1378-
@$(PYTHON) scripts/ai_eda/bootstrap_ai_eda_stack.py --profile setup-check --run-id $(AI_EDA_RUN_ID) --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d
1405+
@$(PYTHON) scripts/ai_eda/bootstrap_ai_eda_stack.py --profile setup-check --run-id $(AI_EDA_RUN_ID) --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d --asset aieda-idata --asset edalearn
13791406

13801407
ai-eda-bootstrap-local-smoke:
13811408
@$(PYTHON) scripts/ai_eda/bootstrap_ai_eda_stack.py --profile local-smoke --run-id $(AI_EDA_RUN_ID)
@@ -1412,6 +1439,16 @@ ai-eda-chipbench-d-convert: ai-eda-internal-schemas-check
14121439
@$(PYTHON) scripts/ai_eda/check_internal_dataset_schemas.py --records-dir build/ai_eda/chipbench_d/$(AI_EDA_RUN_ID)/records
14131440
@$(PYTHON) scripts/ai_eda/check_chipbench_d_conversion.py --report build/ai_eda/chipbench_d/$(AI_EDA_RUN_ID)/conversion_report.json
14141441

1442+
ai-eda-aieda-idata-convert: ai-eda-internal-schemas-check
1443+
@$(PYTHON) scripts/ai_eda/convert_aieda_idata_to_internal_records.py --run-id $(AI_EDA_RUN_ID) --sample-limit 3
1444+
@$(PYTHON) scripts/ai_eda/check_internal_dataset_schemas.py --records-dir build/ai_eda/aieda_idata/$(AI_EDA_RUN_ID)/records
1445+
@$(PYTHON) scripts/ai_eda/check_aieda_idata_conversion.py --report build/ai_eda/aieda_idata/$(AI_EDA_RUN_ID)/conversion_report.json
1446+
1447+
ai-eda-edalearn-convert: ai-eda-internal-schemas-check
1448+
@$(PYTHON) scripts/ai_eda/convert_edalearn_to_internal_records.py --run-id $(AI_EDA_RUN_ID) --sample-limit 8
1449+
@$(PYTHON) scripts/ai_eda/check_internal_dataset_schemas.py --records-dir build/ai_eda/edalearn/$(AI_EDA_RUN_ID)/records
1450+
@$(PYTHON) scripts/ai_eda/check_edalearn_conversion.py --report build/ai_eda/edalearn/$(AI_EDA_RUN_ID)/conversion_report.json
1451+
14151452
ai-eda-circuitnet3-surrogate: ai-eda-circuitnet3-convert
14161453
@$(PYTHON) scripts/ai_eda/train_circuitnet3_timing_power_baseline.py --run-id $(AI_EDA_RUN_ID)
14171454
@$(PYTHON) scripts/ai_eda/check_circuitnet3_surrogate.py --report build/ai_eda/circuitnet3_surrogate/$(AI_EDA_RUN_ID)/training_run.json
@@ -1484,6 +1521,10 @@ ai-eda-macro-placement-replay-plan: ai-eda-macro-placement-candidate-eval
14841521
@$(PYTHON) scripts/ai_eda/check_macro_placement_replay_plan.py --report build/ai_eda/macro_placement_replay/$(AI_EDA_RUN_ID)/replay_plan.json
14851522
@$(PYTHON) scripts/ai_eda/check_tool_action_manifests.py --manifests-dir build/ai_eda/macro_placement_replay/$(AI_EDA_RUN_ID)/tool_actions
14861523

1524+
ai-eda-macro-placement-replay-preflight: ai-eda-macro-placement-replay-plan
1525+
@$(PYTHON) scripts/ai_eda/replay_macro_placement_on_e1.py --run-id $(AI_EDA_RUN_ID) --plan build/ai_eda/macro_placement_replay/$(AI_EDA_RUN_ID)/replay_plan.json
1526+
@$(PYTHON) scripts/ai_eda/check_macro_placement_replay_preflight.py --report build/ai_eda/macro_placement_replay_preflight/$(AI_EDA_RUN_ID)/replay_preflight_report.json
1527+
14871528
ai-eda-macro-placement-combined-replay-plan: ai-eda-macro-placement-combined-candidate-eval
14881529
@$(PYTHON) scripts/ai_eda/plan_macro_placement_replay.py --run-id $(AI_EDA_RUN_ID) --candidate-dir build/ai_eda/macro_placement_policy/$(AI_EDA_RUN_ID)/candidates --candidate-dir build/ai_eda/macro_placement_supervised_model/$(AI_EDA_RUN_ID)/candidates --out-root build/ai_eda/macro_placement_combined_replay
14891530
@$(PYTHON) scripts/ai_eda/check_macro_placement_replay_plan.py --report build/ai_eda/macro_placement_combined_replay/$(AI_EDA_RUN_ID)/replay_plan.json
@@ -1503,6 +1544,19 @@ ai-eda-tool-actions-check: ai-eda-internal-schemas-check
15031544
ai-eda-cocotb-stimulus-dry-run:
15041545
@$(PYTHON) scripts/ai_eda/run_cocotb_stimulus_search.py --dry-run --run-id $(AI_EDA_RUN_ID)
15051546

1547+
ai-eda-verification-targets:
1548+
@$(PYTHON) scripts/ai_eda/capture_logic_synthesis_targets.py --run-id $(AI_EDA_RUN_ID)
1549+
@$(PYTHON) scripts/ai_eda/capture_rtl_rewrite_equivalence_targets.py --run-id $(AI_EDA_RUN_ID)
1550+
@$(PYTHON) scripts/ai_eda/capture_netlist_equivalence_targets.py --run-id $(AI_EDA_RUN_ID)
1551+
@$(PYTHON) scripts/ai_eda/check_verification_target_captures.py --run-id $(AI_EDA_RUN_ID)
1552+
1553+
ai-eda-physical-design-targets:
1554+
@$(PYTHON) scripts/ai_eda/capture_timing_closure_targets.py --run-id $(AI_EDA_RUN_ID)
1555+
@$(PYTHON) scripts/ai_eda/capture_routing_congestion_targets.py --run-id $(AI_EDA_RUN_ID)
1556+
@$(PYTHON) scripts/ai_eda/capture_placement_legalization_targets.py --run-id $(AI_EDA_RUN_ID)
1557+
@$(PYTHON) scripts/ai_eda/capture_physical_verification_targets.py --run-id $(AI_EDA_RUN_ID)
1558+
@$(PYTHON) scripts/ai_eda/check_physical_design_target_captures.py --run-id $(AI_EDA_RUN_ID)
1559+
15061560
ai-eda-logic-synthesis-recipes:
15071561
@$(PYTHON) scripts/ai_eda/generate_logic_synthesis_recipe_corpus.py --run-id $(AI_EDA_RUN_ID)
15081562
@$(PYTHON) scripts/ai_eda/check_logic_synthesis_policy_baseline.py --corpus build/ai_eda/logic_synthesis_recipes/$(AI_EDA_RUN_ID)/recipe_corpus.json --corpus-only
@@ -1516,8 +1570,12 @@ ai-eda-cuda-preflight:
15161570

15171571
ai-eda-cuda-payload:
15181572
@$(PYTHON) scripts/ai_eda/package_cuda_training_payload.py --run-id $(AI_EDA_RUN_ID)
1573+
@$(PYTHON) scripts/ai_eda/check_cuda_training_payload.py --report build/ai_eda/cuda_training_payloads/$(AI_EDA_RUN_ID)/cuda_training_payload_report.json
1574+
1575+
ai-eda-cuda-payload-check:
1576+
@$(PYTHON) scripts/ai_eda/check_cuda_training_payload.py --report build/ai_eda/cuda_training_payloads/$(AI_EDA_RUN_ID)/cuda_training_payload_report.json
15191577

1520-
docs-check: ai-eda-source-inventory-check ai-eda-external-assets-check ai-eda-external-intake-check ai-eda-alphachip-checkpoint-blocker-check ai-eda-internal-schemas-check ai-eda-candidate-manifests-check ai-eda-tool-actions-check ai-eda-cocotb-stimulus-dry-run
1578+
docs-check: ai-eda-local-rag-index ai-eda-backend-preflight ai-eda-verification-targets ai-eda-physical-design-targets ai-eda-source-inventory-check ai-eda-external-assets-check ai-eda-external-intake-check ai-eda-alphachip-checkpoint-blocker-check ai-eda-internal-schemas-check ai-eda-candidate-manifests-check ai-eda-tool-actions-check ai-eda-cocotb-stimulus-dry-run
15211579
@$(PYTHON) scripts/docs_check.py
15221580

15231581
tool-versions:

packages/chip/README.md

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,31 +47,50 @@ under `build/ai_eda/`.
4747

4848
```sh
4949
make ai-eda-bootstrap-metadata
50+
make ai-eda-backend-preflight
5051
make ai-eda-bootstrap-setup-check
5152
make ai-eda-bootstrap-local-smoke
5253
make ai-eda-cuda-payload
5354
```
5455

5556
Use `make ai-eda-bootstrap-metadata` on a fresh machine first. It downloads
56-
nothing. Use `make ai-eda-bootstrap-setup-check` after reviewed payloads such as
57-
TILOS MacroPlacement, OpenROAD EDA Corpus, CircuitNet 3.0, ChiPBench-D, and
58-
OpenABC-D have been fetched or restored; it rebuilds normalized corpora,
57+
nothing and also records local AI/EDA backend availability without installing
58+
packages or cloning repositories. Use `make ai-eda-backend-preflight` directly
59+
when preparing a CUDA/Linux host for optional ZigZag, Timeloop/Accelergy,
60+
RTL-MUL, LLM4DV, AssertLLM, or Fault lanes. Use
61+
`make ai-eda-bootstrap-setup-check` after reviewed payloads such as TILOS
62+
MacroPlacement, OpenROAD EDA Corpus, CircuitNet 3.0, ChiPBench-D, OpenABC-D,
63+
and AiEDA/iDATA have been fetched or restored; it rebuilds normalized corpora,
5964
bounded surrogate baselines, and E1 cases without CUDA training. Use
60-
`make ai-eda-bootstrap-local-smoke` for the
61-
broader local evidence stack. On a CUDA host, run the generated payload flow
62-
with:
65+
`make ai-eda-bootstrap-local-smoke` for the broader local evidence stack,
66+
including candidate ranking, replay-plan generation, and guarded
67+
macro-placement replay preflight without OpenLane/OpenROAD execution. For
68+
concurrent or repeated setup runs, pass a unique
69+
`AI_EDA_RUN_ID=<machine-or-date>` so generated records do not share the default
70+
`build/ai_eda/**/validation` directories. If the default `python3` points at a
71+
broken local environment, override it with `PYTHON=/usr/bin/python3` or your
72+
managed virtualenv interpreter.
73+
74+
On a CUDA host, run the generated payload flow with:
6375

6476
```sh
65-
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile training-handoff --run-id cuda-host --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --include-torch
77+
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile training-handoff --run-id cuda-host --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d --asset aieda-idata --include-torch
6678
```
6779

6880
To intentionally pull reviewed assets into ignored local payload directories,
6981
use explicit asset IDs:
7082

7183
```sh
72-
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile metadata --run-id fetch-reviewed --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --execute-fetch
84+
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile metadata --run-id fetch-reviewed --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d --asset aieda-idata --execute-fetch
7385
```
7486

87+
Paper/method-only assets such as AssertLLM are recorded as metadata-only
88+
payloads with hashes under ignored `external/repos/<asset>/payload` paths; no
89+
paper PDF, model weights, or generated assertions are treated as chip evidence.
90+
`make ai-eda-cuda-payload` also runs the payload checker, which validates the
91+
tarball, embedded run plan, selected assets, critical fetch commands, expected
92+
CUDA outputs, and the no-datasets/no-weights payload boundary.
93+
7594
## Docker Setup
7695

7796
Docker is the most reproducible starting point for a new machine:

packages/chip/external/README.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,23 @@ deterministic E1 gates named in the research plan.
2626
Fresh-machine setup:
2727

2828
```sh
29-
make ai-eda-bootstrap-metadata
30-
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile metadata --run-id fetch-reviewed --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d --execute-fetch
31-
make ai-eda-bootstrap-setup-check
32-
make ai-eda-bootstrap-local-smoke
29+
make PYTHON=/usr/bin/python3 AI_EDA_RUN_ID=fresh-host ai-eda-bootstrap-metadata
30+
make PYTHON=/usr/bin/python3 AI_EDA_RUN_ID=fresh-host ai-eda-backend-preflight
31+
python3 scripts/ai_eda/bootstrap_ai_eda_stack.py --profile metadata --run-id fetch-reviewed --asset tilos-macroplacement --asset openroad-eda-corpus --asset circuitnet3 --asset chipbench-d --asset openabc-d --asset aieda-idata --execute-fetch
32+
make PYTHON=/usr/bin/python3 AI_EDA_RUN_ID=fresh-host ai-eda-bootstrap-setup-check
33+
make PYTHON=/usr/bin/python3 AI_EDA_RUN_ID=fresh-host ai-eda-bootstrap-local-smoke
3334
```
3435

3536
Only explicit `--asset` values are fetched. Metadata manifests are tracked;
3637
payload contents stay ignored under `external/repos/*/payload`,
3738
`external/datasets/*/payload`, or `external/models/*/payload`.
39+
Use a unique `AI_EDA_RUN_ID` for each machine or CI job to keep generated
40+
records and reports isolated under `build/ai_eda/`.
41+
`ai-eda-backend-preflight` checks optional local backends such as ZigZag,
42+
Timeloop/Accelergy, RTL-MUL, LLM4DV, AssertLLM, and Fault without installing
43+
packages, cloning repositories, downloading model weights, or making release
44+
claims.
45+
Paper and method-reference entries use metadata-only payloads. For example,
46+
`python3 scripts/ai_eda/fetch_external_asset.py --asset assertllm --execute`
47+
writes an ignored provenance record and file hash manifest, not a downloaded
48+
paper, model, generated assertion, or release artifact.

0 commit comments

Comments
 (0)