Skip to content
FDEFDE Wiki

A classroom tool delivered like an FDE handover

A 69.80-yuan classroom workbench shipped with a fixed commit, an unchanged upstream licence, and an acceptance sheet where "not verified" is allowed.

Updated 2026-10-305 min read

The product is a single-page classroom workbench for one teacher: roster, attendance, scores, comments, a seating chart, an AI assistant. It sells as a package for 69.80 yuan, while the source itself stays free on GitHub under the author's own non-commercial licence. Judged as software it is small. Judged as a handover it is unusually complete, and that completeness is the part worth copying.

The pack has eight numbered folders plus a JSON file that verifies its contents. What follows walks the six sections the way the material allows, and says plainly where a section is empty.

What was bought

A teacher buying this expects a workbench that replaces spreadsheets and notebooks for the class they actually teach: import a roster, enter scores, generate comments, keep a record.

What the seller delivers is not the workbench alone. The workbench is an HTML file with no install step; around it sit ten screenshots, thirty-eight prompts grouped along six domestic agent routes, a tutorial covering backup and rollback, fill-in templates, and a verification record. The 69.80 yuan is the seller's stated package price; the source remains free to download. What the buyer's side gains in hours is not in the material, and no data from real classes appears — correctly, because the pack was checked on fictional students.

Where it leaked

No money leak is recorded. The data leaks are recorded, and they are specific.

The original save path writes after roughly 250 milliseconds. During verification, refreshing too quickly after an import lost two newly added students; waiting and then refreshing kept all 48. The pack leaves the upstream code unchanged and documents the delay, offering a fix as an optional prompt rather than a silent patch.

The backup file serialises the whole state, which can include an API key. The pack says so, tells the buyer to keep it private, and treats key handling as a separate improvement task. Name masking is also flagged as incomplete de-identification: family, health and free-text fields can still identify a student.

The three maps

Not recorded, and little to reconstruct. The teacher is buyer, operator and acceptor in one person. There is no department, no approval chain, no second role with anything to lose.

One consequence is worth naming. With a single role, the usual adoption risk disappears and a different one appears: nobody has to be persuaded, and nobody is there to notice when the tool stops being used either. A handover to one person has no second pair of eyes.

Where the judgement was wrong

The material records no wrong judgement. What it records is the refusal of two shortcuts that are normally taken.

The first is keeping the upstream behaviour instead of quietly fixing it. The 250-millisecond delay stayed, documented, with an improvement offered as an optional task. Silently patching would have changed the thing being delivered without saying so.

The second is not upgrading "not tested" into "works". The verification record lists what was exercised and, separately, what was not: the six agents' installation and end-to-end use, non-Windows systems, the file:// flow on real machines, real provider keys, streaming and Word export across Office versions. The upstream repository has no test suite, and the pack says it did not turn page visits into a claim of full functional testing.

These are decisions about disclosure rather than code. They are also the parts of a delivery a buyer cannot check for themselves, which is why they belong in the pack.

What lived, and the list standing in for what died

Verified items, each with a way to check it: the fixed commit downloaded and thirteen files matched with the original licence kept; inline and proxy scripts passing a Node syntax check; a fictional class of 46 students and four exams opening; two students imported, the count moving to 48 and holding after a refresh; a JSON export of 48 students restored through the file picker; the no-key path producing a complete copyable prompt; a local relay listening on 127.0.0.1:8787 without a real model call.

The unverified list is the sixth section in all but name — six agents' installation, login and billing; macOS, Linux, mobile and managed school machines; streaming, provider billing, comment quality and Word compatibility; seating rules, score edge cases and full regression. Nothing died, because nothing beyond a fictional class was ever run in anger. Saying that out loud is a better substitute for a death list than an empty section claiming success.

What a handover pack has to contain

Six items, in the order they matter:

  1. A fixed commit and an archive that matches it, so the buyer can prove what they received.
  2. The upstream licence kept verbatim, the restriction restated in plain language, and never relabelled as MIT or Apache.
  3. A verified list and an unverified list side by side, each item naming how it was checked.
  4. An acceptance sheet whose allowed answers include "not verified" and "not applicable", with a line for the acceptor's name and date.
  5. Backup before import, plus a restore rehearsed in an isolated environment and checked against named records.
  6. Who operates it and who maintains it after handover, on separate lines.

The third and fourth items are the ones most packs omit, and they are what make the rest usable. A handover is not finished when the files are sent; it is finished when someone else can run the thing, break it, and put it back. That is the test in the sunset clause and handover, applied to something small enough that nobody thinks a handover is needed.

The practical check before sending anything: open the runbook template and write the restore steps first. If they cannot be written, the delivery is a demo with a download link. The acceptance table is the same instrument as designing the test set before the system, just applied to a pack this small — which is the point: the form does not scale down into informality. And because the backup can carry an API key, the boundary described in working inside someone else's security boundary applies even when the customer is one teacher.

The pack was read directly; its price and self-reported figures have not been independently verified.

Sources and further reading

  • 班主任工作台 v1.0 客户交付资料包(本地文件,未公开分发;已直接核对 00/04/07/08 四份文档)
  • 《FDE 现场工程手册》 — CC BY-SA 4.0;撤离阶段与交接判据为改写与评注,改编部分同样以 CC BY-SA 4.0 提供
  • 《FDE 百问百答》(司徒K)Q97–Q99 关于交接、交接文档与后续支持的观点启发

This article is original analysis by FDE Wiki. Frameworks and case material that originated elsewhere are credited below.