Incept Course Builder
Install the local dashboard on macOS. Setup and agent selection happen in Terminal.
curl -fsSL https://joshuadurey-del.github.io/incept-course-builder/install.sh | bashWorks with Claude Code, Codex, Hermes and tool-capable local agents. GitHub OAuth confirms a verified @alpha.school email and private-repository access. Read the private agent entry point.
Publication runbook, ASAP edition, 2026-09-01
Source contract version 2026-09-14.8, checked 2026-09-14. Version .8 restores two write controls the 2026-09-01 cut list had removed, on measured HumGeo evidence: every native write now carries a capture, an execute-with-readback and a zero-write replay receipt under one sealed digest, with one writer per course surface. The current model cuts ceremony while preserving quality bars. Current course positions are re-earned from the dated plans; historical execution language is retained only as an explicit mapping in crosswalk.json.
Coverage-first execution
The installer now includes verified factory and workflow skills. Every session measures each required population before trusting a plan position; the local dashboard puts remaining scope first. Implemented controls and runnable checks. Native content and publication requirements remain authoritative.
September 10 operating improvements
Eight implementation actions cover the twelve morning-retro lessons: selected-source inventory, complete-group delivery, substantive review, failure diagnosis, exact integration, early release preparation, evidence-based reporting and resumable handoff. Each action names its owner, existing tool and acceptance evidence. The private runbook carries the agent decision cards; course standing comes from the current claim rows below.
HumGeo, September 10–14: what landed, what failed, what is reused
Scope: native publication operations on the HumGeo v3 course, observed through 2026-09-14T05:01Z. Every landed operation below ran one course-owned operator committed in the platform repository, in three boundaries: capture the prior state with zero writes, execute once and read the result back, then replay the identical operation and require zero writes. Counts name the population that one invocation read back. These are operation receipts inside p5. Final cold course QC (p6), the walk (p7), activation and release (p8) were not complete at this writing and receive no credit here. Lesson: make native terminal evidence reusable. Repository links below require Alpha access.
What landed
- Tree hierarchy repair (2026-09-12): 1,490 components captured, executed, read back; replay 1,490 verified, 0 writes.
- Article insert, waves 1 to 3 (2026-09-13): 76, 186 and 815 native records verified, each with a zero-write replay. Wave 1 was resumed after a refusal (below): the resumed run wrote the 52 records still pending and read back all 76. Operator sealed in ap-one #1101.
- Accepted-article restoration (2026-09-12): 132 article bodies restored and read back; six held pages corrected separately (15 verified) and read back independently from the public origin.
- Retrieval binding (2026-09-13): 335 operations verified, 333 written by the accepted run, replay 335 verified, 0 writes.
- Writing-rubric and existing-check replacement (612 items; 33 pages with 159 operations), 2026-09-13 to 2026-09-14: sealed in ap-one #1118 and #1119, run at the #1120 landing, each with a zero-write replay.
What failed, why, and the correction that worked
- Dark publication stop, 2026-09-10. TimeBack rejected the unsupported web_application resource type with HTTP 422. At the stop, 9,654 of 12,552 planned rows were complete: 6,900 TimeBack objects and 2,754 static assets. The correction used the native QTI stimulus transport. The changed plan also required a new v3 namespace because its checkpoint and identities could not be reused (ap-one #1083). The recovery route requires a bounded read-only preflight before execution, exact readback after execution, and then a zero-write replay (#1084).
- Wave 1 remote disconnect. The remote closed the connection mid-write. The operator refused the conditional write rather than resending, preserved its checkpoint, and the resumed run completed only the pending records.
- Retrieval binding refusals. Capture refused while another wave held the writer lock; a later execute refused because one live test body had changed outside the operator. Both refusals were correct. The accepted run started after the lock cleared and the drifted input was re-pinned. Nobody cleared a lock or resent by hand.
What remains open
- Instruction-first ordering (ap-one #1122): after the owner pause, recovery through the native admission path verified all 1,591 components and made 851 writes in that invocation. The checkpoint records every component as read back. The identical zero-write replay is running; this entry does not yet credit it.
- First cold course QC run (2026-09-14): 7,070 items, 1,026 failed, including 36 provider errors. These are historical results from the initial population. Content, context, checker, provider and selection failures need their own repairs. Checker fixes landed in PR #20 after 316 offline tests and two hosted checks passed. They correct rubric judgments, possessive matching and provider-refusal handling. Runtime adoption and a new final course QC pass remain separate requirements.
- Video selection and check placement, the final census and cold run, learner acceptance, activation and release remain open.
How the next course reuses this
Three private thin skills (capture, execute with readback, zero-write replay) wrap the committed operators. They add no driver, scheduler, monitor or gate. The pattern they describe was used successfully on the nine operations above, and its replay receipts were consumed as preconditions by the final census capture on 2026-09-14. The three revised skills are installed and syntax-validated. Their linked historical receipts prove the native process and its downstream reuse; successful use of these revised skill bytes is a separate claim. Run again only with a sealed plan digest, a clean checkout at the sealed landing, the writer lock, and the operator's execute authority. Follow each operator's admission rules: refuse input drift, an incompatible prior receipt, insufficient free disk, or a receipt whose digest, course scope or counts differ from the packet. Recover by reattaching to a live native handle; for an interrupted execute, classify the pending component through the operator's read-only path and resume by admission. This establishes reusable controls for these native operations. End-to-end deterministic creation of another course still needs its own execution and acceptance evidence.
Current phase system
- p0 · CUT.
- p1-2 · tree and pricing. Done for all four courses.
- p3 · bank gates. Answer-shape, key-balance, and QTI assertions.
- p4 · CUT.
- p5 · publish dark. Bank gates, assets and QTI, images, tree, drift preflight, owner word, dark push, exact readback, post-push checks, XP, and evidence bundle. Every native write: capture, execute with readback, replay with zero writes, one sealed digest, one writer. Operator PR before seal PR.
- p6 · live QC gauntlet. Judge, sort every failure into content, context, checker, provider or selection, remediate, re-push, and re-judge cold to the bar.
- p7 · walk and accept. Factory walkthrough, human, and XP checks on one owner test account.
- p8 · demo and flip. Demo approval before broader access.
Current route
content → p3 → p5 → p6 → p7 → p8
The route is a requirement sequence, not permission and not course credit. Each course page shows only its re-earned position.
Machine-readable companions
process.json contains the public-safe projection of ASAP phase requirements and course positions. crosswalk.json is the sole public location for retired phase names and their ASAP destinations. training.json remains the content-free corpus register.