@delta-infra/cli 1.1.16 → 1.1.18
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.
- package/README.md +27 -9
- package/checksums.txt +5 -5
- package/package.json +1 -1
- package/skills/delta-sandbox/SKILL.md +278 -276
- package/skills/delta-sandbox/agents/openai.yaml +3 -3
- package/skills/delta-sandbox/references/commands.md +45 -45
- package/skills/delta-sandbox/references/lifecycle.md +61 -61
- package/skills/delta-sandbox/references/recipes.md +66 -66
- package/skills/delta-science/AGENTS.md +2 -2
- package/skills/delta-science/SKILL.md +181 -139
- package/skills/delta-science/agents/openai.yaml +2 -2
- package/skills/delta-science/references/antbo.md +52 -47
- package/skills/delta-science/references/delta-bo.md +22 -19
- package/skills/delta-science/references/gsasii.md +14 -12
- package/skills/delta-science/references/lammps.md +13 -11
- package/skills/delta-science/references/ldm-bo.md +14 -11
- package/skills/delta-science/references/materials-design.md +80 -68
- package/skills/delta-science/references/pubchem.md +18 -16
- package/skills/delta-science/references/pymatgen.md +10 -9
- package/skills/delta-science/references/qe.md +72 -63
- package/skills/delta-science/references/rdkit.md +22 -19
- package/skills/delta-science/references/strbo.md +44 -36
- package/skills/delta-science/references/synbo.md +30 -27
- package/skills/delta-science/references/xrd.md +197 -186
- package/skills/delta-shared/SKILL.md +60 -58
- package/skills/delta-shared/agents/openai.yaml +3 -3
|
@@ -17,14 +17,14 @@ delta-science/
|
|
|
17
17
|
└── references/
|
|
18
18
|
└── <tool>.md # one real tool's operation contract (pubchem, rdkit, pymatgen,
|
|
19
19
|
# gsasii, lammps, delta-bo, ldm-bo, materials-design, qe,
|
|
20
|
-
# strbo, synbo, antbo, xrd)
|
|
20
|
+
# strbo, synbo, antbo, xrd)
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## WHERE TO LOOK
|
|
24
24
|
|
|
25
25
|
| Path | Content |
|
|
26
26
|
|------|---------|
|
|
27
|
-
| `SKILL.md` | Service boundary,
|
|
27
|
+
| `SKILL.md` | Service boundary, security guardrails (no curl/requests/httpx/browser direct gateway), invoke/task/file templates, cross-tool handoff |
|
|
28
28
|
| `references/<tool>.md` | One real tool's authoritative operation, request-field, response and failure schema |
|
|
29
29
|
|
|
30
30
|
## CONVENTIONS
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: delta-science
|
|
3
|
-
description: "
|
|
3
|
+
description: "The unified entry point for the company's online Science capabilities; all calls go through Delta CLI. Use this Skill for compound, CID, SMILES or molecular-property lookup; batch PubChem and RDKit enrichment; molecular descriptors or similarity; crystal, CIF or space-group parsing; cloud XRD phase identification or refinement; materials-table modelling or candidate recommendations; Quantum ESPRESSO/QE DFT; LAMMPS; Bayesian optimisation from experimental data; reaction-condition optimisation; and any LDM/discovery-model, KRAS G12D small-molecule generation and optimisation, fixed-pool/PDF2Dock trajectory, or antibody CDRH3 optimisation task. Do not use the retired large-discovery-model Skill, legacy gateway scripts, web search or local scientific libraries to bypass Delta CLI. Return text directly for ordinary lookups, comparisons or checks by default; do not add JSON/CSV, report, image or chart steps unless the user explicitly asks to save, export, plot or generate a file."
|
|
4
4
|
metadata:
|
|
5
5
|
requires:
|
|
6
6
|
bins: ["delta-cli"]
|
|
@@ -9,44 +9,51 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
# Delta Science
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`delta-cli science task
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
12
|
+
Turn natural-language research tasks into the smallest number of verifiable Delta CLI Science
|
|
13
|
+
calls. Expose only this Skill; select tools and operations, set parameters, hand off between tools,
|
|
14
|
+
and validate results within this Skill.
|
|
15
|
+
|
|
16
|
+
## Service-call boundary
|
|
17
|
+
|
|
18
|
+
- Route all online Science operations through Delta CLI: use `delta-cli science invoke` for
|
|
19
|
+
read-only or JSON-compatible endpoints, `delta-cli science task` for calls with a persistent
|
|
20
|
+
lifecycle, and `delta-cli science file` for raw files or multipart requests.
|
|
21
|
+
- Use the CLI's standard authentication and the Science service address derived from `base_url`
|
|
22
|
+
(`{base_url}/science_tool`). Do not rewrite service routing through environment variables,
|
|
23
|
+
command arguments or business URLs.
|
|
24
|
+
- Do not use `curl`, `requests`, `httpx`, a browser or PowerShell web commands to access company
|
|
25
|
+
gateways or business-service URLs directly.
|
|
26
|
+
- Do not present local RDKit, pymatgen, LAMMPS, BO, regression or sandbox results as Science
|
|
27
|
+
results. Local tools may be used for format conversion, file parsing or display, but state their
|
|
28
|
+
source clearly and keep them separate from CLI results.
|
|
29
|
+
- Read the relevant reference before execution and use it to select the operation and request
|
|
30
|
+
fields. If the reference is missing, outdated or inconsistent with the current catalogue, you
|
|
31
|
+
may query the live catalogue. Never invent fields or enum values from memory.
|
|
32
|
+
- `tools.name` and `tool_endpoints.name` are the sole authoritative call names. The tool and
|
|
33
|
+
endpoint passed to the CLI must exactly match the current database catalogue. The CLI does not
|
|
34
|
+
map aliases, strip prefixes, infer profiles or retry under a different name after `not_found`.
|
|
35
|
+
If a reference and the catalogue disagree, stop and report a configuration issue.
|
|
36
|
+
- Report a call as successful only when the CLI subprocess exits with code 0 and the top-level
|
|
37
|
+
JSON `ok` is `true`. The CLI's top-level `data` contains the service response. Read fields only
|
|
38
|
+
according to the envelope and business structure in the relevant reference; do not search
|
|
39
|
+
recursively for plausible values or misreport business results such as `valid:false` as
|
|
40
|
+
transport failures.
|
|
41
|
+
|
|
42
|
+
Template for JSON-compatible endpoints:
|
|
36
43
|
|
|
37
44
|
```text
|
|
38
45
|
delta-cli science invoke --tool TOOL --endpoint ENDPOINT \
|
|
39
46
|
[--data JSON] [--params JSON] [--path-params JSON] [--headers JSON]
|
|
40
47
|
```
|
|
41
48
|
|
|
42
|
-
|
|
43
|
-
`--path-params JSON
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
If a tool-proxy endpoint declares path parameters, additional upstream headers or file fields, use
|
|
50
|
+
`--path-params JSON`, `--headers JSON`, `--file PATH` (or `--file-base64 BASE64`), and the
|
|
51
|
+
optional `--content-type MIME`. `--params` means URL query parameters only and cannot replace
|
|
52
|
+
`--path-params`. These fields are forwarded as request-body
|
|
53
|
+
fields to `/api/v1/tools/invoke`. `science file invoke` is a separate interface for QE/Materials
|
|
54
|
+
Design file operations and cannot replace file uploads to tool-proxy endpoints.
|
|
48
55
|
|
|
49
|
-
|
|
56
|
+
Template for persistent tasks:
|
|
50
57
|
|
|
51
58
|
```text
|
|
52
59
|
delta-cli science task submit --tool TOOL --operation OPERATION \
|
|
@@ -57,7 +64,7 @@ delta-cli science task invocations TASK_ID
|
|
|
57
64
|
delta-cli science task artifacts TASK_ID
|
|
58
65
|
```
|
|
59
66
|
|
|
60
|
-
|
|
67
|
+
Template for file operations:
|
|
61
68
|
|
|
62
69
|
```text
|
|
63
70
|
delta-cli science file invoke --tool qe --endpoint artifact-upload \
|
|
@@ -68,118 +75,153 @@ delta-cli science file download --tool qe --endpoint artifact-content \
|
|
|
68
75
|
--params '{"artifact_id":"sha256:<digest>"}' --output result.bin
|
|
69
76
|
```
|
|
70
77
|
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
Use `--params JSON` only when the reference explicitly defines fields as query parameters. Do not
|
|
79
|
+
concatenate JSON into command code; pass it as a single JSON argument using the calling
|
|
80
|
+
environment's safe argument-passing mechanism.
|
|
73
81
|
|
|
74
|
-
|
|
75
|
-
`Idempotency-Key
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
Controlled CLI adapters are available for Materials Design training-table multipart uploads,
|
|
83
|
+
QE raw artifact/custom PP uploads, and `Idempotency-Key`. Pass files through a `science file` file
|
|
84
|
+
flag, and pass idempotency keys through `science task submit --idempotency-key` or the dedicated
|
|
85
|
+
flag for the file operation. Do not disguise local paths, base64 or headers as ordinary `--data`
|
|
86
|
+
fields, and do not connect directly to the preflight Gateway.
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
88
|
+
Call only the operations needed to meet the goal. Run cross-tool tasks in dependency order within
|
|
89
|
+
the same Skill execution; downstream calls may use only verified business fields from the
|
|
90
|
+
previous step. For a known tool, do not add health, schema, catalogue, render, descriptor or file
|
|
91
|
+
calls by default. Make the minimum number of read-only calls only when the user requests them,
|
|
92
|
+
diagnosis requires them, or the reference disagrees with the live catalogue.
|
|
83
93
|
|
|
84
|
-
##
|
|
94
|
+
## Choose a tool
|
|
85
95
|
|
|
86
|
-
|
|
|
96
|
+
| Research goal | tool | Reference |
|
|
87
97
|
| --- | --- | --- |
|
|
88
|
-
|
|
|
89
|
-
| SMILES/InChI
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
| Quantum ESPRESSO/QE
|
|
97
|
-
|
|
|
98
|
-
| KRAS G12D
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
-
|
|
146
|
-
`
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
98
|
+
| Compound identity, CID, synonyms, public properties, name-to-SMILES conversion | `pubchem` | [pubchem.md](references/pubchem.md) |
|
|
99
|
+
| SMILES/InChI, descriptors, fingerprints, similarity, rendering, substructure | `rdkit` | [rdkit.md](references/rdkit.md) |
|
|
100
|
+
| Inorganic formulae, CIF/POSCAR, crystal structures, space groups | `pymatgen` | [pymatgen.md](references/pymatgen.md) |
|
|
101
|
+
| Cloud XRD phase identification, XQueryer/XMatcher/XDecomposer, CIF simulation, MP500, artifacts and refinement jobs | `xrd` | [xrd.md](references/xrd.md) |
|
|
102
|
+
| Direct GSAS-II simulation or refinement | `gsasii` | [gsasii.md](references/gsasii.md) |
|
|
103
|
+
| Molecular dynamics, minimisation, thermo and output files | `lammps` | [lammps.md](references/lammps.md) |
|
|
104
|
+
| General optimisation of numeric, integer or categorical experimental variables | `delta-bo` | [delta-bo.md](references/delta-bo.md) |
|
|
105
|
+
| Materials-table surrogates, candidate spaces, EI/PI/UCB and asynchronous recommendation jobs | `materials-design` | [materials-design.md](references/materials-design.md) |
|
|
106
|
+
| Quantum ESPRESSO/QE PP, asynchronous DFT jobs, logs and artifacts | `qe` | [qe.md](references/qe.md) |
|
|
107
|
+
| Fixed-pool next-SMILES, PDF2Dock and molecular BO trajectories | `ldm-bo` | [ldm-bo.md](references/ldm-bo.md) |
|
|
108
|
+
| KRAS G12D small-molecule generation and iterative multi-objective Vina/activity optimisation | `strbo` | [strbo.md](references/strbo.md) |
|
|
109
|
+
| Reaction-condition initialisation and next-batch recommendations based on measured yields | `synbo` | [synbo.md](references/synbo.md) |
|
|
110
|
+
| Antibody CDRH3 generation/evaluation and AntBO job management | `antbo` | [antbo.md](references/antbo.md) |
|
|
111
|
+
|
|
112
|
+
When the user describes a complete research workflow using terms such as “LDM”, “discovery
|
|
113
|
+
model”, “small-molecule drug LDM” or “antibody LDM”, first select the actual backend tool based on
|
|
114
|
+
the task goal, then read only the reference for that backend. `ldm-bo` is a callable tool; `LDM`
|
|
115
|
+
itself is not a `--tool` value. For “batch molecular enrichment” or similar requests, use the
|
|
116
|
+
actual tools in sequence: resolve names/identifiers with `pubchem`, then standardise structures
|
|
117
|
+
or calculate molecular properties with `rdkit`.
|
|
118
|
+
|
|
119
|
+
When the tool is clear, read its reference directly; it already includes the operations, parameters
|
|
120
|
+
and minimal scenarios. Do not read documentation for other tools. Split cross-tool tasks using
|
|
121
|
+
this Skill's routing rules and read only the references for tools actually involved. Do not rely
|
|
122
|
+
on separate routing, service, workflow or catalogue documents.
|
|
123
|
+
|
|
124
|
+
This table lists research tools with maintained references; it is not a static server catalogue.
|
|
125
|
+
If the user names a new tool absent from the table, or a reference is missing, outdated or
|
|
126
|
+
inconsistent with CLI output, run `delta-cli science list`, then run
|
|
127
|
+
`delta-cli science endpoints list <tool>` once using the exact tool name returned by the catalogue.
|
|
128
|
+
Both commands must exit with code 0 and return top-level `ok:true`. Do not probe with an empty
|
|
129
|
+
body, invalid parameters, source code or direct HTTP. If live endpoint metadata does not provide
|
|
130
|
+
enough request-field contract to construct a safe request, say “The catalogue lists the tool, but
|
|
131
|
+
the server has not provided a schema that can be used to construct a safe request.” Do not guess
|
|
132
|
+
the body, fuzzy-match or transform names. A new tool therefore does not require a CLI change; add
|
|
133
|
+
a single-tool reference only after confirming that it is a distinct real tool and needs automatic
|
|
134
|
+
natural-language routing or parameter construction.
|
|
135
|
+
|
|
136
|
+
## Routing boundaries
|
|
137
|
+
|
|
138
|
+
- Use PubChem first for an ordinary compound name. Pass a successfully returned SMILES to RDKit
|
|
139
|
+
only when structural calculations are needed.
|
|
140
|
+
- Prefer pymatgen for inorganic formulae, composition and formula weight; do not calculate these
|
|
141
|
+
with PubChem or a local element table.
|
|
142
|
+
- Use `xrd` for cloud powder-XRD phase identification, peak matching, phase decomposition,
|
|
143
|
+
CIF/MP500 operations and refinement jobs. Use `gsasii` only when directly requesting the
|
|
144
|
+
GSAS-II tool. Do not conflate their scores, job states or backend semantics.
|
|
145
|
+
- Use Materials Design for materials-table modelling and candidate ranking. Keep controllable
|
|
146
|
+
variables, objectives, candidate spaces, cross-validation and uncertainty distinct; treat
|
|
147
|
+
recommendations only as hypotheses to validate.
|
|
148
|
+
- Use QE for explicit electronic-structure calculations. First handle the complete element set,
|
|
149
|
+
PP policy/lock and structure artifact, then submit the asynchronous workflow. Do not conflate
|
|
150
|
+
job acceptance, scheduler completion and solver convergence.
|
|
151
|
+
- Use Delta-BO for general experimental variables; LDM-BO for an existing fixed SMILES candidate
|
|
152
|
+
pool or PDF2Dock trajectory; STRBO for small-molecule generation and iteration against the
|
|
153
|
+
server-fixed KRAS G12D target; SynBO for coupling reactions, reaction conditions and historical
|
|
154
|
+
yields; and AntBO for antibodies/CDRH3. Do not mix these tools.
|
|
155
|
+
- Do not hand online LDM, STRBO, AntBO or LDM-BO tasks to the retired
|
|
156
|
+
`large-discovery-model` Skill, run its gateway scripts or use its built-in service addresses.
|
|
157
|
+
Offline demonstrations are not company Science results. Explain this boundary only when the
|
|
158
|
+
user explicitly asks not to use company resources; this Skill must still not run the retired
|
|
159
|
+
Skill.
|
|
160
|
+
- GSAS-II refinement requires real powder data, instrument parameters and a phase CIF. LAMMPS
|
|
161
|
+
requires explicit input/data/force-field files. Never fabricate experimental data, CIFs, force
|
|
162
|
+
fields, historical observations or optimisation results.
|
|
163
|
+
|
|
164
|
+
## Safety, retries and artifacts
|
|
165
|
+
|
|
166
|
+
- Require the user's explicit authorisation for remote mutations such as `run-default-job`,
|
|
167
|
+
`run` and `stop`. Do not retry when the outcome is unknown, the request times out or the
|
|
168
|
+
connection drops, because the remote action may already have occurred.
|
|
169
|
+
- Treat parameter validation errors, empty recommendations and business-backend failures as
|
|
170
|
+
failures for the current attempt. For `health`, the catalogue and other clearly read-only,
|
|
171
|
+
idempotent operations, network errors such as 502, 504 or timeout may be retried once with the
|
|
172
|
+
same parameters. Make at most one SynBO business call per user task; do not switch models or
|
|
173
|
+
acquisition functions, or substitute a local algorithm.
|
|
174
|
+
- After the CLI's first failure, return a short summary of the original error. If the user
|
|
175
|
+
explicitly asks for troubleshooting, you may run read-only `delta-cli auth status`,
|
|
176
|
+
`delta-cli config show` or `delta-cli ... --help`. Do not log in, change configuration or
|
|
177
|
+
environment variables, fabricate a UID, token or API key, or retry with a changed operation,
|
|
178
|
+
parameters or call chain.
|
|
179
|
+
- Treat `X-User-Uid`, login, quota and permission errors as terminal authentication errors; relay
|
|
180
|
+
only the original error and login guidance. The Skill must never log in, inspect credentials,
|
|
181
|
+
guess a user identifier or try to bypass quota.
|
|
182
|
+
- Run heavy calls serially. A client timeout does not mean the remote computation was cancelled.
|
|
183
|
+
- Do not create CSV files, images or reports unless the user asks for a file. Write internal
|
|
184
|
+
hand-off files only to the current `WORKSPACE_ROOT`; do not read another session's workspace or
|
|
185
|
+
historical results to fill in the current task.
|
|
186
|
+
- Paths, JSON, charts or reports automatically attached by an outer planner do not count as an
|
|
187
|
+
explicit user request. If the task is essentially a lookup, comparison or check, return the
|
|
188
|
+
minimum text result directly; do not repeat Science calls to satisfy an added artifact request.
|
|
189
|
+
- Decode only documented fields from binary artifacts; validate PNG magic bytes.
|
|
190
|
+
- If the user explicitly asks for public background information or literature, web searches are
|
|
191
|
+
permitted, but do not present them as Science calls or use them to replace CLI results. Label
|
|
192
|
+
the sources separately.
|
|
193
|
+
|
|
194
|
+
## Output
|
|
195
|
+
|
|
196
|
+
Project the business response defined by the relevant reference from the current CLI `data` into
|
|
197
|
+
the minimum result the user requested. Preserve strings, numbers, warnings and sources verbatim.
|
|
198
|
+
Do not add units, mechanisms, citations, links, predictions or remembered information that the
|
|
199
|
+
service did not return. Do not describe predictions as measured results.
|
|
200
|
+
Once the last required business result has been obtained successfully, project it directly into
|
|
201
|
+
the final reply. Do not call the CLI again to sort, format, make a table or summarise, and do not
|
|
202
|
+
manually copy the result into a new data literal. Perform simple filtering, comparison and text
|
|
203
|
+
organisation directly in the final reply.
|
|
204
|
+
|
|
205
|
+
On success, return only bounded plain text derived from the current CLI business result; on
|
|
206
|
+
failure, return only a short summary of the original CLI error. Do not recalculate, rewrite or
|
|
207
|
+
replace a successful or failed Science result with manual recommendations.
|
|
208
|
+
|
|
209
|
+
Include the following with every successful result:
|
|
172
210
|
|
|
173
211
|
```text
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
212
|
+
Evidence boundary: business results in the current Delta CLI `data` only
|
|
213
|
+
Call chain: delta-cli
|
|
214
|
+
Do not add information absent from the response: yes
|
|
177
215
|
```
|
|
178
216
|
|
|
179
|
-
##
|
|
180
|
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
|
|
185
|
-
-
|
|
217
|
+
## Completion criteria
|
|
218
|
+
|
|
219
|
+
- Every online operation is supported by evidence that the CLI exited with code 0 and returned
|
|
220
|
+
top-level `ok:true`.
|
|
221
|
+
- Every scientific value comes from a business field in the current call's `data`, as defined by
|
|
222
|
+
the reference.
|
|
223
|
+
- Downstream inputs come from verified upstream results in the current task.
|
|
224
|
+
- Failures are classified accurately as configuration, CLI, parameter, Science Server,
|
|
225
|
+
business-service or timeout failures.
|
|
226
|
+
- No direct HTTP, local scientific library, cross-session file or manually substituted result was
|
|
227
|
+
used.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Delta Science"
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "
|
|
3
|
+
short_description: "Access and orchestrate all Science tools through Delta CLI"
|
|
4
|
+
default_prompt: "Use $delta-science to analyse the research goal, choose the right tools, and complete the task through Delta CLI."
|
|
@@ -1,80 +1,84 @@
|
|
|
1
|
-
# AntBO
|
|
1
|
+
# AntBO reference
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
CLI
|
|
3
|
+
Use `delta-cli science invoke` with `endpoint`, `data` and `params`. Read business results
|
|
4
|
+
from the CLI response fields defined in this document. Run operations marked as mutating only
|
|
5
|
+
with the user's explicit authorisation, and never retry them.
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
For antibody/CDRH3 tasks, do not switch to small-molecule LDM-BO or STRBO even if the user
|
|
8
|
+
mentions “LDM”. The current catalogue exposes both CDRH3 generation, suggestion and evaluation
|
|
9
|
+
operations and the traditional AntBO job-management operations.
|
|
8
10
|
|
|
9
|
-
## health
|
|
11
|
+
## health (read-only)
|
|
10
12
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
13
|
+
- Use case: Check whether the remote AntBO environment is available.
|
|
14
|
+
- Request: `endpoint="health"; data=None; params=None`
|
|
15
|
+
- Read from the response: `status`, `antbo_available`, `metadata`, `limits` and `warnings`.
|
|
14
16
|
|
|
15
|
-
## run-default-job
|
|
17
|
+
## run-default-job (mutating)
|
|
16
18
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
19
|
+
- Use case: The user explicitly asks to start the standard background continuation job.
|
|
20
|
+
- Request: `endpoint="run-default-job"; data=None; params={"log_name":"antbo_<unique-timestamp>.log","append":False,"timeout_seconds":86400}`
|
|
21
|
+
- Read from the response: `started`, `pid`, `log_name` or `log_path`, and `timeout_seconds`. Do not retry if the outcome is unknown.
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
`
|
|
23
|
+
Report the job as started only when the same business response contains `started=true`, a
|
|
24
|
+
non-empty `pid`, and either `log_name` or `log_path`. If any field is missing, mark the start
|
|
25
|
+
as unverified and do not submit again.
|
|
23
26
|
|
|
24
|
-
## run
|
|
27
|
+
## run (heavy, mutating)
|
|
25
28
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
+
- Use case: The user explicitly supplies an approved AntBO script, configuration and antigen file, and asks for synchronous execution.
|
|
30
|
+
- Request: `endpoint="run"; data={"script_path":"./bo/main.py","config_path":"./bo/config.yaml","n_trials":1,"seed":42,"antigens_file":"<path within project root>","extra_args":[],"timeout_seconds":86400,"cuda_visible_devices":"0","conda_env":"DGM","log_name":"antbo_custom.log","append":False}; params=None`
|
|
31
|
+
- Read from the response: `ok`, `returncode`, `timed_out`, `log_path` and whether the log was truncated. Do not include the full log in the final reply.
|
|
29
32
|
|
|
30
|
-
## log
|
|
33
|
+
## log (read-only)
|
|
31
34
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
+
- Use case: The user provides a known `log_name` and asks to inspect the end of the log.
|
|
36
|
+
- Request: `endpoint="log"; data=None; params={"log_name":"antbo_run.log"}`
|
|
37
|
+
- Read from the response: `log_name`, `log` and `log_truncated`. For long logs, provide only a bounded summary of the tail.
|
|
35
38
|
|
|
36
|
-
## jobs
|
|
39
|
+
## jobs (read-only)
|
|
37
40
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
+
- Use case: List the active jobs registered by the current service container.
|
|
42
|
+
- Request: `endpoint="jobs"; data=None; params=None`
|
|
43
|
+
- Read `pid`, `running`, `returncode`, `log_name` and `log_path` from each item in `jobs`.
|
|
41
44
|
|
|
42
|
-
## stop
|
|
45
|
+
## stop (mutating)
|
|
43
46
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
+
- Use case: The user explicitly asks to stop a job with a confirmed PID.
|
|
48
|
+
- Request: `endpoint="stop"; data=None; params={"pid":12345}`
|
|
49
|
+
- Read from the response: `stopped`, `pid` and `message`. Do not retry blindly or call without parameters when multiple jobs exist.
|
|
47
50
|
|
|
48
|
-
## CDRH3
|
|
51
|
+
## CDRH3 generation and optimisation
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
`1OB1_C
|
|
53
|
+
The server's supported antigens are defined by `supported_antigens` in the health response.
|
|
54
|
+
Do not guess or treat an arbitrary protein-file path as an antigen. Deployments commonly support
|
|
55
|
+
`1ADQ_A`, `1FBI_X`, `1H0D_C`, `1NSN_S` and `1OB1_C`, but use the current service response
|
|
56
|
+
and the user's choice before execution.
|
|
53
57
|
|
|
54
|
-
### ldm-health
|
|
58
|
+
### ldm-health (read-only)
|
|
55
59
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
60
|
+
- Request: `endpoint="ldm-health"; data=None; params=None`
|
|
61
|
+
- Read from the response: `supported_antigens`, `cdrh3_length`, `objective`, and fields describing Absolut/model provenance.
|
|
58
62
|
|
|
59
63
|
### ldm-init / ldm-init-validate
|
|
60
64
|
|
|
61
65
|
```json
|
|
62
66
|
{
|
|
63
|
-
"task": "
|
|
67
|
+
"task": "Generate initial CDRH3 candidates for the specified antigen",
|
|
64
68
|
"num_initial": 3,
|
|
65
69
|
"antigen": "1ADQ_A",
|
|
66
70
|
"seed": 42
|
|
67
71
|
}
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
Use `ldm-init-validate` only to validate parameters; use `ldm-init` for generation. Successful
|
|
75
|
+
candidates must be CDRH3 sequences returned by the service. Do not invent candidates.
|
|
72
76
|
|
|
73
77
|
### ldm-suggest / ldm-suggest-validate
|
|
74
78
|
|
|
75
79
|
```json
|
|
76
80
|
{
|
|
77
|
-
"task": "
|
|
81
|
+
"task": "Continue reducing antigen binding energy",
|
|
78
82
|
"history_xs": ["ARVGYSLYAMD", "AKYGGYDYAMD"],
|
|
79
83
|
"history_ys": [-18.2, -17.4],
|
|
80
84
|
"num_suggestions": 2,
|
|
@@ -83,9 +87,9 @@ CLI 服务响应字段读取业务结果。标为“变更”的 operation 只
|
|
|
83
87
|
}
|
|
84
88
|
```
|
|
85
89
|
|
|
86
|
-
AntBO
|
|
87
|
-
|
|
88
|
-
`cdrh3_length`
|
|
90
|
+
AntBO is single-objective. `history_ys` must be a one-dimensional array of finite numbers and
|
|
91
|
+
have the same length as `history_xs`. Each CDRH3 must contain 11 standard amino-acid characters;
|
|
92
|
+
use the current `cdrh3_length` returned by `ldm-health` as the final constraint.
|
|
89
93
|
|
|
90
94
|
### evaluate / evaluate-validate
|
|
91
95
|
|
|
@@ -96,5 +100,6 @@ AntBO 是单目标,`history_ys` 必须是一维有限数值数组,并与 `hi
|
|
|
96
100
|
}
|
|
97
101
|
```
|
|
98
102
|
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
The number of returned scores must match the number of designs; lower binding energy is better.
|
|
104
|
+
Generation, suggestion and evaluation are all heavy remote calls. Do not retry if the outcome is
|
|
105
|
+
unknown or times out, and do not fill in results with locally generated random scores.
|