pen-stack 6.2.2__tar.gz → 6.2.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.
Files changed (444) hide show
  1. {pen_stack-6.2.2 → pen_stack-6.2.3}/CHANGELOG.md +23 -0
  2. {pen_stack-6.2.2 → pen_stack-6.2.3}/CITATION.cff +1 -1
  3. {pen_stack-6.2.2 → pen_stack-6.2.3}/PKG-INFO +3 -3
  4. {pen_stack-6.2.2 → pen_stack-6.2.3}/README.md +2 -2
  5. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/known_unknowns.yaml +18 -2
  6. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/__init__.py +1 -1
  7. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/PKG-INFO +3 -3
  8. {pen_stack-6.2.2 → pen_stack-6.2.3}/pyproject.toml +1 -1
  9. {pen_stack-6.2.2 → pen_stack-6.2.3}/LICENSE +0 -0
  10. {pen_stack-6.2.2 → pen_stack-6.2.3}/MANIFEST.in +0 -0
  11. {pen_stack-6.2.2 → pen_stack-6.2.3}/bench/run.py +0 -0
  12. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_bench/LEADERBOARD.md +0 -0
  13. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_bench/README.md +0 -0
  14. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_bench/SHA256SUMS +0 -0
  15. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_bench/SUBMISSIONS.md +0 -0
  16. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_bench/tasks.yaml +0 -0
  17. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_challenge/README.md +0 -0
  18. {pen_stack-6.2.2 → pen_stack-6.2.3}/benchmarks/genome_writing_challenge/SUBMISSIONS.md +0 -0
  19. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/antipeg.yaml +0 -0
  20. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/atlas_families.yaml +0 -0
  21. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/bridge_offtarget_profile.yaml +0 -0
  22. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/capsid_epitope_oracle.yaml +0 -0
  23. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/capsid_sequences.fasta +0 -0
  24. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/cargo_polish.yaml +0 -0
  25. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/cell_types.yaml +0 -0
  26. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/datasets.yaml +0 -0
  27. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/delivery_constraints.yaml +0 -0
  28. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/delivery_rules.yaml +0 -0
  29. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/delivery_vehicles.yaml +0 -0
  30. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/gates_v3.yaml +0 -0
  31. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/genotoxicity_oracle.yaml +0 -0
  32. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/gsh_validated_heldout.yaml +0 -0
  33. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/intent_weights.yaml +0 -0
  34. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/llm.yaml +0 -0
  35. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/monitor_queries.yaml +0 -0
  36. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/oracles/scope_cards.yaml +0 -0
  37. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/rules/delivery.yaml +0 -0
  38. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/rules/fold.yaml +0 -0
  39. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/rules/multiplex.yaml +0 -0
  40. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/rules/payload.yaml +0 -0
  41. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/rules/reachability.yaml +0 -0
  42. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/safety/hazard_registry.yaml +0 -0
  43. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/safety/policy.yaml +0 -0
  44. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/safety/probes.yaml +0 -0
  45. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/score_axes.yaml +0 -0
  46. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/seroprevalence.yaml +0 -0
  47. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/target_sites.yaml +0 -0
  48. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/universe_crosswalk.yaml +0 -0
  49. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/write_types.yaml +0 -0
  50. {pen_stack-6.2.2 → pen_stack-6.2.3}/configs/wtkb_curated.yaml +0 -0
  51. {pen_stack-6.2.2 → pen_stack-6.2.3}/data/curated/bridge_offtarget_energetics.json +0 -0
  52. {pen_stack-6.2.2 → pen_stack-6.2.3}/data/curated/bridge_offtarget_profile_measured.parquet +0 -0
  53. {pen_stack-6.2.2 → pen_stack-6.2.3}/data/curated/gene_coords.parquet +0 -0
  54. {pen_stack-6.2.2 → pen_stack-6.2.3}/data/curated/unified_editor_universe.parquet +0 -0
  55. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/BACKLOG.md +0 -0
  56. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/DEPLOY.md +0 -0
  57. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/INFRA.md +0 -0
  58. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/MCP.md +0 -0
  59. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/RELEASING.md +0 -0
  60. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/REPRO.md +0 -0
  61. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/STABILITY.md +0 -0
  62. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/agent.md +0 -0
  63. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/alphagenome_feasibility.md +0 -0
  64. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/autonomy.md +0 -0
  65. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/benchmark_circularity.md +0 -0
  66. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/biosecurity.md +0 -0
  67. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/build_interface.md +0 -0
  68. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/cards/atlas.md +0 -0
  69. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/cards/durability.md +0 -0
  70. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/cards/safety.md +0 -0
  71. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/challenge.md +0 -0
  72. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/closed_loop.md +0 -0
  73. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/co_scientist.md +0 -0
  74. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/co_scientist_loop.md +0 -0
  75. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/delivery.md +0 -0
  76. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/delivery_immunology.md +0 -0
  77. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/digital_twin.md +0 -0
  78. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/dissemination.md +0 -0
  79. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/environment.md +0 -0
  80. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/experiment_design.md +0 -0
  81. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/generative_design.md +0 -0
  82. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/index.md +0 -0
  83. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/integrations.md +0 -0
  84. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/mechanistic_constraints.md +0 -0
  85. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/oracles.md +0 -0
  86. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/positioning.md +0 -0
  87. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/private_data_formats.md +0 -0
  88. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/quickstart.md +0 -0
  89. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/responsible_use.md +0 -0
  90. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/rules.md +0 -0
  91. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/scope.md +0 -0
  92. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/scorecard.md +0 -0
  93. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/tutorials/compare-families.md +0 -0
  94. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/tutorials/score-deliverability.md +0 -0
  95. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/tutorials/where-can-i-write.md +0 -0
  96. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/tutorials/which-writer-reaches-locus.md +0 -0
  97. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/uncertainty.md +0 -0
  98. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/verify.md +0 -0
  99. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/world_model.md +0 -0
  100. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/writer_verification.md +0 -0
  101. {pen_stack-6.2.2 → pen_stack-6.2.3}/docs/wtkb.md +0 -0
  102. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/_resources.py +0 -0
  103. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/active/__init__.py +0 -0
  104. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/active/acquire.py +0 -0
  105. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/active/design.py +0 -0
  106. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/active/validate.py +0 -0
  107. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/__init__.py +0 -0
  108. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/finetune.py +0 -0
  109. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/ingest.py +0 -0
  110. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/pipeline.py +0 -0
  111. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/recalibrate.py +0 -0
  112. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/adapt/report.py +0 -0
  113. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/__init__.py +0 -0
  114. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/cite.py +0 -0
  115. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/co_scientist.py +0 -0
  116. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/epistemic.py +0 -0
  117. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/guardrails.py +0 -0
  118. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/mcp_server.py +0 -0
  119. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/orchestrator.py +0 -0
  120. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/orchestrator_live.py +0 -0
  121. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/pen_agent.py +0 -0
  122. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/scope.py +0 -0
  123. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/agent/tools.py +0 -0
  124. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/api/__init__.py +0 -0
  125. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/api/manifest.py +0 -0
  126. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/__init__.py +0 -0
  127. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/build_wtkb.py +0 -0
  128. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/crosslink.py +0 -0
  129. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/expand.py +0 -0
  130. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/schema.py +0 -0
  131. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/scorecard.py +0 -0
  132. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/universe.py +0 -0
  133. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/variant_propose.py +0 -0
  134. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/atlas/writer_verify.py +0 -0
  135. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/__init__.py +0 -0
  136. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/activity.py +0 -0
  137. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/cli.py +0 -0
  138. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/fold_qc.py +0 -0
  139. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/guide_qc.py +0 -0
  140. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/ingest.py +0 -0
  141. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/offtarget.py +0 -0
  142. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/offtarget_energetics.py +0 -0
  143. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/ortholog_screen.py +0 -0
  144. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/bridge/pipeline.py +0 -0
  145. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/build/__init__.py +0 -0
  146. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/build/ingest.py +0 -0
  147. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/build/protocol.py +0 -0
  148. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/build/simlab.py +0 -0
  149. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/cli.py +0 -0
  150. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/__init__.py +0 -0
  151. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/encode.py +0 -0
  152. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/genome.py +0 -0
  153. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/ingest_chromatin.py +0 -0
  154. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/ingest_integration.py +0 -0
  155. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/ingest_safety_annot.py +0 -0
  156. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/data/ingest_trip.py +0 -0
  157. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/design/__init__.py +0 -0
  158. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/design/generate.py +0 -0
  159. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/design/pareto.py +0 -0
  160. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/design/space.py +0 -0
  161. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/env/__init__.py +0 -0
  162. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/env/genome_writing_env.py +0 -0
  163. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/env/policies.py +0 -0
  164. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/__init__.py +0 -0
  165. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/build.py +0 -0
  166. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/cell_types.py +0 -0
  167. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/ingest.py +0 -0
  168. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/query.py +0 -0
  169. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/graph/schema.py +0 -0
  170. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/loop/__init__.py +0 -0
  171. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/loop/continual.py +0 -0
  172. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/loop/cycle.py +0 -0
  173. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/loop/drift.py +0 -0
  174. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/mech/__init__.py +0 -0
  175. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/mech/classify_atlas.py +0 -0
  176. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/mech/whitelist.py +0 -0
  177. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/monitor/__init__.py +0 -0
  178. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/monitor/europepmc.py +0 -0
  179. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/monitor/run.py +0 -0
  180. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/monitor/triage.py +0 -0
  181. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/__init__.py +0 -0
  182. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/cache.py +0 -0
  183. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/energetics.py +0 -0
  184. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/genome.py +0 -0
  185. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/protein_design.py +0 -0
  186. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/rna.py +0 -0
  187. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/schema.py +0 -0
  188. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/structure.py +0 -0
  189. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/oracles/vcell.py +0 -0
  190. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/__init__.py +0 -0
  191. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/antipeg_oracle.py +0 -0
  192. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/capsid_epitope_oracle.py +0 -0
  193. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/cargo.py +0 -0
  194. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/cargo_polish.py +0 -0
  195. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/delivery.py +0 -0
  196. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/delivery_constraints.py +0 -0
  197. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/delivery_immunology.py +0 -0
  198. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/delivery_vehicles.py +0 -0
  199. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/genotoxicity_oracle.py +0 -0
  200. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/immune_profile.py +0 -0
  201. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/innate_sensing.py +0 -0
  202. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/multiplex.py +0 -0
  203. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/optimize.py +0 -0
  204. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/pipeline.py +0 -0
  205. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/report.py +0 -0
  206. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/router.py +0 -0
  207. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/seroprevalence_oracle.py +0 -0
  208. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/planner/target_site.py +0 -0
  209. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rag/__init__.py +0 -0
  210. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rag/index.py +0 -0
  211. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rag/llm.py +0 -0
  212. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rag/qa.py +0 -0
  213. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rules/__init__.py +0 -0
  214. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rules/evaluators.py +0 -0
  215. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rules/loader.py +0 -0
  216. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rules/schema.py +0 -0
  217. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/rules/solver.py +0 -0
  218. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/__init__.py +0 -0
  219. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/audit.py +0 -0
  220. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/gate.py +0 -0
  221. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/policy.py +0 -0
  222. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/redteam.py +0 -0
  223. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/registry.py +0 -0
  224. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/safety/screen.py +0 -0
  225. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/score/__init__.py +0 -0
  226. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/score/recalibrate.py +0 -0
  227. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/score/therapeutic.py +0 -0
  228. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/server/__init__.py +0 -0
  229. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/server/api.py +0 -0
  230. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/twin/__init__.py +0 -0
  231. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/twin/calibrate.py +0 -0
  232. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/twin/mechanistic.py +0 -0
  233. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/twin/outcome.py +0 -0
  234. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/ui/__init__.py +0 -0
  235. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/ui/app.py +0 -0
  236. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/__init__.py +0 -0
  237. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/adapt_demo.py +0 -0
  238. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/agent_eval.py +0 -0
  239. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_adversarial_tasks.py +0 -0
  240. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_coscientist_tasks.py +0 -0
  241. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_graph_tasks.py +0 -0
  242. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_rule_tasks.py +0 -0
  243. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_trust_tasks.py +0 -0
  244. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/bench_writetype_tasks.py +0 -0
  245. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/blind_gsh_discovery.py +0 -0
  246. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/cargo_directionality.py +0 -0
  247. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/closed_loop.py +0 -0
  248. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/durability_baselines.py +0 -0
  249. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/experiment_design.py +0 -0
  250. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/forward_hypotheses.py +0 -0
  251. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/generative_design.py +0 -0
  252. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/guide_qc_demo.py +0 -0
  253. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/immune_calibration.py +0 -0
  254. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/intent_specification.py +0 -0
  255. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/offtarget_energetics_eval.py +0 -0
  256. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/out_of_scope_refusal.py +0 -0
  257. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/outcome_calibration.py +0 -0
  258. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/outcome_prediction.py +0 -0
  259. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/paper3_benchmark.py +0 -0
  260. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/paper4_real_validation.py +0 -0
  261. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/paper4_validation.py +0 -0
  262. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/protocol_safety.py +0 -0
  263. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/safety_screening.py +0 -0
  264. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/selective_prediction.py +0 -0
  265. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/seq_vs_measured.py +0 -0
  266. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/target_site_controls.py +0 -0
  267. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/uncertainty_eval.py +0 -0
  268. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/ungrounded_baseline.py +0 -0
  269. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/within_locus_ranking.py +0 -0
  270. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/validate/writer_recovery.py +0 -0
  271. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/verify/__init__.py +0 -0
  272. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/verify/schema.py +0 -0
  273. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/verify/service.py +0 -0
  274. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/web/__init__.py +0 -0
  275. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/web/llm.py +0 -0
  276. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/web/server.py +0 -0
  277. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/web/tools.py +0 -0
  278. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/__init__.py +0 -0
  279. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/chromatin_seq.py +0 -0
  280. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/durability.py +0 -0
  281. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/export_tracks.py +0 -0
  282. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/features.py +0 -0
  283. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/gsh_baseline.py +0 -0
  284. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/mesh_features.py +0 -0
  285. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/ood.py +0 -0
  286. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/providers.py +0 -0
  287. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/safety.py +0 -0
  288. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/structure3d.py +0 -0
  289. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/uncertainty.py +0 -0
  290. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack/wgenome/writability.py +0 -0
  291. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/SOURCES.txt +0 -0
  292. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/dependency_links.txt +0 -0
  293. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/entry_points.txt +0 -0
  294. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/requires.txt +0 -0
  295. {pen_stack-6.2.2 → pen_stack-6.2.3}/pen_stack.egg-info/top_level.txt +0 -0
  296. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_phase0.json +0 -0
  297. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_phase1_5.json +0 -0
  298. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_phase2.json +0 -0
  299. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_phase3.json +0 -0
  300. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_a.json +0 -0
  301. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_acq.json +0 -0
  302. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_aldesign.json +0 -0
  303. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_alvalidate.json +0 -0
  304. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_atlas.json +0 -0
  305. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_b.json +0 -0
  306. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ba.json +0 -0
  307. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ba_v33.json +0 -0
  308. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ba_v45.json +0 -0
  309. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_bench.json +0 -0
  310. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_c.json +0 -0
  311. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_cal.json +0 -0
  312. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_calib.json +0 -0
  313. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_challenge.json +0 -0
  314. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_chat.json +0 -0
  315. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_cite.json +0 -0
  316. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_continual.json +0 -0
  317. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_cosci2.json +0 -0
  318. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_crit.json +0 -0
  319. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ct.json +0 -0
  320. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_d.json +0 -0
  321. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_drift.json +0 -0
  322. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_e.json +0 -0
  323. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_env.json +0 -0
  324. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ep.json +0 -0
  325. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_epitope.json +0 -0
  326. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_f.json +0 -0
  327. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_frontend.json +0 -0
  328. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_g.json +0 -0
  329. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_gen.json +0 -0
  330. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_genotox.json +0 -0
  331. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_graph.json +0 -0
  332. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_h.json +0 -0
  333. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_immune.json +0 -0
  334. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_ingest.json +0 -0
  335. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_innate.json +0 -0
  336. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_loop.json +0 -0
  337. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_manifest.json +0 -0
  338. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_mc.json +0 -0
  339. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_mcp.json +0 -0
  340. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_mech.json +0 -0
  341. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_mon.json +0 -0
  342. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_o.json +0 -0
  343. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_openapi.json +0 -0
  344. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_orch.json +0 -0
  345. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_outcome.json +0 -0
  346. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_pareto.json +0 -0
  347. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_peg.json +0 -0
  348. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_plan.json +0 -0
  349. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_policy.json +0 -0
  350. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_profile.json +0 -0
  351. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_proto.json +0 -0
  352. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_r.json +0 -0
  353. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_redteam.json +0 -0
  354. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_route.json +0 -0
  355. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_screen.json +0 -0
  356. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_seroprev.json +0 -0
  357. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_simlab.json +0 -0
  358. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_twincal.json +0 -0
  359. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_uq.json +0 -0
  360. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_v.json +0 -0
  361. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_vcell.json +0 -0
  362. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/SHA256_LOCK_ws_wv.json +0 -0
  363. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/paper1.yaml +0 -0
  364. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/paper2.yaml +0 -0
  365. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/paper3.yaml +0 -0
  366. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/paper4.yaml +0 -0
  367. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/phase0.yaml +0 -0
  368. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_a.yaml +0 -0
  369. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_acq.yaml +0 -0
  370. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_aldesign.yaml +0 -0
  371. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_alvalidate.yaml +0 -0
  372. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_atlas.yaml +0 -0
  373. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_b.yaml +0 -0
  374. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ba.yaml +0 -0
  375. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ba_v33.yaml +0 -0
  376. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ba_v45.yaml +0 -0
  377. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_bench.yaml +0 -0
  378. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_c.yaml +0 -0
  379. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_cal.yaml +0 -0
  380. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_calib.yaml +0 -0
  381. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_challenge.yaml +0 -0
  382. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_chat.yaml +0 -0
  383. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_cite.yaml +0 -0
  384. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_continual.yaml +0 -0
  385. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_cosci2.yaml +0 -0
  386. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_crit.yaml +0 -0
  387. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ct.yaml +0 -0
  388. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_d.yaml +0 -0
  389. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_drift.yaml +0 -0
  390. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_e.yaml +0 -0
  391. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_env.yaml +0 -0
  392. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ep.yaml +0 -0
  393. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_epitope.yaml +0 -0
  394. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_f.yaml +0 -0
  395. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_frontend.yaml +0 -0
  396. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_g.yaml +0 -0
  397. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_gen.yaml +0 -0
  398. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_genotox.yaml +0 -0
  399. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_graph.yaml +0 -0
  400. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_h.yaml +0 -0
  401. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_immune.yaml +0 -0
  402. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_ingest.yaml +0 -0
  403. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_innate.yaml +0 -0
  404. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_loop.yaml +0 -0
  405. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_manifest.yaml +0 -0
  406. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_mc.yaml +0 -0
  407. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_mcp.yaml +0 -0
  408. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_mech.yaml +0 -0
  409. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_mon.yaml +0 -0
  410. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_o.yaml +0 -0
  411. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_openapi.yaml +0 -0
  412. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_orch.yaml +0 -0
  413. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_outcome.yaml +0 -0
  414. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_pareto.yaml +0 -0
  415. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_peg.yaml +0 -0
  416. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_plan.yaml +0 -0
  417. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_policy.yaml +0 -0
  418. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_profile.yaml +0 -0
  419. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_proto.yaml +0 -0
  420. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_r.yaml +0 -0
  421. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_redteam.yaml +0 -0
  422. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_route.yaml +0 -0
  423. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_screen.yaml +0 -0
  424. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_seroprev.yaml +0 -0
  425. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_simlab.yaml +0 -0
  426. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_twincal.yaml +0 -0
  427. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_uq.yaml +0 -0
  428. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_v.yaml +0 -0
  429. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_vcell.yaml +0 -0
  430. {pen_stack-6.2.2 → pen_stack-6.2.3}/prereg/ws_wv.yaml +0 -0
  431. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_build_atlas.py +0 -0
  432. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_build_durability.py +0 -0
  433. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_export_tracks.py +0 -0
  434. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_safety_concordance.py +0 -0
  435. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_train_safety.py +0 -0
  436. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p1_validation_report.py +0 -0
  437. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p2_build_atlas.py +0 -0
  438. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p3_benchmark_report.py +0 -0
  439. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p4_genome_scan.py +0 -0
  440. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p52_build_genotox_oracle.py +0 -0
  441. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/p53_build_epitope_oracle.py +0 -0
  442. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/ws_b_report.py +0 -0
  443. {pen_stack-6.2.2 → pen_stack-6.2.3}/scripts/ws_c_report.py +0 -0
  444. {pen_stack-6.2.2 → pen_stack-6.2.3}/setup.cfg +0 -0
