agentic-ic 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. agentic_ic-3.0.0/.codex +0 -0
  2. agentic_ic-3.0.0/.dockerignore +81 -0
  3. agentic_ic-3.0.0/.env.example +41 -0
  4. agentic_ic-3.0.0/.gitattributes +15 -0
  5. agentic_ic-3.0.0/.github/workflows/ci.yml +57 -0
  6. agentic_ic-3.0.0/.github/workflows/deploy.yml +89 -0
  7. agentic_ic-3.0.0/.github/workflows/oracle-deploy.yml +133 -0
  8. agentic_ic-3.0.0/.gitignore +94 -0
  9. agentic_ic-3.0.0/Dockerfile +70 -0
  10. agentic_ic-3.0.0/LICENSE +7 -0
  11. agentic_ic-3.0.0/Makefile +68 -0
  12. agentic_ic-3.0.0/PKG-INFO +168 -0
  13. agentic_ic-3.0.0/README.md +113 -0
  14. agentic_ic-3.0.0/Training-script/chat_verilog.py +51 -0
  15. agentic_ic-3.0.0/Training-script/create_repo.py +24 -0
  16. agentic_ic-3.0.0/Training-script/github_push.py +36 -0
  17. agentic_ic-3.0.0/Training-script/hf_push.py +23 -0
  18. agentic_ic-3.0.0/Training-script/main.spec +45 -0
  19. agentic_ic-3.0.0/Training-script/patch_config.py +122 -0
  20. agentic_ic-3.0.0/Training-script/test_dummy.py +14 -0
  21. agentic_ic-3.0.0/Training-script/test_llm.py +12 -0
  22. agentic_ic-3.0.0/Training-script/train_fixed.py +100 -0
  23. agentic_ic-3.0.0/Training-script/train_verilog_reasoning.py +110 -0
  24. agentic_ic-3.0.0/archived_dev_scripts/fix2.py +24 -0
  25. agentic_ic-3.0.0/archived_dev_scripts/patch.py +19 -0
  26. agentic_ic-3.0.0/archived_dev_scripts/patch_logger.py +44 -0
  27. agentic_ic-3.0.0/archived_dev_scripts/patch_prompt.py +36 -0
  28. agentic_ic-3.0.0/archived_dev_scripts/test_bundle.py +31 -0
  29. agentic_ic-3.0.0/archived_dev_scripts/test_bundle_run.py +28 -0
  30. agentic_ic-3.0.0/archived_dev_scripts/test_decomp.py +3 -0
  31. agentic_ic-3.0.0/archived_dev_scripts/test_main.py +9 -0
  32. agentic_ic-3.0.0/archived_dev_scripts/update_license.py +149 -0
  33. agentic_ic-3.0.0/artifacts/benchmark_data.json +92 -0
  34. agentic_ic-3.0.0/artifacts/benchmark_report.md +49 -0
  35. agentic_ic-3.0.0/benchmark/run_benchmark.py +235 -0
  36. agentic_ic-3.0.0/designs/axistream_mac_array_2/src/axistream_mac_array_2.v +138 -0
  37. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot.v +68 -0
  38. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot_tb.v +69 -0
  39. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot_tb_compile_gate.json +35 -0
  40. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot_tb_compile_gate_attempt1.json +35 -0
  41. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot_tb_static_gate.json +13 -0
  42. agentic_ic-3.0.0/designs/eval_fsm3onehot/src/eval_fsm3onehot_tb_static_gate_attempt1.json +13 -0
  43. agentic_ic-3.0.0/docker-compose.yml +212 -0
  44. agentic_ic-3.0.0/docs/AGENTIC_ARCHITECTURE_CONTEXT.md +62 -0
  45. agentic_ic-3.0.0/docs/OPERATIONS_RUNBOOK.md +140 -0
  46. agentic_ic-3.0.0/docs/agentic-critical-changes.md +93 -0
  47. agentic_ic-3.0.0/main.py +15 -0
  48. agentic_ic-3.0.0/metrics/apb_timer/apb_timer_industry_benchmark_20260306_020245.json +80 -0
  49. agentic_ic-3.0.0/metrics/apb_timer/apb_timer_industry_benchmark_20260306_020245.md +39 -0
  50. agentic_ic-3.0.0/metrics/apb_timer/latest.json +80 -0
  51. agentic_ic-3.0.0/metrics/apb_timer/latest.md +39 -0
  52. agentic_ic-3.0.0/metrics/counter8/counter8_industry_benchmark_20260306_013138.json +100 -0
  53. agentic_ic-3.0.0/metrics/counter8/counter8_industry_benchmark_20260306_013138.md +39 -0
  54. agentic_ic-3.0.0/metrics/counter8/latest.json +100 -0
  55. agentic_ic-3.0.0/metrics/counter8/latest.md +39 -0
  56. agentic_ic-3.0.0/metrics/the_dhruva_chip_is/latest.json +90 -0
  57. agentic_ic-3.0.0/metrics/the_dhruva_chip_is/latest.md +39 -0
  58. agentic_ic-3.0.0/metrics/the_dhruva_chip_is/the_dhruva_chip_is_industry_benchmark_20260309_125527.json +90 -0
  59. agentic_ic-3.0.0/metrics/the_dhruva_chip_is/the_dhruva_chip_is_industry_benchmark_20260309_125527.md +39 -0
  60. agentic_ic-3.0.0/notebooks/Colab_Trial.ipynb +475 -0
  61. agentic_ic-3.0.0/ops/grafana/dashboards/agentic-overview.json +142 -0
  62. agentic_ic-3.0.0/ops/grafana/provisioning/dashboards/dashboards.yml +9 -0
  63. agentic_ic-3.0.0/ops/grafana/provisioning/datasources/prometheus.yml +10 -0
  64. agentic_ic-3.0.0/ops/prometheus/prometheus.yml +9 -0
  65. agentic_ic-3.0.0/pyproject.toml +66 -0
  66. agentic_ic-3.0.0/requirements.txt +28 -0
  67. agentic_ic-3.0.0/scripts/ci/nightly_full.sh +36 -0
  68. agentic_ic-3.0.0/scripts/ci/smoke.sh +8 -0
  69. agentic_ic-3.0.0/scripts/run_benchmark.py +146 -0
  70. agentic_ic-3.0.0/server/api.py +2499 -0
  71. agentic_ic-3.0.0/server/approval.py +144 -0
  72. agentic_ic-3.0.0/server/auth.py +290 -0
  73. agentic_ic-3.0.0/server/billing.py +228 -0
  74. agentic_ic-3.0.0/server/db.py +112 -0
  75. agentic_ic-3.0.0/server/lab.py +453 -0
  76. agentic_ic-3.0.0/server/report_gen.py +445 -0
  77. agentic_ic-3.0.0/server/schema.sql +133 -0
  78. agentic_ic-3.0.0/server/stage_summary.py +366 -0
  79. agentic_ic-3.0.0/server/storage.py +71 -0
  80. agentic_ic-3.0.0/server/tasks.py +46 -0
  81. agentic_ic-3.0.0/src/__init__.py +0 -0
  82. agentic_ic-3.0.0/src/agentic/__init__.py +4 -0
  83. agentic_ic-3.0.0/src/agentic/agents/__init__.py +0 -0
  84. agentic_ic-3.0.0/src/agentic/agents/architect.py +19 -0
  85. agentic_ic-3.0.0/src/agentic/agents/designer.py +106 -0
  86. agentic_ic-3.0.0/src/agentic/agents/doc_agent.py +25 -0
  87. agentic_ic-3.0.0/src/agentic/agents/sdc_agent.py +31 -0
  88. agentic_ic-3.0.0/src/agentic/agents/testbench_designer.py +124 -0
  89. agentic_ic-3.0.0/src/agentic/agents/verifier.py +84 -0
  90. agentic_ic-3.0.0/src/agentic/cli.py +1079 -0
  91. agentic_ic-3.0.0/src/agentic/config.py +307 -0
  92. agentic_ic-3.0.0/src/agentic/contracts.py +158 -0
  93. agentic_ic-3.0.0/src/agentic/core/__init__.py +43 -0
  94. agentic_ic-3.0.0/src/agentic/core/architect.py +424 -0
  95. agentic_ic-3.0.0/src/agentic/core/cdc_analyzer.py +1100 -0
  96. agentic_ic-3.0.0/src/agentic/core/deep_debugger.py +820 -0
  97. agentic_ic-3.0.0/src/agentic/core/feasibility_checker.py +830 -0
  98. agentic_ic-3.0.0/src/agentic/core/graph_builder.py +80 -0
  99. agentic_ic-3.0.0/src/agentic/core/hierarchy_expander.py +821 -0
  100. agentic_ic-3.0.0/src/agentic/core/react_agent.py +447 -0
  101. agentic_ic-3.0.0/src/agentic/core/self_reflect.py +522 -0
  102. agentic_ic-3.0.0/src/agentic/core/spec_generator.py +1003 -0
  103. agentic_ic-3.0.0/src/agentic/core/verification_planner.py +925 -0
  104. agentic_ic-3.0.0/src/agentic/core/waveform_expert.py +680 -0
  105. agentic_ic-3.0.0/src/agentic/golden_lib/__init__.py +9 -0
  106. agentic_ic-3.0.0/src/agentic/golden_lib/template_matcher.py +236 -0
  107. agentic_ic-3.0.0/src/agentic/golden_lib/templates/counter.v +52 -0
  108. agentic_ic-3.0.0/src/agentic/golden_lib/templates/counter_tb.v +89 -0
  109. agentic_ic-3.0.0/src/agentic/golden_lib/templates/fifo.v +70 -0
  110. agentic_ic-3.0.0/src/agentic/golden_lib/templates/fifo_tb.v +85 -0
  111. agentic_ic-3.0.0/src/agentic/golden_lib/templates/fsm.v +102 -0
  112. agentic_ic-3.0.0/src/agentic/golden_lib/templates/fsm_tb.v +50 -0
  113. agentic_ic-3.0.0/src/agentic/golden_lib/templates/pwm.v +36 -0
  114. agentic_ic-3.0.0/src/agentic/golden_lib/templates/pwm_tb.v +69 -0
  115. agentic_ic-3.0.0/src/agentic/golden_lib/templates/shift_register.v +33 -0
  116. agentic_ic-3.0.0/src/agentic/golden_lib/templates/shift_register_tb.v +52 -0
  117. agentic_ic-3.0.0/src/agentic/golden_lib/templates/spi_master.v +131 -0
  118. agentic_ic-3.0.0/src/agentic/golden_lib/templates/spi_master_tb.v +56 -0
  119. agentic_ic-3.0.0/src/agentic/golden_lib/templates/timer.v +60 -0
  120. agentic_ic-3.0.0/src/agentic/golden_lib/templates/timer_tb.v +52 -0
  121. agentic_ic-3.0.0/src/agentic/golden_lib/templates/uart_tx.v +101 -0
  122. agentic_ic-3.0.0/src/agentic/golden_lib/templates/uart_tx_tb.v +67 -0
  123. agentic_ic-3.0.0/src/agentic/install_tools.py +103 -0
  124. agentic_ic-3.0.0/src/agentic/orchestrator.py +5248 -0
  125. agentic_ic-3.0.0/src/agentic/tools/__init__.py +0 -0
  126. agentic_ic-3.0.0/src/agentic/tools/vlsi_tools.py +4236 -0
  127. agentic_ic-3.0.0/tests/__init__.py +0 -0
  128. agentic_ic-3.0.0/web/.env.example +15 -0
  129. agentic_ic-3.0.0/web/.env.production +8 -0
  130. agentic_ic-3.0.0/web/.gitignore +28 -0
  131. agentic_ic-3.0.0/web/eslint.config.js +23 -0
  132. agentic_ic-3.0.0/web/index.html +16 -0
  133. agentic_ic-3.0.0/web/package-lock.json +5519 -0
  134. agentic_ic-3.0.0/web/package.json +40 -0
  135. agentic_ic-3.0.0/web/public/install.sh +47 -0
  136. agentic_ic-3.0.0/web/public/vcdrom/IosevkaDrom-Italic.woff2 +0 -0
  137. agentic_ic-3.0.0/web/public/vcdrom/IosevkaDrom-Oblique.woff2 +0 -0
  138. agentic_ic-3.0.0/web/public/vcdrom/IosevkaDrom-Regular.woff2 +0 -0
  139. agentic_ic-3.0.0/web/public/vcdrom/index.html +35 -0
  140. agentic_ic-3.0.0/web/public/vcdrom/vcd.wasm +0 -0
  141. agentic_ic-3.0.0/web/public/vcdrom/vcdrom.js +13 -0
  142. agentic_ic-3.0.0/web/public/vite.svg +1 -0
  143. agentic_ic-3.0.0/web/src/App.tsx +518 -0
  144. agentic_ic-3.0.0/web/src/api.ts +33 -0
  145. agentic_ic-3.0.0/web/src/assets/react.svg +1 -0
  146. agentic_ic-3.0.0/web/src/components/ActivityFeed.tsx +188 -0
  147. agentic_ic-3.0.0/web/src/components/ApprovalCard.tsx +189 -0
  148. agentic_ic-3.0.0/web/src/components/AuthPage.tsx +221 -0
  149. agentic_ic-3.0.0/web/src/components/BillingModal.tsx +377 -0
  150. agentic_ic-3.0.0/web/src/components/BuildMonitor.tsx +270 -0
  151. agentic_ic-3.0.0/web/src/components/ChipSummary.tsx +361 -0
  152. agentic_ic-3.0.0/web/src/components/ElaborationCard.tsx +93 -0
  153. agentic_ic-3.0.0/web/src/components/FabricationViewer3D.tsx +45 -0
  154. agentic_ic-3.0.0/web/src/components/HomeComponent.tsx +230 -0
  155. agentic_ic-3.0.0/web/src/components/MagicUI.tsx +139 -0
  156. agentic_ic-3.0.0/web/src/components/StageProgressBar.tsx +132 -0
  157. agentic_ic-3.0.0/web/src/hitl.css +2584 -0
  158. agentic_ic-3.0.0/web/src/index.css +8237 -0
  159. agentic_ic-3.0.0/web/src/main.tsx +11 -0
  160. agentic_ic-3.0.0/web/src/pages/Benchmarking.tsx +103 -0
  161. agentic_ic-3.0.0/web/src/pages/BuildHistory.tsx +164 -0
  162. agentic_ic-3.0.0/web/src/pages/Dashboard.tsx +188 -0
  163. agentic_ic-3.0.0/web/src/pages/DesignStudio.tsx +544 -0
  164. agentic_ic-3.0.0/web/src/pages/Documentation.tsx +474 -0
  165. agentic_ic-3.0.0/web/src/pages/EDALab.tsx +450 -0
  166. agentic_ic-3.0.0/web/src/pages/Fabrication.tsx +119 -0
  167. agentic_ic-3.0.0/web/src/pages/HumanInLoopBuild.tsx +1087 -0
  168. agentic_ic-3.0.0/web/src/pages/LandingPage.tsx +228 -0
  169. agentic_ic-3.0.0/web/src/pages/WaitlistDashboard.tsx +236 -0
  170. agentic_ic-3.0.0/web/src/pages/WorkspaceSettings.tsx +229 -0
  171. agentic_ic-3.0.0/web/src/premium.css +1621 -0
  172. agentic_ic-3.0.0/web/src/supabaseClient.ts +19 -0
  173. agentic_ic-3.0.0/web/src/utils/useAnimations.ts +188 -0
  174. agentic_ic-3.0.0/web/tsconfig.app.json +28 -0
  175. agentic_ic-3.0.0/web/tsconfig.json +7 -0
  176. agentic_ic-3.0.0/web/tsconfig.node.json +26 -0
  177. agentic_ic-3.0.0/web/vite.config.ts +50 -0
