Skip to main content

Competencies, Evidence, and Remediation

Score each gate: 0 absent/incorrect; 1 partial or materially prompted; 2 independently correct with trace, assumptions and limits; 3 also defends a changed case and plausible alternative. Every gate needs at least 2; no average can hide a missing ownership, failure or state competency.

GateCompetencyPractice / lab evidenceAssessment
C01Policy and skeleton contractsP01–P05 / L01A01
C02Subscription identity, ordering and errorsP06–P10 / L02A02
C03Reversible local history and mementosP11–P12 / L03A03
C04Command intent, accepted facts and uncertain effectsP13 / L04A04
C05Complete lifecycle and compatible representationP14–P15 / L04A05
C06Lazy traversal and resource ownershipP16 / L05A06
C07Handler terminal and continuation semanticsP17 / L06A07
C08Visitor and Interpreter extension/semantic tradeoffsP18,P20 / L07A08
C09Mediator and reactive lifetimeP09–P10,P19 / E1A09
C10Independent evidence and pattern compositionE2–E3 / projectA10

Passing all seven labs is required, alongside manual transfer evidence. The kit does not automatically grade Template Method, Mediator, the Boolean interpreter, resource-owning iteration, or the integration project. Review those artifacts directly; do not infer completion from a green suite.

Critical errors block the relevant gate: claiming a callback exception rolls back accepted state; calling local snapshots external undo; treating a command ID as proof of exactly-once effects; losing redo on rejected edit; allowing an unhandled request accidentally; or claiming bounded enumeration proves arbitrary execution.

Complete all experiments and project. Repair weak gates with a fresh trace, then recheck the weakest and one other gate after 7–14 days without keys. Record self-review separately from independent review and state which work used tools, peers or AI. No forced mistake quota.

Runtime comparison gates: BD1–BD6​

The ten gates above assess the broad core package. These six additional gates assess behavioral-contracts.zip, whose live-cancellation and no-op policies differ from the core L02/L03 contracts. Use the comparison table before grading; do not mix the two implementations' expected traces.

Use the same 0–3 rubric; every BD gate also requires at least 2. Read the separate BD reviewer key only after attempting the task. Reuse shared explanations and delayed rechecks, but retain evidence for both contracts and the additional close/ownership obligations.

  • BD1 — Pattern selection: compare a function, Strategy and Template Method for two pricing policies; explain when a state-transition table is clearer than State classes. Defend an Iterator or Chain choice from the original practice and one simpler alternative. No class-count requirement earns credit.
  • BD2 — Delivery: predict and implement cancellation, registration during dispatch, duplicate subscriptions and callback exceptions. On an unseen trace, defend the difference between token snapshots with live checks and callback snapshots.
  • BD3 — Lifecycle: demonstrate repeated mounting/disposal, close during dispatch, and release of callback ownership after unsubscribe. Distinguish deterministic cleanup from garbage collection timing.
  • BD4 — History: implement insert/delete/undo/redo with failure atomicity, preserved redo after no-ops, branch invalidation after a real edit and immutable snapshots. Explain storage cost and give a changed operation’s contract before implementation.
  • BD5 — Failure boundaries: explain the two remote send/record crash windows, the limits of a processed-ID set, and why observer error collection does not provide a transaction. State the lab’s single-threaded/in-memory boundary.
  • BD6 — Reproduction and review: pass the public checks from a fresh extraction with your implementation, retain an event trace and editor-history trace, and submit a short decision record comparing one rejected policy. Reproduce a changed case without reference code or generated assistance.

Submit original attempts, repaired failures, source/help declarations and evidence paths. All existing behavioral-pattern practice remains required. After 7–14 days recheck one weak gate and one changed trace; label solo scoring self-assessed. Passing reference tests alone does not pass a gate. No aggregate semester score can waive these runtime contracts.