@@ -3,6 +3,29 @@
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.2.3] - 2026-06-12 - v6.2.3: scope matcher covers functional titer + durability (patch)
7
+
8
+ **Honesty-coverage fix (from the 20-query acceptance suite, `phase_6.2/PEN-STACK_ACCEPTANCE_TESTS.md`).** The
9
+ known-unknowns matcher (`configs/known_unknowns.yaml`) had no entry for *functional titer / absolute in-vivo
10
+ expression magnitude* and its *durability* terms were too narrow ("how long will it last **in a patient**"), so
11
+ common measured-endpoint questions ("what functional titer (% of normal)?", "how long will episomal AAV
12
+ expression last?") were not explicitly deferred. The no-fabrication spine already held (no titer/half-life was
13
+ ever emitted, and the immune profile lists `patient_specific_titer`), but the matcher should flag these
14
+ proactively.
15
+
16
+ ### Added / Fixed
17
+ - `configs/known_unknowns.yaml`: new known-unknown `in_vivo_expression_magnitude` (functional titer / % of normal
18
+ / absolute expression — a measured clinical endpoint, never predicted; PEN-STACK gives the relative mechanistic
19
+ proxy + immune context); broadened `long_term_clinical_durability` match-terms/patterns to catch "how long will
20
+ … last/persist", "durability", "half-life". Regression test
21
+ `tests/unit/test_ws_api.py::test_scope_defers_titer_and_durability_questions`.
22
+
23
+ ### Acceptance suite result
24
+ - 20/20 behave as specified at the engine level: grounded where earned, refusing where unsafe (ricin/botulinum),
25
+ abstaining/deferring where honest (titer, durability, phenotype), no fabricated number. T10 (RNP↔AAV) and T12
26
+ (multiplex translocation) are enforced via `delivery.cargo_form_compatible` and `multiplex.translocation_risk`
27
+ on the structured design fields (`writer_output_form`, `edits`).
28
+
6
29
  ## [6.2.2] - 2026-06-12 - v6.2.2: safe-harbour locus-nickname resolution (patch)
