# The studio crit model

> How a studio crit works and how it's marked: the five beats of the session, the feedback protocol, and the two marks available each week

The weekly crit is the core mechanic of this course: reflection-with-others, the
one kind of reflection you can't practise alone. A good crit comment and a good
failing test are the same kind of thing, being specific, early, and aimed at the
artefact rather than the author.

For times, rooms and each week's provocation, see the [crits page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/); for
the assignments and the assessment policy, see
[assessment](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/).

## What you bring

A deployed prototype, live at its public URL, and your written reflection,
submitted by the cutoff. The [assessment page](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/) has the
reflection prompts and the rest of the submission detail. Come ready to account
for how you directed, grounded and corrected the agent to produce the work.

The prototype is frozen at the cutoff, two hours before your session.

## The session

Ninety minutes in five beats: fifteen minutes on your crit agent's prototype,
five dealing the pods, thirty critiquing each other's work, thirty on the riff,
ten to close out. Crits 9 and 10 open with a ten-minute
[lightning round](#the-riff), and the pod crit and the riff take twenty-five
minutes each.

### The agent crit

The session opens on your [crit agent's](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/crit-agents/) prototype for the
week, on screen, critiqued by everyone with your tutor driving. Its `PROCESS.md`
goes up alongside it. Nobody has to defend this one, which makes it the place to
practise the Ladder out loud before you turn it on each other, and it's where
every pod's riff starts.

### Pod allocation

Pods come out at four, dealt on the day from whoever turned up. Each pod picks a
**pod leader** in its first minute: someone who hasn't led lately, who keeps the
pod to time, holds the house rules when a critique tips towards a pile-on, and
takes the keyboard for the riff.

### The pod crit

Half an hour in your pod, and everybody presents. You show your deployed
prototype at its live URL, next to whatever you started the week from, and take
the pod's critique. Open with thirty seconds on your breakthrough, straight from
your written reflection, so the pod hears that context before offering critique.

If the week got away from you and there's nothing live, say so when the pod
comes round to you. The critique, the riff and
[the contribution mark](#in-crit-prototype-marks) don't depend on having
shipped.

Critique follows the
[Ladder of Feedback](https://pz.harvard.edu/resources/ladder-of-feedback):

1. **Clarify**: ask questions until you understand what they built and were
   going for. Don't critique a thing you've misread.
2. **Value**: say what's good, and be specific. "The reveal on scroll controls
   the pacing well" beats "nice".
3. **Raise concerns**: put them as honest questions. "What happens if the form
   submits twice?" rather than "the form's broken".
4. **Suggest**: offer a next step. "Where would you take it next?" is a gift.

One house rule on top, from
[Liz Lerman's Critical Response Process](https://lizlerman.com/critical-response-process/):
the presenter drives, and opinions come with the presenter's consent ("I have a
thought about the colour, want it?").

### The riff

Then you write a prompt. From crit 8, each pod has a repo holding a copy of your
crit agent's final project, live on its own Fly app, and changes one file in it:
`prompt.md`, the brief your crit agent runs after the session. The prompt aims
at the next brief: crit 8's at crit 9, crit 9's at crit 10, and crit 10's at the
final project. The pod leader is at the keyboard; everyone else reads the app
and its code, argues about what it should become, and reads the draft back the
way the agent will, with nobody to ask.

The agent runs each pod's prompt once, unattended, start to finish. The repos
carry on from week to week, so crits 9 and 10 open with a lightning round on
where each one ended up, beside the prompt that drove it, and then the next pod
writes the next prompt in the same repo.

In crits 1 to 7 the riff was a build: each pod started from the agent's
prototype for the week and mob-programmed its own agent to take it further.

The riff runs on the pod leader's key, so leading spends a session's worth of
their own [usage allocation](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/llm-access/#usage-allocation).

### Close-out

Each pod reads out what its prompt asks for and why. Then your tutor names the
week's hall-of-fame pick.

## When a week runs differently

Most weeks from 2 to 8 use the format above with a shared brief and a fresh
prototype. Two kinds of week use a different format.

Weeks 4 and 7 follow the two static assignments and have no fresh brief: you
present the breakthrough from the assignment you just shipped, in the
[Assignment 1 retro](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/03-a1-retro/) and the
[Assignment 2 retro](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/06-a2-retro/).

Weeks 9 to 11 work on your [final project](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/assessments/final-project/) rather
than a new build, pushing the in-flight repository past that week's process
lens: proof of life, then critique, then instrumentation. The mark is based on
how you applied that process, regardless of the in-flight project's state.

Check each week's [crit brief](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/) for its session format. Follow the brief
where it differs from this page.

## The hall of fame

Your tutor picks one standout from the week and it goes into a public
[hall of fame](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/hof/), but no marks are awarded for it. Most Thursday
[lecture demos](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/lecture-structure/#one-demo-one-run) start from a
hall-of-fame prototype. Your crit agent's prototype is eligible alongside
everyone else's.

## How the marks work

### In-crit prototype marks

Each crit is worth **2%**, split evenly into two marks scored independently
**within an attended crit**. The tutor records both and uploads them to Canvas
**within 48 hours of the crit finishing**. There's no take-home re-marking loop.

Attendance is a condition of the whole crit: if you do not attend a session that
week, both marks are zero, even if you shipped a prototype by the cutoff.
Attending means the whole session --- the pod work and the critique are most of
what the contribution mark is judged on, so arriving well after the start or
leaving well before the end will cost you that mark even though you were in the
room. If you know in advance that you'll miss part of a session, tell your tutor
beforehand.

- **1 mark --- shipped at the cutoff.** Three things when the course's automated
  sweep runs, and all three: you pushed to your repo; what you pushed was live
  at its [derived URL](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/#what-you-submit); that week's entry
  was in your `reflections/` folder.

  - **1** --- all three, and your checks had gone green by the time the sweep
    ran
  - **0.5** --- all three, but your checks weren't green: red, still running, or
    no checks at all
  - **0** --- any one of the three missing

- **1 mark --- your contribution.**

  - **1** --- you took part: you presented your prototype to your pod (or, with
    nothing live, gave a frank account of the week), gave your pod real
    critique, worked the riff, and could account for how your agent produced the
    work when asked
  - **0.5** --- you were there, but gave none of that
  - **0** --- you weren't there, which makes the whole crit zero

  Your tutor sets it from the session, not your repository: how polished the
  prototype is doesn't come into it.

**The sweep starts fifteen minutes after your cutoff** and captures each repo in
your group in turn: your last push and the commit it served, whether the site is
up, whether the reflection is there, screenshots at both
[marking viewports](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/#marking-environment), and your checks'
CI status. What it finds is the state of record. Those fifteen minutes are
settling time for the deploy and the CI run your push triggers, which is why
"still running" counts the same as red, and why a push inside the window spends
the time your own deploy was about to need.

The sweep also inlines your `PROCESS.md` and that week's reflection alongside
the screenshots, so your written work reaches your tutor before you present.
Neither is graded weekly: the reflection counts as present or not, and
`PROCESS.md` is read properly at the assignments.

**Nothing live? Still come.** If the build never happened, say so when your pod
comes round to you. The "shipped" mark is 0 that week, but you can still get the
full mark for your contribution. Your written reflection is still due at the
cutoff. Running `/ship` after the sweep brings your site up so you can demo it
in the crit, but you don't get that mark back. That's deliberate --- shipping is
required, and a missed weekly mark has lower stakes than a missed final-project
requirement.

On the two retro weeks, the shipped mark is based only on whether the
assignment's `PROCESS.md` is complete in the repo by the cutoff. You present
your breakthrough from that file. Nobody grades the writing here, and tutors
assess the contribution mark from the session as they do every other week.

The **cutoff**, two hours before your session starts, is the week's down-tools
point: your written work is due, your repo goes public (flipped by you, or
already public in the final-project run), and the building stops. Come ready to
present and discuss your work rather than still patching it. In the session you
demo your **live deployed URL**.

### Crit attendance

Missing a crit means missing both marks for that week. There is no take-home
credit for the artefact. Advance notice does not preserve the marks; you must
attend a session. Plan to attend every one.

If you know in advance you'll miss your session, the fix is to attend another
crit group's session **that same week**, and it's yours to arrange: message your
tutor in a private Ed thread ahead of time and they'll confirm which session you
can join. If you arrive at a crit group you are not enrolled in without an
approved swap, you'll be turned away, because the rooms are full. The cutoff
that applies is the one for the session you actually attend.

There's no take-home or remote crit. A zero need not be the end of the story:
you can recover one missed crit at the week 12 redeemable crit.

### The week 12 redeemable crit

One extra crit sits in week 12 to buy back a week you lost. It runs in the usual
crit room, but only in the second session of each back-to-back pair: the Bada,
Dachi and Liuru slots (see [crit groups](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/crits/) for the times). Come to any
one of the three, whichever group you're normally in.

It runs like an ordinary crit, in person and live, marked on the same two
halves, so the total is between 0 and 2 in half-point steps. It's open to
everyone, with no form to fill in and no reason to give. Bring either the
prototype from the crit you missed, to demo and discuss, or your
work-in-progress final project.

The mark you earn there replaces **your lowest earlier crit mark, if that mark
was 1 or below** and the week 12 mark is higher. One crit, once: however many
weeks you lost, it covers at most one, worth at most **2 percentage points**.

If you already know you'll have to miss a week, you're welcome to treat week 12
as where you make it up rather than chasing a same-week swap. There's nothing to
arrange in advance; just turn up.

If a genuine, unavoidable disruption cost you more than the redeemable crit can
cover, keep the supporting documentation and use ANU's
[Extenuating Circumstances Application (ECA)](https://www.anu.edu.au/students/program-administration/assessments-exams/extenuating-circumstances-application)
process. An ECA must normally be lodged **within five working days of the missed
crit**, and you do not need a tutor's permission to apply. Any approved
adjustment is handled through the applicable ANU process. Seek advice early.

### Querying crit marks

Queries run in two lanes, only one of them week-by-week.

- **You were there and the record says you weren't.** Message your tutor in a
  private Ed thread within a week of the mark reaching Canvas and it'll be
  corrected. This is the only week-by-week fix.
- **Everything else**, such as a shipped mark you think misreads the sweep or a
  contribution mark you think should have been a 1. These are heard **once, at
  the end of semester**: after the final crit's marks are returned, start a
  private Ed thread to the convenor and we'll review the record.

None of this limits your formal rights: the ANU
[appeals process](https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/assessment/#appeals) remains available for any mark,
on the University's own deadlines.

Source: <https://comp.anu.edu.au/courses/comp4020-agentic-coding-studio/topics/studio-crit-model/>\
Licence: [CC-BY-NC-SA-4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)\
Cite as: Swift, B. (2026). _COMP4020/COMP8020 Agentic Coding Studio_ [Course materials]. ANU School of Computing. https://doi.org/10.5281/zenodo.21395760
