Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ T3 course actions and skills for T3, Claude Code and Codex CLI. There is no SDK
or MCP server. `pack.json` pins every archive by URL and SHA-256.

Studio reads grammar 4 courses; convert grammar 3 courses first.
The checked-in manifest pins Studio CLI `0.3.0-main.abaf1f3f`, Check
`0.6.0-alpha.c61b1cb3c` and Trace `0.1.1-experimental.97e6de33b`.
The checked-in manifest pins Studio CLI `0.3.0-main.e1930acb`, Check
`0.6.0-alpha.c61b1cb3c` and Trace `0.1.1-experimental.53ee25cc6`.
Rubato's asset-only experimental prereleases host the verified CLI archives
without a pack manifest or installer bootstrap: Studio downloads from
`v0.1.1-tools.experimental.20261019.3`, Check from
`v0.1.1-tools.experimental.20261019.6`, Check from
`v0.1.1-tools.experimental.20261019` and Trace from
`v0.1.1-tools.experimental.20261019.4`.
`v0.1.1-tools.experimental.20261019.5`.
The remaining tool archives come from Rubato `v0.1.1`.
These candidate pins support installation from a reviewed checkout; the published
Rubato `v0.1.1` manifest and stable update channel remain unchanged.
Expand Down
24 changes: 12 additions & 12 deletions pack.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@
"tools": [
{
"id": "studio",
"version": "0.3.0-main.abaf1f3f",
"sourceRevision": "abaf1f3f876ac32a610886fecd3d709513bf5bb5",
"version": "0.3.0-main.e1930acb",
"sourceRevision": "e1930acba2a684bbca976e4acef5607bc92328ae",
"entry": "praxity.mjs",
"runner": "node",
"license": "PolyForm Perimeter 1.0.1",
Expand All @@ -104,15 +104,15 @@
"archives": {
"darwin-arm64": {
"status": "published",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.3/praxity-studio-cli-0.3.0-main.abaf1f3f-darwin-arm64.tar.gz",
"sha256": "6c04e17491bcf6e7bdd37b792621eec0c36576c68e5eeff08959ef4e56dfc9b8",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.6/praxity-studio-cli-0.3.0-main.e1930acb-darwin-arm64.tar.gz",
"sha256": "8acdb90fc11cb326e72e62ec74b36757d3fec510421c32691d9177d1d87b14a6",
"format": "tar.gz",
"stripComponents": 1
},
"darwin-x64": {
"status": "published",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.3/praxity-studio-cli-0.3.0-main.abaf1f3f-darwin-x64.tar.gz",
"sha256": "6558d3b91a5d0c90871dfcae27bf55c8404eb9080ad52f6e6da7f88ce0706cdd",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.6/praxity-studio-cli-0.3.0-main.e1930acb-darwin-x64.tar.gz",
"sha256": "01b821fbccc3758e397e5a9ea4f6fe08d9fbddd9b1823002e5b5ed87245f5981",
"format": "tar.gz",
"stripComponents": 1
},
Expand Down Expand Up @@ -169,8 +169,8 @@
},
{
"id": "trace",
"version": "0.1.1-experimental.97e6de33b",
"sourceRevision": "97e6de33b3c30e67d44e7db6d0f1856bf358d3ef",
"version": "0.1.1-experimental.53ee25cc6",
"sourceRevision": "53ee25cc620fcbc669e0f00508962156f21bdce5",
"entry": "src/cli.ts",
"runner": "node",
"license": "PolyForm Perimeter 1.0.1",
Expand All @@ -179,15 +179,15 @@
"archives": {
"darwin-arm64": {
"status": "published",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.4/praxity-trace-0.1.1-experimental.97e6de33b-portable.tar.gz",
"sha256": "2204cbb49f7ed666cef941a83ff26d6a76611008fec6f10ca1fd5002820177fe",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.5/praxity-trace-0.1.1-experimental.53ee25cc6-portable.tar.gz",
"sha256": "7596c94314fb587bbe414ed46daa5ed460af9aa009f282d6d17568a4def57aa2",
"format": "tar.gz",
"stripComponents": 1
},
"darwin-x64": {
"status": "published",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.4/praxity-trace-0.1.1-experimental.97e6de33b-portable.tar.gz",
"sha256": "2204cbb49f7ed666cef941a83ff26d6a76611008fec6f10ca1fd5002820177fe",
"url": "https://github.com/Praxity/rubato/releases/download/v0.1.1-tools.experimental.20261019.5/praxity-trace-0.1.1-experimental.53ee25cc6-portable.tar.gz",
"sha256": "7596c94314fb587bbe414ed46daa5ed460af9aa009f282d6d17568a4def57aa2",
"format": "tar.gz",
"stripComponents": 1
},
Expand Down
198 changes: 158 additions & 40 deletions skills/assessment-writing/SKILL.md

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion skills/composer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,12 @@ Show the person the behaviour, barriers, fixes outside the course, selection and
## 7. Hand off the writing

1. Write the course from outline.md with the prax-format skill, following steps 1 to 6 of its build list; export comes in step 8 below. It owns syntax, block details, validation and identity. For two languages, keep one outline and build one course folder per language, side by side, with the same lessons in the same order.
2. Write every keyed single-answer choice, scored or practice, with the assessment-writing skill, including its attack, before any export. Hand it the Items section. When Trace is missing, follow that skill's fallback. When no fresh agent can run its probes, mark the bank unverified and keep the course a draft.
2. Write every keyed single-answer choice, scored or practice, with the assessment-writing skill, including its attack, before any export. Hand it the Items section, and list each deliberate poll in the course by ref: its hand-in checklist declares them, and its gate stops on a choice with no key that it wasn't told about. When Trace is missing, follow that skill's fallback. When no fresh agent can run its probes, mark the bank unverified and keep the course a draft.

Trace's masked gate covers English only. For any bank where it doesn't apply, including French, run the plain choices-only and cover-the-options probes, the key check and the explanations probe within assessment-writing's pass cap. Report the masked gate as "not applicable" with its reason, mark that bank unverified, and add the unverified bank as a blocking reason under Draft. Continue through steps 7.3 to 9, including the fidelity review, alignment check, accessibility check and report, even in an unattended run. Ask the person how to resolve the unverified bank at the end in step 9, rather than at this hand-off; a fluent-reader check alone doesn't verify it.

When assessment-writing's gate returns `"tooling"`, the installed tools can't verify the bank. Let that skill check pass 1's rewrites first, then treat the bank as above: mark it unverified because of the tooling limit, add it as a blocking reason under Draft, continue through steps 7.3 to 9, and ask the person at the end in step 9.

3. Sort facts three ways:
- facts the person's organisation owns (its policy, limits, steps, contacts) come only from the brief or its named sources. Where one is missing, write `[SOURCE NEEDED: what]` once per course folder, where learners first meet the fact, and add it to Questions;
- general facts of a subject (science, common safety advice) you may write; list each one in the report for an expert to check;
Expand Down
Loading
Loading