Unit 17 activity: Defence, disclosure, and responsible use

Release candidate. The unit videos are added in the first release.

Time: about 14 minutes. Checkpoints: cp17-disclosure and cp17-scope-the-claim. You will need: your prompts, outputs and verification results (Units 7, 8 and 10, or Units 9 and 10 on the route without the mathematics), your claim sorting from Unit 16 if your route includes it, and the eleventh row you wrote in the Unit 3 activity: the real piece of your own work you said you would or would not check.

Four short tasks, then the checkpoints. The optional CS extension at the end sits outside the core time budget.


Task 1 — assemble the evidence pack (about 4 minutes)

Open Learner evidence template and fill in items 1 to 6 from work you have already done. You are collecting, not producing. The pack stays with you: it is not submitted and nobody collects it.

That file opens with a table of everything the pack holds and which unit each part came from, generated from course/evidence-pack.yml so that it cannot drift from what the units actually ask you to keep. Work down it rather than from memory.

Two things go in before item 1, and they are easy to forget because you wrote them before the pack existed: the verification sentence from Unit 0, and the task classification table from Unit 1. Unit 18 asks you to look back at the first of them.

Which unit item 3 and item 4 come from depends on your route. On the table-based and code routes they come from Unit 8, the Bernoulli comparison. On the route without the mathematics they come from Unit 9, the citation comparison — the same two items, established the same way, against sources rather than against a table. On the responsible-use route, which is taken beside another path, items 1 to 4 can come from Unit 9, and the rest from that other path.

If you took the Python route, add your self-check record:

python3 selfcheck.py progress --evidence

That prints Markdown. Paste it in.

If you took the table-based route, attach the table you built and the comparison you made instead. This is not the lesser route. The pack is evidencing that you established what correct looked like, compared against it, and can account for the difference — and a hand-built table evidences that as directly as a checker run does.

If item 4 is empty because nothing ever disagreed, say so explicitly and say what you checked. "No discrepancy found, having compared X against Y" is a result. A blank space is not.


Task 2 — write the disclosure (about 2 minutes)

Use the template in the reading. Two or three sentences.

Cover: what you used AI assistance for, at which stage, and what you did about the output afterwards. If you worked from a supplied specimen, say so: no AI system was used, and name the specimen.

Then read it back and apply one test:

Does any sentence in this disclosure argue that the work is correct?

If yes, that sentence is in the wrong statement. Move it to Task 3. A disclosure that has started arguing for correctness has stopped being a disclosure.


Task 3 — write the defence (about 4 minutes)

Two sentences. This is the shortest task and the hardest one.

Sentence one: what your final result is, which specification or convention it is correct under, what check you ran, and what the check showed.

Sentence two: the discrepancy, assumption, or convention you had to resolve, and how you resolved it.

Then run this checklist against what you wrote

That last question is the real one. A defence is written for a sceptical reader, not a sympathetic one.


Task 4 — turn it on your own work (about 4 minutes)

Everything so far has been about Bernoulli numbers, which is a case chosen so that "correct" is decidable. Your own work is not usually like that, and a method you can only run on the tidy case is not a method you have.

Go back to the eleventh row of your Unit 3 activity: the thing you personally use an AI system for, or are about to. If you wrote "I would not have checked that", this is where that becomes useful rather than embarrassing.

If you have never used an AI system, or have no AI access, take a piece of your own work, or a claim from someone else's work that you rely on, and write the five lines for that.

Write five short lines about one artefact from your own subject or work — one you have generated, one you are about to, or the one you chose above:

  1. What it is, in a sentence, and what it would be used for.
  2. Which kind of claim it makes. Exact and checkable, source-dependent, a judgement, or a low-risk draft you will rewrite anyway. More than one may apply; privacy and consequence override "low risk".
  3. What could fail, and how you would notice. Not "it might be wrong" — the specific failure, and its symptom.
  4. The check you would actually run, with the reference it would use, and how long it would take. If no independent reference exists, say that: it is a finding, not a gap in your answer.
  5. What you could then honestly claim, and what would remain unchecked.

Add it to your pack as item 9. Nobody collects it. You have now planned a second application of the method, on a case where you had to decide what "checked" would even mean. It becomes a completed verification when you run and record the check.

If you have someone to show it to — a tutor, a colleague, a study partner — a pack is a much better thing to discuss than a finished piece of work, because it shows what you did rather than what you produced.


