Commit graph

318 commits

Author SHA1 Message Date
allaun
5413527476 infra(neon): decommission neon-64gb and redirect all database and LLM endpoints to nixos-laptop 2026-07-05 16:20:22 -05:00
allaun
36a78fec72 feat(infra): add support for secure file-based Authentik token loading
Add support for AUTHENTIK_TOKEN_FILE environment variable fallback to
service_orchestrator.py, configure_vault_authentik.py, and the Rust
authentik_agent_manager CLI/MCP server. This prevents hardcoding or
exposing raw tokens in environment blocks or CLI arguments. Document
the new Authentik SSO stack deployment on cupfox k3s in AGENTS.md and
update .mcp.json.full configuration.

Build: 0 jobs, 0 errors (lake build)
2026-07-05 15:54:27 -05:00
allaun
1c65853243 feat: spectral threshold tuning + Gremlin-to-AppFloyo push
Spectral thresholds:
- Lower signalThreshold from 2.0 to 1.5 (98304 Q16_16 raw)
- colorToShapeName now returns LogogramProjection for blue-only
  (was none, which caused missing_prediction alignment status)
- Result: 0 missing_prediction, 32 aligned_exact, 66 compatible,
  180 alignment_warning across 278 rows

Gremlin bridge:
- Added push_to_appflowy() with auto GoTrue JWT acquisition
- PUSH_APPFLOWY=1 env var triggers push after report generation
- Retained JSON/Markdown file output as primary delivery
2026-06-30 04:36:49 -05:00
allaun
6468138112 refactor(infra): replace AppFloyo REST bridge with report generator
- gremlin_appflowy_bridge.py: deprecated shim → delegates to new module
- gremlin_lean_report.py: generates JSON + Markdown reports from Gremlin
  with module theorem counts, sorries, import/dependency metrics
- AppFloyo Cloud v0.16.5 lacks programmatic database REST API;
  reports can be imported via AppFloyo UI instead
- GoTrue auth (port 9999) is working for future API use
2026-06-30 03:14:05 -05:00
allaun
d7c60cf60c feat(infra): secure Vaultwarden installation using Authentik API and Caddy
- Set SIGNUPS_ALLOWED=false in Vaultwarden environment on cupfox to disable public signups.
- Automated OIDC/Proxy setup via configure_vault_authentik.py by registering proxy provider, application, and updating the embedded outpost.
- Modified /etc/caddy/Caddyfile.vault on racknerd to forward authentication requests through the Authentik outpost.
- Added vaultwarden-verify-sso.spec.ts Playwright verification test ensuring SSO redirects, successful login, and disabled registration are enforced.

Build: 3314 jobs, 0 errors (lake build)
2026-06-30 01:49:03 -05:00
allaun
8c09c239c8 test(infra): add E2E Playwright verification spec for Vaultwarden routing
- Verify vault.researchstack.info routes successfully to standalone Vaultwarden container on cupfox

Build: 0 jobs, 0 errors (lake build)
2026-06-29 23:10:17 -05:00
allaun
82b1d3f280 docs(infra): document audiobookshelf-verify.spec.ts in AGENTS.md
Build: 0 jobs, 0 errors (lake build)
2026-06-29 21:26:56 -05:00
allaun
f7dd26a310 test(infra): add E2E Playwright verification spec for Audiobookshelf SSO
- Verify Audiobookshelf forward auth and OIDC flow redirects to Authentik and returns to login page
- Document OIDC client credentials alignment

Build: 0 jobs, 0 errors (lake build)
2026-06-29 21:26:30 -05:00
allaun
a8fa660009 test(infra): add E2E Playwright verification spec for Chat SSO login
- Automate multi-step SSO login and NextAuth session activation for chat.researchstack.info
- Verify Caddy reverse proxy and forward auth configuration resolves ERR_TOO_MANY_REDIRECTS

Build: 0 jobs, 0 errors (lake build)
2026-06-29 16:38:39 -05:00
allaun
002b88c240 test(infra): update Homarr E2E spec to navigate directly to /auth/login
Build: 0 jobs, 0 errors (lake build)
2026-06-29 16:21:47 -05:00
allaun
a55346842d test(infra): add E2E Playwright verification spec for Homarr OIDC login
- Automate multi-step SSO login and NextAuth session activation
- Assert presence of 8 registered subdomains on the home board