7
30
 
8
31
  **Usability fix.** Site Finder / `/plan` / `/writable` returned 0 plans for `AAVS1` because it is a genomic
@@ -1,7 +1,7 @@
1
1
  cff-version: 1.2.0
2
2
  message: "If you use PEN-STACK, please cite it as below."
3
3
  title: "PEN-STACK: open infrastructure for genome writing"
4
- version: 6.2.2
4
+ version: 6.2.3
5
5
  date-released: 2026-06-11
6
6
  authors:
7
7
  - family-names: "Mahaboob Ali"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pen-stack
3
- Version: 6.2.2
3
+ Version: 6.2.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,9 +90,9 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
90
90
  [![codecov](https://codecov.io/gh/ahmedanees-m/pen-stack/branch/main/graph/badge.svg)](https://codecov.io/gh/ahmedanees-m/pen-stack)
91
91
  [![License: MIT](https://img.shields.io/badge/License-MIT-informational.svg)](LICENSE)
92
92
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/)
93
- [![Version](https://img.shields.io/badge/version-6.2.2-blue.svg)](CHANGELOG.md)
93
+ [![Version](https://img.shields.io/badge/version-6.2.3-blue.svg)](CHANGELOG.md)
94
94
  [![Status](https://img.shields.io/badge/status-1.0%20First%20Stable-success.svg)](docs/STABILITY.md)
95
- [![Tests](https://img.shields.io/badge/tests-370%20passing-success.svg)](tests/)
95
+ [![Tests](https://img.shields.io/badge/tests-371%20passing-success.svg)](tests/)
96
96
  [![Lint: ruff](https://img.shields.io/badge/lint-ruff-purple.svg)](https://github.com/astral-sh/ruff)
97
97
  [![Runtime: Docker](https://img.shields.io/badge/runtime-docker-2496ED.svg)](docker/)
98
98
  [![Validation: pre-registered](https://img.shields.io/badge/validation-pre--registered-critical.svg)](prereg/)
@@ -15,9 +15,9 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
15
15
  [![codecov](https://codecov.io/gh/ahmedanees-m/pen-stack/branch/main/graph/badge.svg)](https://codecov.io/gh/ahmedanees-m/pen-stack)
16
16
  [![License: MIT](https://img.shields.io/badge/License-MIT-informational.svg)](LICENSE)
17
17
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/)
18
- [![Version](https://img.shields.io/badge/version-6.2.2-blue.svg)](CHANGELOG.md)
18
+ [![Version](https://img.shields.io/badge/version-6.2.3-blue.svg)](CHANGELOG.md)
19
19
  [![Status](https://img.shields.io/badge/status-1.0%20First%20Stable-success.svg)](docs/STABILITY.md)
20
- [![Tests](https://img.shields.io/badge/tests-370%20passing-success.svg)](tests/)
20
+ [![Tests](https://img.shields.io/badge/tests-371%20passing-success.svg)](tests/)
21
21
  [![Lint: ruff](https://img.shields.io/badge/lint-ruff-purple.svg)](https://github.com/astral-sh/ruff)
22
22
  [![Runtime: Docker](https://img.shields.io/badge/runtime-docker-2496ED.svg)](docker/)
23
23
  [![Validation: pre-registered](https://img.shields.io/badge/validation-pre--registered-critical.svg)](prereg/)
@@ -36,8 +36,24 @@ known_unknowns:
36
36
  cassette in a given epigenome) — it does NOT predict multi-year in-vivo persistence, immune clearance,
37
37
  or clonal dynamics in a patient"
38
38
  match_terms: ["long-term in-vivo", "long term in vivo", "years of expression", "clinical durability",
39
- "persist in the patient", "how long will it last in", "in-vivo persistence", "clonal"]
40
- patterns: ["\\bhow long (will|would) (it|the cassette|expression) (last|persist) (in|in a)\\b"]
39
+ "persist in the patient", "how long will it last in", "in-vivo persistence", "clonal",
40
+ "how long will expression last", "how long will it last", "how long will the cassette",
41
+ "expression duration", "half-life", "half life", "will it persist", "how durable",
42
+ "durability magnitude", "how long does"]
43
+ patterns: ["\\bhow long\\b[^?]{0,60}\\b(last|persist|express|stay expressed|remain)\\b",
44
+ "\\bduration of (expression|the cassette|the transgene)\\b"]
45
+
46
+ - id: in_vivo_expression_magnitude
47
+ title: "absolute in-vivo expression magnitude / functional titer"
48
+ requires: "an in-vivo expression / pharmacokinetic measurement (functional titer, % of normal, ng/mL) in a
49
+ living organism"
50
+ why: "PEN-STACK computes a RELATIVE, dimensionless mechanistic expression proxy (promoter × copy ×
51
+ accessibility) and the immune context — it does NOT predict an absolute in-vivo functional titer, a
52
+ percent-of-normal level, or a protein concentration; that is a measured clinical endpoint, never predicted"
53
+ match_terms: ["titer", "titre", "percent of normal", "% of normal", "percent normal", "iu/ml", "ng/ml",
54
+ "absolute expression", "expression level in vivo", "how much protein", "how much will it express",
55
+ "what level of expression", "protein concentration", "serum level", "plasma level"]
56
+ patterns: ["\\bwhat (functional )?titer\\b", "\\b\\d+\\s*% of normal\\b"]
41
57
 
42
58
  - id: higher_order_epistasis
43
59
  title: "higher-order epistasis / multi-edit interaction beyond the translocation screen"
@@ -1,2 +1,2 @@
1
1
  """PEN-STACK v3.0 - open infrastructure for genome writing."""
2
- __version__ = "6.2.2"
2
+ __version__ = "6.2.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pen-stack
3
- Version: 6.2.2
3
+ Version: 6.2.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,9 +90,9 @@ every design against rule-grounded mechanism, reports calibrated confidence, cit
90
90
  [![codecov](https://codecov.io/gh/ahmedanees-m/pen-stack/branch/main/graph/badge.svg)](https://codecov.io/gh/ahmedanees-m/pen-stack)
91
91
  [![License: MIT](https://img.shields.io/badge/License-MIT-informational.svg)](LICENSE)
92
92
  [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/)
93
- [![Version](https://img.shields.io/badge/version-6.2.2-blue.svg)](CHANGELOG.md)
93
+ [![Version](https://img.shields.io/badge/version-6.2.3-blue.svg)](CHANGELOG.md)
94
94
  [![Status](https://img.shields.io/badge/status-1.0%20First%20Stable-success.svg)](docs/STABILITY.md)
95
- [![Tests](https://img.shields.io/badge/tests-370%20passing-success.svg)](tests/)
95
+ [![Tests](https://img.shields.io/badge/tests-371%20passing-success.svg)](tests/)
96
96
  [![Lint: ruff](https://img.shields.io/badge/lint-ruff-purple.svg)](https://github.com/astral-sh/ruff)
97
97
  [![Runtime: Docker](https://img.shields.io/badge/runtime-docker-2496ED.svg)](docker/)
98
98
  [![Validation: pre-registered](https://img.shields.io/badge/validation-pre--registered-critical.svg)](prereg/)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pen-stack"
7
- version = "6.2.2"
7
+ version = "6.2.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