Task 5 — the checkpoints

python3 selfcheck.py run --unit 17  # or in the browser

Both routes ask the same questions and give the same diagnostics. Do this after Tasks 2 and 3, not before: cp17-disclosure asks what belongs in a defence and cp17-scope-the-claim which sentence the evidence supports, and both are a different exercise once you have written your own.


Optional reflection

Not assessed, not required, and worth five minutes if you have them.

In Note G, Lovelace wrote that the Analytical Engine "has no pretensions whatever to originate any thing" (Lovelace 1843, Note G).

Write one paragraph. Not on whether she was right about language models — that question is genuinely open, and the reading explains why a short confident answer to it should be distrusted. Write instead on this:

Which parts of the work in your evidence pack did you originate, on your own reading of the word, and how would you show it to somebody else?

The interesting answers are usually not about the code.


Optional CS extension

Optional. Outside the core time budget. It does not gate anything, and the course is complete without it.

Take a small routine — twenty or thirty lines is plenty. Your Unit 8 solution works, or anything of your own.

Pick one of three jobs and ask an AI system to do it:

Then produce a test-based account, which is the whole point of the exercise:

  1. Before, write down what your tests currently cover. Not what you think the code does — what is actually checked.
  2. Run those tests against whatever comes back. For a translation, port the tests too, and note honestly whether porting them was harder than porting the code.
  3. Record where the assistance helped, with evidence. A defect it reported that your tests had not caught is evidence. A defect you already knew about is not.
  4. Record where it did not, with evidence. Reported defects that are not defects. Real defects it did not report. Changes that altered behaviour your tests did not cover — which is the most instructive category, because it tells you where your test suite is thin.
  5. State what you would now add to your tests, and why.

Note the shape of step 5. The most durable value in this exercise is usually not the code that came back. It is finding out which parts of your own program were never really being checked.

Add the account to your evidence pack as an appendix, marked optional.


Before you finish

Your pack should contain all nine items, with the disclosure and defence as separate statements that do not do each other's jobs. Check that once more.

Then, if the work is for assessment, check what your own institution or programme permits and requires. This course does not set those rules.

That is the practical work finished. On the complete route, Unit 18 closes the course by naming the general question behind it, and your pack is what you take into it. On every other route, this is where your route ends; keep the pack.

Marking guidance — open this once you have done the activity, to check your own work

Read this after attempting the activity.

cp17-disclosure is a comprehension check on the distinction taught in this unit, so this key discusses the distinction rather than listing the checkpoint's options. Checkpoint answers live only in this unit's checkpoint data, which the terminal and browser self-checks both read.

Citation shorthand. (Lovelace 1843, Note G) = Note G, in Lovelace's translation of Menabrea, "Sketch of the Analytical Engine invented by Charles Babbage", in Taylor (ed.), Scientific Memoirs, vol. 3, 1843. Full entry in References and source policy.


The distinction, in one table

Disclosure Defence
Answers How was this made? Why is this right?
Is about process and provenance evidence
Contains what, at which stage, what you did next what you checked, what it showed, against which specification
May cite the tool/version when required or materially useful test results, checked reasoning, primary sources, measurements, qualified review
Does not establish correctness by itself — confident wording, unsupported self-rating, tool identity
Fails by omission or vagueness asserting rather than evidencing

The single most useful test: a disclosure that starts arguing for correctness has stopped being a disclosure, and a defence that reports only what was used has never started being one.


Task 2 — checking your disclosure

A sound disclosure names the use, the stage, and what happened afterwards. It is two or three sentences and it is boring. Boring is correct.

Accept:

"AI assistance was used to draft the first version of the routine. The output was revised after verification: it used the wrong sign convention for B1 and returned floats. I re-specified and replaced it."

Query:

"AI was used, but everything was carefully checked and the final answer is correct."

The first clause is a disclosure and the rest is an unevidenced defence wedged into it. Neither statement is now doing its job: the disclosure has become vague about what was actually used, and the correctness claim has no check attached. Split it in two and watch what happens: usually the correctness half turns out to have nothing behind it, which is exactly why it had to lean on the disclosure for support.

Query:

"I used AI."

True, and useless. A reader cannot tell what to check. Ask: used for what, when, and what did you do with the output?

Note on tool names. You may assume naming the tool and version is the whole disclosure. It is not. Include those details when required or when they aid reproducibility or review, but also state the scope, stage, and subsequent action. A product name alone does not tell the reader how the work was made.