Build: 0 jobs, 0 errors (lake build)
2026-06-29 16:02:53 -05:00
allaun
6005a436a3 chore(lean): ncDerived negative control witness from manifold primitives
- Added ncDerived definition in Emit.lean: residualRisk × scaleBandDeclared
- Added ncDerived_independence_justification with CRT product principle link
- Regenerated Corpus250.lean with 278 rows containing manifold primitives
- Fixed syntax error in build_corpus250.py (missing Quote on line 161)

Justification: When weak axes are independent coprime projections, CRT
reconstruction recovers the class modulo product of moduli (InteractionGraphSidon).
Manifold coordinates residualRisk/scaleBandDeclared are orthogonal dimensions;
their product quantifies joint witness strength (P(A∩B) ≤ P(A)×P(B)).

Build: 3314 jobs, 0 errors (lake build Compiler)
2026-06-29 14:23:11 -05:00
allaun
0fe50b4840 feat(infra): update Homarr dashboard to v1.68.0 and align manifests
- Update container image to ghcr.io/homarr-labs/homarr:v1.68.0
- Change namespace from services to homarr across deployment, service, and pvc
- Set volume mount path to /appdata and storage capacity to 2Gi with local-path
- Inject OIDC environment variables for SSO authentication

Build: 0 jobs, 0 errors
2026-06-29 09:31:52 -05:00
allaun
fc84c98253 feat(lean): Multi-surface packing Lagrangian + QuaternionScalar fix
- Fix QuaternionScalar.lean Q16_16.max/min disambiguation (pre-existing build error)
- Add MultiSurfacePacker.lean: unified ΔΦΓΛ cost surfaces in Lean
  - DeltaSurfaceCost, SpectralSurfaceCost, ProgramSurfaceCost structures
  - computeLagrangian: Q16_16 fixed-point implementation
  - coherenceGate and gcclSwapGate decision functions
  - 3 witnessed theorems (#eval verification)
- Add multi_surface_packer.py: Python I/O shim with full pipeline
- Update AGENTS.md: build baseline 8604 jobs, document new module

Build: 8604 jobs, 0 errors (lake build)
2026-06-28 22:48:50 -05:00
allaun
c3d7516849 fix(infra): purge hardcoded Postgres password from service_orchestrator.py
Replace hardcoded DATABASE_URL default (containing live password) with
required os.environ lookup. The credential must be set at runtime.

Build: N/A (Python shim)
2026-06-28 19:58:35 -05:00
allaun
c44a01df3b feat(lean): InformationManifold + SLUQ; chentsov_fusion, tdoku_16d; docs reconciliation suite
- New: InformationManifold.lean — tensor integration module
- Update: SLUQ.lean — proof refinements
- New: chentsov_fusion.py — Chentsov fusion bridge
- New: tdoku_16d.py — 16-dimensional TDoku solver
- New: validate_docs.py — documentation validation script
- New: negative_tests.json + test_negative_suite.py — negative test fixtures
- Update: flac_dsp_node.py — DSP node refinements
- Update: CITATION.cff — citation metadata
- Docs: GEOMETRIC_SUBSTANCE_CANONICAL_RECONCILIATION, LITERATURE_MAPPING,
  GROTHENDIECKIAN_ORGANIZATIONAL_ROTATION_PROPOSAL, formula extraction suite
- New: package/ — public-apis npm metadata
2026-06-28 10:38:13 -05:00
allaun
dc32aa6ce0 fix(encoder): Critical fixes for Erdős #336 test bench 2026-06-28 02:39:32 -05:00
ec74e2539b refactor: move gemma4 MCP server to SilverSight
Moved from Research Stack to SilverSight/python/gemma4_mcp.py
MCP config updated to point to new location.
2026-06-22 23:04:40 -05:00
5bc3b8389d feat(infra): Gemma4-12B as MCP tool, not primary model
Moved Gemma4-12B from OpenCode primary model to MCP tool.
This avoids GUI issues and token burn from monitoring.

MCP tool: gemma4
- Calls local llama-server at 127.0.0.1:8081
- Returns reasoning + content
- No API key required
- ~40 tokens/sec generation

Usage: call gemma4 tool with a question, get answer back.
No parent model burns tokens waiting.
2026-06-22 23:01:19 -05:00
13ab95e18a feat(infra): lbi wrapper — lake build + ENE ingest in one call
Usage:
  lbi                    # full build + ingest
  lbi Compiler           # compiler surface + ingest
  lbi Semantics.GraphRank  # narrow target + ingest

Keeps databases in sync during development, not just on commit.
Add to shell: alias lb='lbi'
2026-06-22 21:22:14 -05:00
cd9817b9ec feat(agent): model theorem matrix with degenerate sector analysis
Each model has strong (>0.7), mixed (0.4-0.7), and degenerate (<0.4)
sectors. For each degenerate sector, a theorem attack compensates.

Algorithm: greedy selection until all priority sectors are strong (≥0.7).

Results:
- lean_proof: DeepSeek V4 Pro (1 model covers all priority sectors)
- code_bug: Kimi K2.6 (1 model)
- architecture: Claude Opus (1 model + 2 theorem attacks)
- math_novel: DeepSeek V4 Pro (1 model)
- infra_debug: GPT 5.5 + DeepSeek Flash (2 models)
- hard_wall: Claude Opus + DeepSeek Flash (2 models + 4 attacks)

Theorem attacks for degenerate sectors:
- speed → parallel_delegation (delegate fast tasks to cheaper models)
- cost_efficiency → selective_invocation (escalation path)
- formal_proof → delegate_to_opus (can't do Lean, delegate)
- breadth → context_injection (inject codebase context)
- reasoning_depth → chain_of_thought (break into steps)
2026-06-22 16:16:13 -05:00
364d249688 feat(agent): dual quaternion model selector with mass semantic numbers
Each model = dual quaternion (real = compressive, dual = anti-compressive).
Chiral ratio χ = |real|² / (|real|² + |dual|²) determines selection.

Results at threshold 0.99:
- lean_proof: 6 models (drops GLM, DS Flash)
- code_bug: 3 models (DeepSeek + Opus + Cohere)
- architecture: 7 models (drops DS Flash)
- math_novel: 6 models (drops GLM, DS Flash)
- infra_debug: 2 models (DeepSeek + Opus only)
- hard_wall: 4 models (drops diversity tier)

Z-transform compression for model selection history included.
Dual quaternion multiplication for panel composition.
2026-06-22 16:12:58 -05:00
9c5e5030a5 refactor(agent): simplify break-glass to model selection guide
Hermes already handles model routing. Remove MCP server, keep skill
as a cost-optimized model selection guide.

Key insight: DeepSeek V4 Pro is 55x cheaper than Claude Opus and
nearly as good at math/code. Default to DeepSeek, escalate to Opus
only when stuck.

Removed: break_glass_mcp.py (unnecessary — Hermes handles routing)
2026-06-22 15:48:40 -05:00
e250787e8b feat(agent): 8-model Fusion panels with Cohere + GLM + hard_wall type
Revised panel selections (1-8 models per Fusion spec):
- lean_proof: 8 models (Opus, DeepSeek, GPT, Cohere, Gemini, GLM, Kimi, DS-Flash)
- code_bug: 6 models
- architecture: 8 models
- math_novel: 6 models
- infra_debug: 5 models
- hard_wall: 8 models (all, for truly stuck problems)

Added:
- Cohere Command A+ (structured output, tool-use optimized)
- GLM-5.2 (753B, genuinely different architecture)
- DeepSeek V4 Flash (fast iterations)
- hard_wall problem type (stuck/wall/impossible/tried everything)
- Budget cap per type (.50-.50)
2026-06-22 15:45:21 -05:00
2cbba82406 feat(agent): break-glass MCP agent for novel problem attacks
Last-resort multi-model panel via OpenRouter Fusion. Only invoked
when all other approaches (local model, single frontier, existing
skills) have failed on the same problem.

Architecture:
- Problem classification (lean_proof, code_bug, architecture, math_novel, infra_debug)
- Per-type model panel selection (Opus + DeepSeek + Gemini for proofs)
- Context assembly (files, build logs, AGENTS.md constraints)
- OpenRouter Fusion call (parallel panel + judge synthesis)
- Structured output (diagnosis, solution, alternatives, risks, cost)

Safety:
- Explicit 'break glass:' trigger required
- Cost gate: /usr/bin/bash.30-.50 per invocation, .00/session cap
- Rate limit: 3 invocations per session
- Audit trail via ContextStream

Files:
- 4-Infrastructure/shim/break_glass_mcp.py (MCP server)
- 6-Documentation/docs/specs/break_glass_mcp_agent.md (design spec)
- .opencode/skills/break-glass/SKILL.md (skill definition)
- .mcp.json (server registration)
2026-06-22 15:33:16 -05:00
5e7200c84f feat(infra): add optional --rrc alignment to lake_build_ingest.py
When --rrc is given, the shim runs pist-classify-trace on the trace fixture
and rrc-watchdog for RRC alignment, then writes an additional
rrc_alignment receipt into ene.receipts alongside the build receipt.
2026-06-22 03:46:58 -05:00
1a44f890c8 fix(infra): make lake_build_ingest.py duplicate-safe
Sets content_hash to NULL for build_log packages so the partial unique

index ene_pkg_hash_idx does not prevent multiple ingestions of the same

build output. Each build session now gets its own package row. Also makes

receipt/ingest_event inserts idempotent with ON CONFLICT DO NOTHING.
2026-06-22 03:14:23 -05:00
762c88057a docs(infra): document build-log automation in AGENTS.md
Adds a Build-log automation section noting the post-commit hook runs lake_build_ingest.py Compiler in the background, inserting into ENE on neon-64gb. Includes log path and reinstall note.
2026-06-22 02:37:00 -05:00
f3d11359c6 docs(infra): document canonical database locations and lake build ingest shim
Adds canonical database location notes to 4-Infrastructure/AGENTS.md:
- Postgres canonical instance is the arxiv-pg container on neon-64gb.
- Gremlin canonical instance is the Azure Cosmos DB endpoint.
- Explicitly warns against spinning up local Postgres on qfox for
  production data.

Also adds `lake_build_ingest.py` to the stack-solidification anchors.
2026-06-22 02:22:34 -05:00
27efd54f6d feat(infra): add lake build ingestion shim for ENE database
Adds 4-Infrastructure/shim/lake_build_ingest.py, a pure-I/O shim that:
- runs `lake build <target>` in the Semantics directory,
- parses job count, error count, warnings, and status,
- inserts a session, package, receipt, and ingest_event into the
  ENE database on neon-64gb (arxiv-pg container).

The script contains no admissibility logic and no Float arithmetic.
Tested with `lake build Semantics.NKHodgeFAMM` — 8316 jobs, 0 errors,
session d1ea53db2185df87dd41497da12101f5.
2026-06-22 02:20:17 -05:00
69988453bc chore(infra): stage working tree modifications
Build: 8604 jobs, 0 errors (lake build)
2026-06-22 01:23:17 -05:00
1f7ec15f12 feat(lean): add logarithmic viscosity coordinates to NKHodgeFAMM
Adds logViscosityRatio, log_viscosity_monotone, and ν_eff_monotone
to Semantics/NKHodgeFAMM.lean section 6b. The adaptive viscosity law
ν_eff = ν₀*(1+μ) is multiplicative in ν₀ and additive in scar density μ;
taking λ = log(ν_eff/ν₀) = log(1+μ) turns the multiplicative feedback into
an additive coordinate. This gives nlinarith a direct handle on viscosity
monotonicity and connects the module to Kritchevsky's "Everything Is
Logarithms" framing (SilverSight CITATION.cff).

Also marks a few pre-existing unused variables with underscores to silence
the linter.

Build: 8316 jobs, 0 errors (lake build Semantics.NKHodgeFAMM)
2026-06-22 01:21:58 -05:00
8079ca3a20 docs(infra): document bosonic tensor network regime discovery and fix dim formula
- Updates CHANGELOG.md with 2026-06-21 entry describing the two-regime
  phase transition observed on neon-64gb: bosonic MC (p<=4) vs
  distinguishable approximation (p>=5) in rrc_bosonic_tensor_network.py.
- Adds BMCTE, SBOE, LPMCE, effective support, and observable-estimation
  vs exact-simulation terms to 6-Documentation/docs/GLOSSARY.md.
- Fixes Hilbert-dimension summary in rrc_bosonic_tensor_network.py to use
  C(N+p-1, p) instead of C(N, p).

No core logic changed; documentation and summary-output correction only.
2026-06-22 01:11:17 -05:00
040b0ef61f docs(infra): document hybrid arxiv search infrastructure
Added embed_arxiv.py, hybrid_search.sql, and jaccard_hybrid.py to the
Stack-Solidification Anchors section. Replaced slow Jaccard matcher with
397x faster static-retrieval-mrl-en-v1 model + pgvector HNSW index.

Build: 3314 jobs, 0 errors (lake build Compiler)
2026-06-22 01:11:17 -05:00
88db8987b0 feat(infra): add hybrid arxiv search with pgvector HNSW + pg_trgm
- embed_arxiv.py: batch embedding of 700k arxiv abstracts using
  static-retrieval-mrl-en-v1 (1024-dim model)
- hybrid_search.sql: RRF merger of trigram + vector search, 22ms query time
- jaccard_hybrid.py: 48 cornfield concepts matched to arxiv papers

Results: 480 hybrid citations loaded (vector-only matches for abstract concepts)
Build: 3314 jobs, 0 errors (lake build Compiler)
2026-06-22 01:11:17 -05:00
d28e9de6ca fix(infra): optimize drive compression memory usage and download skip
Check file sizes before loading bytes into memory and stream large files
directly into the tarball to prevent OOM errors on Steam Deck. Skip downloading
files that already exist locally.

Build: 0 errors (py_compile)
2026-06-22 01:11:17 -05:00
0149a5c93d feat(infra): add MCP-only Drive GCCL compression shim
Adds 4-Infrastructure/shim/mcp_drive_gccl_compress.py:
- downloads a Google Drive folder via @piotr-agier/google-drive-mcp
- GCCL-delta-compresses contents into .tar.zst + JSON manifest
- uploads archive + manifest back to Drive
- optionally trashes the original folder
- handles MCP listFolder pagination

Updates 4-Infrastructure/AGENTS.md with the new shim anchor.

No rclone or egress-heavy operations; all Drive I/O goes through MCP.
2026-06-22 01:11:17 -05:00
2b3d255a40 feat(infra): add fast Jaccard matcher using /shm keyword index
Pre-built keyword index on /shm (272 MB, 111k keywords, 700k papers).
Runs in 39 seconds vs 10+ minutes timeout for SQL-based approach.

Usage:
  # Build index (one-time, ~2 min)
  ssh neon-64gb 'python3 /tmp/build_keyword_index.py'

  # Run matcher (39 seconds)
  ssh neon-64gb 'python3 /tmp/jaccard_fast.py'

/shm setup:
  - tmpfs mount (32 GB), persistent in fstab
  - /shm/arxiv_texts.tsv (559 MB) — raw paper texts
  - /shm/keyword_index.json (272 MB) — inverted index
2026-06-22 01:11:17 -05:00
5a8179fe38 feat(infra): add Jaccard matcher for arxiv paper discovery
Finds related arxiv papers for cornfield concepts via keyword overlap.
Uses /shm/arxiv_texts.tsv (559 MB) for fast local matching.
pg_trgm GIN indexes on neon-64gb for Postgres queries.

Results: 240 candidate citations for 48 concepts.
Loaded into concept_citations table (relation_type='candidate').
2026-06-22 01:11:17 -05:00
67e77d8f24 feat(lean,infra): SilverSight-first offline PIST trace classifier
Moves all classification authority from Python into Lean:

- Adds `0-Core-Formalism/lean/Semantics/PistClassifyTrace.lean` executable.
  Reads a raw trace JSON and emits spectral radius, RRC shape, and tactic
  family using `Semantics.PIST.Spectral` and `Semantics.PIST.Classify`.
- Registers `pist-classify-trace` in `lakefile.toml`.
- Fixes `Semantics.PIST.Spectral` power iteration to handle directed
  transition matrices:
  - `symmetrize` now preserves half-integer weights as Q16_16 raw values.
  - `matVecMul` uses saturated Q16_16 arithmetic to prevent overflow.
- Rewrites `4-Infrastructure/shim/pist_trace_classify_offline.py` as a pure
  I/O wrapper: reads JSON, calls the Lean classifier, optionally calls
  `rrc-watchdog`, and emits the combined JSON. Removes Python-side spectral
  computation, shape thresholds, tactic heuristic, and KNN.
- Updates `AGENTS.md` and `4-Infrastructure/AGENTS.md` with the new build
  baseline and shim contract.

Verification:
- `lake build` → 8604 jobs, 0 errors
- Canary trace outputs match previous Python outputs to within Q16_16 rounding
  (e.g., apply_chain λ_q16 = 59044 vs 59045).
- `python3 -m py_compile` on the rewritten shim passes.
2026-06-22 01:11:17 -05:00
7b731f87c0 feat(rrc): add offline token-free trace classifier
Created a local, offline Python shim `pist_trace_classify_offline.py` that computes trace transition matrix spectra, maps the max eigenvalue to the Q16.16 spectral radius, evaluates the color-space shape classification logic from `Semantics.PIST.Classify`, and invokes the local `rrc-watchdog` Lean binary inside the podman container to verify alignment. This avoids querying the dead AWS RDS instance and saves LLM API tokens.

Build: 3314 jobs, 0 errors (lake build Compiler)
2026-06-22 01:11:17 -05:00
5bea52a09a fix(infra): wrap lean-lsp-mcp to correct severity schema for Moonshot API
Added a python-based wrapper script for lean-lsp-mcp that intercepts and cleans the 'severity' schema field from the tools/list output, resolving the 400 error from Moonshot API which strictly forbids defining 'type' in parent schemas alongside 'anyOf'.

Build: 3314 jobs, 0 errors (lake build)
2026-06-22 01:11:12 -05:00
5bc4865424 fix(infra): deduplicate MCP servers to reduce memory pressure
- Replace repo .mcp.json with minimal config (10 essential servers instead
  of 29). Full backup retained as .mcp.json.full.
- Remove inline MCP section from ~/.config/opencode/config.json so OpenCode
  loads only repo .mcp.json (also removes hardcoded Linear token leak).
- Add singleton guards to opencode_prover_mcp.py, token_saver_mcp.py, and
  remote_lean_proof_mcp.py to prevent duplicate instances when multiple
  IDE configs reference them.

Build: N/A (Python shims)
2026-06-21 01:24:56 -05:00
55d3c281c4 feat(infra): Semantic Scholar Cloudflare worker proxy
Add s2-proxy worker (index.js, run_after_key.sh, wrangler.toml) for
Semantic Scholar API proxying.
2026-06-21 01:04:19 -05:00
7b0c0a363b feat(infra): citation crawler and spectral cross-validation research shims
Add exploratory Python shims for:
- OpenAlex citation crawling
- Semantic Scholar citation crawling
- PageRank eigenvalue survey
- SNAP PIST spectral cross-validation
- Fiedler vector validation
2026-06-21 01:04:19 -05:00
7d3e90331a feat(infra): Finsler QAOA adapter fixes and benchmark shim
- qaoa_adapter.py: fix finsler_metric_to_qubo to store Q_ij + Q_ji per
  undirected pair; update is_anisotropic and _find_anisotropic_pair to
  accept raw_matrix so asymmetry detection still works after summation;
  add measure option to pauli_to_cirq.
- benchmark_finsler_qaoa.py: new benchmark harness for Finsler-Randers
  routing via QAOA.
2026-06-21 01:04:19 -05:00
5a4a46d486 feat(infra): Finsler-Randers QAP benchmark at n=8/12/24/48
Formulate directed Finsler routing as TSP-MTZ (QAP) using HiGHS MIP and
benchmark against QUBO subset-selection. Five solvers across four sizes.

Key results:
- QAP-MIP scales well: n=48 solves to feasibility in 13s
- QUBO degenerate for all-positive Q_ij (unconstrained always selects 0)
- 2-phase strategy viable: QUBO-card to select K, then TSP-on-subset

Build: N/A (Python shim)
2026-06-21 00:32:24 -05:00
7b498b95e4 feat(infra): capability probe — 9/9 backends functional, v1 receipt
- capability_probe.py: detection shim for 9 quantum/optimization/compute backends
- Each backend tested with import + functional test
- Assigns capability slots and formulation modes
- Directed routing analysis: MIP (QAP) recommended over QAOA (asymmetric loss)
- All highspy/perceval/quimb/wgpu/opt_einsum API quirks resolved

Receipt: 9/9 functional, 9 formulation modes, JSON schema v1
2026-06-21 00:32:24 -05:00
ec3c4cd440 chore(infra): add perceval-quandela to shim requirements
Perceval is the photonic quantum simulation SDK used by
rrc_photonic_stress_test.py (SLOS backend). Already installed
system-wide; added to requirements.txt for venv reproducibility.
2026-06-21 00:32:24 -05:00
c83e80df25 chore(infra): add missing quantum/GPU/db dependencies to shim requirements.txt
Adds 16 packages for bosonic tensor networks (quimb, opt_einsum),
QAOA shims (cirq, qiskit, qiskit-aer), graph/spectral analysis
(networkx, scipy), GPU dispatch (wgpu, ray), database backends
(psycopg2-binary, gremlinpython, boto3, pymysql), data/pipeline
(pandas, xxhash, pyserial).
2026-06-21 00:32:24 -05:00