File without changes
@@ -0,0 +1,81 @@
1
+ # Python cache
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.pyd
6
+ .Python
7
+ *.egg-info/
8
+ dist/
9
+ build/
10
+ .mypy_cache/
11
+ .pytest_cache/
12
+ .ruff_cache/
13
+
14
+ # Git
15
+ .git/
16
+ .gitignore
17
+
18
+ # Secrets
19
+ .env
20
+ .env.*
21
+ !.env.example
22
+
23
+ # Virtual environments
24
+ .venv/
25
+ .venv-agentic/
26
+ venv/
27
+ env/
28
+ agentic_env/
29
+
30
+ # Benchmark results (large data, not needed at runtime)
31
+ benchmark/results/
32
+
33
+ # SymbiYosys workdirs
34
+ *.sby
35
+ **/*.sby
36
+ **/workdir/
37
+ **/*_workdir/
38
+
39
+ # Verilator object directories
40
+ obj_dir/
41
+ **/obj_dir/
42
+
43
+ # OpenLane designs (skip entirely)
44
+ OpenLane/
45
+ designs/
46
+
47
+ # IDE and OS files
48
+ .vscode/
49
+ .idea/
50
+ *.DS_Store
51
+ Thumbs.db
52
+
53
+ # Node / web build artifacts
54
+ web/node_modules/
55
+ web/dist/
56
+ client/node_modules/
57
+ client/dist/
58
+
59
+ # Large artifacts not needed at runtime
60
+ artifacts/*.gds
61
+ oss-cad-suite/
62
+
63
+ # Docs and non-runtime
64
+ docs/
65
+ training/
66
+
67
+ # Log files
68
+ *.log
69
+ run_log.txt
70
+
71
+ # Test files
72
+ tests/__pycache__/
73
+
74
+ # Database
75
+ agentic_jobs.db
76
+ *.sqlite3
77
+
78
+ # Temporary fix scripts
79
+ fix_*.py
80
+ *.tmp
81
+
@@ -0,0 +1,41 @@
1
+ # ── NVIDIA / Cloud LLM ──────────────────────────────────────────────────────
2
+ NVIDIA_API_KEY=your_nvidia_api_key_here
3
+ NVIDIA_MODEL=meta/llama-3.3-70b-instruct
4
+ NVIDIA_BASE_URL=https://integrate.api.nvidia.com/v1
5
+
6
+ # ── Groq (optional fallback) ─────────────────────────────────────────────────
7
+ GROQ_API_KEY=your_groq_api_key_here
8
+
9
+ # ── Local LLM (Ollama / VeriReason) ─────────────────────────────────────────
10
+ LLM_MODEL=ollama/hf.co/mradermacher/VeriReason-Qwen2.5-3b-RTLCoder-Verilog-GRPO-reasoning-tb-GGUF:Q4_K_M
11
+ LLM_BASE_URL=http://localhost:11434
12
+ LLM_API_KEY=NA
13
+
14
+ # ── Verilog Code-Gen override (optional) ────────────────────────────────────
15
+ VERILOG_CODEGEN_ENABLED=false
16
+
17
+ # ── Container Infrastructure (set strong values in production) ──────────────
18
+ POSTGRES_PASSWORD=change_me_postgres_password
19
+ REDIS_PASSWORD=change_me_redis_password
20
+ MINIO_ROOT_USER=agentic_minio_admin
21
+ MINIO_ROOT_PASSWORD=change_me_minio_password
22
+
23
+ # ── Public deployment safety ────────────────────────────────────────────────
24
+ # Keep this false on Oracle/public deployments so users must bring their own LLM key.
25
+ # Set to true only for private/local testing when you intentionally want the server to spend your key.
26
+ ALLOW_BACKEND_LLM_FALLBACK=false
27
+
28
+ # ── Supabase Auth (leave blank to disable auth — all builds allowed) ────────
29
+ SUPABASE_URL=
30
+ SUPABASE_SERVICE_KEY=
31
+ SUPABASE_JWT_SECRET=
32
+ # REQUIRED if using BYOK plan — generate with: python -c "import secrets; print(secrets.token_hex(32))"
33
+ ENCRYPTION_KEY=
34
+
35
+ # ── Razorpay Billing (leave blank to disable payments) ──────────────────────
36
+ RAZORPAY_KEY_ID=
37
+ RAZORPAY_KEY_SECRET=
38
+ RAZORPAY_WEBHOOK_SECRET=
39
+ VERILOG_CODEGEN_MODEL=
40
+ VERILOG_CODEGEN_BASE_URL=
41
+ VERILOG_CODEGEN_API_KEY=
@@ -0,0 +1,15 @@
1
+ # Track binary files for Hugging Face Spaces
2
+ *.woff2 filter=lfs diff=lfs merge=lfs -text
3
+ *.wasm filter=lfs diff=lfs merge=lfs -text
4
+ *.woff filter=lfs diff=lfs merge=lfs -text
5
+ *.ttf filter=lfs diff=lfs merge=lfs -text
6
+ *.otf filter=lfs diff=lfs merge=lfs -text
7
+ *.png filter=lfs diff=lfs merge=lfs -text
8
+ *.jpg filter=lfs diff=lfs merge=lfs -text
9
+ *.jpeg filter=lfs diff=lfs merge=lfs -text
10
+ *.ico filter=lfs diff=lfs merge=lfs -text
11
+ *.pdf filter=lfs diff=lfs merge=lfs -text
12
+ *.bin filter=lfs diff=lfs merge=lfs -text
13
+ *.zip filter=lfs diff=lfs merge=lfs -text
14
+ *.gz filter=lfs diff=lfs merge=lfs -text
15
+ *.tar filter=lfs diff=lfs merge=lfs -text
@@ -0,0 +1,57 @@
1
+ name: AgentIC CI
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [ "main", "master" ]
7
+ schedule:
8
+ - cron: "0 3 * * *"
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ pr-smoke:
13
+ name: PR Smoke
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v4
18
+
19
+ - name: Setup Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.11"
23
+
24
+ - name: Install deps
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ pip install -r requirements.txt
28
+
29
+ - name: Smoke checks
30
+ run: |
31
+ bash scripts/ci/smoke.sh
32
+
33
+ nightly-full:
34
+ name: Nightly Full Flow
35
+ if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - name: Checkout
39
+ uses: actions/checkout@v4
40
+
41
+ - name: Setup Python
42
+ uses: actions/setup-python@v5
43
+ with:
44
+ python-version: "3.11"
45
+
46
+ - name: Install deps
47
+ run: |
48
+ python -m pip install --upgrade pip
49
+ pip install -r requirements.txt
50
+
51
+ - name: Nightly full workflow
52
+ env:
53
+ NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
54
+ LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
55
+ OPENLANE_ROOT: ${{ vars.OPENLANE_ROOT }}
56
+ run: |
57
+ bash scripts/ci/nightly_full.sh
@@ -0,0 +1,89 @@
1
+ name: Deploy to Hugging Face Spaces
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ deploy:
10
+ name: Push to HuggingFace Space
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - name: Checkout full history
14
+ uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0
17
+ lfs: false
18
+
19
+ - name: Configure Git identity
20
+ run: |
21
+ git config user.email "deploy-bot@github-actions"
22
+ git config user.name "GitHub Actions Deploy Bot"
23
+
24
+ - name: Install git-lfs
25
+ run: |
26
+ sudo apt-get install -y git-lfs
27
+ git lfs install
28
+
29
+ - name: Migrate binary files to LFS across full history
30
+ run: |
31
+ # This rewrites ALL commits in history to store binaries as LFS pointers.
32
+ # This is required because HuggingFace checks every commit, not just the latest.
33
+ git lfs migrate import \
34
+ --include="*.woff2,*.wasm,*.woff,*.ttf,*.otf,*.png,*.jpg,*.jpeg,*.ico,*.gif,*.mp4,*.webp" \
35
+ --everything \
36
+ --yes
37
+ echo "✓ LFS migration complete"
38
+
39
+ - name: Push to Hugging Face Space
40
+ env:
41
+ HF_TOKEN: ${{ secrets.HF_TOKEN }}
42
+ run: |
43
+ if [ -z "$HF_TOKEN" ]; then
44
+ echo "::error::HF_TOKEN secret is not set. Go to repo Settings → Secrets → Actions → New secret"
45
+ exit 1
46
+ fi
47
+ git remote add hf "https://hf_user:${HF_TOKEN}@huggingface.co/spaces/vxkyyy/AgentIC"
48
+ # Force push because history was rewritten by lfs migrate import
49
+ git push hf main --force
50
+
51
+ - name: Sync LLM secrets to HuggingFace Space
52
+ env:
53
+ HF_TOKEN: ${{ secrets.HF_TOKEN }}
54
+ NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
55
+ NVIDIA_MODEL: ${{ secrets.NVIDIA_MODEL }}
56
+ NVIDIA_BASE_URL: ${{ secrets.NVIDIA_BASE_URL }}
57
+ LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
58
+ LLM_MODEL: ${{ secrets.LLM_MODEL }}
59
+ LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
60
+ GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
61
+ run: |
62
+ HF_SPACE="vxkyyy/AgentIC"
63
+ API="https://huggingface.co/api/spaces/${HF_SPACE}/secrets"
64
+
65
+ set_secret() {
66
+ local key="$1"
67
+ local value="$2"
68
+ if [ -z "$value" ]; then
69
+ echo "⏭ Skipping ${key} (not set in GitHub secrets)"
70
+ return
71
+ fi
72
+ HTTP=$(curl -s -o /dev/null -w "%{http_code}" -X PUT "$API" \
73
+ -H "Authorization: Bearer ${HF_TOKEN}" \
74
+ -H "Content-Type: application/json" \
75
+ -d "[{\"key\":\"${key}\",\"value\":\"${value}\"}]")
76
+ if [ "$HTTP" = "200" ] || [ "$HTTP" = "201" ]; then
77
+ echo "✓ ${key} synced to HF Space"
78
+ else
79
+ echo "::warning::Failed to sync ${key} (HTTP ${HTTP})"
80
+ fi
81
+ }
82
+
83
+ set_secret "NVIDIA_API_KEY" "$NVIDIA_API_KEY"
84
+ set_secret "NVIDIA_MODEL" "$NVIDIA_MODEL"
85
+ set_secret "NVIDIA_BASE_URL" "$NVIDIA_BASE_URL"
86
+ set_secret "LLM_API_KEY" "$LLM_API_KEY"
87
+ set_secret "LLM_MODEL" "$LLM_MODEL"
88
+ set_secret "LLM_BASE_URL" "$LLM_BASE_URL"
89
+ set_secret "GROQ_API_KEY" "$GROQ_API_KEY"
@@ -0,0 +1,133 @@
1
+ name: Deploy Backend to Oracle Cloud
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches:
7
+ - main
8
+ paths:
9
+ - 'server/**'
10
+ - 'src/**'
11
+ - 'ops/**'
12
+ - 'docker-compose.yml'
13
+ - 'Dockerfile'
14
+ - 'requirements.txt'
15
+ - '.github/workflows/oracle-deploy.yml'
16
+
17
+ concurrency:
18
+ group: oracle-deploy
19
+ cancel-in-progress: false
20
+
21
+ jobs:
22
+ validate:
23
+ name: Validate Backend Before Deploy
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - name: Checkout Code
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Setup Python
30
+ uses: actions/setup-python@v5
31
+ with:
32
+ python-version: "3.11"
33
+
34
+ - name: Install deps
35
+ run: |
36
+ python -m pip install --upgrade pip
37
+ pip install -r requirements.txt
38
+
39
+ - name: Compile and config checks
40
+ run: |
41
+ python -m py_compile server/db.py server/api.py server/lab.py server/tasks.py src/agentic/orchestrator.py src/agentic/cli.py
42
+ python -m json.tool ops/grafana/dashboards/agentic-overview.json > /dev/null
43
+ touch .env
44
+ docker compose config > /dev/null
45
+
46
+ deploy:
47
+ needs: validate
48
+ runs-on: ubuntu-latest
49
+ steps:
50
+ - name: Checkout Code
51
+ uses: actions/checkout@v4
52
+
53
+ - name: Setup SSH
54
+ run: |
55
+ mkdir -p ~/.ssh/
56
+ echo "${{ secrets.ORACLE_SSH_KEY }}" > ~/.ssh/id_rsa
57
+ chmod 600 ~/.ssh/id_rsa
58
+ ssh-keyscan -H ${{ secrets.ORACLE_HOST }} >> ~/.ssh/known_hosts
59
+
60
+ - name: Sync files to Oracle VM via rsync
61
+ run: |
62
+ rsync -avz --delete \
63
+ --exclude '.git' \
64
+ --exclude '.env' \
65
+ --exclude 'node_modules' \
66
+ --exclude '__pycache__' \
67
+ --exclude '.venv-agentic' \
68
+ --exclude '.pytest_cache' \
69
+ --exclude '.mypy_cache' \
70
+ --exclude '.codex' \
71
+ --exclude 'artifacts' \
72
+ --exclude 'designs' \
73
+ --exclude 'designs_root_owned' \
74
+ --exclude 'metrics' \
75
+ --exclude 'notebooks' \
76
+ --exclude 'agentic_jobs.db' \
77
+ --exclude 'build.log' \
78
+ ./ ${{ secrets.ORACLE_USER }}@${{ secrets.ORACLE_HOST }}:~/AgentIC/
79
+
80
+ - name: Rebuild & Restart Docker Containers
81
+ uses: appleboy/ssh-action@v1.0.3
82
+ with:
83
+ host: ${{ secrets.ORACLE_HOST }}
84
+ username: ${{ secrets.ORACLE_USER }}
85
+ key: ${{ secrets.ORACLE_SSH_KEY }}
86
+ script: |
87
+ set -eu
88
+ cd ~/AgentIC
89
+
90
+ if [ ! -f .env ]; then
91
+ echo "Missing ~/AgentIC/.env on Oracle VM"
92
+ exit 1
93
+ fi
94
+
95
+ required_keys="POSTGRES_PASSWORD REDIS_PASSWORD MINIO_ROOT_USER MINIO_ROOT_PASSWORD ALLOW_BACKEND_LLM_FALLBACK"
96
+ for key in $required_keys; do
97
+ if ! grep -Eq "^${key}=.+$" .env; then
98
+ echo "Missing required env key: ${key}"
99
+ exit 1
100
+ fi
101
+ done
102
+
103
+ sudo docker-compose config > /dev/null
104
+
105
+ compose_version=$(sudo docker-compose version --short 2>/dev/null || echo unknown)
106
+ if echo "$compose_version" | grep -Eq '^1\.'; then
107
+ echo "Legacy docker-compose detected (${compose_version}); using clean container replacement"
108
+ legacy_containers=$(sudo docker ps -a --format '{{.Names}}' | grep -E '(^agentic_|^[0-9a-f]{12,}_agentic_)' || true)
109
+ if [ -n "$legacy_containers" ]; then
110
+ echo "Removing legacy compose containers:"
111
+ echo "$legacy_containers"
112
+ echo "$legacy_containers" | xargs -r sudo docker rm -f
113
+ fi
114
+ fi
115
+
116
+ sudo env COMPOSE_PROFILES=observability docker-compose up -d --build --remove-orphans
117
+
118
+ for i in $(seq 1 30); do
119
+ api_health=$(sudo docker inspect -f '{{if .State.Health}}{{.State.Health.Status}}{{else}}unknown{{end}}' agentic_api 2>/dev/null || true)
120
+ worker_health=$(sudo docker inspect -f '{{if .State.Health}}{{.State.Health.Status}}{{else}}unknown{{end}}' agentic_worker 2>/dev/null || true)
121
+ if [ "$api_health" = "healthy" ] && [ "$worker_health" = "healthy" ] && \
122
+ curl -fsS http://127.0.0.1:7860/livez >/dev/null 2>&1 && \
123
+ curl -fsS http://127.0.0.1:7860/readyz >/dev/null 2>&1; then
124
+ echo "AgentIC backend is healthy"
125
+ exit 0
126
+ fi
127
+ echo "Waiting for AgentIC backend to become healthy... api=${api_health} worker=${worker_health}"
128
+ sleep 5
129
+ done
130
+ echo "AgentIC backend failed health checks after deploy"
131
+ sudo docker-compose ps
132
+ sudo docker-compose logs --tail=100 api worker
133
+ exit 1
@@ -0,0 +1,94 @@
1
+ # Python
2
+ __pycache__/
3
+ *.pyc
4
+ *.pyo
5
+ *.pyd
6
+ .Python
7
+ env/
8
+ venv/
9
+ .env
10
+ .venv
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ *.egg-info/
24
+ .installed.cfg
25
+ *.egg
26
+
27
+ # AgentIC Specific
28
+ # Ignore massive run logs or temporary build artifacts if they end up here
29
+ runs/
30
+ *.log
31
+ *.vcd
32
+ work/
33
+ transcript
34
+
35
+ # OSS CAD Suite (large binary toolchain - download separately)
36
+ oss-cad-suite/
37
+ oss-cad-suite-*.tgz
38
+
39
+ # System
40
+ .DS_Store
41
+ Thumbs.db
42
+
43
+ # OpenLane outputs (if copied here)
44
+ # Uncomment the line below if you don't want to version control large GDS files
45
+ *.gds
46
+ temp_*.svg
47
+ designs/*/src/sim
48
+ .venv-agentic/
49
+
50
+ # Node / Frontend
51
+ node_modules/
52
+ web/node_modules/
53
+ web/dist/
54
+ web/.vite/
55
+ dist/
56
+
57
+ # Temporary / test scripts
58
+ *.tmp
59
+ global_reqs.tmp
60
+ venv_reqs.tmp
61
+ nodesource_setup.sh
62
+ test_import.py
63
+ test_signoff.py
64
+ test_signoff2.py
65
+ test_direct_call.py
66
+ test_llm_call.py
67
+ fix_recursion.py
68
+ fix_subprocess.py
69
+ test_tb.v
70
+ benchmark_verieval.py
71
+ scripts/remote_setup.sh
72
+ *.jsonl
73
+ leaderboard.md
74
+ verieval_results.json
75
+
76
+ # PLY parser cache (auto-generated, 2+ MB)
77
+ parser.out
78
+ parsetab.py
79
+
80
+ # Database
81
+ agentic_jobs.db
82
+ *.sqlite3
83
+
84
+
85
+ # Temporary fix scripts
86
+ fix_*.py
87
+
88
+
89
+ # Security build outputs
90
+ secure_build/
91
+ build_secure_ip.py
92
+ update_readme.py
93
+ test.js
94
+ modify_*.py
@@ -0,0 +1,70 @@
1
+ # Build frontend web UI
2
+ FROM node:20 AS frontend-builder
3
+ WORKDIR /app/web
4
+ COPY web/package*.json ./
5
+ RUN npm install
6
+ COPY web/ ./
7
+ RUN npm run build
8
+
9
+ # Base Python runtime
10
+ FROM python:3.11-slim
11
+
12
+ # Install system dependencies and EDA tools
13
+ RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ build-essential \
15
+ cmake \
16
+ git \
17
+ curl \
18
+ libboost-dev \
19
+ zlib1g-dev \
20
+ libfftw3-dev \
21
+ libreadline-dev \
22
+ tcl-dev \
23
+ pkg-config \
24
+ verilator \
25
+ iverilog \
26
+ gtkwave \
27
+ yosys \
28
+ fontconfig \
29
+ fonts-dejavu \
30
+ && rm -rf /var/lib/apt/lists/*
31
+
32
+ # Install SymbiYosys
33
+ RUN pip install --no-cache-dir symbiyosys 2>/dev/null || \
34
+ (git clone --depth 1 https://github.com/YosysHQ/sby /tmp/sby \
35
+ && cd /tmp/sby && make install && rm -rf /tmp/sby) || true
36
+
37
+ WORKDIR /app
38
+
39
+ ENV PYTHONPATH=/app
40
+
41
+ # Disable CrewAI telemetry
42
+ ENV CREWAI_TRACING_ENABLED=false
43
+ ENV CREWAI_DISABLE_TELEMETRY=true
44
+ ENV OTEL_SDK_DISABLED=true
45
+
46
+ # Install Python dependencies
47
+ COPY requirements.txt .
48
+ RUN pip install --no-cache-dir --upgrade pip && \
49
+ pip install --no-cache-dir uvicorn[standard] fastapi && \
50
+ pip install --no-cache-dir -r requirements.txt && \
51
+ pip install --no-cache-dir 'apscheduler>=3.10.0'
52
+
53
+ # Copy application code
54
+ COPY . .
55
+
56
+ # Copy built artifacts from frontend-builder
57
+ COPY --from=frontend-builder /app/web/dist /app/web/dist
58
+
59
+ # Runtime directories
60
+ RUN mkdir -p /app/designs /app/artifacts /app/pdk
61
+
62
+ ENV PDK_ROOT=/app/pdk
63
+
64
+ # HuggingFace Spaces runs as non-root user 1000
65
+ RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
66
+ USER appuser
67
+
68
+ EXPOSE 7860
69
+
70
+ CMD ["uvicorn", "server.api:app", "--host", "0.0.0.0", "--port", "7860"]
@@ -0,0 +1,7 @@
1
+ Copyright (c) 2026 Vicky Nishad. All Rights Reserved.
2
+
3
+ This software and associated documentation files (the "Software") are PROPRIETARY and CONFIDENTIAL.
4
+
5
+ You may NOT use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software in any form, or permit persons to whom the Software is furnished to do so.
6
+
7
+ Any unauthorized use, reproduction, or distribution of this Software, in whole or in part, without the express written permission from the copyright owner is strictly prohibited and may result in severe civil and criminal penalties.
@@ -0,0 +1,68 @@
1
+ # AgentIC Makefile - Structured Verification & Hardening Workflow
2
+ # Usage: make <target> [DESIGN=name]
3
+
4
+ DESIGN ?= simple_counter
5
+ OPENLANE_ROOT ?= $(HOME)/OpenLane
6
+ DESIGN_SRC = designs/$(DESIGN)/src
7
+ RTL = $(DESIGN_SRC)/$(DESIGN).v
8
+ TB = $(DESIGN_SRC)/$(DESIGN)_tb.v
9
+ PDK_ROOT ?= $(HOME)/.ciel
10
+ OPENLANE_IMAGE ?= ghcr.io/the-openroad-project/openlane:ff5509f65b17bfa4068d5336495ab1718987ff69-amd64
11
+
12
+ .PHONY: all lint sim verify harden clean help
13
+
14
+ # Complete flow
15
+ all: lint sim harden verify
16
+ @echo "=========================================="
17
+ @echo " COMPLETE WORKFLOW FINISHED FOR $(DESIGN)"
18
+ @echo "=========================================="
19
+
20
+ # Step 1: Lint (syntax check)
21
+ lint:
22
+ @echo "━━━ [1/4] LINTING $(DESIGN) ━━━"
23
+ iverilog -t null $(RTL)
24
+ @echo "✓ Syntax OK"
25
+
26
+ # Step 2: Simulate (functional verification)
27
+ sim: lint
28
+ @echo "━━━ [2/4] SIMULATING $(DESIGN) ━━━"
29
+ iverilog -o $(DESIGN_SRC)/sim $(RTL) $(TB)
30
+ cd $(DESIGN_SRC) && vvp sim | tee sim.log
31
+ @grep -q "TEST PASSED" $(DESIGN_SRC)/sim.log && echo "✓ Simulation PASSED" || (echo "✗ Simulation FAILED" && exit 1)
32
+
33
+ # Step 3: Harden (RTL → GDSII via OpenLane Docker)
34
+ harden:
35
+ @echo "━━━ [3/4] HARDENING $(DESIGN) → GDSII ━━━"
36
+ @echo "Copying design to OpenLane..."
37
+ cp -r designs/$(DESIGN) $(OPENLANE_ROOT)/designs/
38
+ @echo "Running OpenLane flow (may take 5-15 min)..."
39
+ docker run --rm \
40
+ -v $(OPENLANE_ROOT):/openlane \
41
+ -v $(PDK_ROOT):$(PDK_ROOT) \
42
+ -e PDK_ROOT=$(PDK_ROOT) \
43
+ -e PDK=sky130A \
44
+ -e PWD=/openlane \
45
+ $(OPENLANE_IMAGE) \
46
+ ./flow.tcl -design $(DESIGN) -tag agent_run_$(shell date +%Y%m%d_%H%M%S) -ignore_mismatches
47
+ @echo "✓ Hardening complete. Check $(OPENLANE_ROOT)/designs/$(DESIGN)/runs/"
48
+
49
+ # Step 4: Verify (DRC/LVS)
50
+ verify:
51
+ @echo "━━━ [4/4] VERIFYING $(DESIGN) (DRC/LVS) ━━━"
52
+ bash scripts/verify_design.sh $(DESIGN)
53
+
54
+ # Utilities
55
+ clean:
56
+ rm -f $(DESIGN_SRC)/sim $(DESIGN_SRC)/sim.log $(DESIGN_SRC)/*.vcd
57
+ @echo "Cleaned simulation artifacts."
58
+
59
+ help:
60
+ @echo "AgentIC Makefile Targets:"
61
+ @echo " make lint - Check Verilog syntax"
62
+ @echo " make sim - Run RTL simulation"
63
+ @echo " make harden - Run OpenLane (RTL→GDSII)"
64
+ @echo " make verify - Run DRC/LVS checks"
65
+ @echo " make all - Run complete flow"
66
+ @echo " make clean - Remove temp files"
67
+ @echo ""
68
+ @echo "Override design: make DESIGN=my_counter sim"