Task 3 — checking your defence

The four criteria: a specific check, a stated outcome, a named specification or convention, and no appeal to authority.

Accept — automated route:

"The routine meets the four checkable lines of the Unit 10 interface contract for every n from 0 to 30: I ran the checker over that range and it reported no divergence from the oracle. Nothing was tested above n = 30, and nothing tested the clauses the checker does not read, such as what the comments assert. The discrepancy I found was float output from B0 on, reported as not-fraction, resolved by requiring exact Fraction returns."

Accept — table-based route:

"My table is correct under the first Bernoulli convention, B1 = -1/2. I checked B4 against my own derivation from the recurrence by hand, and every other value against the course's reference table; after one correction every index agreed. That discrepancy was at B1, where the generated version gave +1/2; I traced it to the second convention and corrected the specification."

These are of equal weight. If a marking scheme, a rubric, or an instinct treats the second as the weaker piece of work, that is the scheme failing, not the work. Both name a specification, a check, an outcome and a resolution. That is the whole standard.

Reject:

"The code is correct — the AI is very reliable for this kind of task and the output was detailed and well commented."

Nothing here is evidence. Reliability in general says nothing about this instance; detail and comment quality are properties of the text, not of its correctness. This is the failure the checkpoint is built around.

Reject:

"All tests passed."

Which tests, showing what, against what specification? A routine that returns Lovelace's indexing passes any test written by someone who also assumed Lovelace's indexing. Passing tests are evidence only in combination with a stated specification — which is why the third criterion exists and why it is the one most often missing.

Query:

"I checked it thoroughly and I am confident it is right."

Your own confidence is not the evidence either. Ask yourself what "thoroughly" consisted of: what you compared, observed, sourced or reproduced. The answer is often good and simply was not written down.


Common misconceptions in this unit

"Disclosure is the responsible part; defence is showing off." They are not equal halves: a reader can repeat the defence's check, and the finished work cannot confirm the disclosure. Honest provenance plus an unchecked answer is an honest wrong answer.

"If I disclose, I am covered." Disclosure transfers no accountability. This is Unit 0's checkpoint cp00-contract coming back at the end of the course, and it is worth saying so out loud.

"If it is correct, disclosure is a formality." Where a rule requires it, it is not optional, and a reader is owed an honest account. But what lets a reader rely on the work is the evidence they can check, and that does not depend on how the work was made.

"The table-route pack is the lightweight one." Addressed above. Watch for it in peer discussion, and in your own reading of your pack.

"A passed checkpoint is a defence." The self-check record is a result. A defence is an account of why a result means what you say it means. selfcheck.py progress --evidence prints this caveat itself; if you pasted the record in place of item 8, the tool has already said so.


The Ada reflection

There is no answer key for this and there should not be.

The unit's position is that whether a language model originates anything is a genuinely contested philosophical question, and it turns on what "originate" is taken to require — intention, understanding, and purpose on one reading; novelty and non-specification on another. Both readings are held by serious people (Lovelace 1843, Note G is the source of the quotation; the interpretive question is not settled by it).

What to accept: any position argued from a stated meaning of the word.

What to challenge, in either direction: a position that treats the question as already closed. "Lovelace settled this in 1843" and "that is obviously obsolete" are the same error in opposite forms: both skip the step where you say what origination would require.

The productive discussion prompt is the one in the activity: which parts of your own work did you originate, and how would you show it to somebody else? You will usually arrive at the specification, the choice of what to verify, and the judgement about what counted as a discrepancy, rather than at any text the AI system wrote. That is the right destination, and it is better reached than asserted.


The CS extension

Optional, outside the core budget, and not a gate.

The part that counts is step 4, where the assistance did not help, and within that the third category: changes that altered behaviour the tests did not cover. Reporting only step 3 produces praise rather than an account.

Two things worth watching for:

Step 5 is where this lands: you add tests you did not previously have, because the exercise revealed which parts of your own program were never really being checked. If that happens, the extension has done its job regardless of how the AI performed.


What this unit is not

Your private activity record

Browser storage is not a permanent copy

Progress is kept only in this browser, profile and device. Private browsing, clearing site data, removing the profile, a browser reset, storage eviction or device loss can erase it. Keep important answers and contributions separately.

These notes stay in this browser unless you download a backup or activity log.