Skip to content

Week 4 Phase 1A: solution-free starter surface + sync guards - #260

Closed
skyzh wants to merge 1 commit into
agent/week4v3-cow-radix-planfrom
agent/week4-starter-1a
Closed

Week 4 Phase 1A: solution-free starter surface + sync guards#260
skyzh wants to merge 1 commit into
agent/week4v3-cow-radix-planfrom
agent/week4-starter-1a

Conversation

@skyzh

@skyzh skyzh commented Aug 11, 2026

Copy link
Copy Markdown
Owner

Why

Phase 1A of the Week 4 course delivery (task #201, under Cindy's task #200): audit and complete the solution-free learner starter against all nine feature APIs and the 7-day map, with fail-closed synchronization and anti-leakage controls. Stacked on the frozen reference stack (#258); base branch agent/week4v3-cow-radix-plan @ 563b114. Stack #259 is untouched.

What changed

  • src/tiny_llm/agent/workspace.py — rewritten to the simplified reference surface (authorization core + effect receipts; no journal/undo/session binding, matching Day 2's simplified design).
  • src/tiny_llm/agent/loop.py — rewritten to the Day-1 contract: duck-typed session recording, no context/control/session imports (matches the reference loop signature).
  • src/tiny_llm/agent/generation.py — duck-typed cancellation so control stays a Day 6 module.
  • src/tiny_llm/agent/receipts.py — added ReceiptStore.close.
  • src/tiny_llm/agent/__init__.py — exports exactly the reference __all__ (52 names); removed stale old-course exports.
  • Removed stale old-course starter modules: context.py, evaluation.py, recovery.py.
  • tests_refsol/test_week_4_starter_sync.py (new) — fail-closed guards: starter/reference API parity per module, starter bodies are solution-free (pass/TODO only), the reference implements every starter member, feature/day map, __all__ parity, stale-module absence. 54 sync tests.

Review note

  • 159/159 week-4 tests pass (105 reference + 54 sync); ruff check + format clean; weeks 1-3 unchanged (pre-existing unbuilt-extension failures only).
  • No reference-solution, book, or existing-stack-head edits. Frozen for Sentinel's Phase 1B (book) and the gated Oracle/Sage/Tuner/Scholar reviews.

AI-Assisted: DeepSeek V4 Flash + Forge

Task #201 (Phase 1A of course delivery) on frozen stack #259 top 563b114.

- starter workspace.py: rewritten to the simplified refsol surface
  (authorization core + receipts; no journal/undo/session binding).
- starter loop.py: rewritten to the Day-1 contract (duck-typed session
  recording; no context/control/session imports).
- starter generation.py: duck-typed cancellation (control stays Day 6).
- starter receipts.py: added ReceiptStore.close.
- starter __init__.py: exports exactly the refsol __all__ (52 names).
- removed stale old-course starter modules: context.py, evaluation.py,
  recovery.py.
- tests_refsol/test_week_4_starter_sync.py (new): fail-closed drift guards —
  starter/refsol API parity per module, starter solution-free (pass/TODO-only
  bodies), reference implements every starter member, feature/day map, __all__
  parity, stale-module absence. 54 sync tests.

Gates: 159/159 week-4 tests (105 refsol + 54 sync); ruff check + format clean;
weeks 1-3 unchanged. No refsol/book edits; stack #259 untouched.
@skyzh

skyzh commented Aug 11, 2026

Copy link
Copy Markdown
Owner Author

Superseded per Cindy's rolling day-by-day starter directive: task #201 is now Day-1-only first (from #243). The full-starter PR is replaced by the Day 1 starter successor.

@skyzh skyzh closed this Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant