Rule: When a Phase-1 v2 build repo has only BUILD-PLAN.md v1.0 + .git (no README, no LICENSE, no source, no tooling), DO NOT attempt single-session full hardening. Split into TWO autopilot sessions.
Why: code-inheritkit had 1 file + .git as of 2026-04-28T07:30. Single-session full hardening would have been 7-9 hours of work — exceeds cognitive-load ceiling, exceeds 5-hour auto-halt time-box, risks fatigue-induced quality drop. Two-session split preserves quality + lets each session land at clean stopping point.
How to apply:
Session 1 — Legal + Tooling foundation (~3-4 hours; 7 deliverables):
- LICENSE (full text + dual-license preamble if AGPL+commercial)
- NOTICE (third-party attribution)
- THIRD-PARTY-DEPENDENCIES.md (per-package license matrix; verification tier)
- COMMERCIAL-LICENSE.md (only if dual-license; tier structure + pricing TBD-Phase-1.5+)
- README.md (sync to current arch-state version; sister-repo links; build plan link)
- package.json + .gitignore + .editorconfig (or language-equivalent: requirements.txt for Python; Cargo.toml for Rust; etc.)
- .github/workflows/{license-audit.yml, ci.yml} minimum (Phase-0 placeholder; full CI lands Sprint 1+)
Session 2 — Documentation + Scaffolding + BUILD-PLAN.md v1.1 (~4-5 hours; 5 deliverables):
- src/ folder skeleton with stub README per subfolder (orientation only; no actual code)
- docs/ci-pipeline.md (mirror code-inherit-v2 style; documents target-state CI gates that ship Sprint 1+)
- examples/hello-world/ orientation example (won’t run yet — published packages don’t exist Phase-0)
- BUILD-PLAN.md v1.0 → v1.1 hardening (§1.4 Day-1 onboarding 5 sub-sections + §3.0 Phase-0 substance + S1 transition + §3.4 per-milestone detail)
- docs-strategy update: arch-state row + pointer canonical_version_pinned bump
Why: Each session lands a complete, coherent state. After Session 1, repo is legally + technically buildable. After Session 2, Paul Day-1-ready. Cross-validation script (scripts/validate-build-plan-sync.sh) reports ALL CONSISTENT post-Session 2.
Autopilot prompt discipline (per feedback_autopilot_prompt_techniques):
- Decision Matrix block: 12 pre-decided forks per session
- Banned phrasing: full semantic family (“proceed/continue/ready/shall I/let’s/…”)
- Phase transitions automatic: completion of [N/K] IS trigger for [N+1/K]; one-line transition only
- User unavailable framing: “Rich is unavailable; questions = blocked progress”
- Redirect uncertainty to artifacts: ntfy DECISION-MADE / commit msg / arch-state changelog row
- TodoWrite checklist + ntfy heartbeats every 15 min + auto-halt time-box
- Pre-flight check (Session 2): verify Session 1 artefacts present; halt if missing
When to apply: every empty / near-empty Phase-1 v2 repo. As of 2026-04-28: code-inheritkit (Session 1+2 in flight); to come for code-ias / code-inheritv2-www / code-inheritv2-test-suite.
Reference exemplar: code-inheritkit hardening Session 1 prompt + Session 2 prompt (generated 2026-04-28; conversation history). Session 2 actively running 2026-04-28THH:MM.
Boundary test before sending hardening prompts: count Decision Matrix forks (≥10) + banned phrases listed (≥10) + phase transitions automatic + user unavailable framed + uncertainty redirect specified + TodoWrite mentioned + ntfy cadence specified + auto-halt time-box specified. If <7/8 = NOT ready to send; refine.