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
7 changes: 4 additions & 3 deletions .github/workflows/grade.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
name: Check intent submission
on:
push:
pull_request:
types: [opened, synchronize, reopened]
branches: [main]
permissions:
contents: read
pull-requests: read
jobs:
grade:
uses: TensorOpsAI/tensorlearn-intent-grader/.github/workflows/grade.yml@9e40d82165c88f9028c6b119f5833dac5d48da9b
uses: TensorOpsAI/tensorlearn-intent-grader/.github/workflows/grade.yml@46de78b3462c3d3a18c2f55e81d645a816815302
with:
grader-sha: 9e40d82165c88f9028c6b119f5833dac5d48da9b
grader-sha: 46de78b3462c3d3a18c2f55e81d645a816815302
5 changes: 4 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ Read @intent.md for the student's proposed implementation instructions.
This round is about writing a useful intent document, not implementing the feature.
Change only intent.md. Help the student reason about scope, constraints and testable
acceptance criteria. Do not silently commit, push, open or merge a PR. The student
must explicitly choose to merge their solution PR into their own fork's main branch.
opens a PR inside their own fork, targeting that fork's main branch. Opening or
updating the PR starts advisory checks. Only the student's explicit /submit request
submits the selected pushed revision to TensorLearn. Keep the PR open; no merge is
required. Never present an Actions check as a saved official score.
57 changes: 35 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,30 @@ Read [the product brief and published rubric](docs/product-brief.md).

1. Fork this repository to your personal GitHub account. Use fictional information
only, keep the fork public, and keep `main` as its default branch.
2. Clone your fork, open it in Claude Code, and enable GitHub Actions in the fork.
3. Create a branch such as `intent/first-draft`. Read the brief and ask Claude to
2. Clone your fork and enable GitHub Actions in it. Your facilitator enrolls you in
the lab, approves your exact fork, and confirms the GitHub App connection.
3. Download the compatible TensorLearn client (v0.5.1 or later) from the lab page
and extract it outside your fork. Follow the page's `--code` connection command
from your fork folder. Paste your learner token only into the hidden terminal
prompt. After the facilitator launches the round, use `/load` in Claude Code.
4. Create a branch such as `intent/first-draft`. Read the brief and ask Claude to
help you write `intent.md`. Change only that file. Review the document yourself.
4. Start a fresh Claude session. Ask it to explain the scope and acceptance criteria
it loaded before doing any implementation. Refine your document as needed.
5. Commit and push your branch. Open a PR **inside your own fork**, targeting its
5. Start a fresh Claude session if needed and ask it to explain the loaded scope
and acceptance criteria before doing any implementation. Refine your document.
6. Commit and push your branch. Open a PR **inside your own fork**, targeting its
`main` branch. GitHub may suggest the upstream repository: select your fork instead.
6. Review and merge your PR. **The merge is your submission for this exercise.**
7. Open the Actions run for the merged commit. Download `intent-score` and inspect
`score.json`. Discuss the feedback with your facilitator and repeat with a new PR.
Opening or updating this PR starts the document checks automatically.
7. Keep the PR open. When ready, run **`/submit`** in the connected Claude Code session
to submit that exact pushed revision for the current round. The client can also
create the same-repository PR if it does not exist yet. **No merge is required.**
8. Use `/check` or refresh the lab page to read the saved result. The Actions run
and `intent-score/score.json` are useful feedback, but an Actions check alone
does not submit your work or prove that the server saved a score.

A change to your answer requires a new commit, push, and explicit `/submit`.
Keep the PR open until your facilitator finishes reviewing the exercise. Your
facilitator controls the official attempt allowance; advisory CI runs do not count
as official submissions or cap GitHub compute.

## What is verified

Expand All @@ -32,17 +46,16 @@ Claude imports are described in [the official memory documentation](https://code

The separate [document checker](https://github.com/TensorOpsAI/tensorlearn-intent-grader)
is pinned to an immutable commit in `.github/workflows/grade.yml`. No server secrets
belong in this starter or student forks. The workflow emits the platform's score.json
format; GitHub App delivery and admission of the submission must also be configured
on the platform before a score can appear there.

**Rehearsal blocker:** the currently observed platform requires a private repository
and explicit submission of an open PR. It does not currently accept this exercise's
public-fork merge as an official submission. The exercise can be prepared and its
checker tested, but the website score step remains unverified and blocked by that
mismatch. Do not treat an Actions score as proof that the server saved it.

The exercise should remain unlaunched until the facilitator has resolved that setup
and checked one actual learner result end to end. See the checker repository's
rehearsal checklist. No customer identity, credentials, or participant data is stored
in these public repositories.
belong in this starter or student forks. The workflow grades the PR head commit,
not GitHub's synthetic merge preview. Both PR branches must belong to the learner's
approved repository; do not open a PR against the upstream starter.

Before launch, verify that the deployed platform accepts approved public repositories
and pull-request check results, the matching client is downloadable, and the learner
repository's GitHub App installation is approved. Configure the grading allowance.
Observe an actual saved learner score before claiming end-to-end readiness. A client
or server that only supports private repositories is incompatible with this public
fork exercise. See the checker repository's rehearsal checklist.

No customer identity, credentials, or participant data is stored in these public
repositories. All product examples are fictional.
Loading