Skip to content

Commit 44939f5

Browse files
committed
test(skills): the platform skill's evals ask for push notifications on os serve
Case 12 in objectstack-platform/evals/config-plugins-ops.json asks to turn on push for an os serve deployment; the expected answer declares requires: ['push'] with a top-level push: key and writes no secret inline. The assertions stay with what SKILL.md teaches today. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J8VVAjFpbQxLtYHuw3di1T
1 parent 61b487b commit 44939f5

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
'@objectstack/skills': patch
3+
---
4+
5+
test(skills): the platform skill's evals ask for push notifications on an `os serve` deployment
6+
7+
Clause-②: no
8+
Metadata-protocol: none
9+
10+
`skills/objectstack-platform/evals/config-plugins-ops.json` gains case 12: the prompt asks to turn on push notifications for an `os serve` deployment, and the expected answer declares `requires: ['push']` with a top-level `push:` key on the stack definition and writes no secret inline (the APNs signing key and the Firebase service-account JSON are named by reference). The assertions stay with what `objectstack-platform/SKILL.md` teaches today, the `push` token and the top-level key; the push block's transport and vendor shape are not asserted until the skill teaches them.

‎skills/objectstack-platform/evals/config-plugins-ops.json‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,24 @@
197197
"PUT /api/v1/meta/permission/crm_sales_rep"
198198
]
199199
}
200+
},
201+
{
202+
"id": 12,
203+
"prompt": "Turn on push notifications for our `os serve` deployment: our own iOS and Android apps, signed with our APNs key and our Firebase project.",
204+
"expected_output": "`requires: ['push']` on the stack root (the token mounts `@objectstack/service-push`) plus a top-level `push:` key on the stack definition for the transport; no host code, no `PushServicePlugin` in `plugins:`. The APNs signing key and the Firebase service-account JSON stay in the secrets layer (an environment variable in the open tier) and the config names them by reference (`credentialRef`): no `.p8` key, `privateKey` or service-account JSON written inline.",
205+
"files": [],
206+
"assertions": {
207+
"must_contain": [
208+
"requires",
209+
"'push'",
210+
"push:"
211+
],
212+
"must_not_contain": [
213+
"BEGIN PRIVATE KEY",
214+
"privateKey:",
215+
"\"private_key\""
216+
]
217+
}
200218
}
201219
]
202220
}

0 commit comments

Comments
 (0)