pen-stack 6.4.2__tar.gz → 6.4.3__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.
- {pen_stack-6.4.2 → pen_stack-6.4.3}/CHANGELOG.md +8 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/CITATION.cff +1 -1
- {pen_stack-6.4.2 → pen_stack-6.4.3}/PKG-INFO +2 -2
- {pen_stack-6.4.2 → pen_stack-6.4.3}/README.md +1 -1
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/__init__.py +1 -1
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/tools.py +8 -1
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/PKG-INFO +2 -2
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pyproject.toml +1 -1
- {pen_stack-6.4.2 → pen_stack-6.4.3}/LICENSE +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/MANIFEST.in +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/bench/run.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_bench/LEADERBOARD.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_bench/README.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_bench/SHA256SUMS +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_bench/SUBMISSIONS.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_bench/tasks.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_challenge/README.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/benchmarks/genome_writing_challenge/SUBMISSIONS.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/antipeg.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/atlas_families.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/bridge_offtarget_profile.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/capsid_epitope_oracle.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/capsid_sequences.fasta +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/cargo_polish.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/cell_types.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/datasets.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/delivery_constraints.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/delivery_rules.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/delivery_vehicles.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/gates_v3.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/genotoxicity_oracle.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/gsh_validated_heldout.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/intent_weights.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/known_unknowns.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/llm.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/metric_guide.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/monitor_queries.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/oracles/execution.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/oracles/scope_cards.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/rules/delivery.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/rules/fold.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/rules/multiplex.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/rules/payload.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/rules/reachability.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/safety/hazard_registry.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/safety/policy.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/safety/probes.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/score_axes.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/seroprevalence.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/target_sites.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/universe_crosswalk.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/write_types.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/configs/wtkb_curated.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/data/curated/bridge_offtarget_energetics.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/data/curated/bridge_offtarget_profile_measured.parquet +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/data/curated/gene_coords.parquet +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/data/curated/unified_editor_universe.parquet +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/BACKLOG.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/DEPLOY.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/INFRA.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/MCP.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/RELEASING.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/REPRO.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/STABILITY.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/agent.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/alphagenome_feasibility.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/autonomy.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/benchmark_circularity.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/biosecurity.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/build_interface.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/cards/atlas.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/cards/durability.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/cards/safety.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/challenge.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/closed_loop.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/co_scientist.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/co_scientist_loop.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/delivery.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/delivery_immunology.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/digital_twin.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/dissemination.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/environment.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/experiment_design.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/generative_design.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/index.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/integrations.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/live_oracles.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/mechanistic_constraints.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/oracles.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/positioning.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/private_data_formats.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/quickstart.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/responsible_use.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/rules.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/scope.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/scorecard.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/tutorials/compare-families.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/tutorials/score-deliverability.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/tutorials/where-can-i-write.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/tutorials/which-writer-reaches-locus.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/uncertainty.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/verify.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/world_model.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/writer_verification.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/docs/wtkb.md +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/_resources.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/active/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/active/acquire.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/active/design.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/active/validate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/finetune.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/ingest.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/pipeline.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/recalibrate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/adapt/report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/cite.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/co_scientist.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/epistemic.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/guardrails.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/mcp_server.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/orchestrator.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/orchestrator_live.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/pen_agent.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/scope.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/agent/tools.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/api/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/api/manifest.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/build_wtkb.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/crosslink.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/expand.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/schema.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/scorecard.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/universe.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/variant_propose.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/atlas/writer_verify.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/activity.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/cli.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/fold_qc.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/guide_qc.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/ingest.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/offtarget.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/offtarget_energetics.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/ortholog_screen.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/bridge/pipeline.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/build/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/build/ingest.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/build/protocol.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/build/simlab.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/cli.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/encode.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/genome.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/ingest_chromatin.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/ingest_integration.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/ingest_safety_annot.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/data/ingest_trip.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/design/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/design/generate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/design/pareto.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/design/space.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/env/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/env/genome_writing_env.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/env/policies.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/build.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/cell_types.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/ingest.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/query.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/graph/schema.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/loop/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/loop/continual.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/loop/cycle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/loop/drift.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/mech/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/mech/classify_atlas.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/mech/whitelist.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/monitor/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/monitor/europepmc.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/monitor/run.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/monitor/triage.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/cache.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/energetics.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/genome.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/protein_design.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/rna.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/schema.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/status.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/structure.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/oracles/vcell.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/antipeg_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/capsid_epitope_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/cargo.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/cargo_polish.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/delivery.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/delivery_constraints.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/delivery_immunology.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/delivery_vehicles.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/genotoxicity_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/immune_profile.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/innate_sensing.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/multiplex.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/optimize.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/pipeline.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/router.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/seroprevalence_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/planner/target_site.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rag/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rag/index.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rag/llm.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rag/qa.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rules/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rules/evaluators.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rules/loader.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rules/schema.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/rules/solver.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/audit.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/gate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/policy.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/redteam.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/registry.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/safety/screen.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/score/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/score/recalibrate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/score/therapeutic.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/server/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/server/api.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/twin/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/twin/calibrate.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/twin/mechanistic.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/twin/outcome.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/ui/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/ui/app.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/adapt_demo.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/agent_eval.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_adversarial_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_coscientist_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_graph_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_rule_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_trust_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/bench_writetype_tasks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/blind_gsh_discovery.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/cargo_directionality.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/closed_loop.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/durability_baselines.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/experiment_design.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/forward_hypotheses.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/generative_design.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/guide_qc_demo.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/immune_calibration.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/intent_specification.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/offtarget_energetics_eval.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/out_of_scope_refusal.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/outcome_calibration.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/outcome_prediction.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/paper3_benchmark.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/paper4_real_validation.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/paper4_validation.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/protocol_safety.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/safety_screening.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/selective_prediction.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/seq_vs_measured.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/target_site_controls.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/uncertainty_eval.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/ungrounded_baseline.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/within_locus_ranking.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/validate/writer_recovery.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/verify/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/verify/schema.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/verify/service.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/guide.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/llm.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/router.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/web/server.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/__init__.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/chromatin_seq.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/durability.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/export_tracks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/features.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/gsh_baseline.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/mesh_features.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/ood.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/providers.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/safety.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/structure3d.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/uncertainty.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack/wgenome/writability.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/SOURCES.txt +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/dependency_links.txt +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/entry_points.txt +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/requires.txt +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/pen_stack.egg-info/top_level.txt +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_phase0.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_phase1_5.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_phase2.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_phase3.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_a.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_acq.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_aldesign.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_alvalidate.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_atlas.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_b.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ba.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ba_v33.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ba_v45.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_bench.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_c.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_cal.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_calib.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_challenge.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_chat.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_cite.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_continual.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_cosci2.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_crit.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ct.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_d.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_drift.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_e.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_env.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ep.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_epitope.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_f.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_frontend.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_g.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_gen.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_genotox.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_graph.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_h.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_hybrid.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_immune.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_ingest.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_innate.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_loop.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_manifest.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_mc.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_mcp.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_mech.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_mon.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_o.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_openapi.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_orch.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_outcome.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_pareto.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_peg.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_plan.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_policy.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_profile.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_proto.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_r.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_redteam.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_route.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_screen.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_seroprev.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_simlab.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_twincal.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_uq.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_v.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_vcell.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/SHA256_LOCK_ws_wv.json +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/paper1.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/paper2.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/paper3.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/paper4.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/phase0.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_a.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_acq.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_aldesign.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_alvalidate.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_atlas.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_b.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ba.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ba_v33.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ba_v45.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_bench.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_c.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_cal.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_calib.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_challenge.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_chat.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_cite.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_continual.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_cosci2.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_crit.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ct.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_d.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_drift.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_e.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_env.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ep.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_epitope.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_f.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_frontend.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_g.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_gen.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_genotox.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_graph.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_h.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_hybrid.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_immune.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_ingest.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_innate.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_loop.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_manifest.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_mc.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_mcp.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_mech.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_mon.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_o.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_openapi.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_orch.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_outcome.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_pareto.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_peg.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_plan.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_policy.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_profile.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_proto.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_r.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_redteam.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_route.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_screen.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_seroprev.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_simlab.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_twincal.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_uq.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_v.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_vcell.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/prereg/ws_wv.yaml +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_build_atlas.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_build_durability.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_export_tracks.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_safety_concordance.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_train_safety.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p1_validation_report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p2_build_atlas.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p3_benchmark_report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p4_genome_scan.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p52_build_genotox_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/p53_build_epitope_oracle.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/ws_b_report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/scripts/ws_c_report.py +0 -0
- {pen_stack-6.4.2 → pen_stack-6.4.3}/setup.cfg +0 -0
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to PEN-STACK are documented here. This file follows
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/) and the program's phase structure.
|
|
5
5
|
|
|
6
|
+
## [6.4.3] - 2026-06-12 - Chat vehicle-parse fix (AAVS1 no longer hijacks the vehicle)
|
|
7
|
+
|
|
8
|
+
**PATCH.** `web/tools.py::parse_goal` matched the delivery vehicle by substring, so the safe-harbour nickname
|
|
9
|
+
**AAVS1** (which contains "aav") wrongly selected the **AAV** vehicle even when the user said *lentivirus* or
|
|
10
|
+
*LNP* — producing the wrong immune profile (e.g. genotoxicity 1.0 instead of lentivirus's 0.481). Fix: strip the
|
|
11
|
+
safe-harbour nicknames (AAVS1/H11/HIPP11/ROSA26) from the vehicle-search text before matching, so the user's
|
|
12
|
+
stated vehicle wins. Explicit "AAV" still selects AAV. New test locks all three cases.
|
|
13
|
+
|
|
6
14
|
## [6.4.2] - 2026-06-12 - Co-Scientist chat: real writer recommendations + self-explanatory values
|
|
7
15
|
|
|
8
16
|
**PATCH — fixes a stale/confusing chat experience reported from the live app.** Three problems, three fixes:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pen-stack
|
|
3
|
-
Version: 6.4.
|
|
3
|
+
Version: 6.4.3
|
|
4
4
|
Summary: Open infrastructure for genome writing: the Writable Genome atlas, the Writer Atlas, and the Write Planner.
|
|
5
5
|
Author-email: Anees Ahmed Mahaboob Ali <ahmedaneesm@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -90,7 +90,7 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
|
|
|
90
90
|
[](https://codecov.io/gh/ahmedanees-m/pen-stack)
|
|
91
91
|
[](LICENSE)
|
|
92
92
|
[](https://www.python.org/)
|
|
93
|
-
[](CHANGELOG.md)
|
|
94
94
|
[](docs/STABILITY.md)
|
|
95
95
|
[](tests/)
|
|
96
96
|
[](https://github.com/astral-sh/ruff)
|
|
@@ -15,7 +15,7 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
|
|
|
15
15
|
[](https://codecov.io/gh/ahmedanees-m/pen-stack)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](https://www.python.org/)
|
|
18
|
-
[](CHANGELOG.md)
|
|
19
19
|
[](docs/STABILITY.md)
|
|
20
20
|
[](tests/)
|
|
21
21
|
[](https://github.com/astral-sh/ruff)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"""PEN-STACK v3.0 - open infrastructure for genome writing."""
|
|
2
|
-
__version__ = "6.4.
|
|
2
|
+
__version__ = "6.4.3"
|
|
@@ -28,6 +28,9 @@ _BP_RE = re.compile(r"(\d{3,6})\s*bp", re.I)
|
|
|
28
28
|
# uppercase tokens that look like a gene but are not one (jargon / vehicle / form abbreviations)
|
|
29
29
|
_GENE_STOP = {"DNA", "RNA", "MRNA", "AAV", "LNP", "HSV", "CAR", "RNP", "PCR", "WT", "KO", "KI", "ITR",
|
|
30
30
|
"ORF", "UTR", "CDS", "GFP", "ID", "QC", "VG", "MOI", "HLA", "MHC", "CRISPR", "CAS", "TF"}
|
|
31
|
+
# safe-harbour locus nicknames whose text collides with a vehicle keyword (AAVS1 ⊃ "aav") — stripped before
|
|
32
|
+
# vehicle matching so the user's stated vehicle (e.g. lentivirus) is not overridden by the locus name.
|
|
33
|
+
_SAFE_HARBOUR_RE = re.compile(r"\b(aavs1|h11|hipp11|rosa26)\b", re.I)
|
|
31
34
|
|
|
32
35
|
|
|
33
36
|
def _first(text: str, table: dict, default):
|
|
@@ -59,9 +62,13 @@ def parse_goal(message: str) -> dict:
|
|
|
59
62
|
cargo = int(m.group(1))
|
|
60
63
|
genes = [g for g in _GENE_RE.findall(message) if g not in _GENE_STOP]
|
|
61
64
|
gene = genes[0] if genes else "AAVS1"
|
|
65
|
+
# Vehicle matching is substring-based (so "lentivir" catches "lentiviral"); but the safe-harbour nickname
|
|
66
|
+
# "AAVS1" contains "aav", which would wrongly match the AAV vehicle even when the user said lentivirus/LNP.
|
|
67
|
+
# Strip those nicknames from the vehicle-search text first so the stated vehicle wins.
|
|
68
|
+
veh_text = _SAFE_HARBOUR_RE.sub(" ", message.lower())
|
|
62
69
|
return {"write_type": "insertion", "gene": gene, "chrom": _resolve_chrom(gene) or "chr19",
|
|
63
70
|
"edit_intent": _first(message, _INTENTS, "safe_harbour_insertion"),
|
|
64
|
-
"delivery_vehicle": _first(
|
|
71
|
+
"delivery_vehicle": _first(veh_text, _VEHICLES, "AAV_single"), "cargo_bp": cargo,
|
|
65
72
|
"cell_type": _first(message, _CELLS, "k562"),
|
|
66
73
|
# the user's plain-language goal IS the cargo-function description the Guardian must screen — so a
|
|
67
74
|
# message like "express a ricin toxin" is biosecurity-screened, not silently passed as benign.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pen-stack
|
|
3
|
-
Version: 6.4.
|
|
3
|
+
Version: 6.4.3
|
|
4
4
|
Summary: Open infrastructure for genome writing: the Writable Genome atlas, the Writer Atlas, and the Write Planner.
|
|
5
5
|
Author-email: Anees Ahmed Mahaboob Ali <ahmedaneesm@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -90,7 +90,7 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
|
|
|
90
90
|
[](https://codecov.io/gh/ahmedanees-m/pen-stack)
|
|
91
91
|
[](LICENSE)
|
|
92
92
|
[](https://www.python.org/)
|
|
93
|
-
[](CHANGELOG.md)
|
|
94
94
|
[](docs/STABILITY.md)
|
|
95
95
|
[](tests/)
|
|
96
96
|
[](https://github.com/astral-sh/ruff)
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pen-stack"
|
|
7
|
-
version = "6.4.
|
|
7
|
+
version = "6.4.3"
|
|
8
8
|
description = "Open infrastructure for genome writing: the Writable Genome atlas, the Writer Atlas, and the Write Planner."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|