adaline-datasets — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited adaline-datasets (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Datasets are structured test cases for evaluations. Rows supply prompt inputs and optional expected values. Columns define the cell modality or dynamic generation source.
Key terms:
static, prompt, or apiprompt or api column whose values are generated on demandSet these environment variables when credentials are available:
ADALINE_API_KEY — workspace API key from Admin > API KeysADALINE_PROJECT_ID — project IDBase URL: https://api.adaline.ai/v2
Column creation takes { "columns": [...] }. Row creation takes { "rows": [...] }. Do not send a single bare column object to /columns.
| Symptom | First Fix |
|---|---|
| Column add fails | Wrap columns in { "columns": [...] } |
| Row values not applied | Use valuesBy=columnName when keys are names |
| Dynamic fetch ignored rows | Use datasetRowIds; the shorter legacy row-id key is not accepted |
| Pagination missing rows | Use pagination.nextCursor |
| Python snippets return coroutine | Await SDK methods |
curl -X POST "https://api.adaline.ai/v2/datasets" \
-H "Authorization: Bearer $ADALINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"projectId": "project_abc123",
"title": "Support eval set",
"icon": { "type": "emoji", "value": "📚" },
"description": "Support questions and expected answers"
}'curl -X POST "https://api.adaline.ai/v2/datasets/dataset_abc123/columns" \
-H "Authorization: Bearer $ADALINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"columns": [
{ "name": "question", "type": "static" },
{ "name": "expected_answer", "type": "static" },
{
"name": "draft_answer",
"type": "prompt",
"settings": { "promptId": "prompt_abc123" }
}
]
}'API dynamic column:
{
"name": "retrieved_context",
"type": "api",
"settings": {
"method": "POST",
"url": "https://example.com/retrieve",
"headers": { "Authorization": "Bearer token" },
"bodyTemplate": "{ \"query\": \"{{question}}\" }"
}
}curl -X POST "https://api.adaline.ai/v2/datasets/dataset_abc123/rows?valuesBy=columnName" \
-H "Authorization: Bearer $ADALINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rows": [
{
"values": {
"question": { "value": "How do I reset my password?" },
"expected_answer": { "value": "Send the reset link." }
}
}
]
}'curl -X POST "https://api.adaline.ai/v2/datasets/dataset_abc123/dynamic-columns/fetch" \
-H "Authorization: Bearer $ADALINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"columnIds": ["column_abc123"],
"datasetRowIds": ["row_abc123"],
"runMode": "all"
}'runMode can be all, failed, or first.
await adaline.datasets.list({ projectId, limit: 20 });
await adaline.datasets.create({ dataset });
await adaline.datasets.columns.create({ datasetId, columns });
await adaline.datasets.rows.create({ datasetId, valuesBy: 'columnName', rows });
await adaline.datasets.columns.fetchDynamic({ datasetId, query });await adaline.datasets.list(project_id=project_id, limit=20)
await adaline.datasets.create(dataset=dataset)
await adaline.datasets.columns.create(dataset_id=dataset_id, columns=columns)
await adaline.datasets.rows.create(dataset_id=dataset_id, values_by="columnName", rows=rows)
await adaline.datasets.columns.fetch_dynamic(dataset_id=dataset_id, query=query)valuesBy=columnName for authoring fixtures; use column IDs for immutable machine integrations.datasetRowIds to rerun dynamic generation for a focused subset.See references/api.md for the full REST contract.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.